应电113胡尚坤毕业设计

上传人:ca****in 文档编号:204699151 上传时间:2023-04-27 格式:DOC 页数:74 大小:2MB
收藏 版权申诉 举报 下载
应电113胡尚坤毕业设计_第1页
第1页 / 共74页
应电113胡尚坤毕业设计_第2页
第2页 / 共74页
应电113胡尚坤毕业设计_第3页
第3页 / 共74页
资源描述:

《应电113胡尚坤毕业设计》由会员分享,可在线阅读,更多相关《应电113胡尚坤毕业设计(74页珍藏版)》请在装配图网上搜索。

1、武汉纺织大学毕业设计(报告)课题名称: 图案显示流水灯 完成期限: 2013年9月16日2013年12月1日 学院名称 高职学院 专业班级 应电113 学生姓名 胡尚坤 学 号 1111142123 指导教师 韩谷静 指导教师职称 副教授 学院领导小组组长签字 目 录1绪论3选题背景、目的与意义32系统总体设计(方框图)63 硬件系统设计73.1硬件电路图93.2 主要芯片介绍104 软件系统设计20主程序流程20编译器介绍21程序.225 系统调试65实体照666 总结70收获和体会72参考文献1 绪论1.1 选题背景、目的与意义随着现代社会的发展,人们越来越追求审美和新颖,而流水灯就是其中

2、一种,以前简单的照明工具变得越来越多样化,流水灯的千姿百态给人一种视觉冲动,现在不管大街小巷我们都可以随处可见这种变幻万千的流水灯,而这种流水灯我们可以产用子电路去设计,我们可以用控制器和状态译码器来实现灯光的流水效果,流水灯是现实各种舞台灯光闪烁的一种,图案流水灯就是在社会当中采用灯光效果显示人们所需要想看到的图案满足人们对灯光效果的需求。图案流水灯集机械、电子、传感器、计算机、控制、单片机接口技术、等诸多学科为一体,能够满足在娱乐场合所,演唱会灯光,霓虹灯等需要的灯光效果,随着单片机功能集成化的发展,其应用领域也逐渐地由传统的控制,扩展为控制处理、数据处理以及数字信号处理(DSP,Digi

3、tal Signal Processing)等领域。凌阳的16 位单片机就是为适应这种发展而设计的。它的CPU内核采用凌阳最新推出的(Microcontroller and Signal Processor)16位微处理器芯片所形成的16 位系列单片机采用的是模块式集成结构,它的内核为中心集成不同规模的ROM、RAM 和功能丰富的各种外设接口部件。内核是一个通用的核结构。除此之外的其它功能模块均为可选结构,亦即这种结构可大可小或可有可无。借助这种通用结构附加可选结构的积木式的构成,便可形成各种不同系列派生产品,以适合不同的应用场合。这样做无疑会使每一种派生产品具有更强的功能和更低的成本。,人民

4、生活水平的提高,流水灯在现实生活中所起的作用越来越重要。流水灯简易轻巧,外貌美观,能呈现多彩的颜色。在现实生活中起到了广泛的应用。在繁忙的交通路段,伞烁着的流水交通灯,提醒着人民要遵纪交通规则,在繁忙的大街上,伞烁的流水灯无不吸引过路人的眼球,甚至在自动门上都装有自动流水灯,告诉人们的时间和日期。流水灯无处不在。所以说多功能流水灯电路的设计可以使我们进一步了解流水灯,感受流水灯给我们生活带来的方便。多功能流水灯的设计要求在预定的时间到来时,会产生一个控制信号控制彩灯的流向、间歇等,彩灯流向可以随着电路的改变而改变,并具有自控、手控流向控制功能等。主要参考数字电路中计数器的原理。NE555定时器

5、的作用等相关知识在设计的过程中需要了解相关芯片(CD4017、89C52、NE555)的具体功能,引脚值、引脚图、真值表。认真连接设计电路,由于最后流水灯的流向十分的清晰和稳定,所以所得的结果测试十分简洁并很成功。自计算机问世以来,单片机技术在社会各领域中得到了广泛的应用。在流水灯控制系统中,单片机更是取代了由齿轮调节延迟时间的旧式市发展速度,成为日后此系统中的核心部分。由于单片机具有一些突出的优点:体积小、重量轻、电源单一、功耗低;功能强、价格低;数据大都在单片机内部传送,运行速度快、抗干扰能力强、可靠性高,所以单片机被广泛的应用于测控系统、数据采集、智能仪器仪表、机电一体化产品、智能接口、

