毕业论文(设计)流水灯讲解.docx

上传人:rrsccc 文档编号:9520228 上传时间:2021-03-02 格式:DOCX 页数:16 大小:224.76KB
返回 下载 相关 举报
毕业论文(设计)流水灯讲解.docx_第1页
第1页 / 共16页
毕业论文(设计)流水灯讲解.docx_第2页
第2页 / 共16页
毕业论文(设计)流水灯讲解.docx_第3页
第3页 / 共16页
毕业论文(设计)流水灯讲解.docx_第4页
第4页 / 共16页
毕业论文(设计)流水灯讲解.docx_第5页
第5页 / 共16页
点击查看更多>>
资源描述

《毕业论文(设计)流水灯讲解.docx》由会员分享,可在线阅读,更多相关《毕业论文(设计)流水灯讲解.docx(16页珍藏版)》请在三一文库上搜索。

1、毕业论文 ( 设计 )课题名称:基于 mcs-51 流水灯设计作者:周治雄学号: 1105050105系别:信息工程系专业:制冷与空调技术班级:应用电子一班指导教师:汤泽容专业技术职务:2014年6月 重庆 . 涪陵1第 2 页 共 15 页基于 mcs-51 流水灯设计摘要:当今时代是一个新技术层出不穷的时代,在电子领域尤其是自动化智能控制领域,传统的分立元件或数字逻辑电路构成的控制系统, 正以前所未见的速度被单片机智能控制系统所取代。单片机具有体积小、功能强、成本低、应用面广等优点,可以说,智能控制与自动控制的核心就是单片机。关键词:LED 单片机控制系统流水灯2第 3 页 共 15 页基

2、于 mcs-51 流水灯设计目 录1 设 计 概 述 41.1 任 41.2 器材42 硬 件 设 计 方案 42.1 思想42. 2 硬 件 选 择 52.3 AT89C51 片机介 52. 4 硬 件 逻 辑图 82.5 92.6仿真 路 93 软 件 设 计 方案 93.1 件 思想93.2 件 思想103.3程序流程 124 调 试 及 运 行 结 果 1 35 设 计 心 得 与 体 会 1 3参考 料143第 4 页 共 15 页基于 mcs-51 流水灯设计1 设计概述1.1 设计任务设计内容:利用汇编语言(或 C 语言),实现 8 个单色 LED灯的左、右循环显示,并实现循环的

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

4、、加速、减速、变亮、变暗。在设计过程中,接开关的端口要全部保持高电平,当按下一个开关时,输入一个低电平,即为状态改变信号。不能同时有两个端口同为高电平。在设计中我主要负责了用云脉冲宽度调制( PWM )波控制 LED 灯的亮度环节,开始对 PWM 并不是很了解,通过请教同学和查阅相关资料,渐渐明白了其中的原理。在4第 5 页 共 15 页基于 mcs-51 流水灯设计主程序运行时通过中断方式调整其输出电压的占空比,从而改变灯泡的亮度。原理是这样的,主程序的始终频率和中断的始终频率并不相同, 大约是中断的一千倍, LED 灯在移动时如果响应了中断, 则在执行中断程序时, LED 灯近似看做没有移

5、动, 此时在中断程序中设计一个初值和一个上限,当计数到初值时置灯泡灭掉,在计数到上限之前小灯泡都是熄灭的,到达上限后回 0,并置灯泡为亮,继续计数,在到设定的初值时置小灯泡为灭掉。这样在主程序的一个周期内,中断程序将小灯泡置明置暗了近一千次,通过改变设定的初值可以改变小灯泡的亮度。2.2 硬件选择本实验选用 AT89C51 单片机、五个按键开关和 8 个发光二极管。其中 AT89C51 为控制核心,当 5 个开关的状态改变时,单片机检测到开关信号后就通过软件输出控制发光二极管。2.3 AT89C51 单片机介绍AT89C51 是一个低电压,高性能CMOS 8 位单片机,片内含8k bytes

6、的可反复擦写的 Flash 只读程序存储器和256 bytes 的随机存取数据存储器( RAM ),器件采用 ATMEL 公司的高密度、非易失性存储技术生产,兼容标准MCS-51 指令系统,片内置通用 8 位中央处理器和 Flash 存储单元,功能强大的 AT89C51 单片机可为您提供许多较复杂系统控制应用场合。AT89C51 有 40 个引脚, 32 个外部双向输入 / 输出( I/O )端口,同时内含2 个外中断口, 3 个 16 位可编程定时计数器,2 个全双工串行通信口,2 个读写口线。AT89C51 的内部结构图如下:5第 6 页 共 15 页基于 mcs-51 流水灯设计引脚图如

