基于单片机的霓虹灯控制器设计课程设计.doc
文本预览下载声明
摘 要
霓虹灯在现代社会中有广泛的应用,但传统的霓虹灯控制器利用移位寄存器的移位方式,只能实现几种有限的花式,因此市场迫切需要一种低成本高性能的霓虹灯控制器。本运用发光二极管,产生有规律的闪烁移动
关键字:霓虹灯;AT89C52;发光二极管;数码管
目 录
1.设计任务 1
1.1 设计目的和意义 1
1.2 设计任务与要求 1
2.硬件系统设计 2
2.1总体设计方案 2
2.1.1设计思路 2
2.1.2方案论证与比较 2
2.2 具体电路设计 3
2.2.1单片机AT89C52简介 3
2.2.2外部时钟方式电路 4
2.2.3手动复位电路 4
2.2.4 发光二极管电路 4
2.2.5数码管电路 6
2.2.6 键盘控制电路 7
2.3 整体硬件电路 8
2.4系统所用元器件 8
3.软件系统设计 10
3.1软件系统总体设计方案 10
3.2程序流程图 10
3.2.1模式一子程序 11
3.2.2模式二子程序 11
4.调试及仿真 12
5.总结 13
5.1本系统存在的问题及改进措施 13
5.2心得体会 13
参考文献 13
1.设计任务
1.1 设计目的和意义
随着时代的进步,霓虹灯渐渐进入了人们的生活,如大型电子广告牌、汽车车灯、指示牌和工业控制的控制面板等都有霓虹灯的应用。但目前市场上的霓虹灯控制器能够实现的花式有限,且价格较贵。因此,设计一种性价比高,易于操作的霓虹灯控制器尤为重要。
通过对霓虹灯控制器的设计,训练对单片机、电子技术等内容的综合应用能力。主要培养学生运用所学的知识来分析与解决问题的能力,并巩固和深化课堂知识。了解霓虹灯的硬件电路,掌握单片机编程的基本设计和分析方法。
1.2 设计任务与要求[3]。原理图如图1所示。
复位电路
图1 霓虹灯控制器原理图
2.1.2方案论证与比较
(1)主控芯片方案选择
选择AT89C52单片机,这种型号比较常用,使用通用的51单片机语言,且价格便宜。该单片机有四组I/O口P0、P1、P2和P3,用来连接LED、数码管和键盘等,I/O口的数量符合本设计的要求。内部还有8K的RAM足以满足本设计的程序容量,无需扩展外部存储器。
(2)发光二极管电路设计方案论证与选择
方案一、采用矩阵式分布。利用单片机的P1口做行选信号,P2和P0口做列选信号,128个LED发光二极管构成8行,16列的矩阵。此方案能单独控制每一个发光二极管,也可单独控制每行或每列的发光二极管,从而形成丰富的图案或花样。但所需要的发光二极管数量很多,硬件成本提高。
方案二、利用单片机的P1口来接8个发光二极管,用几个发光二极管也可实现多种花式。考虑单片机I/O口的驱动能力,故发光二极管采用共阳极方式连接,只要输出低电平,即可点亮发光二极管,易于实现。综上所述,选择方案二。
(3)键盘控制电路设计方案论证与选择
方案一、采用按键式开关,设计一个4×4的矩阵键盘,节省了单片机的I/O口,但需要的按键过多,会造成硬件上的浪费。本设计中单片机的I/O口足以实现所有功能,使用键盘数量较少的独立式按键即可。
方案二、采用8个独立式按键,检测按下后的低电平,即可实现控制信号的检测,需要的按键少,且程序实现简单,故采用方案二。
(4)数码管电路设计方案论证与选择
方案一:采用LCD来显示发光二极管的闪烁时间和相应二极管点亮的数字,清晰明了,但LCD价格较贵,不宜采用。
方案二:采用共阳极数码管,只要I/O口输出共阳极字型码,即可点亮数码管,不需要驱动电路,设计简单,降低成本。初步采用四段的共阳极数码管,显示出闪烁时间与数字,经实验最终使用一段数码管。综上所述,采用方案二。
2.2 具体电路设计
2.2.1单片机AT89C52简介
AT89C52单片机内部含有8KB可重复编程的Flash存储器,可进行1000次擦写操作。全静态工作为0~33MHz,有3级程序存储器加密锁定,内含有128~256字节的RAM、32条可编程的I/O端口、2~3个16位定时器/计数器,6~8级中断,此外有通用串行接口、低电压空闲模式及掉电模式[1]。AT89C52在内部采用40条引脚的双列直插式封装,引脚排列如图所示图2 AT89C52芯片引脚
AT89C52使用11.0592MHz晶振,一个机器周期为1us。XTAL1(19XTAL2(18XTAL1和XTAL2分别接外部晶振一端。在晶振的两侧再分别连接两个为30PF 的微调电容,构成稳定的自激振荡器[2]。具体电路如图3。.
图3 外部时钟电路图
2.2.3手动复位电路
复位电路分为上电自动复位和按键手动复位,RST引脚是复位信号的输入端,复位信号是高电平有效。上电自动复位通过电容C4和电阻R1来实现,按键手动复位的实际电路如图4所示(使用Protues仿真在数值选择上有一些区
显示全部