6、计算机通信以及单片机的多级系统等领域。单片机流水灯控制它使我们学会了如何使用单片机控制我们日常生活中的多设备设施的应用。通过本课题的设计以后,使我了解到了单片机的许多方面的应用。本课题详细地介绍了一种由MCS-89C51集成块编程实现的控制电路,它完成了单片机流水灯控制功能,并给出了具体的硬件电路和相应的程序。这种控制电路可靠性,灵活性高,使用范围广,特别适合中小城市的交通灯、霓虹灯等的应用。而且,它对其他类似系统的开发具有一定的借鉴意义。图案流水灯是继超吸塑七彩霓虹字之后又研制出的全国独有产品。它以新颖独有的视觉艺术效果,受到同行、客户的一致好评。它可以独立使用,白天是一款精美豪华的装饰背景

7、,晚间在微电脑控制器控制下, 绽放出绚丽多彩的动态变化。通过闪动效果抓住行人视线(据权威营销专家介绍:动态广告比静态广告的宣传效果高出近百倍),达到了企业制作招牌的三大目的:1、传达信息,2、装饰门面,3、美化城市。它即能展示出霓虹灯夜间动感扫描变化效果,又能弥补霓虹灯白天效果差、易坏,雨雪天不能正常使用的弊病。它与超吸塑七彩霓虹字配套使用,既有文字,又有背景,无论是白天美化效果,还是晚上亮化效果,都是绝佳的完美组合。在当今招牌行业中绝对处于独有领先地位,并填补了晚间动感扫描产品在白天失去视觉宣传效果的空白。该产品市场前景非常巨大。是城市美化,楼体轮廓亮化,企业树立形象、展示优势、宣传品牌的理

8、想产品。产品工艺简便,不用模具,不用吸塑机,只投几百元的专用设备即可很轻松的制作出条型、扇型、多边型、艺术造型等各种异型产品。 2 系统总体设计(方框图)时钟电路复位电路串口电路开关电路LED显示电路电源电路单片机3、硬件系统设计时钟电路时钟电路在单片机系统硬件设计中往往是一个关键的部分,由于晶振的工作频率很高,设计不当就很有可能使其工作时的产生的高频信号对其他电路造成干扰;若晶振工作不正常,则会导致整个单片机系统无法运行。STC89C52系列单片机的时钟输入接在其18(XTAL2)和19(XTAL1),通常是接一个12M的晶振体。晶振和单片机引脚之间的连线尽量要短,这样可以保证其工作的稳定性

9、和避免晶振的高频信号过多的干扰周围线路。晶振的下方和周围尽量不要走线,尤其是对信号质量要求高的器件的线路。具体实现电路如图3-6所示: 图3-6时钟电路设计 图3-7复位电路复位电路:单片机需要在上电之后给其一个复位信号才能正常工作,在开发和调试单片机系统时也往往要对它进行手动复位,而且当单片机系统供电电压过低时,程序的运行会出现非正常的情况,要求在低压时也必须对单片机系统进行复位。STC89C52单片机的RESET引脚为低有效,平时为上拉高电平,复位时,需要给其一定时间的低电平。电路如图3-7所示。开机时,电源经过R1和IC给C1充电,即电流经C1流向RST,RST得到高电平,IC即复位。复

10、位完毕以后,C1充电停止不再有电流流过,RST经R1接地为低电平,电路进入工作状态。电源模块:流水灯系统要稳定工作必须有强健的电源供给作为保障,强大的电源可以使系统在各种环境下长时间稳定的工作,因此电源管理是整个系统可靠运行的基础。电源模块需要向系统的其它各模块提供电压的电源供给,分别是8.2V和5V,其中8.2V电源直接来自于电池组,负责驱动直流电机和微型吸尘器工作,12V通过LM7805转换成5V给单片机。系统选用的电源芯片LM7805是一款表现出色的电源芯片,具有较宽的输入电压范围、稳定的输出电流以及较小的发热量,能够很好的胜任本系统电源方案。5V电源模块主要负责为单片机、蓝牙模块和超声

11、波模块提供稳定的电源,是电源系统中最重要的部分。系统中选用的LM7805芯片是一款在很多单片机系统中广泛使用的性能优秀的电源芯片。三端稳压集成电路LM7805。顾名思义,三端IC是指这种稳压用的集成电路,只有三条引脚输出,分别是输入端、接地端和输出端。它的样子象是普通的三极管,TO- 220 的标准封装。该系列三端稳压IC来组成稳压电源所需的外围元件极少,电路内部还有过流、过热及调整管的保护电路,使用起来可靠、方便,而且价格便宜。该系列集成稳压IC型号中的LM78后面的数字代表该三端集成稳压电路的输出电压,如LM7805表示输出电压为正5V。 5V电源模块原理图如图3-9所示。图3-9 5V电