7、下:图 1-2引角图引脚功能说明:P0 口: P0 口是一组8 位漏极开路型双向I/O口,也即地址 /数据总线复用口。作为输出口用时,每位能吸收电流的方式驱动8 个 TTL 逻辑门电路,对端口6第 7 页 共 15 页基于 mcs-51 流水灯设计P0 写 “ 1时”,可作为高阻抗输入端用。访问外部数据存储器或程序存储器时,这组口线分时转换地址(低8 位)和数据总线复用,在访问期间激活内部上拉电阻。在 Flash 编程时, P0 口接收指令字节,而在程序校验时,输出指令字节,校验时,要求外接上拉电阻。P1 口: P1 是一个带内部上拉电阻的8 位双向I/O口, P1 的输出缓冲级可驱动(吸收或

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

9、 是一个带有内部上拉电阻的8 位双向I/O口, P2 的输出缓冲级可驱动(吸收或输出电流) 4 个 TTL 逻辑门电路。对端口 P2 写 “1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口,作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL) 。在访问外部程序存储器或 16 位地址的外部数据存储器(例如执行MOVX DPTR指令)时, P2 口送出高 8 位地址数据。 在访问 8 位地址的外部数据存储器(如执行MOVX RI指7第 8 页 共 15 页基于 mcs-51 流水灯设计令)时, P2 口输出 P2 锁存器的内容。Flash 编程或校验时,P

10、2 亦接收高位地址和一些控制信号。P3 口: P3 口是一组带有内部上拉电阻的8 位双向I/O口。 P3 口输出缓冲级可驱动(吸收或输出电流)4 个 TTL逻辑门电路。对P3 口写入 “1”时,它们被内部上拉电阻拉高并可作为输入端口。此时,被外部拉低的P3 口将用上拉电阻输出电流( IIL )。P3 口除了作为一般的I/O口线外,更重要的用途是它的第二功能。P3 口还接收一些用于Flash 闪速存储器编程和程序校验的控制信号。RST :复位输入。当振荡器工作时, RST 引脚出现两个机器周期以上高电平将使单片机复位。ALE/PROG :当访问外部程序存储器或数据存储器时,ALE (地址锁存允许

11、)输出脉冲用于锁存地址的低8 位字节。一般情况下,ALE仍以时钟振荡频率的1/6 输出固定的脉冲信号,因此它可对外输出时钟或用于定时目的。要注意的是:每当访问外部数据存储器时将跳过一个ALE脉冲。对 Flash 存储器编程期间,该引脚还用于输入编程脉冲(PROG)。如有必要,可通过对特殊功能寄存器 ( SFR)区中的 8EH 单元的 D0 位置位, 可禁止 ALE 操作。该位置位后,只有一条 MOVX 和 MOVC 指令才能将 ALE 激活。此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置ALE禁止位无效。PSEN :程序 储存允许 ( PSEN )输出是 外部程 序存储器 的读选通信

12、号,当 AT89C51 由外部程序存储器取指令 (或数据) 时,每个机器周期两次 PSEN 有效,即输出两个脉冲。在此期间,当访问外部数据存储器,将跳过两次PSEN 信号。EA/VPP : 外部 访问 允许 。 欲 使 CPU 仅访 问 外 部 程序 存储 器 ( 地 址 为 0000H FFFFH ),EA 端必须保持低电平 (接地)。需注意的是: 如果加密位 LB1 被编程,复位时内部会锁存 EA 端状态。如 EA 端为高电平(接 Vcc 端), CPU 则执行内部程序存储器中的指令。Flash 存储器编程时,该引脚加上 +12V 的编程允许电源 Vpp ,当然这必须是该器件是使用 12V

13、 编程电压 Vpp 。XTAL1 :振荡器反相放大器的及内部时钟发生器的输入端。XTAL2 :振荡器反相放大器的输出端。8第 9 页 共 15 页基于 mcs-51 流水灯设计2.4 硬件连接框图单片机从开关上提取不同输入信号,进行相应的软件操作,反映输出在发光二极管上。开关输入AT89C51流水灯单片机图 3-12.5 设计连线本实验的连线为:开关使用唐都试验箱上的 5 个开关,分别接到单片机的 P2.0P2.4 口,然后发光二极管分别接到单片机的 P1.0P1.7 口。9第 10 页 共 15 页基于 mcs-51 流水灯设计图 4-1 实验仿真电路图3 软件设计方案3.1 软件设计思想一

