2022年基于51单片机的花样流水灯设计.docx
精品学习资源摘 要运算机技术地飞速进展和提高,把我们带入了崭新地时代,现在,运算机地应用已经深入到千家万户 .单片微型运算机是制作在一块集成电路芯片上地运算机,简称单片机.单片机在现在社会有着广泛地应用,小到人们地日常电子用品,大到航天飞机、宇宙飞船,上面都有单片机地广泛应用 .单片机具有体积小、功能强大、低功耗、应用广泛等特点.以 AT 公司地芯片 AT89C51 单片机来实现流水灯地设计.本系统由单片机掌握,I/O 口接 LED 地负极, 而 LED 地正极就直接与 5V 电源相连 .通过 I/O 口输出地低电平点亮LED 灯.因此可以通过掌握单片机地 I/O 口地电平高低以达到掌握LED ,从而实现不同花样地流水灯地目地.关键词:LED,单片机,高低电平变化欢迎下载精品学习资源ABSTRACTThe rapid development of computer technology and improving, bring us to the new era, now, the application of computer has been deep into the thousands. Single chip microcomputer is made on an integrated circuit chip computer, hereinafter referred to as single chip microcomputer. SCM hasbeen widelyused inthe present society, smallto People's Dailyelectronicproducts, bigto aerospace aircraft, spacecraft, above has the wide application of single-chip microcomputer. SCM has small volume,powerfulfunction,lowpower consumption,wide application,etc. AT the company's chip AT89C51 single-chip microcomputer to realize the water lamp design. This system controlledby single chip microcomputer,I/O ports connect the LED the cathode, and LED the anode is directly connected to 5V power supply. Through the I/O port output low level light leds.So you can single chip microcomputer control through the I/O ports to control LED, the level of high and low so as to realize the purpose of the different pattern of flowing water light.Key words: LED , MCU ,High and Low output leve欢迎下载精品学习资源目 录第 1 章 引言11.1 讨论背景及意义11.2 国内外讨论现状以及本系统地重点问题11.3 本文章节支配2第 2 章 系统设计方案论证32.1 掌握器模块方案论证32.2 键盘模块方案42.3 电源模块方案4第 3 章 系统硬件设计方案53.1 系统设计框图53.2 硬件电路设计53.2.1 电源电路53.2.2 单片机 89C52 最小系统63.2.3 按键电路123.3.4 LED 灯电路13第 4 章 程序设计及软件仿真144.1 软件设计框图144.2 软件开发平台挑选144.3 软件系统功能模块154.3.1 初始化模块154.3.2 延时函数164.3.3 定时器掌握模块164.3.4 键盘扫描模式164.3.5 LED 灯输出掌握模块174.4 程序调试仿真184.4.1 仿真平台介绍184.4.2 仿真测试18第 5 章 硬件调试20欢迎下载精品学习资源5.1 硬件设计.205.2 硬件调试.205.2.1 下载功能调试205.2.2 LED 电路测试205.2.3 模式挑选功能调试205.2.4 速度加减功能调试215.2.5 复位电路调试215.2.6 稳固性测试21总结22致谢24参考文献25附录26附录一:原理图26附录二:硬件实物27附录三:程序代码28欢迎下载精品学习资源第 1 章 引言1.1 讨论背景及意义现如今,随着集成化芯片地飞速进展,分立元件或数字规律电路正逐步被集成电路所取代,而单片机作为一种集成电路,其价格低廉,且牢靠性强、掌握简洁但掌握方法多样.单片机在我们地日常生活和工作中无处不在、无处不有:家用电器中地电子表、洗衣机、电饭褒、豆浆机、电子秤;住宅小区地监控系统、电梯智能化掌握系统;汽车电子设备中地 ABS 、GPS、ESP、TPMS ;医用设备中地呼吸机,各种分析仪,监护仪,病床呼叫系统;公交汽车、地铁站地IC 卡读卡机、滚动显示车次和时间地LED 点阵显示屏;电脑地外设,如键盘、鼠标、光驱、打印机、复印件、传真机、调制解调器;运算机网络地通讯设备;智能化外表中地万用表,示波器,规律分析仪;工厂流水线地智能化治理系统,成套设备中关键工作点地分布式监控系统;导弹地导航装置,飞机上地各种外表等等.有资料说明: 2007 年全球单片机地产值达到151 亿美元,我国单片机地销售额达到400 亿元人民币,我国每年单片机地需求量达50 至 60 亿片,是全球单片机地最大市场.可以说单片机已经渗透到了我们生活地各个领域.1.2 国内外讨论现状以及本系统地重点问题单片机自从问世以来便得到了广泛地应用,单片机以其体积小、重量轻、功耗低、功能强、数据在芯片内部传输速度较快、牢靠性高、程序运行速度快、抗干扰才能强等优势快速得到了人们地青睐,被广泛应用于测控系统、数据采集、智能仪器外表、机电一体化产品、智能接口电路、运算机通信和单片机多级系统等领域.而在流水灯地掌握系统中,单片机更是取代了传统流水灯地分立元件设计,成为该系统地核心部件.传统设计地流水灯,电路复杂,且牢靠性较差,并且花样单一;而单片机掌握地流水灯,花样纷繁多样,且易于修改;硬件电路比分立元件地设计简洁很多,成本也极为低廉.因此,单片机掌握地流水灯必将在流水灯领域掀起一场大革命.本文中所设计地系统为基于51 单片机地花样流水灯掌握系统.该系统由一块单片机通过C 语言编程来实现掌握功能.牢靠且敏捷性高、适用范畴广、且变换地花样繁多,同时也适欢迎下载精品学习资源用于霓虹灯以及交通灯等领域.本文将具体介绍该对该系统地设计.1.3 本文章节支配第 1 章介绍了论文地讨论背景及意义,对主要讨论地技术指标和章节支配进行了说明. 第 2 章对本系统地设计方案地各个设计模块进行比较论证,得到了适合本文地设计方案. 第 3 章提出了系统设计框图以AT89S52 单片机为主掌握器,通过键盘来设掌握流水灯地模式与流水灯地快慢.第 4 章依据设计方案,设计了软件设计框图,并对各个模块地主要算法进行说明. 第 5 章利用 protues 进行软硬件设计仿真,并进行实物制作,验证明物地性能指标. 第 6 章对本文讨论地内容和工作进行总结,查找不足并作出展望.欢迎下载精品学习资源第 2 章 系统设计方案论证2.1 掌握器模块方案论证方案一:使用 FPGA ,让第一个灯先亮,然后通过移位,依次点亮其他地灯,便形成了流水灯 .初始状态时,全部灯都不亮,每来一个时钟脉冲CLK ,计数器就加1.每当判定出计数器中地数值达到25000000 时,就会点亮一个灯,并进行移位,FPGA 输出地数据就应当先是 10000000,隔一秒就编程110000000.始终变化到 11111111,这样就依次点亮全部地灯,也就形成了流水灯.而当当8 个灯都被点亮时,需要一个操作使得全部地灯都复原为初始状态,即:灯都不亮,然后再一次流水即可.假如是右移位,就会显现右流水现象.反之就是左流水 .方案二:使用单片机,将LED地正极接电源,负极接单片机地I/O ,然后当单片机地I/O 口输出低电平常,即点亮LED 灯,然后通过移位指令让其他LED 依次点亮,即形成流水成效 .如是左移指令,即为左流水;右移指令就为右流水.在数控方面,单片机会优于CPLD或 FPGA 器件,由于此处只是用于流水灯掌握,不需要太高地速度以及精确度,且上述两种期间掌握起来也比单片机麻烦,因此没有必要选用价格昂贵地 CPLD 和 FPGA 器件 .而单片机就不同,由于单片机在技术领域已经相当成熟, 市面上流通有型号与品牌繁多地单片机,各种参考文献也特别多,且价格低廉,只需要几元 人民币,因此用单片机掌握会较为划算.其次,单片机地编程方式较为多样,可选用普及度很高地 C 语言或汇编语言进行编程,在这一点上也优于CPLD 和 FPGA 器件.因此,最终打算实行单片机掌握地方案.由于单片机地高电平地电位为大于 2V ,低电平电位为小于 0.8V ,而供电地电源为5V ,且一般地 LED 地耐压为 3-4V ,因此,如直接将 I/O 口与 LED 相连,有可能会烧坏LED ,因此需要串联分压电阻 .阻值大约为 220-300 .考虑到 PCB 地布局布线,因此准备采纳P0 口和 P2 口来驱动 LED 灯.但由于 P0 口地驱动才能较弱,因此需要在P0 口外部供应地强上拉 .因此实行接阻值为10k 地排阻地方法来供应这个强上拉 .欢迎下载精品学习资源2.2 键盘模块方案方案一:采纳独立式按键电路,每个按键单独占有一根I/O 接口线 ,每个 I/O 口地工作状态互不影响,此类键盘采纳端口直接扫描方式.缺点为当按键较多时占用单片机地I/O 口数目较多 .方案二:采纳标准4×4 键盘,此类键盘采纳矩阵式行列扫描方式,优点是当按键较多时可降低占用单片机地I/O 口数目 .本系统只需要三个按键,分别为掌握模式按键,流水灯变换速度加,流水灯变换速度减,因此本系统采纳独立式按键即可满意系统要求,降低开发难度和硬件成本.2.3 电源模块方案由于系统地单片机和LED 灯地电压都只需要5V ,不需要多种电压,因此直接采纳市场上 现 有 地 220V转5V地 电 源 , 通 过DC线 连 接 系 统 地 火 牛 头 为 系 统 供 电 .欢迎下载精品学习资源第 3 章 系统硬件设计方案3.1 系统设计框图下载电路复位电路按键掌握扫描89C52MCULED花样灯设计时钟电路依据系统设计方案地论证,设计出如图3-1 所示地系统设计框图,下面依次介绍各个模块地具体设计实现细节.图 3-1 系统设计框图3.2 硬件电路设计3.2.1 电源电路本设计需要用到 5V 供电,考虑采纳 USB 转 DC 电源线接 5V , 1A 开关电源以供应稳固 地电压,加入一个6 脚自锁开关掌握电路通断.单片机地 40 脚接至 VCC , 20 脚接至 GND , 电路图如图 3-2 所示,图中 J1 为 DC 火牛头 .欢迎下载精品学习资源图 3-2 电源电路图3.2.2 单片机 89C52 最小系统本系统采纳地核心掌握模块是常用地单片机型号:89C52. 下面简要介绍该单片机地特点和使用方法 .3.2.2.1 单片机简介1. 单片机内部结构MCS-51 结构地单片机内部采纳模块式结构,其结构组成框图如图3-3 所示 .由图可见,该系列单片机主要由随机数据储备器(RAM )、程序储备器( ROM )、中心处理器( CPU )、输入输出口、串行口、内置地定时器/计数器、中断掌握、总线掌握、 以准时钟电路通过总线连接而成.CPU 是单片机内部地核心器件,分为运算器和掌握器两大部分,此外仍有面对掌握地未处理功能 .STC89C52 中有 512 字节地随机数据储备器RAM ,可通过片外扩展来提升RAM 容量.储备器 ROM ,是用来储备程序地储备器,在STC89C52 中集成了 8K 字节地 FLASH储备器,假如片内地容量不够,仍可扩展至64KB.中断系统:具有 5 个中断源, 2 级中断优先权 .定时器 /计数器:片内集成了3 个 16 位地定时器 /计数器 T0 、T1、T2,具有四种工作方式串行口:一个全双工异步串行口,具有四种工作方式,可进行串口通信,扩展并行I/O口,仍可以与多个单片机相连以构成多级系统.特别功能寄存器 SFR:共有 26 个特别功能寄存器,用于CPU 对片内各功能部件进行欢迎下载精品学习资源治理和监视 .特别功能寄存器实际上是片内各个功能部件地掌握寄存器和状态寄存器,这些特别功能寄存器映射在片内RAM 区 80H-FFH 地地址区内 .图 3-3 MCS-51 内部结构2. STC89C52 引脚结构目前, STC89C52 多采纳 DIP-40 封装,即双列直插,共40 个引脚地封装方式.此外,仍有 44 引脚地 PLCC 和 LQFP 封装(都为表贴元件).其中 40 个引脚依据功能地不能可分为3 类:(1) 、电源准时钟引脚 VCC 、GND ; XTAL1 、XTAL2.(2) 、掌握引脚 PSEN 非、 ALE/PROG 非、 EA 非/Vpp 、RST(即复位) . 3、 I/O 口引脚 P0、P1、P2、P3,为 4 个 8 为 I/O 口地外部引脚 .3. 单片机时钟介绍单片机执行地指令均是在CPU 掌握地时序掌握电路地掌握下进行地,各种时序均与时钟周期有关 .(1) 、时钟周期时钟周期是单片机时钟掌握信号地基本时间单位.如时钟晶体地振荡频率为fosc,就时钟周期 Tosc=1/fosc. 如 fosc=12MHz , Tosc=83.3ns.(2) 、机器周期欢迎下载精品学习资源CPU 完成一个基本操作所需要地时间称为机器周期.单片机中通常把执行一条指令地过 程分为几个机器周期 .每个机器周期完成一个基本操作,如取指令、读或写数据等.STC89C52 单片机每 12 个时钟周期为一个机器周期.即 Tcy=12/fosc. 如 fosc=12MHz , Tcy=1us.STC89C52 单片机地一个机器周期包括12 个时钟周期,分为6 个状态, S1-S6.每个状态又分为两拍: P1 和 P2.因此,一个机器周期中地12 个时钟周期表示为S1P1、S1P2、S2P1、S2P2、.、S6P2.(3) 、指令周期指令周期是执行一条指令所需地时间.STC89C52 单片机中指令按字节来分,可分为单字节、双字节、三字节指令,因此执行一条指令地时间也有所不同.对于简洁地单字节指令, 取出指令立刻执行,只需要一个机器周期地时间.而有些复杂地指令就需要两个或多个指令 周期 .从指令地执行时间看,单字节和双字节指令一般为单机器周期和双机器周期,三字节指令是双机器周期,只有乘除法指令占用4 个机器周期 .3.2.2.2 复位电路设计(1) 、复位操作当 STC89C52 单片机进行复位操作时,PC 寄存器初始化为0000H ,使 STC89C52 单片机从程序储备器地0000H 单元开头执行程序 .除了进入系统地正常初始化之外,当程序运行出错或者操作错误使得系统处于“死锁 ”状态时,按复位键使得RST 脚为高电平,使STC89C52 单片机拜托当前状态而重启程序.出 PC 寄存器外,复位操作仍对其他一些寄存器有影响,例如 SP、Acc 、PSW、DPTR 等.(2) 、复位电路复位电路就是把电路复原到起始状态地电路.能够在系统上电时赐予复位信号,并且会始终等到系统地电源不再转变为止才会撤离所给地复位信号,这就是复位电路地功能所在.复位后地 CPU 地主要特点是各IO 口出现高电平 .对于单片机而言基本地复位操作是将单片机地复位引脚RST 上给定一个高电平信号并让该信号保护在2 个机器周期以上,便可触发系统复位中断从而将系统复位.单片机系统地复位方式有:按键复位和上电复位.第一是按键复位 : 复位电路最简洁地方式就是通过按键复位直接在单片机复位引脚 RST 上加入高电平 .单片机地复位引脚接至电阻 R1 一端,电阻 R1 另外一端接地 .电路如下所示 .常用地途径是在复位引脚端和正电压之间安装复位按键 .当给一个力使按键被压迫向下,单片欢迎下载精品学习资源机地复位方位就会保持VCC. 假如保持按下 10ms 即可让系统实现复位,如图3-4 所示 .图 3-4 按键复位图 3-5 上电复位图 3-6 混合模式其次个是上电复位:上电复位地电路图如图3-5 所示,具体实现方式如下:系统上电瞬时单片机复位引脚RST 电压时间变化曲线如图3-7 所示 .从曲线上易得当系统在一刹那完成上电,依据电容工作原理特性,它两端地Uc1 不行能实现迅猛地变化,故电源电压全部加到R1 上,然后电容 C1 开头充电,时间常数T=R1*C1 ,此时电容电压逐步增加, R1 两端电压逐步降低,假如R1 两端电压从高电平到低电平连续时间达到2 个机器周期,即可实现单片机复位.图 3-7 Urst 电压时间曲线在本设计中采纳了按键复位和上电复位地两种模式(如图3-6 所示)上电复位完成系统初始化,同时增加地手动按键复位可以便利调试使用.欢迎下载精品学习资源3.2.2.3 时钟电路设计时钟电路用于产生单片机工作时所必需地掌握信号,STC89C52 单片机地内部电路正是在时钟电路地掌握下严格按时序执行指令进行工作地.在执行指令时,CPU 第一到程序储备器中取出需要执行地指令操作码,然后译码,并由时钟电路产生一系列掌握信号完成指令所规定地操作.CPU 发出地时序信号有两类,一类用于对片内各个功能部件地掌握;另一类用于对片外储备器或I/O 口地掌握 .(1) 、内部时钟方式STC89C52 内部有一个用于构成振荡器地高增益反向放大器,它地输入端为芯片地XTAL1 脚,输出端为XTAL2 脚.这两个引脚跨界石英晶体和微调电容,构成一个稳固地自激振荡器 .电路地电容 C1 和 C2 通常挑选 30pF.该电容地大小会影响振荡器频率地高低,振荡器地稳固性和起振地快速性.晶体振荡频率地范畴通常是1.2-12MHz.STC89C52 通常采纳12MHz 地石英晶体 .晶体地频率越高,系统地时钟频率越高,单片机地运行速度也就越快.但运行速度快对储备器地速度要求就越高,对PCB 电路板地工艺要求也就越高,即要求线间地寄生电容要小 .晶体和电容应尽可能安装得离单片机近一些以削减寄生电容,更好地保证振荡器稳固、牢靠地工作.为了提高温度稳固性,应采纳温度稳固性好地电容.(2) 、外部时钟方式外部时钟方式使用现成地外部振荡器产生脉冲信号,通常用于多片STC89C52 单片机同时工作,以便于多片单片机之间地同步,一般为地狱12MHz地方波 .外部时钟源直接接到XTAL1 端, XTAL2 端悬空 .(3) 、时钟信号地输出当使用片内振荡器时,XTAL1 、XTAL2引脚仍能为应用系统中地其他芯片供应时钟, 但需要增加驱动才能 .(4) 、晶振电路在单片机最小系统晶振地作用是给单片机输入时钟信号,这个时钟信号就是单片机地工作速度 .单片机工作地最小时间计量单位就是由晶振打算地.电路图如图 3-4 所示.晶振电路电容挑选地原就为:(1) 、 C1, C2,由于每一种晶振都有各自地特性,所以最好按制造厂商所供应地数值挑选外部元器件 .欢迎下载精品学习资源(2) 、在误差答应地区域内,C1 和 C2 值都是越小,实现地功能就越精确,假如C1 和C2 值比正常数值大时,可能会使振荡器更加稳固,可是也会增加响应地时间.图 3-8 晶振电路本系统地单片机最小系统地时钟电路采纳图3.8 所示地晶振电路,其中晶振选用12MHz 石英晶体振荡器,接至单片机地XTAL1 和 XTAL2 脚,两个电容选用30p 瓷片电容 .通过上述具体方案地设计论证,本系统设计了如图3-9 所示地最小系统 .图 3-9 单片机最小系统3.2.2.4 程序下载电路在实际制作实物地仍需要增加一个下载电路模块,便利调试下载.程序下载电路中包含一个4pin 排针,分别接至Vcc 、单片机地10 脚( RXD/P3.0 )、单片机地 11 脚( TXD/P3.1 、GND. 在下载程序时,需采纳STC 公司地 USB 下载器,下载器地欢迎下载精品学习资源VCC 脚接排针 VCC 脚;下载器地 RXD 脚接排针地TXD 脚;下载器地 TXD 脚连接排针地RXD 脚;下载器地 GND 脚接排针地 GND 脚,然后用 STC 公司地 ISP 软件挑选 keil 编译生成地 hex 文件,即可将程序烧写到单片机中.电路如图 3-10 所示.图中 P2 即为 4pin 排针 .图 3-10 下载接口电路3.2.3 按键电路按键挑选弹片开关,电路由3 个弹片开关组成( P1.0)、 2( P1.1)、 3( P1.3)脚;另一端共地慢运行速度,电路如图3-11 所示 .3 个弹片开关地一段依次接至单片机地.功能依次为模式切换、加快运行速度、减1欢迎下载精品学习资源图 3-11 按键电路3.3.4 LED 灯电路将 16 个 LED 地负极依次与单片机地P1 口和 P2 口地 16 个 I/O 口相接,正极就与5V 电源相接 .但由于直接相接可能会烧坏发光二极管,因此需要串联电阻.限流电阻地阻值依据设 计体会及现有电阻取值为220.由于为了便于设计PCB 电路板时布局布线,故此处地电阻 采纳贴片 0805 封装.此外,由于 P0 口地驱动才能较弱,无法直接驱动 8 个发光二极管,故挑选在 P0 口地I/O 和发光二极管地负极之间接入 10k 地共阳排阻以供应一个强上拉 .电路图如图 3-12 中P1 即为 10k 共阳排阻 .图 3-12 LED 电路欢迎下载精品学习资源第 4 章 程序设计及软件仿真4.1 软件设计框图如图 4-1 所示为本系统地软件实现流程图.定时器初始化设置上电初始化LED灯初始模式设置键盘扫描延时掌握LED样式流水灯速度LED灯显示图 4-1 软件流程4.2 软件开发平台挑选软件设计地开发平台采纳美国 keil Software 公司出品地 Keil uvision4.Keil uvision4 是美国 keil software 公司出品地 51 系列兼容单片机 C 语言软件开发系统,与汇编语言相比, C 语言在功能上、结构性、可读性、可保护性上有明显地又是,因而易学易用 .keil 供应了包括欢迎下载精品学习资源C 编译器、宏汇编、连接器、库治理和一个功能强大地仿真调试器等在内地完整开发方案,通过一个集成开发环境将这些部分组合在一起.运行 keil 软件需要 win98 、NT 、 win2000 、winXP等操作系统 .如使用 C 语言进行编程, keil将是不二之选,即使是使用汇编语言编程, keil 便利易用地集成环境以及强大地软件仿真调试工具也能让开发者事半功倍.4.3 软件系统功能模块本系统采纳结构化模块程序设计,所谓“模块 ”,实质上就是具有肯定功能、相对独立地程序段 . 在编程过程中第一将所要完成地各个功能分别按模块编写和调试,全部模块调试成功以后,再将各个模块连接整合在一起形成系统.模块化程序设计地主要特点是:单个模块比一个完整地程序更简洁编写、查错和测试;模块化程序可以实现共享,一个模块化程序可被多个任务在不同地条件下调用;把输入/ 输出封装起来,可以使程序削减不必要地修改;这样地设计有利于程序代码地优化和共享,而且便于设计、调试和保护,可以增强系统地牢靠性.本系统地主要模块有:初始化模块、延时模块、定时器掌握模块、键盘扫描模式、LED灯输出掌握模块,下面依次简要介绍.4.3.1 初始化模块依据本系统地设计要求,当系统上电之后,LED灯并不亮,只有进入模式切换之后才有变换,因此需要对系统地掌握参数,比如模式标志位、速度变量进行初始化,其代码如下:void InitialCPUvoidRunMode = 0x00 ;TimerCount = 0 ;SystemSpeedIndex = 10;Delay1ms500 ;SetSpeedSystemSpeedIndex;欢迎下载精品学习资源4.3.2 延时函数系统掌握流水灯地变换主要是通过延时函数地延时时间长短来做出相应地反映,因此设置一个延时函数是掌握速度地关键,其代码如下:void Delay1msunsigned int countunsigned int i,j ;fori=0 ;i<count ;i+ forj=0 ;j<120 ;j+ ;其中, count 为时间掌握参数 .4.3.3 定时器掌握模块由于单片机资源有限,通过利用中断来检测按键,提高单片机地时钟利用率,其代码如下:void InitialTimer2voidT2CON = 0x00 ;/16 Bit Auto-Reload ModeTH2 = RCAP2H = 0xFC; /重装值 ,初始值 T L2 = RCAP2L = 0x18 ;ET2=1 ;/ 定时器 2 中断答应TR2 = 1 ;/ 定时器 2 启动EA=1 ;4.3.4 键盘扫描模式键盘扫描主要是利用IO 口读取地参数与0 相与,然后进行比较,判定是哪个键输入了掌握信号,比较之后返回相应地值,返回值被另一个键盘反应函数得到相应地掌握信号. 其代码分为两部分,一部分为扫描部分,一部分为输出掌握信号,扫描部分如下:unsigned char KeyTemp,CheckValue,Key = 0x00 ;欢迎下载精品学习资源CheckValue = P1&0x07 ;ifCheckV alue=0x07return 0x00 ;Delay1ms10 ;KeyTemp = P1&0x07 ;ifKeyTemp=CheckValuereturn 0x00;if.CheckValue&0x01Key|=0x10;if.CheckValue&0x02Key|=0x20;if.CheckValue&0x04Key|=0x40;return Key ;输出掌握信号核心算法如下:ifKey&0x10LEDDirection = 1;LEDIndex = 0 ;LEDFlag = 1 ; ifKey&0x20ifSystemSpeedIndex>0-SystemSpeedIndex;SetSpeedSystemSpeedIndex; ifKey&0x40ifSystemSpeedIndex<28+SystemSpeedIndex;SetSpeedSystemSpeedIndex4.3.5 LED 灯输出掌握模块LED灯地输出信号进行一次性赋值,P2 口直接与低八位相与得到相应所设定地信号, P0 口先将数据进行左移八位,然后在进行相与得到相应所设定地信号.其相与代码如下(只选取了两种流水模式地代码):P2 = LEDStatus&0x00FF;P0 = LEDStatus>>8&0x00FF;其依据模式赐予不同地输出值代码如下:void Mode_0voidP2 = 0xFF ;P0 = 0xFF ;欢迎下载精品学习资源void Mode_1voidLEDShow0x0001<<LEDIndexvoid Mode_2void;LEDIndex = LEDIndex+1%16;LEDShow0x8000>>LEDIndex;LEDIndex = LEDIndex+1%16;4.4 程序调试仿真4.4.1 仿真平台介绍仿真平台采纳英国Labcenter electronics 公司开发地 EDA 工具软件 proteus.它不仅具有其它EDA 工具软件地仿真功能,仍能仿真单片机及外围器件.它是目前比较好地仿真单片机及外围器件地工具.虽然目前国内推广刚起步,但已受到单片机爱好者、从事单片机教案地老师、致力于单片机开发应用地科技工作者地青睐.Proteus 是世界上闻名地EDA 工具 仿真软件 ,从原理图布图、代码调试到单片机与外围电路协同仿真,一键切换到PCB 设计,真正实现了从概念到产品地完整设计.是目前世界上唯独将电路仿真软件、 PCB 设计软件和虚拟模型仿真软件三合一地设计平台,其处理器模型支持8051 、 HC11 、 PIC10/12/16/18/24/30/DsPIC33 、AVR 、 ARM 、 8086 和 MSP430等, 2021 年又增加了 Cortex 和 DSP 系列处理器,并连续增加其他系列处理器模型.在编 译方面,它也支持 IAR 、Keil 和 MA TLAB 等多种编译器 .4.4.2 仿真测试第一,在 proteus 里编辑原理图,如图4-2 所示,然后再在单片机属性中导入从keil 中生成地 hex 文件即可进行仿真 .欢迎下载精品学习资源图 4-2 仿真电路欢迎下载精品学习资源第 5 章 硬件调试5.1 硬件设计用 Altiumdesigner 6-9,将事先画好地原理图地网格导入PCB 文档,然后对元件进行布局和布线设计,最终得到地PCB 电路板如图 5-1 所示 .图 5-1 PCB 布线图5.2 硬件调试5.2.1 下载功能调试将 STC 公司地 USB 下载器与 4pin 排针 P2 相接,然后打开ISP 软件,挑选对应地hex文件,设置好com 口、芯片型号、波特率之后,点击开头下载,观看到程序胜利地烧录到了单片机中 .然后拔掉下载器,接通电源,可以看到流水灯正常运行,说明下载功能已通过.5.2.2 LED 电路测试接通电路后认真观看,发觉没有从头至尾都不亮地灯,说明LED 电路已通过 .5.2.3 模式挑选功能调试接通电源,流水灯开头运行,然后按动弹片开关1,即 S2,假如能正常切换模式,就欢迎下载精品学习资源说明这部分地功能已通过.观看到当按下模式切换按键时,流水灯地运行模式转变,由正转变为反转,说明这部分已通过.5.2.4 速度加减功能调试当流水灯以正常速度运行时,按下弹片开关 2,即 S3,观看到流水灯地运行速度明显加快,说明加速功能已通过 .按下弹片开关 3,即 S4,观看到流水灯地速度回来正常速度,再按一下,发觉流水灯地运行速度变慢,说明减速功能也已通过 .5.2.5 复位电路调试先让流水灯运行一段时间,然后按下复位按键,弹片开关4,即 S1,观看到流水灯中止当前运行状态,又回到最初地运行状态.说明复位电路也通过 .5.2.6 稳固性测试接通电源,让程序连续运行较长时间,发觉PCB 电路板无严峻发热忱形,且程序也没有显现所得地 “跑飞 ”现象,仍可实现模式切换、加速减速、复位功