12、源模块原理图硬件电路图3.2 主要芯片介绍:STC89C52芯片 共40引脚: 18脚: 通用I/O接口p1.0p1.7 9脚: rst复位键 10 .11脚:RXD串口输入 TXD串口输出 1219:I/O p3接口 (12,13脚 INT0中断0 INT1中断1 14,15 : 计数脉冲T0 T1 16,17: WR写控制 RD读控制输出端) 18,19: 晶振谐振器 20 地线 2128 p2 接口 高8位地址总线 29: psen 片外rom选通端 单片机对片外rom操作时 29脚(psen)输出低电平 30:ALE/PROG 地址锁存器 31:EA rom取指令控制器 高电平片内取

13、低电平片外取 3239:p0.7p0.0(注意此接口的顺序与其他I/O接口不同 与引脚号的排列顺序相反) 40:电源+5VSTC89C52单片机介绍:单片机是指一个集成在一块芯片上的完整计算机系统。尽管他的大部分功能集成在一块小芯片上,但是它具有一个完整计算机所需要的大部分部件:CPU、内存、内部和外部总线系统,目前大部分还会具有外存。同时集成诸如通讯接口、定时器,实时时钟等外围设备。而现在最强大的单片机系统甚至可以将声音、图像、网络、复杂的输入输出系统集成在一块芯片上。单片机也被称为微控制器(Microcontroler),是因为它最早被用在工业控制领域。单片机由芯片内仅有CPU的专用处理器

14、发展而来。最早的设计理念是通过将大量外围设备和CPU集成在一个芯片中,使计算机系统更小,更容易集成进复杂的而对提及要求严格的控制设备当中。INTEL的Z80是最早按照这种思想设计出的处理器,从此以后,单片机和专用处理器的发展便分道扬镳。早期的单片机都是8位或4位的。其中最成功的是INTEL的8031,因为简单可靠而性能不错获得了很大的好评。此后在8031上发展出了MCS51系列单片机系统。基于这一系统的单片机系统直到现在还在广泛使用。随着工业控制领域要求的提高,开始出现了16位单片机,但因为性价比不理想并未得到很广泛的应用。90年代后随着消费电子产品大发展,单片机技术得到了巨大的提高。随着IN

15、TEL i960系列特别是后来的ARM系列的广泛应用,32位单片机迅速取代16位单片机的高端地位,并且进入主流市场。而传统的8位单片机的性能也得到了飞速提高,处理能力比起80年代提高了数百倍。目前,高端的32位单片机主频已经超过300MHz,性能直追90年代中期的专用处理器,而普通的型号出厂价格跌落至1美元,最高端的型号也只有10美元。当代单片机系统已经不再只在裸机环境下开发和使用,大量专用的嵌入式操作系统被广泛应用在全系列的单片机上。而在作为掌上电脑和手机核心处理的高端单片机甚至可以直接使用专用的Windows和Linux操作系统。单片机比专用处理器更适合应用于嵌入式系统,因此它得到了最多的

16、应用。事实上单片机是世界上数量最多的计算机。现代人类生活中所用的几乎每件电子和机械产品中都会集成有单片机。手机、电话、计算器、家用电器、电子玩具、掌上电脑以及鼠标等电脑配件中都配有1-2部单片机。而个人电脑中也会有为数不少的单片机在工作。汽车上一般配备40多部单片机,复杂的工业控制系统上甚至可能有数百台单片机在同时工作!单片机的数量不仅远超过PC机和其他计算的综合,甚至比人类的数量还要多。单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。概括的讲:一块芯片就成了一台计算机。它的体积小、质量轻、价格便宜、为学习、应用和开发提供了便利条件。同时,学习使用

17、单片机是了解计算机原理与结构的最佳选择。单片机内部也用和电脑功能类似的模块,比如CPU,内存,并行总线,还有和硬盘作用相同的存储器件,不同的是它的这些部件性能都相对我们的家用电脑弱很多,不过价钱也是低的,一般不超过10元即可.用它来做一些控制电器一类不是很复杂的工作足矣了。我们现在用的全自动滚筒洗衣机、排烟罩、VCD等等的家电里面都可以看到它的身影!它主要是作为控制部分的核心部件。 它是一种在线式实时控制计算机,在线式就是现场控制,需要的是有较强的抗干扰能力,较低的成本,这也是和离线式计算机的(比如家用PC)的主要区别。 单片机是靠程序的,并且可以修改。通过不同的程序实现不同的功能,尤其是特殊