14、个完整的系统仅有硬件是不够的,还要有软件的配合。软件和硬件对一个系统来说都是不可或缺的。 本实验采用 C 语言编程,在具体设计中, 通过 GetKey()函数来不停10第 11 页 共 15 页基于 mcs-51 流水灯设计的扫描开关的状态,通过 KeyProcess()来确定输入的信号,即按键的位置,从而执行不同的子程序内容,实现 LED 灯的控制。3.2 C 语言编程51 单片机流水灯 C语言源程序文件说明:流水灯C 程序程序说明: MCU采用 AT89C51,外接 11.0592M 晶振, P2 口输出#include/51系列单片机定义文件#define uchar unsigned

15、char /定义无符号字符#define uint unsigned int /定义无符号整数void delay(uint);/声明延时函数void main(void)uint i;uchar temp;while(1)temp=0x01;for(i=0;i8;i+) /8个流水灯逐个闪动P2=temp;delay(100);/调用延时函数temp=1;temp=0x80;for(i=0;i=1;temp=0xFE;for(i=0;i8;i+) /8个流水灯依次全部点亮P2=temp;delay(100);/调用延时函数temp=1;temp=0x7F;for(i=0;i=1;void d

16、elay(uint t)/定义延时函数register uint bt;for(;t;t-)for(bt=0;bt255;bt+);12第 13 页 共 15 页基于 mcs-51 流水灯设计3.3 程序流程图13第 14 页 共 15 页基于 mcs-51 流水灯设计4 调试及运行结果通过设计和编写程序代码,讲程序通过Keil软件编译后生成的hex 文件写进AT89C51 中,便可操作。为当拨动相应的开关时,看LED 灯的变化。调试过程中问题很多,主要原因是对单片机结构的不熟悉,其次就是程序中的一些问题。但通过努力,都被一一解决。实际接线前我们先用protues仿真了一下实验结果,确认无误后

17、接线,这样提高了调试的时间。5 心得体会经过这次论文课程设计,顺利的完成了任务,并在其中体现了自己的独创部分。同时我感觉自己学到了很多。首先是要把理论和实际相结合起来,从理论中得出结论,然后再实践,从而提高自己的实际动手能力和独立思考问题的能力。在设计的过程中遇到了很多的问题,也发现了自己的不足之处。首先是之前对单片机并不十分了解,通过借阅书籍,找同学咨询慢慢的开始对其有了初步的认识。其次是一些相关软件的用法,这个通过自己慢慢的摸索也逐渐熟悉了起来。特别是protues 的使用,它给了我们很大的帮助,帮助我们解决了很多调试过程中的问题。在者是对 PWM 波的使用,这个问题很是伤到筋,因为之前对

18、其并不了解,从熟悉到使用我们查阅了很多资料,请教了同学,最后终于掌握了。同时也是设计更完善。此课程设计让我加深理解了所学的理论知识, 并进一步建立了计算机应用系统的整体概念,初步掌握了单片机软、硬件开发方法,为以后进行实际的单片机软、硬件应用开发奠定了良好的基础。这对下学期单片机的学习会有很大的帮助,也使我对单片机产生了兴趣。这次课程设计的顺利完成,离不开学长,同学和指导老师的帮助,特别在此感谢老师和学长的无私帮助。14第 15 页 共 15 页基于 mcs-51 流水灯设计参考文献1 陈明 .Protel99se 原理图与 pub 设计教程 M. 北京:机械工业出版社 ,2006:21-23

19、;2 阎石 . 数字电子技术基础(第四版) M. 北京:高等教育出版社 ,1997:50-53;3 杨 素 行 . 模 拟 电 子 技 术 基 础 简 明 教 程 M. 第 二版 , 北 京 : 高 等 教 育 出 版社 ,1998:192-193 237-238;4 吴显鼎 . 集成电子电子线路设计手冊 M. 福州 : 福建科技出版社 ,2003:7-18 93-94;5 余孟尝 . 数字电子技术基础简明教程 M . 北京 : 高等教育出版社 ,1999;6孙余凯,吴鸣山,项绮明 .555 时基电路识图 M. 北京:电子工业出版社,2007,1;7 彭介华 . 电子技术课程设计指导 M. 北京:高等教育出版社, 2004;8 胡泽军,张生才 . 微电子学 M. 北京:北京航空航天大学出版社, 2003;9 王俊峰 . 现代遥控技术及应用 M. 北京:人民邮电出版社, 2005;10 单片机原理及其接口技术 胡汉才 编著 北京:清华大学出版社11 MCS-51单片机原理及应用张毅刚 编著 哈尔滨 : 哈尔滨工业大学出版社12 51 单片机 C 语言应用程序设计 实例精讲(第二版) 戴佳 刘博文 编著 电子工业出版社13 何小艇 . 电子系统设计 M. 浙江:浙江大学出版社, 2000;15

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 社会民生


经营许可证编号:宁ICP备18001539号-1