实习报告-流水灯探究.doc

单片机流水彩灯设计 目录 1、方案设计说明……………………………………………………………………2 (1)设计项目概述………………………………………………………………2 (2)设计项目功能及操作介绍…………………………………………………2 (3)方案设计思路………………………………………………………………2 2、硬件设计说明……………………………………………………………………3 (1)电路图………………………………………………………………………3 (2)I/O的分配 …………………………………………………………………3 (3)电路工作原理………………………………………………………………4 (4)主要器件介绍………………………………………………………………4 3、软件设计说明……………………………………………………………………5 (1)软件设计概述………………………………………………………………5 1)设计思路………………………………………………………………5 2)总体功能………………………………………………………………6 3)程序流程图……………………………………………………………7 (2)程序总体结构及程序的执行与工作过程 ………………………………8 (3)重要程序段说明 …………………………………………………………8 (4)程序清单 …………………………………………………………………9 4、制作调试说明……………………………………………………………………13 (1)制作调试过程及结果 ……………………………………………………13 (2)所遇到的问题及解决方法 ………………………………………………13 5、总结………………………………………………………………………………14 1、方案设计说明 (1)设计项目概述? 本次设计的题目是单片机流水彩灯设计通过综合掌握单片机编程的基本思想,以及中断,定时程序的基本编写方法。利用单片机设计并制作流水彩灯。该流水彩灯设置用一个AT89S51单片机来控制12LED灯产生不同的发光效果。 (2)设计项目功能及操作介绍 其中两个按键 K1 和 K2,上电后,12 个 LED 灯全亮;两个按键一个用于控制“流水灯”的启动和停止,另一个用于选择“流水”的花样。其中流水灯花样有三种:1)单个LED灯顺次点亮。2)每两个LED灯顺次点亮然后再顺次返回。3)从两端每三个LED灯顺向中间次点亮。 (3)方案设计思路 按照单片机系统扩展与系统配置状况,单片机应用系统可分为最小系统、最小功耗系统及典型系统等。流水灯实际上就是一个带有12个发光二极管的单片机最小应用系统,即为由发光二极管、晶振、复位、电源等电路和必要的软件组成的单个单片机。如果要让接在P0.0口的LED亮起来,那么只要把P0.0口的电平变为低电平就可以了;相反,如果要接在P0.0口的LED熄灭,就要把P0.0口的电平变为高电平;同理,接在其他接口上LED灯的点亮和熄灭的方法也如此。因此,要实现流水灯功能,我们只要将发光二极管LED1~LED12依次点亮、熄灭,12只LED灯便会一亮一暗的做流水灯了。在此我们还应注意一点,由于人眼的视觉暂留效应以及单片机执行每条指令的时间很短,我们在控制二极管亮灭的时候应该延时一段时间,否则我们就看不到“流水”效果了。 2、硬件设计说明 (1)电路图 (2)I/O的分配 单片机40引脚接+5V的电源,12、13引脚接开关K1、K2,20引脚接地。使用510 Ω电阻和发光二极管组成12条支路,分别对应连接单片机的8个P0口、4个P2口共12个。采用共阳极接法40段接上 5V 的外加电压,通过单片机的P0、P2口控制输出高电平还是低电平。当电压为低电平的时候。二极管发光。该电路由2个30PF 的电容和一个晶震组成的,其中晶振接在18和19引脚,这个作用是为单片机提供一个正常的工作时钟频率。 (3)电路工作原理 该流水灯实际上就是一个带有十二个发光二极管的单片机最小应用系统,即为由发光二极管、晶振、复位、电源等电路和必要的软件组成的单个单片机。从原理图中可以看出,如果要让接在P0.0口的LED1亮起来,那么只要把P0.0口的电平变为低电平就可以了;相反,如果要接在P0.0口的LED1熄灭,就要把P0.0口的电平变为高电平;同理,接在P0.1~P0.7口与P2.4~P2.7的其他11个LED的点亮和熄灭的方法同LED1。因此,要实现流水灯功能,我们只要将发光二极管LED1~LED12依次点亮、熄灭,12只LED灯便会一亮一暗形成“流水灯”。 (4)主要器件介绍 AT89S51单片机是美国ATMEL公司生产的低电压、高性能CMOS

文档评论(0)

1亿VIP精品文档

相关文档