18、的独特的一些功能,这是别的器件需要费很大力气才能做到的,有些则是花大力气也很难做到的。一个不是很复杂的功能要是用美国50年代开发的74系列,或者60年代的CD4000系列这些纯硬件来搞定的话,电路一定是一块大PCB板!但是如果要是用美国70年代成功投放市场的系列单片机,结果就会有天壤之别!只因为单片机的通过你编写的程序可以实现高智能,高效率,以及高可靠性! 由于单片机对成本是敏感的,所以目前占统治地位的软件还是最低级汇编语言,它是除了二进制机器码以上最低级的语言了,既然这么低级为什么还要用呢?很多高级的语言已经达到了可视化编程的水平为什么不用呢?原因很简单,就是单片机没有家用计算机那样的CPU

19、,也没有像硬盘那样的海量存储设备。一个可视化高级语言编写的小程序里面即使只有一个按钮,也会达到几十K的尺寸!对于家用PC的硬盘来讲没什么,可是对于单片机来讲是不能接受的。 单片机在硬件资源方面的利用率必须很高才行,所以汇编虽然原始却还是在大量使用。一样的道理,如果把巨型计算机上的操作系统和应用软件拿到家用PC上来运行,家用PC的也是承受不了的。可以说,二十世纪跨越了三个“电”的时代,即电气时代、电子时代和现已进入的电脑时代。不过,这种电脑,通常是指个人计算机,简称PC机。它由主机、键盘、显示器等组成。还有一类计算机,大多数人却不怎么熟悉。这种计算机就是把智能赋予各种机械的单片机(亦称微控制器)

20、。顾名思义,这种计算机的最小系统只用了一片集成电路,即可进行简单运算和控制。因为它体积小,通常都藏在被控机械的“肚子”里。它在整个装置中,起着有如人类头脑的作用,它出了毛病,整个装置就瘫痪了。现在,这种单片机的使用领域已十分广泛,如智能仪表、实时工控、通讯设备、导航系统、家用电器等。各种产品一旦用上了单片机,就能起到使产品升级换代的功效,常在产品名称前冠以形容词“智能型”,如智能型洗衣机等。现在有些工厂的技术人员或其它业余电子开发者搞出来的某些产品,不是电路太复杂,就是功能太简单且极易被仿制。究其原因,可能就卡在产品未使用单片机或其它可编程逻辑器件上。STC89C52是一种带8K字节闪烁可编程

21、可檫除只读存储器(FPEROM-Flash Programable and Erasable Read Only Memory )的低电压,高性能COMOS8的微处理器,俗称单片机。该器件采用ATMEL搞密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。单片机总控制电路如下图41:图41单片机总控制电路1.时钟电路STC89C52内部有一个用于构成振荡器的高增益反相放大器,引脚RXD和TXD分别是此放大器的输入端和输出端。时钟可以由内部方式产生或外部方式产生。内部方式的时钟电路如图42(a) 所示,在RXD和TXD引脚上外接定时元件,内部振荡器就产生自激振荡。定时元

22、件通常采用石英晶体和电容组成的并联谐振回路。晶体振荡频率可以在1.212MHz之间选择,电容值在530pF之间选择,电容值的大小可对频率起微调的作用。外部方式的时钟电路如图42(b)所示,RXD接地,TXD接外部振荡器。对外部振荡信号无特殊要求,只要求保证脉冲宽度,一般采用频率低于12MHz的方波信号。片内时钟发生器把振荡频率两分频,产生一个两相时钟P1和P2,供单片机使用。示,RXD接地,TXD接外部振荡器。对外部振荡信号无特殊要求,只要求保证脉冲宽度,一般采用频率低于12MHz的方波信号。片内时钟发生器把振荡频率两分频,产生一个两相时钟P1和P2,供单片机使用。RXD接地,TXD接外部振荡

23、器。对外部振荡信号无特殊要求,只要求保证脉冲宽度,一般采用频率低于12MHz的方波信号。片内时钟发生器把振荡频率两分频,产生一个两相时钟P1和P2,供单片机使用。(a)内部方式时钟电路 (b)外部方式时钟电路图42时钟电路2.复位及复位电路(1)复位操作复位是单片机的初始化操作。其主要功能是把PC初始化为0000H,使单片机从0000H单元开始执行程序。除了进入系统的正常初始化之外,当由于程序运行出错或操作错误使系统处于死锁状态时,为摆脱困境,也需按复位键重新启动。除PC之外,复位操作还对其他一些寄存器有影响,它们的复位状态如表一所示。表一 一些寄存器的复位状态寄存器复位状态寄存器复位状态PC

