LED流水灯设计-单片机控制

上传人:桔**** 文档编号:512144328 上传时间:2022-12-17 格式:DOC 页数:13 大小:320KB
返回 下载 相关 举报
LED流水灯设计-单片机控制_第1页
第1页 / 共13页
LED流水灯设计-单片机控制_第2页
第2页 / 共13页
LED流水灯设计-单片机控制_第3页
第3页 / 共13页
LED流水灯设计-单片机控制_第4页
第4页 / 共13页
LED流水灯设计-单片机控制_第5页
第5页 / 共13页
点击查看更多>>
资源描述

《LED流水灯设计-单片机控制》由会员分享,可在线阅读,更多相关《LED流水灯设计-单片机控制(13页珍藏版)》请在金锄头文库上搜索。

1、微机应用系统设计与综合实验(实践)LED霓虹灯设计课程设计实验报告实验课题姓名学号班级指导老师目录第一章设计概述311设计任务31.2设备器材3第二章硬件设计方案32.1 设计思想32.2 硬件选择42.3 AT89C52单片机介绍42.4 硬件逻辑图72.5设计连线82.6仿真电路图8第三章软件设计方案83.1软件设计思想83.2程序流程图9第四章 调试及运行结果10第五章设计心得与体会10参考资料11源程序消单11第一章设计概述1.1设计任务设计内容:利用汇编语言(或C语言),实现8个单色LED灯的左、右循环 显示,并实现循环的速度可调。选用芯片:8255等注:由于实验室的没有提供8255

2、芯片,所以改用单片机完成此实验,并且添加 了调节灯明暗的功能,以实现明暗可调。1.2设备器材在本设计中,所用到的设备器材如下所示:(1) 计算机一台;(2) 唐都仪器实验箱一台;(3) AT89C52单片机一片;(4) 导线若干。第二章硬件设计方案2.1设计思路本课题需要用按钮开关实现流水灯的左右循环显示、调速、控制亮度的功能。 可以选用五个开关来实现这些操作。单片机正在软件运行下通过不断扫描开关状 态,来将相关操作对应量送入单片机的输入端口,然后判断属于哪一类操作。五 个开关分别为K1,K2,K3,K4,K5,分别控制流水灯的调向、加速、减速、变亮、 变暗。在设计过程中,接开关的端口要全部保

3、持高电平,当按下一个开关时,输入 一个低电平,即为状态改变信号。不能同时有两个端口同为高电平。在设计中我主要负责了用云脉冲宽度调制(PWM)波控制LED灯的亮度环 节,开始对PWM并不是很了解,通过请教同学和查阅相关资料,渐渐明白了其 中的原理。在主程序运行时通过中断方式调整其输出电压的占空比,从而改变灯 泡的亮度。原理是这样的,主程序的始终频率和中断的始终频率并不相同,大约 是中断的一千倍,LED灯在移动时如果响应了中断,则在执行中断程序时,LED 灯近似看做没有移动,此时在中断程序中设计一个初值和一个上限,当计数到初 值时置灯泡灭掉,在计数到上限之前小灯泡都是熄灭的,到达上限后回0,并置

