《单片机课程设计报告:广告灯控制实验.doc》由会员分享,可在线阅读,更多相关《单片机课程设计报告:广告灯控制实验.doc(12页珍藏版)》请在三一办公上搜索。
1、单片机课程设计报告题 目:广告灯控制实验姓 名: 裴长青 专 业: 电子信息工程技术 学 号: 070301116 班 级: 电信071 指导教师: 吴海红 设计完成日期 2009 年 6 月 18 日 目录第一章 前言1单片机的应用介绍1第二章 课程设计的目的和要求2 第三章 总体设计2 第四章 硬件设计2 4.1 8051引脚及功能介绍 4.2 I/0各端口命令控制格式 4.3 硬件接线图第五章 软件设计 6 5.1 程序流程框图 5.2 源程序及注释第六章 实用proteus软件调试仿真说明 9第七章 总结与体会、致谢. 9 第八章 参考文献. 10 第一章 前言单片机的应用介绍单片机具
2、有体积小、可靠性高、功能强、灵活方便等许多优点,广泛用于国民经济的各个领域。单片机的应用从根本上改变了传统的控制系统设计思想和设计方法,以前由模拟电路和数字电路实现的大部分电路,现在都能用单片机通过软件方法来实现。现就单片机的应用从以下几个方面简要介绍。单片机广泛用于导弹的导航装置、飞机上各种仪表的控制、计算机的网络通信与数据传输、机器人、工业自动化过程的实时控制和数据处理。在这些实时控制系统中,都可用单片机作为控制器,单片机的实时数据处理能力和控制功能,可使系统保持在最佳工作状态,提高系统的工作效率和产品质量。在复杂的系统中,常采用分布式多机系统。多机系统一般用于由若干台功能各异的单片机组成
3、,各自完成特定的任务,它们通过串行通信相互联系、协调工作。单片机在这种系统中往往作为一个终端机,安装在系统的某些节点上,对现场信息进行实时测量和控制。单片机的高可靠性和强抗干扰能力,使它可以置于恶劣环境的前端工作。单片机在工业控制的应用,特别是在实时检测和自动控制的单片机应用系统中,单片机往往是作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构,以及针对具体应用对象特点的软件结合,加以完善。广告灯控制的出现,对广告夜景的美化和视觉享受,起到了十分重要的作用,也为一个城市商务区增添了一道靓丽的风景线。本系统采用单片机AT89C51为中心器件来设计广告灯,系统实用性强、操作简单
4、、扩展性第二章 课程设计的目的和要求课程设计目的:课程设计是单片机课程教学的最后一个环节,是对我们进行全面的系统的训练。进行课程设计可以让学生把学过的零碎的知识系统化,真正的能够把学过的知识落到实处,能够开发简单的系统,也进一步激发了学生再深一步学习的热情,因此课程设计是必不可少的,也是非常必要的。课程设计要求:用AT89C51产生2秒钟的定时,每当2秒定时到来时,更换指示灯闪烁,每个指示闪烁的频率为0.2秒,也就是说,开始L1指示灯以0.2秒的速率闪烁,当2秒定时到来之后,L2开始以0.2秒的速率闪烁,共有L1-L4四灯如此闪烁下去。0.2秒的闪烁速率由定时/计数器T0来完成。单片机晶振频率
5、为12MHz。第三章 总体设计硬件设计主要包括电路设计、选取元器件、编辑元器件、元器件属性设置、连插件、连接电路和电气检测、。软件设计主要包括:添加源程序、编辑源程序、编译源程序,生成目标代码文件(扩展名为HEX)。第四章 硬件设计4.1 8051引脚及功能介绍8051的40个引脚可分为:电源引脚2根、时钟引脚2根、控制引脚4根和I/O引脚32根。这些引脚的功能描述如下:1.电源引脚(2根) VCC(40脚):电源端,接+5V电源。GND(20脚):接地端。2.时钟引脚(2根)XTAL1(19脚):接外部晶振和微调电容的一端。采用外部时钟电路时,对HMOS型工艺的单片机,此引脚应接地;对CHM
6、OS型而言,此引脚应接外部时钟的输入端。XTAL2(18脚):接外部晶振和微调电容的另一端。采用外部时钟电路时,对HMOS型工艺的单片机,此引脚应接外部时钟的输入端;对CHMOS型而言,此引脚应悬空。 3.控制引脚(4根)(1) RST/Vpd(9脚):复位信号/备用电源输入引脚。当RST引脚保持两个机器周期的高电平后,就可以使8051完成复位操作。该引脚的第二功能是Vpd,即备用电源的输入端,具有掉电保持功能,若在引脚接+5V备用电源,在使用中若主电源Vcc掉电,可保护片内RAM中的信息不丢失。(2) ALE(30脚):地址锁存允许信号输出/编程脉冲输入引脚。当CPU访问片外存储器时,ALE
7、输出信号控制锁存P0口输出的低8位地址,从而实现P0口数据与低位地址的分时复用。当8051上电正常工作后,自动在ALE端输出频率为fosc/6的脉冲序列(fosc代表振荡器的频率)。 该引脚的第二功能PROG是对8751内部4KB EPROM编程写入时,做为编程脉冲的输入端。(3) EA/Vpp(31脚):外部程序存储器地址允许输入端/编程电压输入端。当EA接高电平时,CPU执行片内ROMa指令,但当PC值超过0FFFH时,将自动转去片外ROM指令;当接低电平时,CPU只执行片外ROM指令。该引脚的第二功能是pp是对8751片内EPROM编程写入时,作为21V编程电压的输入端。(4) PSEN
8、(29脚):片外ROMa读选通信号端。在读片外ROM时,PSEN有效,为低电平,以实现对片外ROM的读操作。4.I/0引脚(48=32根)(1) P0.0-P0.7(39-32脚):P0口的8位双向I/O口线。P0即可作地址/数据总线使用,又可作为通用的I/O口使用。当CPU访问片外存储器时,P0口分时先作为低8位地址总线,后作双向数据总线,此时,P0就不能再做I/O使用了。(2) P1.0-P1.7(1-8脚):p1口的8位双向I/O口线。P1口作为通用的I/O口使用。(3) P2.0-P2.7(21-28脚):P2口的8位准双向I/O口线。P2口即可作为通用的I/O口使用,也可作为片外存储
9、器的高8位地址总线,与P0口配合,组成16位片外存储器单元地址。(4) P3.0-P3.7(10-17脚):P3口的8位准双向I/O口线。P3口除了作为通用的I/O口使用外,每个引脚还具有第二功能。P3口也可作为AT89C51的一些特殊功能口,如下表所示:口管脚 备选功能 口管脚 备选功能P3.0 RXD(串行输入口) P3.1 TXD(串行输出口)P3.2 /INT0(外部中断0) P3.3 /INT1(外部中断1)P3.4 T0(记时器0外部输入) P3.5 T1(记时器1外部输入)P3.6 /WR(外部数据存储器写选通) P3.7 /RD(外部数据存储器读选通)P3口同时为闪烁编程和编程
10、校验接收一些控制信号。RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。4
11、.2 I/O各端口命令控制格式(1) P0口用作通用I/O P0口用作输入口P0口用作输入口时,数据可以读自端口的锁存器,也可以读自端口的引脚,这要看输入操作执行的是“读锁存器”指令还是“读引脚”指令。方式1:读引脚。CPU在执行“MOV“类输入指令时(如:MOV A,P0),内部产生的操作信号是“读引脚” ,P0.X引脚上的数据经过缓冲器2送到内部总线。方式2:读引脚。CPU在执行“MOV“类输入指令时(如:ANL P0,A),内部产生的操作信号是“读锁存器” ,P0.X引脚上的数据经过缓冲器1送到内部总线,然后与A的内容进行逻辑与,结果送回P0的端口锁存器并出现在引脚,除了MOV类指令外,
12、其他的读口操作指令都属于这种情况。(2) P1口仅能作为通用I/O使用,其功能同P0口。(3) P2口 P2口用作通用I/O口当不需要在单片机外部扩展程序存储器,只需扩展256B的片外RAM时,访问片外RAM就可以使用“MOVX Ri”类指令使用。这时,只用到地址的低8位,P2口不受该类指令的影响,仍可用作通用I/O口。 P2口用作地址总线当要在单片机的芯片外部扩展程序存储器和扩展的RAM容量超过256B时,该片外程序存储器采用MOVC指令(此时EA=0),读/写片外采用“MOVX DPTR”类指令。(4) P3口不仅可以用作通用I/O,还具有第二功能。此时,对于输入而言,无论该位是作为通用输
13、入口还是作为第二功能输入口,相应的锁存器和选择输出功能都应置1,这个工作在开机或复位时完成。4.3硬件接线图第五章 软件设计5.1 程序流程框图5.2 源程序及注释ORG 0000H LJMP MAIN ORG 000BH 定时器0中断入口地址 LJMP T00 ORG 0030HMAIN: MOV TMOD,#02H 置定时器0位工作方式2 MOV TH0,#38H 置0.2ms定时初值 MOV TL0,#38H SETB EA CPU开中断 SETB ET0 定时器0开中断 SETB TR0 启动定时器0 CLR 08H 清0.1s计满标志位 MOV R3,#50 置0.2ms计数循环初值
14、 MOV R4,#10 MOV A,#0FEH 送显示初值 LP1: MOV R1,#10 送闪烁次数 LP2: MOV P1,A 把显示初值赋给P1口 JNB 08H,$ 查询0.1s时间到否 CLR 08H 清标志位 MOV P1,#0FFH JNB 08H,$ 查询0.1s时间到否 CLR 08H 清标志位 DJNZ R1,LP2 闪烁次数不够10次,继续 RL A JNB ACC.4,MAIN LJMP LP1 ORG 0100H 表示程序从地址0200H存放 T00: DJNZ R4,EXIT 判断0.1s定时到否 MOV R4,#10 重置0.2ms循环初值 DJNZ R3,EXI
15、T 判0.1s定时到否 MOV R3,#50 重置0.2ms循环初值 SETB 08H 标志位置1EXIT: RETIEND第六章 使用proteus软件调试仿真说明1. 新建设计文件,默认选择“DEFAULT”模版。2. 设置图纸尺寸,选择A4图纸。3. 设置网格。4. 保存设计文件,保存类型为“Design Files”的文件。 5. 选取元器件,选取所需元器件。6. 放置元器件,将选取的元器件放置在合理位置。7. 编辑元器件,对元器件的参数惊醒设置。8. 放置终端,放置电源和接地等。9. 连线,将选取的元器件连接起来。10. 添加源程序。11. 编辑源程序,将程序代码写入,保存。12.
16、编译源程序,构建生成“HEX”目标代码文件。13. 加载目标代码文件,晶振频率12MHz。14. 仿真。点击全速运行按钮,观察仿真结果。第七章 总结与体会、致谢本系统是以单片机AT89C51芯片为核心部件,实现了能根据实际控制量通过AT89C51芯片设置不同点亮顺序的功能。此次在软件上是花费时间最多的,我们上网找资料,上图书馆,尽可能的了解有关于广告灯控制这方面的知识。通过这次毕业设计,使我得到了一次用专业知识、专业技能分析和解决问题全面系统的锻炼。使我在单片机的基本原理、单片机应用系统开发过程,以及在常用编程设计思路技巧(特别是汇编语言)的掌握方面都能向前迈了一大步。通过本次毕业设计,我在吴老师的精心指导和严格要求下,获得了丰富的理论知识,极大地提高了实践能力,单片机领域这对我今后进一步学习计算机方面的知识有极大的帮助。在此,忠心感谢吴老师以及许多同学的指导和支持。第八章 参考文献1. 江力,蔡骏,王艳春,董泽芳。单片机原理与应用技术。清华大学出版社,20062. 蔡骏。单片机实验指导教程。安徽大学出版社,2008