24、0000HTCON00HACC00HTL000HPSW00HTH000HSP07HTL100HDPTR0000HTH100HP0-P3FFHSCON00HIPXX000000BSBUF不定IE0X000000BPCON0XXX0000BTMOD00H(2)复位信号及其产生RST引脚是复位信号的输入端。复位信号是高电平有效,其有效时间应持续24个振荡周期(即二个机器周期)以上。若使用颇率为6MHz的晶振,则复位信号持续时间应超过4us才能完成复位操作。产生复位信号的电路逻辑如图43所示:图43复位信号的电路逻辑图整个复位电路包括芯片内、外两部分。外部电路产生的复位信号(RST)送至施密特触发器,

25、再由片内复位电路在每个机器周期的S5P2时刻对施密特触发器的输出进行采样,然后才得到内部复位操作所需要的信号。复位操作有上电自动复位相按键手动复位两种方式。上电自动复位是通过外部复位电路的电容充电来实现的,其电路如图44(a)所示。这佯,只要电源Vcc的上升时间不超过1ms,就可以实现自动上电复位,即接通电源就成了系统的复位初始化。按键手动复位有电平方式和脉冲方式两种。其中,按键电平复位是通过使复位端经电阻与Vcc电源接通而实现的,其电路如图44(b)所示;而按键脉冲复位则是利用RC微分电路产生的正脉冲来实现的,其电路如图44(c)所示:(a)上电复位 (b)按键电平复位 (c)按键脉冲复位图

26、44复位电路上述电路图中的电阻、电容参数适用于6MHz晶振,能保证复位信号高电平持续时间大于2个机器周期。本系统的复位电路采用图44(b)上电复位方式。STC89C52具体介绍如下: 主电源引脚(2根)VCC(Pin40):电源输入,接5V电源GND(Pin20):接地线外接晶振引脚(2根)XTAL1(Pin19):片内振荡电路的输入端XTAL2(Pin20):片内振荡电路的输出端控制引脚(4根)RST/VPP(Pin9):复位引脚,引脚上出现2个机器周期的高电平将使单片机复位。ALE/PROG(Pin30):地址锁存允许信号PSEN(Pin29):外部存储器读选通信号EA/VPP(Pin31

27、):程序存储器的内外部选通,接低电平从外部程序存储器读指令,如果接高电平则从内部程序存储器读指令。可编程输入/输出引脚(32根)STC89C52单片机有4组8位的可编程I/O口,分别位P0、P1、P2、P3口,每个口有8位(8根引脚),共32根。PO口(Pin39Pin32):8位双向I/O口线,名称为P0.0P0.7P1口(Pin1Pin8):8位准双向I/O口线,名称为P1.0P1.7 P2口(Pin21Pin28):8位准双向I/O口线,名称为P2.0P2.7 P3口(Pin10Pin17):8位准双向I/O口线,名称为P3.0P3.7STC89C52主要功能如表二所示。表二 STC89

28、C52主要功能主要功能特性兼容MCS51指令系统8K可反复擦写Flash ROM32个双向I/O口256x8bit内部RAM3个16位可编程定时/计数器中断时钟频率0-24MHz2个串行中断可编程UART串行通道2个外部中断源共6个中断源2个读写中断口线3级加密位低功耗空闲和掉电模式软件设置睡眠和唤醒功能单片机,专业名称Micro Controller Unit(微控制器件),它是由大名鼎鼎的INTEL公司发明的,最早的系列是MCS-48,后来有了MCS-51,现在还有MCS-96系列 。我们经常说的51系列单片机就是MCS-51,它是一种8位的单片机,而MCS-96系列则是一种16位的单片机

29、。后来INTEL公司把它的核心技术转让给了世界上很多的小公司,所以世界上就有许多公司生产51系列兼容单片机,比如飞利浦的87 LPC系列,华邦的W78L系列,达拉斯的DS87系列,现代GSM97系列等等。3单片机的结构及组成 单片机就是一种能进行数学和逻辑运算,根据不同使用对象完成不同控制任务的面向控制而设计的集成电路。 此话好象有点绕口,没关系,大家都应该知道我们经常使用的电脑吧,在电脑上,我们可以用不同的软件在相同的硬件上实现不同的工作。比如我们用WORD可以打字,用PROTEL可以设计图纸等等,单片机其实也是如此,同样的芯片可以根 据他不同的要求做出截然不同的产品,只不过电脑是面向应用的