4、灯泡为亮,继续计数,在到设定的初值时置小灯泡为灭掉。这样在主程序的一个 周期内,中断程序将小灯泡置明置暗了近一千次,通过改变设定的初值可以改变 小灯泡的亮度。2.2硬件选择本实验选用AT89C52单片机、五个按键开关和8个发光二极管。其中 AT89C52为控制核心,当5个开关的状态改变时,单片机检测到开关信号后就 通过软件输出控制发光二极管。2.3 AT89C52单片机介绍AT89C52是一个低电压,高性能CMOS 8位单片机,片内含8k bytes 的可反复擦写的Flash只读程序存储器和256 bytes的随机存取数据存储器 (RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产

5、,兼容 标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元,功 能强大的AT89C52单片机可为您提供许多较复杂系统控制应用场合。AT89C52有40个引脚,32个外部双向输入/输出(I/O)端口,同时内 含2个外中断口,3个16位可编程定时计数器,2个全双工串行通信口,2 个读写口线。AT89C52的内部结构图如下:计数器输出引脚图如下:T2ZF1. 0 匚So3 VccT2EX/P1. 1 匚39a FO. 0 /ADOF1 2匚385 FO. 1/AD1P1 2 C9T PO. 2/A.D2.4 匚36b PO. 3/AD3P1. 5 匚35 FO. 4AD4F1.6

6、 E34 FO. 5/AD5Pl T C39 PO. 6/A.DGRST匚3 PO. 7/AD7RKD/P3. 0 匚10b EAVFPTXD/F3. 1 匚11 ALEXFEOGIHT0/P9. 2 C12 PESHIHT1/P3. 3 匚13 P2 7/A15T0fP3.4 匚14271 F2. 6A14T1/F3. 5 匚1526tl F2. 5/A13?R?P9. G tL&25 P2. 4/Al 2T匚1724 P2. 3/A11KTAL2 E1823a F2. 2A10XTAL1 匚1322 F2. 1/A3PDIF&皿 c2021 P2. O/AS引脚功能说明:P0 口: P0

7、口是一组8位漏极开路型双向I/O 口,也即地址/数据总 线复用口。作为输岀口用时,每位能吸收电流的方式驱动8个TTL逻辑门 电路,对端口 P0写“1”时,可作为高阻抗输入端用。访问外部数据存储器 或程序存储器时,这组口线分时转换地址(低8位)和数据总线复用,在 访问期间激活内部上拉电阻。在Flash编程时,P0 口接收指令字节,而在程序校验时,输出指令字 节,校验时,要求外接上拉电阻。P1 口: P1是一个带内部上拉电阻的8位双向I/O 口,P1的输出缓 冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对端口写“1”,通过 内部的上拉电阻把端口拉到高电平,此时可作输入口。作输入口使用时, 因

8、为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)o 与AT89C51不同之处是,P1.0和P1.1还可分别作为定时/计数器2的外部 计数输入(P1.0/T2)和输入(P1.1/T2EX),参见表loFlash编程和程序校验期间,P1接收低8位地址。表.P1.0和P1.1的第二功能引脚号功能特性P1.0T2,时钟输出Pl.lT2EX (定时/计数器2)P2 口 : P2 是一个带有内部上拉电阻的8位双向I/O 口,P2的输出缓冲级可驱动(吸收或输出电流)4个TTL逻 辑门电路。对端口 P2写“1”,通过内部的上拉电阻把端口拉到高电平,此 时可作输入口,作输入口使用时,因为内部

9、存在上拉电阻,某个引脚被外 部信号拉低时会输出一个电流(IIL)o在访问外部程序存储器或16位地址的 外部数据存储器(例如执行MOVX DPTR指令)时,P2 口送出高8位 地址数据。在访问8位地址的外部数据存储器(如执行MOVX RI指令) 时,P2 口输出P2锁存器的内容。Flash编程或校验时,P2亦接收高位地址和一些控制信号。P3 口 : P3 口是一组带有内部上拉电阻的8位双向I/O 口。P3 口输 出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对P3 口写入“1” 时,它们被内部上拉电阻拉高并可作为输入端口。此时,被外部拉低的P3 口 将用上拉电阻输出电流(IIL)o P3

