基于单片机AT89C51的彩灯循环控制系统的设计(程序仿真+电路图+任务书+说明书)_第1页
基于单片机AT89C51的彩灯循环控制系统的设计(程序仿真+电路图+任务书+说明书)_第2页
基于单片机AT89C51的彩灯循环控制系统的设计(程序仿真+电路图+任务书+说明书)_第3页
基于单片机AT89C51的彩灯循环控制系统的设计(程序仿真+电路图+任务书+说明书)_第4页
基于单片机AT89C51的彩灯循环控制系统的设计(程序仿真+电路图+任务书+说明书)_第5页
已阅读5页,还剩30页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第0页共35页摘要本设计提出了一种基于AT89C51单片机的彩灯循环控制的方案,实现对LED灯的控制。本方案以89C51单片机作为主控核心,以按键、显示、驱动等模块组成核心主控制模块。进一步熟悉和掌握89C51单片机的结构及工作原理,掌握单片机的接口技术及相关外围芯片的外特性和控制方法。通过实际程序设计和调试,逐步掌握模块化程序设计的方法和调试技术。本设计完成后,能掌握以单片机核心的电路设计的基本方法和技术。根据用户需要可以编写各种亮灯模式的程序,用户可以根据不同场合选用不同的彩灯循环方式。与普通LED彩灯相比,它具有体积小、价格低、低能耗等优点。通过完成一个包括电路设计和程序开发完整过程,了解开发以单片机应用系统的全过程,为今后从事相应工作打下基础。关键词89C51单片机;中断;循环目录摘要.1第1章绪论.2第2章系统设计方案.32.1设计方案介绍.32.2组成方案各部分的功能介绍.3第3章硬件电路设计.53.1电源电路.53.2主控器.53.2.1单片机的引脚及相关功能.53.2.28051单片机内部结构.73.3单片机最小系统的介绍.83.3.1单片机最小系统组成.83.3.2复位电路.93.3.3时钟电路.103.4彩灯循环和数码管显示电路.113.5模式控制电路.123.6整机电路工作原理.13第4章系统软件设计.144.1主程序设计流程图.144.2彩灯循环模式转换程序设计.154.3中断程序设计.18第5章电路仿真与调试.20I5.1用KEILC51软件编译程序.205.2电路仿真.21总结.25参考文献.26附录1整机电路原理图.27附录2元件明细表.28附录3源程序设计.29第0页共35页第1章绪论当今社会中,循环彩灯在人们的日常生活中有着日益重要的作用。它不仅能美化环境,渲染气氛,还可以用于娱乐场所和电子玩具中,并且在不同场所都各具特色。由于循环彩灯的快速发展使其应用也越来越广泛,逐渐深入到了人们生产、生活的各个领域。随着彩灯应用的深入发展,对其安全要求也就越来越高。近年来随着科技的飞速发展,单片机的应用正在不断地走向深入,同时也带动传统控制日新月异更新。在自动控制的单片机应用系统中,单片机往往是作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构,以及针对具体应用对象特点的软件结合,并加以完善。随着社会不断的发展,电子产品的质量也不断提高。彩灯循环电路也由以前的简单、功能单一的电路,变为现在复杂、实现功能多的电子产品。本次我进行了彩灯循环控制电路的设计。彩灯是我们日常经常使用的产品,它制作简单,过程易学,还可以提高我们的动手能力,增强我们分析和解决问题的能力。利用控制电路可使彩灯按一定的规律不断的改变状态,不仅可以获得良好的观赏效果,而且可以省电。近年来,随着人们生活水平的较大提高,人们对于物质生活的要求也在逐渐提高,不仅需要各种各样的生活电器,也开始对环境提出了更高的要求。彩灯的运用已经遍布于人们的生活中,从歌舞厅到各种儿童电子玩具,从庆祝节日到日常生活中的点缀。这些都说明了彩灯的发展及应用水平有了很大的飞跃,也说明科技在现实运用中有了较大的发展,随着人们生活环境的不断改善和美化,在许多场合可以看到彩色霓虹灯。LED彩灯由于其丰富的灯光色彩,低廉的造价以及控制简单等特点而得到广泛运用。本次毕业设计全面运用了我们以前所学的知识,在加强我直接应用综合能力的同时,力求让我在短时间里得以掌握先进科学技术:如本设计中所使用到的keil、Protel99等设计软件,使自己能够理论联系实际,并且设计电路的能力也有所提高。第0页共35页第2章系统设计方案2.1设计方案介绍本次设计的彩灯循环控制电路采用的方案如图2-1所示。主控器AT89C51彩灯循环电路时钟电路复位电路电源电路数码管显示电路模式控制电路图2-1方案图系统电路主要由主控器、时钟电路、电源电路、复位电路、彩灯显示电路、模式控制电路等部分组成。2.2组成方案各部分的功能介绍1.主控器在AT89C51中烧入软件程序后就控制整个电路实现功能。2.时钟电路为了保证同步工作方式的实现,电路应在唯一的时钟信号控制下严格地按时序进行工作。时序电路用于产生单片机工作所需要的时钟信号。3.电源电路采用经市电降压、整流、滤波、稳压的稳压电源把市电变为+5v的直流给单片机供电。4.模式控制电路模式控制部分是单片机的一个中断系统,中断按下后,转换彩灯循环的不同模式。5.复位电路第1页共35页使CPU和系统中其他功能部件都恢复到一个确定的初始状态,并从这个状态开始工作。6.彩灯显示电路由LED发光二极管组成,也是本次设计的主体,就是要用编写程序烧入芯片,并有单片机控制电路实现LED灯的循环点亮。7.数码管显示电路本次设计的彩灯循环共有5种循环模式,在仿真中当按键按下的时候,七段数码管就显示由15的模式号。第0页共32页第3章硬件电路设计3.1电源电路采用经市电降压、整流、滤波、稳压的稳压电源电路如图3-1所示:图3-1电源电路220V市电经过降压后得到12V交流电,经二极管整流成脉动直流电,经过电容滤波后,再经过LM7805稳压得到5V的直流电供系统工作,发光二极管用作电源指示,470F的电容起到再次滤波的作用。3.2主控器主控器就是AT89C51单片机,它是指集成在一个芯片上的微型计算机,包括CPU、随机存取存储器RAM、只读存储器ROM、基本输入、输出接口电路、定时、计数器等部件制作在一块集成芯片上,构成一个完整的微型计算机。整个电路以单片机为中心组成。在单片机中烧入程序,单片机运行程序输出信号控制彩灯的循环闪亮。以下对单片机的引脚及相关功能和内部结构加以介绍。3.2.1单片机的引脚及相关功能单片机引脚图如图3-2所示:第1页共32页图3-2单片机引脚图芯片的40个引脚按功能大致可分为4个部分:电源部分、时钟部分、控制部分和I/O引脚部分。1.电源部分(1)VCC:芯片电源,接+5V;(2)VSS:接地端;注:用万用表测试单片机引脚电压一般为0V或者5V,这是标准的TTL电平。但有时候在单片机程序正在工作时候测试结果并不是这个值而是介于0V-5V之间,其实这是万用表响应速度没这么快而已,在某一个瞬间单片机引脚电压仍保持在0V或者5V。2.时钟部分在89C51系列单片机内部有一个高增益反相放大器,其输入端引脚为XTAL1,其输出端引脚为XTL2。只要在XTL1和XTL2之间跨接晶体振荡器和微调电容,就可以构成一个稳定的自激振荡器。3.控制部分控制线共有4根:(1)ALE/PROG:地址锁存允许/片内EPROM编程脉冲;ALE功能:用来锁存P0口送出的低8位地址;PROG功能:片内有EPROM的芯片,在EPROM编程期间,此引脚输入编程脉冲。(2)PSEN:外ROM读选通信号。第2页共32页(3)RST/VPD:复位/备用电源;RST(Reset)功能:复位信号输入端;VPD功能:在VCC掉电情况下,接备用电源。(4)EA/VPP:内外ROM选择/片内EPROM编程电源;EA功能:内外ROM选择端;VPP功能:片内有EPROM的芯片,在EPROM编程期间,施加编程电源VPP。4.I/O引脚部分(1)80C51共有4个8位并行I/O端口:P0、P1、P2、P3口,共32个引脚。P3口还具有第二功能,用于特殊信号输入输出和控制信号(属控制总线)。(2)P3口第二功能:P30RXD串行输入口;P31TXD串行输出口;P32INT0外部中断0;P33INT1外部中断1;P34T0定时计数器0;P35T1定时计数器1;P36WR外部数据存储器写选通(低电平有效);P37RD外部数据存储器读选通(低电平有效)。3.2.28051单片机内部结构单片机内部结构如图3-3所示:图3-38051单片机内部结构第3页共32页8051单片机包含中央处理器、程序存储器(ROM)、数据存储器(RAM)、定时/计数器、并行接口、串行接口和中断系统等几大单元及数据总线、地址总线和控制总线等三大总线,现在我们分别加以说明:1.中央处理器中央处理器(CPU)是整个单片机的核心部件,是8位数据宽度的处理器,能处理8位二进制数据或代码,CPU负责控制、指挥和调度整个单元系统协调的工作,完成运算和控制输入输出功能等操作。2.数据存储器(RAM)8051内部有128个8位用户数据存储单元和128个专用寄存器单元,它们是统一编址的,专用寄存器只能用于存放控制指令数据,用户只能访问,而不能用于存放用户数据,所以,用户能使用的RAM只有128个,可存放读写的数据,运算的中间结果或用户定义的字型表。3.程序存储器(ROM)8051共有4096个8位掩膜ROM,用于存放用户程序,原始数据或表格。4.定时/计数器(ROM)8051有两个16位的可编程定时/计数器,以实现定时或计数产生中断用于控制程序转向。5.并行输入输出(I/O)口8051共有4组8位I/O口(P0、P1、P2或P3),用于对外部数据的传输。3.3单片机最小系统的介绍3.3.1单片机最小系统组成单片机最小系统以89c51为核心,外加时钟和复位电路,电路结构简单,抗干扰能力强,成本相对较低,非常符合本设计的所有要求.89c51单片机系列是在MCS-51系列的基础上发展起来的,是当前8位单片机的典型代表,采用CHMOS工艺,即互补金属氧化物的HMOS工艺,CHMOS是CMOS和HMOS的结合,具有HMOS高速度和高密度的特点,还具有CMOS低功耗的特点。单片机最小系统如图3-4所示:第4页共32页图3-4单片机最小系统3.3.2复位电路无论用户使用哪种类型的单片机,总要涉及到单片机复位电路的设计。单片机的复位操作使单片机进入初始化状态。而单片机复位电路设计的好坏,直接影响到整个系统工作的可靠性。许多用户在设计完单片机系统,并在实验室调试成功后,在现场却出现了“死机”、“程序走飞”等现象,这主要是单片机的复位电路设计不可靠引起的。单片机系统的复位方式有:手动按钮复位和上电复位。1.手动按钮复位手动按钮复位需要人为在复位输入端RST上加入高电平(图3-5手动按钮复位)。一般采用的办法是在RST端和正电源VCC之间接一个按钮。当人为按下按钮时,则VCC的+5V电平就会直接加到RST端。手动按钮复位的电路如所示。由于人的动作再快也会使按钮保持接通达数十毫秒,所以,完全能够满足复位的时间要求。图3-5手动按钮复位第5页共32页2.上电复位AT89C51的上电复位电路如图3-6所示,只要在RST复位输入引脚上接一电容至Vcc端,下接一个电阻到地即可。图3-6上电复位复位电路采用简易的手动按钮复位电路,主要由电阻R,电容C,开关K组成,分别接至AT89C51的RST复位输人端。当按下复位电路的复位开关Reset按钮时,瞬间短接复位开关,由于此reset复位开关一端接地为低电平,另一端有电源5V供电端和PG信号端,间接供给为高电平,通常为3.3V,而此复位开关的某一段也会直接或者间接的作用于南桥内的复位系统控制模块,所以瞬间短接复位开关会在开关的高电平端会产生一个低电平信号,此信号会直接或间接作用于南桥内的复位系统控制器,使南桥强行复位之后,南桥也会强行去复位其他的设备和模块,南桥给主板其他硬件设备复位后,整个主板复位完成,这就是主板复位电路的原理。本设计采用手动按钮复位,以满足复位的时间要求及设计质量。3.3.3时钟电路时钟电路如图3-7所示:图3-7时钟电路第6页共32页时钟电路简单介绍如下:1.就是产生像时钟一样准确的振荡电路。2.任何工作都按时间顺序,用于产生这个时间的电路就是时钟电路。现在流行的串行时钟电路很多,如DS1302、DS1307、PCF8485等。这些电路的接口简单、价格低廉、使用方便,被广泛地采用。本设计中时钟电路由AT89C51的18,19脚的时钟端(XTAL1及XTAL2)以及12MHz晶振X、电容C1、C2组成,采用片内振荡方式。3.4彩灯循环和数码管显示电路单片机P1.p2经过4块芯片74ls20(四路反向控制器)分别接16个发光二极管的阳极,16个二极管的阴极接地(如图3-8所示)。当P1.P2口输出低电平“0”时经过74LS240反向后输出高电平,相应的发光二极管被点亮;当P1.P2口输出高电平“1”时经过74LS240反向后输出低电平,相应的发光二极管熄灭。图3-8彩灯循环电路74LS240(如图3-9)它是一块具有驱动功能的四路反向器,除反向功能外,还可以起到隔离作用,保护单片机机芯的内部电路,增加输出口的扇出电流,提高负载能力。第7页共32页图3-974LS240芯片数码管显示的是彩灯循环闪亮的模式号,接在p0口,由于p0单片机内不具有上拉电阻就在数码管之间接了一排上拉电阻。数码管显示电路如图3-10所示:图3-10数码管显示电路3.5模式控制电路模式控制部分为一个电阻接高电平和一个按键接低电平连接构成。按一下按键彩灯模式就换一种。模式控制电路如图3-11所示:图3-11模式控制电路第8页共32页3.6整机电路工作原理根据彩灯循环控制电路设计的原理框图,可得出整机电路工作原理图如附录1所示。其工作原理为:控制程序存储在89C51单片机中,在XTL1与XTL2之间跨接两个容值为10nF的微调电容和一个振荡频率为12MHZ的晶体震荡器,并由此产生电路运行的时钟信号。单片机由P1.0P1.7,P2.0P2.7十六只引脚输出低电平,经过74L240反相器反向后输出高电平,再将此高电平输入LED就能使彩灯依次点亮。P3.2引脚为INT0的中断信号,一旦模式转换开关被按下后就向CPU发出中断命令,单片机就停止当前运行的方式执行此时CPU发出的中断命令,彩灯就一次按照转换的相应模式循环闪亮。第9页共32页第4章系统软件设计4.1主程序设计流程图主程序的主要功能是负责整个电路的运行,由INT0引出的中断信号,转换控制彩灯循环闪亮的方式。判断是否有中断命令向CPU发出,若是则转换闪亮的模式,若不是若该方式继续运行,每个彩灯闪烁的周期为1s。流程图如图4-1所示。开始系统初始化彩灯循环按键按下模式转换NY图4-1主流程图主程序设计如下:voidmain()ucharcodedispcode5=0x06,0x06,0x5b,0x4f,0x66;IT0=1;/置外部中断为边沿(下降沿)触发方式EX0=1;/开放外部中断0允许位EA=1;/开放中断允许位flag=1;/定义变量第10页共32页light=0x01;/彩灯高电平点亮assum=0;assum=0;/假设变量dw=0;while(1)switch(flag)case1:left();break;/运行模式1,否则跳出case2:right();break;/运行模式2,否则跳出case3:assume();break;/运行模式3,否则跳出case4:zg();break;/运行模式4,否则跳出case5:sl();break;/运行模式5,否则跳出P0=dispcodeflag;/定义P0为输出delay0_5s();4.2彩灯循环模式转换程序设计彩灯循环模式的转换其实就是由中断控制的,当程序初始化后,按下按键中断信号发出,模式就转换为另一种,而彩灯就在该模式下循环闪亮。如按键没有按下则彩灯还是保持当前循环不变,本设计彩灯共有5种循环模式,按下按键这5种模式就依次转换。其流程图如图4-2所示。第11页共32页开始case3彩斜排循环闪亮case2外到里循环闪亮系统初始化case1彩灯里到外循环点亮按键按下?按键按下?按键按下?按键按下?NNN否NYYYYcase4彩灯奇偶循环闪亮case5彩灯分竖排循环闪亮按键按下?N图4-2模式转换流程图各种模式转换程序设计如下:*模式一*voidleft()/定义模式1为由里向外循环点亮ucharcodexun16=0x80,0x40,0x20,0x10,0x08,0x04,0x02,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00;第12页共32页ucharcodeyun16=0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x40,0x20,0x10,0x08,0x04,0x02,0x01;/设置模式1彩灯循环数组if(dw=15)dw=0;/数据库中循环到15时,数据显示回0elsedw+;/数据加一循环P1=xundw;P2=yundw;/将定义数组的值赋给P1,P2*模式二*voidright()/定义模式2为由外向里循环点亮ucharcodegj16=0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00;ucharcodezf16=0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80;/设置模式2彩灯循环数组if(dw=15)dw=0;/数据库中循环到15时,数据显示回0elsedw+;/数据加一循环P2=gjdw;P1=zfdw;/将定义数组的值赋给P1,P2*模式三*voidassume()/定义模式3为左下斜排顺序循环闪亮ucharcodezx7=0x01,0x02,0x04,0x08,0x10,0xa0,0x40;ucharcodefx7=0x00,0x08,0x14,0xa2,0x41,0x00,0x00;/设置模式3彩灯循环数组if(assum=6)第13页共32页assum=0;/数据库中循环到6时,数据显示回0elseassum+;/数据加一循环P2=zxassum;P1=fxassum;/将定义数组的值赋给P1,P2*模式四*voidzg()P1=0xaa;P2=0xaa;/设置P1,P2为输出端delay0_5s();P1=0x55;P2=0x55;*模式五*Voidsl()/定义模式5为彩灯以竖排形式循环闪亮ucharcodesj5=0x00,0x01,0x02,0x84,0x78;ucharcodeso5=0x00,0x0e,0x91,0x60,0x00;/设置模式4彩灯循环数组if(assum=4)assum=0;/数据库中循环到4时,数据显示回0elseassum+;/数据加一循环P2=sjassum;P1=soassum;/将定义数组的值赋给P1,P24.3中断程序设计中断信号由P3.2脚输入,通过IT0位来决定是低电平有效还是下降沿有效,一旦输入信号有效,即向CPU申请中断,并建立IE0中断标志。中断命令发出后,控制彩灯在第14页共32页相应的模式下循环闪亮。中断设计程序如下:voidint_()interrupt0/interrupt0表示函数为中断类型号0的中断函数delay10ms();/中断延时为0.1秒if(INT0=0);/输入中断信号flag+;if(flag5)flag=1;/中断显示最大为5,否则跳到1第15页共32页第5章电路仿真与调试5.1用KeilC51软件编译程序KeilC51软件是目前最流行的开发MCS-51系列单片机的软件。KeilC51提供了C编辑器、宏汇编、链接器、库管器和一个功能强大的仿真调试器等在内的完整开发方案,并通过一个集成开发环境(Vision2)将它们组合在一起。由于KeilC51本身是纯软件,还不能直接进行硬件仿真,所以必须挂接单片机仿真器的硬件才可以进行仿真。KeilC51同时还支持PLM汇编和C语言的程序设计,它界面和常用的微软VC+的界面相似,界面友好,易学易用,在调试程序和软件仿真方面也有很强大的功能(如图5-1所示)。KeilC51支持的CPU很多,本设计中选用的是Atmel公司的AT89C51芯片。图5-1在keil软件中编程和调试使用C语言程序肯定要使用到C编译器,以便把写好的C程序编译为机器码。将C语言源程序导入,这样单片机才能执行编写好的程序。在新建Keil项目时选择AT89C51单片机作为CPU,在keil软件中完成程序编写、调试和编译之后,加载程序为.HEX文件,生成能让单片机运行的Hex文件,如图5-2所示:第16页共32页图5-2程序编写与编译5.2电路仿真当程序编写并仿真成功后,就运行Proteus的ISIS软件,将电路图画好后在进行调试,进入该仿真软件的主界面。主界面由菜单栏、工具栏、预览窗口、元件选择按钮、元件列表窗口、原理图绘制窗口和仿真进程控制按钮组成。通过元件选择按钮P(从库中选择元件命令)命令,在弹出的PickDevices窗口(如图5-3所示)中选择电路所需的元件,放置元件并调整其相对位置,对元件参数设置及元器件间连线,完成单片机系统的硬件原理图绘制。图5-3PickDevices窗口第17页共32页打开如图5-4所示的对话框。在ProgramFile栏添加编译好的十六进制格式的程序文件zrcd.hex,并将AT89C51输入晶振频率设置为12MHZ,单击OK按钮完成程序添加工作。图5-4添加程序文件zrcd.hex绘制完成后的电路图就添加hex文件到单片机中,按下运行按键就可以进行仿真了。仿真过程中如有硬件问题可在ProteusISIS中直接修改,如有软件问题可在KeilVision2中直接修改,通过Keil与Proteus的联合调试就可以得到满意的结果。本次设计的彩灯循环有5种模式,各种模式的仿真图如下所示。第18页共32页图5-5模式一仿真图第19页共32页图5-6模式二仿真图图5-7模式三仿真图第20页共32页图5-8模式四仿真图图5-9模式五仿真图第21页共32页总结本系统就是充分利用了AT89S51芯片的I/O引角。系统采用MSC-51系列单片机为中心器件来设计彩灯循环控制器,根据实际需要实现了彩灯循环闪亮的功能。p2口和p1口外接彩灯。本系统电路和程序设计简便、操作简单、实用性强。经过本次的设计,现将循环控制中出现的优缺点归纳为以下几点:1.本循环控制电路具有及时、可靠性高、效率高、寿命长、成本低等优点。2.本系统维护简单,出现故障时能较快的消除。3.此彩灯循环电路只能用于小型场合,不适于大型场合。4.控制循环的彩灯数量也受到了一定的限制。通过这次设计,使我在单片机的基本原理、单片机应用系统开发过程,以及在常用编程C语言的掌握方面都能向前迈了一大步,为日后成为合格的应用型人才打下良好的基础。我还学会了许多书本上不能学到的知识,增强了自己的实践能力。即将毕业的我更加珍惜这次锻炼的机会,认真努力完成了自己的设计任务,但由于自己的知识水平有限,仍然存在很多的不足之处,恳请老师多多指教!当今的社会的竞争日益激烈,而人才的竞争则是竞争的焦点,毕业设计对于我们即将走上工作岗位的学生来说,是离校前很好的一次锻炼机会,使我们各方面的能力都有了很大的提高,为我们踏出校门走向社会增添了能力与自信。第22页共32页参考文献1王静霞.单片机应用技术M.北京:电子工业出版社,20092付家才.单片机控制工程实践技术M.北京:化学工业出版社,20043潘新民.微型计算机控制技术M.北京:人民邮电出版社,19994余锡存.单片机原理及接口技术M.陕西:西安电子科技大学出版社,20005雷丽文.微机原理与接口技术M.北京:电子工业出版社,19976蒋万君.在论循环时序电路的简便设计J.北京:机电一体化,20057李银华.电子线路设计指导.北京:航空航天大学出版社,19858何小艇.电子系统设计.浙江:浙江大学出版社,19949李华.MCS-51系列单片机应用接口技术.北京:北京航空航天大学出版,199310陈汝全.实用微机与单片机控制技术.成都:电子科技大学出版社,199511何立民.MCS-51系列单片机应用系统设计.北京:北京航空航天大学出版社,1990第23页共32页附录1整机电路原理图第24页共32页附录2元件明细表项目代号名称型号、规格数量备注更改R1-R2电阻器RT0.125b1k10%2C1-C2电容器10nF2C3电容器1nF1X1晶振CRYSTAL12M1RP1上拉电阻RESPACK-81U1单片机AT89C511LED循环彩灯LED-GREEN16U2A-B反相器74LS2402U3A-B反相器74LS2402LED数码管7SEG-COM-CATHODE1BUTTON按键SPSTPushButton2旧底图总号更改标记数量更改单号签名日期底图总号拟制朱冉审校日期签名等级标记第1张共1张标准化批准基于单片机的彩灯循环控制系统的元器件明细表第25页共32页附录3源程序设计*AT89C51源程序*#include/库函数头文件#defineucharunsignedchar/定义无符号字符型常量ucharflag;ucharlight,assum,dw;/定义局部变量*循环延时程序*voiddelay0_5s()unsignedchari,j,k;/定义局部变量i,j,kfor(i=10;i0;i-)for(j=100;j0;j-)for(k=250;k0;k-);/设置循环次数voiddelay10ms(void)/设置延时时间为0.1秒unsignedchari,k;/定义局部变量i,kfor(i=20;i0;i-)for(k=250;k0;k-);*模式一*voidleft()/定义模式1为由里向外循环点亮ucharcodexun16=0x80,0x40,0x20,0x10,0x08,0x04,0x02,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00;ucharcodeyun16=0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,第26页共32页0x40,0x20,0x10,0x08,0x04,0x02,0x01;/设置模式1彩灯循环数组if(dw=15)dw=0;/数据库中循环到15时,数据显示回0elsedw+;/数据加一循环P1=xundw;P2=yundw;/将定义数组的值赋给P1,P2*模式二*voidright()/定义模式2为由外向里循环点亮ucharcodegj16=0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论