30、,而单片机是面向控制的,比如控制一个指示灯的亮和灭,控制一台电机的启动和停止等等。 那么它的内部究竟由哪些部件组成的呢?大家都知道我们的电脑有很多的零件,比如CPU(中央处理),RAM(内存),ROM(程序存储器),输入输出设备(并行串行口)等等,在单片机中这些部件都有,而且还把它们全部做到了一块芯片上(这就是单片机名称的由来)。 软件系统设计主程序流程图4-1主程序流程图3.1编译器介绍Keil是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。Keil提供了包括C编译器、宏汇编、连

31、接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(uVision)将这些部分组合在一起。如果你使用C语言编程,那么Keil几乎就是你的不二之选,即使不使用C语言而仅用汇编语言编程,其方便易用的集成环境、强大的软件仿真调试工具也会令你事半功倍9。编译器如图4-2所示:图4-2编译器窗口4.3.2下载与调试工具STC-ISP 是一款单片机下载编程烧录软件,是针对STC系列单片机而设计的,可下载STC89系列、12C2052系列和12C5410等系列的STC单片机,使用简便,现已被广泛使用。如图4-3所示:程序#include #defineuintunsigned

32、int#defineucharunsigned charuchar code table0=0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f;/LED从低位往高位移uchar code table1=0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe;/LED从高位往低位移uchar code table2=0xfe,0xfc,0xf8,0xf0,0xe0,0xc0,0x80,0x00;/LED从1个亮到8个都点亮(从低位往高位)uchar code table3=0x7f,0x3f,0x1f,0x0f,0x07,0x03,0x01,0

33、x00;/LED从1个亮到8个都点亮(从高位往低位)uchar code table4=0x00,0x01,0x03,0x07,0x0f,0x1f,0x3f,0x7f,0xff;/LED从8个全亮到一个都不亮(从低位往高位)uchar code table5=0x00,0x80,0xc0,0xe0,0xf0,0xf8,0xfc,0xfe,0xff;/LED从8个全亮到一个都不亮(从高位往低位)uchar code table6=0xfe,0xfc,0xfa,0xf6,0xee,0xde,0xbe,0x7e;/LED从低位往高位移(最低位始终为0)uchar code table7=0x7f,0

34、x3f,0x5f,0x6f,0x77,0x7b,0x7d,0x7e;/LED从高位往低位移(最高位始终为0)uchar i,j;/定义循环变量uint tt=70;/定义时间指数void delay(uint time)/延时函数uint x,y;for(x=time;x0;x-)for(y=110;y0;y-);void disp0()/状态0 所有LED闪烁3次for(i=0;i3;i+)P0=0x00; P2=0x00; P3=0x00; P1=0x00;delay(300);P0=0xff; P2=0xff; P3=0xff; P1=0xff;delay(300);void disp1

35、()/状态1 LED顺时针转一圈for(i=0;i8;i+)P2=table1i;delay(100);P2=0xff;for(i=0;i8;i+)P3=table1i;delay(100);P3=0xff;for(i=0;i8;i+)P1=table1i; delay(100);P1=0xff;for(i=0;i8;i+)P0=table0i;delay(100);P0=0xff;void disp2()/状态2 LED逆时针转一圈for(i=0;i8;i+)P0=table1i;delay(100);P0=0xff;for(i=0;i8;i+)P1=table0i;delay(100);P

36、1=0xff;for(i=0;i8;i+)P3=table0i;delay(100);P3=0xff;for(i=0;i8;i+)P2=table0i;delay(100);P2=0xff;void disp3()/状态3 4个LED同时顺时、逆时针移动1/4圈for(i=0;i8;i+)P0=table1i;P1=table1i;P2=table1i;P3=table0i;delay(100);for(i=0;i8;i+)P0=table0i;P1=table0i;P2=table0i;P3=table1i;delay(100);P3=0xff; P0=0xff; void disp4()/

37、状态4 2个LED同时顺时针移动半圈for(i=0;i8;i+)P2=table1i;P1=table1i;delay(100);P2=0xff; P1=0xff;for(i=0;i8;i+)P3=table1i;P0=table0i;delay(100);P3=0xff; P0=0xff;void disp5()/状态5 2个LED同时逆时针移动半圈for(i=0;i8;i+)P0=table1i;P3=table0i;delay(100);P0=0xff; P3=0xff;for(i=0;i8;i+)P1=table0i;P2=table0i;delay(100);P1=0xff; P2=