10、 口除了作为一般的I/O 口线外,更重要 的用途是它的第二功能。P3 口还接收一些用于Flash闪速存储器编程和程序校验的控制信号。RST:复位输入。当振荡器工作时,RST引脚出现两个机器周期以上高 电平将使单片机复位。ALE/PROG:当访问外部程序存储器或数据存储器时,ALE (地址锁存 允许)输岀脉冲用于锁存地址的低8位字节。一般情况下,ALE仍以时钟 振荡频率的1/6输出固定的脉冲信号,因此它可对外输出时钟或用于定时 LI的。要注意的是:每当访问外部数据存储器时将跳过一个ALE脉冲。对Flash存储器编程期间,该引脚还用于输入编程脉冲(PROG)。如 有必要,可通过对特殊功能寄存器(S

11、FR)区中的8EH单元的DO位置位, 可禁止ALE操作。该位置位后,只有一条MOVX和MOVC指令才能将 ALE激活。此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置 ALE禁止位无效。PSEN:程序储存允许(PSEN)输出是外部程序存储器的读选通信号, 当AT89C52由外部程序存储器取指令(或数据)时,每个机器周期两次PSEN有效,即输出两个脉冲。在此期间,当访问外部数据存储器,将跳 过两次PSEN信号。EA/VPP:外部访问允许。欲使CPU仅访问外部程序存储器(地址为 OOOOHFFFFH), EA端必须保持低电平(接地)。需注意:的是:如果加密 位LB1被编程,复位时内部会锁存E

12、A端状态。如EA端为高电平(接Vcc 端),CPU则执行内部程序存储器中的指令。Flash存储器编程时,该引脚加上+ 12V的编程允许电源Vpp,当然这 必须是该器件是使用12V编程电压Vpp。XTAL1:振荡器反相放大器的及内部时钟发生器的输入端。XTAL2:振荡器反相放大器的输出端。2.4硬件连接框图单片机从开关上提取不同输入信号,进行相应的软件操作,反映输出在发光 二极管上。2.5P2.0P2.4 口,然后发光二极管分别接到单片机的Pl.OP1.7 口。2.6实验仿真电路图C1U119叹讪RI13KCR-AMS TEST451C(R-R3-R6-PSEN AIE1Q0P际2 xi.-CF

13、frSTPL侵.1C(R-打抄R2-FOMCC F0.1WI FO妣F0235F0.4WF655 nm F(W.F2M pm P2.2WO P2.3M1P2.WP2.5JM3P2.8JM4 P2.7W5俪間R7-rz-1(R-:总R8PIA12 PL驱 mPHPl.4P15H5PI?FDF3.mP32OP3SiHTIP3.4T0P3也F3晅P3?B速養37-$韜3332刃 西茁2C2?渥10111213141616171C(R-LE4RED第三章软件设计方案3.1软件设计思想一个完整的系统仅有硬件是不够的,还要有软件的配合。软件和硬件对一个系统来说都是不可或缺的。本实验采用C语言编程,在具体设

14、讣中,通过GKcy() 函数来不停的扫描开关的状态,通过KeyProcess ()来确定输入的信号,即按键 的位置,从而执行不同的子程序内容,实现LED灯的控制。3.2程序流程图转变方向加速流动减速流动LED灯流动运行第四章调试及运行结果通过设计和编写程序代码,讲程序通过Keil软件编译后生成的hex文件写 进AT89C52中,便可操作。为当拨动相应的开关时,看LED灯的变化。调试过程中问题很多,主要原因是对单片机结构的不熟悉,其次就是程序中 的一些问题。但通过努力,都被一一解决。实际接线前我们先用protues仿真了 一下实验结果,确认无误后接线,这样提高了调试的时间。第五章心得体会经过四次的上机课程设讣,在我和林同学的共同努力下,顺利的完成了任务, 并在其中体现了自己的独创部分。同时我感觉自己学到了很多。首先是要把理论 和实际相结合起来,从理论中得出结论,然后再实践,从而提高自己的实际动手 能力和独立思考问题的能力。在设讣的过程中遇到了很多的问题,也发现了自己 的不足之处。首先是之前对单片机并不十分了解,通过借阅书籍,找同学咨询慢 慢的开始对其有了初步的认识。其次是一些相关软件的用法,这个通过自己慢慢 的摸索也逐渐熟悉了起来。特别是protue

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 活动策划

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号