38、0xff;void disp6()/状态6 LED自上而下逐渐点亮(一半点亮一半不亮)for(i=0;i8;i+)P0=table3i;P2=table3i;delay(100);P0=0xff; P2=0xff;for(i=0;i8;i+)P1=table2i;P3=table3i;delay(100);P1=0xff; P3=0xff;void disp7()/状态7 LED自下而上逐渐点亮(直到全部点亮)for(i=0;i8;i+)P1=table3i;P3=table2i;delay(100);for(i=0;i8;i+)P0=table2i;P2=table2i;delay(100)

39、;void disp8()/状态8 间断8格的4个LED亮并逆时针旋转for(j=0;j2;j+)for(i=0;i8;i+)P0=table1i;P2=table0i;P1=table0i;P3=table0i;delay(100);P0=0xff; P2=0xff; P1=0xff; P3=0xff;for(i=0;i8;i+)P0=table1i;P2=table0i;P1=table0i;P3=table0i;delay(100);P0=0xff; P2=0xff; P1=0xff; P3=0xff;void disp9()/状态9 间断8格的4个LED亮,然后逆时针逐渐点亮(直到全部

40、点亮)for(i=0;i8;i+)P0=table3i;P2=table2i;P1=table2i;P3=table2i;delay(100);delay(500);void disp10()/状态10 从LED全部亮到全不亮(间断8格的4个LED开始逆时针熄灭)for(i=0;i9;i+)P0=table5i;P2=table4i;P1=table4i;P3=table4i;delay(100);delay(300);void disp11()/状态11 间断8格的4个LED亮并顺时针旋转for(j=0;j2;j+)for(i=0;i8;i+)P0=table0i;P2=table1i;P1

41、=table1i;P3=table1i;delay(100);P0=0xff; P2=0xff; P1=0xff; P3=0xff;for(i=0;i8;i+)P0=table0i;P2=table1i;P1=table1i;P3=table1i;delay(100);P0=0xff; P2=0xff; P1=0xff; P3=0xff;void disp12()/间断8格的4个LED亮,然后顺时针逐渐点亮(直到全部点亮)for(i=0;i8;i+)P0=table2i;P2=table3i;P1=table3i;P3=table3i;delay(100);delay(1000);void d

42、isp13()/状态13 从LED全部亮到全不亮(间断8格的4个LED开始顺时针熄灭)for(i=0;i9;i+)P0=table4i;P2=table5i;P1=table5i;P3=table5i;delay(100);delay(300);void disp14()/状态14 从LED不亮到全亮(从P0.0、P1.0、P2.0、P3.7开始逐步点亮)for(i=0;i8;i+)P0=table2i;P1=table2i;P2=table2i;P3=table3i;delay(100);void disp15()/状态15 从LED全亮到全不亮(从P0.7、P1.7、P2.7、P3.0开始

43、逐步熄灭)for(i=0;i9;i+)P0=table5i;P1=table5i;P2=table5i;P3=table4i;delay(100);delay(300);void disp16()/状态16 LED灯交替闪烁(频率有慢变快)for(i=0;i5;i+)P0=0xaa; P1=0xaa; P2=0xaa; P3=0xaa;delay(100);P0=P0; P1=P1; P2=P2; P3=P3;delay(100);for(i=0;i5;i+)P0=0xaa; P1=0xaa; P2=0xaa; P3=0xaa;delay(200);P0=P0; P1=P1; P2=P2; P

44、3=P3;delay(200);for(i=0;i5;i+)P0=0xaa; P1=0xaa; P2=0xaa; P3=0xaa;delay(300);P0=P0; P1=P1; P2=P2; P3=P3;delay(300);P0=0xff; P2=0xff; P1=0xff; P3=0xff;delay(300);void disp17()/状态17 LED从P0.7开始逆时针逐步点亮,(循环2次)并且速度会逐步提高for(i=0;i8;i+)P0=table3i;delay(100);for(i=0;i8;i+)P1=table2i;delay(100);for(i=0;i8;i+)P3

45、=table2i;delay(100);for(i=0;i8;i+)P2=table2i;delay(100);P0=0xff; P1=0xff; P3=0xff; P2=0xff;/*/for(i=0;i8;i+)P0=table3i;delay(50);for(i=0;i8;i+)P1=table2i;delay(50);for(i=0;i8;i+)P3=table2i;delay(50);for(i=0;i8;i+)P2=table2i;delay(50);P0=0xff; P1=0xff; P3=0xff; P2=0xff;void disp18()/状态18 LED从P0.7开始逆时

46、针逐步点亮(每亮8位后就熄灭)for(i=0;i8;i+)P0=table3i;delay(100);P0=0xff;for(i=0;i8;i+)P1=table2i;delay(100);P1=0xff;for(i=0;i8;i+)P3=table2i;delay(100);P3=0xff;for(i=0;i8;i+)P2=table2i;delay(100);P2=0xff;void disp19()/状态19 LED从P2.7开始顺时针逐步点亮,(循环2次)并且速度会逐步提高for(i=0;i8;i+)P2=table3i;delay(100);for(i=0;i8;i+)P3=tabl

47、e3i;delay(100);for(i=0;i8;i+)P1=table3i;delay(100);for(i=0;i8;i+)P0=table2i;delay(100);P0=0xff; P1=0xff; P3=0xff; P2=0xff;/*/for(i=0;i8;i+)P2=table3i;delay(50);for(i=0;i8;i+)P3=table3i;delay(50);for(i=0;i8;i+)P1=table3i;delay(50);for(i=0;i8;i+)P0=table2i;delay(50);P0=0xff; P1=0xff; P3=0xff; P2=0xff;

48、void disp20()/状态20 LED从P2.7开始顺时针逐步点亮(每亮8位后就熄灭)for(i=0;i8;i+)P2=table3i;delay(100);P2=0xff;for(i=0;i8;i+)P3=table3i;delay(100);P3=0xff;for(i=0;i8;i+)P1=table3i;delay(100);P1=0xff;for(i=0;i8;i+)P0=table2i;delay(100);P0=0xff;void disp21()/状态21 2个LED开始上下移动半圈for(i=0;i8;i+)P0=table1i;P2=table1i;delay(100)

49、;P0=0xff; P2=0xff;for(i=0;i8;i+)P1=table0i;P3=table1i;delay(100);for(i=0;i8;i+)P1=table1i;P3=table0i;delay(100);P1=0xff; P3=0xff;for(i=0;i8;i+)P0=table0i;P2=table0i;delay(100);void disp22()/装态22 2个LED自上而下移动(循环5次,且频率渐快,到最快时持续循环16次,然后循环5次频率再逐渐降低)for(j=0;j5;j+)for(i=0;i8;i+)P0=table1i;P2=table1i;delay(

50、tt);P0=0xff; P2=0xff;for(i=0;i8;i+)P1=table0i;P3=table1i;delay(tt);P1=0xff; P3=0xff;tt=tt-10;for(j=0;j16;j+)for(i=0;i8;i+)P0=table1i;P2=table1i;delay(20);P0=0xff; P2=0xff;for(i=0;i8;i+)P1=table0i;P3=table1i;delay(20);P1=0xff; P3=0xff;tt=20;for(j=0;j5;j+)for(i=0;i8;i+)P0=table1i;P2=table1i;delay(tt);

51、P0=0xff; P2=0xff;for(i=0;i8;i+)P1=table0i;P3=table1i;delay(tt);P1=0xff; P3=0xff;tt=tt+10;tt=70;void disp23()/状态23 LED上下交替闪烁for(i=0;i2;i+)P0=0x00; P2=0x00;delay(1000);P0=0xff; P2=0xff;P1=0x00; P3=0x00;delay(1000);P1=0xff; P3=0xff;void disp24()/状态24 LED左右交替闪烁P1=0xff; P3=0xff; P0=0xff; P2=0xff;for(i=0;

52、i2;i+)P0=0x00; P1=0x00;delay(1000);P0=0xff; P1=0xff;P2=0x00; P3=0x00; delay(1000);P2=0xff; P3=0xff;void disp25()/状态25 LED交替闪烁for(i=0;i5;i+)P0=0xaa; P1=0xaa; P2=0xaa; P3=0xaa;delay(1000);P0=P0; P1=P1; P2=P2; P3=P3;delay(1000);void disp26()/状态26 2个LED开始上下移动半圈(LED不亮流水)P0=0x00;P1=0x00;P2=0x00;P3=0x00;for(i=0;i8;i+)P0=table1i;P2=table1i;delay(200);P0=0x00; P2=0x00;for(i=0;i8;i+)P1=table0i;P3=table1i;delay(200);for(i=0;i8;i+)P1=table1i;P3=table0i;delay(200);P1=0x00; P3=0x00;for(i=0;i8;i+)P0=table0i;P2=table0i;delay(200);void disp27()/状态27 逐步顺时针点

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!