课程设计论文基于单片机的霓虹灯控制器设计Word文档下载推荐.docx
- 文档编号:19535801
- 上传时间:2023-01-07
- 格式:DOCX
- 页数:17
- 大小:185.16KB
课程设计论文基于单片机的霓虹灯控制器设计Word文档下载推荐.docx
《课程设计论文基于单片机的霓虹灯控制器设计Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《课程设计论文基于单片机的霓虹灯控制器设计Word文档下载推荐.docx(17页珍藏版)》请在冰豆网上搜索。
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设计任务与要求
设计任务:
基于单片机设计一种霓虹灯控制器。
基本要求:
利用单片机控制霓虹灯的点亮;
通过键盘的控制,实现霓虹灯的全亮、不同颜色灯的点亮、霓虹灯的轮流点亮闪烁、全亮闪烁等;
其中闪烁的频率可调。
扩展要求:
实现霓虹灯其他花式的点亮,使用数码管显示闪烁的时间、显示哪个发光二极管点亮。
2.硬件系统设计
2.1总体设计方案
2.1.1设计思路
题目要求设计一个霓虹灯控制器,使发光二极管以不同的样式点亮。
控制部分由单片机完成,通过独立式按键,选择不同的点亮方式,然后单片机将控制信号传输给发光二极管和数码管,从而完成不同的显示要求。
在本次设计中,硬件部分由单片机系统、LED发光二极管、独立式按键和数码管组成[3]。
原理图如图1所示。
P0
AT89C52P2
P1P3
模式开关
时钟电路
复位电路
键盘控制
发光二极管电路
电路
电源电路
图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所示。
图2AT89C52芯片引脚
2.2.2外部时钟方式电路
本设计中AT89C52使用11.0592MHz晶振,一个机器周期为1us。
XTAL1(19脚)和XTAL2(18脚):
外接晶体引脚,XTAL1和XTAL2分别接外部晶振一端。
在晶振的两侧再分别连接两个为30PF的微调电容,构成稳定的自激振荡器[2]。
具体电路如图3。
.
图3外部时钟电路图
2.2.3手动复位电路
复位电路分为上电自动复位和按键手动复位,RST引脚是复位信号的输入端,复位信号是高电平有效。
上电自动复位通过电容C4和电阻R1来实现,按键手动复位的实际电路如图4所示(使用Protues仿真在数值选择上有一些区别)。
图4手动复位电路
2.2.4发光二极管电路
LED发光二极管,是一种固态的半导体器件,它可以直接把电转化为光。
其实际的结构图如图5所示。
LED是一个半导体的晶片,晶片的一端附在一个支架上,一端是负极,另一端连接电源的正极,使整个晶片被环氧树脂封装起来。
半导体晶片由三部分组成,一部分是P型半导体,在它里面空穴占主导地位,另一端是N型半导体,在这边主要是电子,中间通常是1至5个周期的量子阱。
当电流通过导线作用于这个晶片的时候,电子和空穴就会被推向量子阱,在量子阱内电子跟空穴复合,然后就会以光子的形式发出能量,这就是LED发光的原理。
而光的波长也就是光的颜色,是由形成P-N结的材料决定的。
它是一种通过控制半导体发光二极管的显示方式,用来显示文字、图形、图像、动画、行情、视频、录像信号等各种信息的显示屏幕。
由于具有容易控制、低压直流驱动、组合后色彩表现丰富、使用寿命长等优点,广泛应用于城市各工程中、大屏幕显示系统。
LED可以作为显示屏,在计算机控制下,显示色彩变化万千的视频和图片。
图5发光二极管的结构图
在设计中,P0、P1、P2、P3是单片机的I/O口,用来连接LED、数码管和键盘等。
考虑到单片机I/O端口的带负载能力,LED发光二极管采用共阳极的接法连接在P1口,并用820Ω的电阻分压。
只要单片机P1口输出为低电平,对应的发光二极管被点亮。
电路图如图6所示。
图6发光二极管电路图
2.2.5数码管电路
LED数码管是由多个发光二极管封装在一起组成“8”字型的器件,引线已在内部连接完成,只需引出它们的各个笔划,公共电极。
LED数码管常用段数一般为7段,有的另加一个小数点。
LED数码管根据LED的接法不同分为共阴和共阳两类,发光原理相同,了解LED的这些特性,对编程是很重要的,因为不同类型的数码管,除了它们的硬件电路有差异外,编程方法也是不同的。
图7是共阴和共阳极数码管的引脚图。
图7引脚定义图
在仿真设计时,采用四段共阳极数码管(用万能板搭建实际电路时,只有四段数码管,为了保持仿真与实际电路的一致,故采用四段数码管。
实际上,只用到一位显示,所以在画PCB板时,为节省硬件费用,采用一段的共阳极数码管)。
数码管连接在P3口,并给数码管的第四段接上Vcc,当P3口输出共阳极字型码,即可显示出相应的数字。
具体的电路如图8所示
图8数码管电路图
2.2.6键盘控制电路
控制部分主要是由独立式按键完成。
采用1个选择模式的自锁开关接在P0.0上,8个按键开关分别接至P2口,用来选择不同的花式。
当自锁开关打开时,为模式一:
按下按键开关1,使发光二极管全亮;
按下按键开关2,使发光二极管以800ms的速度轮流点亮,再按一下闪烁频率增加,闪烁时间为500ms,再按一下,闪烁频率最快,闪烁时间为200ms,并保持该最大频率,不再增加;
按下按键开关3,频率减少,闪烁时间变为500ms,最终变为800ms;
按下按键开关4,使发光二极管全闪烁,开始闪烁时间为800ms,再按一下频率增加,与按键2相同。
按下按键开关5,发光二极管全闪烁的时间减少,功能与按键3类似。
按下按键开关6,发光二极管以奇偶两组的形式闪烁。
按下按键开关7,发光二极管从中间向两边依次点亮。
按下按键开关8,发光二极管依次点亮相同颜色的管子,形成闪烁。
按键6、7、8控制下的闪烁时间都为500ms。
当自锁开关闭合时,为模式二:
依次按下开关1—8,分别点亮发光二极管1—8,且同时数码管显示对应的数字。
具体电路如图9示。
图9开关控制电路图
2.3整体硬件电路
将各模块电路连接起来,形成完整的硬件电路图。
霓虹灯控制器包括2个部分,即AT89C52主控模块和LED发光二极管。
前者是主控模块,具有按键、复位功能。
后者是受控模块,上面接有8个LED发光二极管[4]。
P0口接阻值为1KΩ的排阻,提高其驱动能力,然后在P0.0上接一自锁开关,通过自锁开关的闭合使P0.0口出现高低电平,从而实现两种模式的切换。
P1口接8个共阳极发光二极管,且串联820Ω的限流电阻。
P2口接8个独立式按键,通过不同键的按下使P2口出现低电平,依次来实现不同花式的选择。
P3口接共阳极数码管,只要输出共阳极字型码,数码管便可静态显示相应的数字。
具体的整体电路如图10所示。
图10整体硬件电路
2.4系统所用元器件
本系统硬件设计较为简单,主要由AT89C52单片机、按键式开关9个,自锁开关1个,发光二极管8个,共阳极数码管1个。
所用的元器件较少,具体的元器件清单如表1所示。
表1元器件清单
Comment
Description
Designator
Footprint
LibRef
Quantity
瓷片电容
Capacitor
C1,C2
HDR1X2
30pF
2
电解电容
C3
电解电容0.5mm
47uF
1
LED发光二极管
TypicalREDGaAsLED
D1,D2,D3,D4,D5,D6,D7,D8,D9
LED-1
LED1
9
共阳极数码管
14.2mmGeneralPurposeBlue7-SegmentDisplay:
CA,RHDP,GraySurface
DS1
H
DpyBlue-CA
自锁开关
K0,K-O
开关
点触式开关
K1,K2,K3,K4,K5,K6,K7,K8,K10
排阻
Header,9-Pin
P1
HDR1X9
Header9
排针
Header,2-Pin
P2
Header2
电阻
Resistor
R0,R1,R2,R3,R4,R5,R6,R7,R8,R10,R11,R12,R13,R14,R15,R16,R17,R18
AXIAL-0.4
Res2
18
P89C52X2BN
80C518-BitFlashMicrocontrollerFamily,8kBFlash
U1
SOT129-1
AT89C52
XTAL
CrystalOscillator
Y1
R38
11.0592MHz
3.软件系统设计
3.1软件系统总体设计方案
霓虹灯控制器最大特点在于所有亮灯模式均由软件控制完成。
系统中软件可以分为主程序和子程序。
主程序的大部份时间是在处理按键的查询,1个自锁式开关实现模式切换和8个按键式开关实现样式的选择。
1个功能复位按键。
主程序除了调用各种子模式子程序,调用延时子程序之外,还一直保持查询是否有功能切键按下以及是否有模式改变按键按下,一旦有功能切换键和模式改变键按下,就会进入相应的按键处理。
3.2程序流程图
图11软件流程图
3.2.1模式一子程序
(1)原理与分析
软件部分,由自锁开关实现两种模式的切换。
模式一,自锁开关打开,通过if语句判断P0.0是否为低电平。
当P0.0为低电平时,通过读取独立式键盘1—8的信号进行判断,检测到哪个键按下,便实现不同样式的选择,且由软件设置延迟时间,从而实现闪烁时间的不同。
(2)模式一流程图,如图12所示。
Y
N
图12模式一流程图图13模式二流程图
3.2.2模式二子程序
模式二,通过读取独立键盘1—8的信号,实现对应发光二极管的点亮,同时,数码管也显示对应的数字。
(2)模式二流程图,如图13所示。
4.调试及仿真
在Protues上进行仿真实验。
首先使用KeiluVsion4将编写完成的程序编译生成
HEX文件,将HEX文件烧录到单片机中,进行仿真实验,结果如图14所示,可以看到,LED已经选择性的闪烁。
测试结果:
当P00口为高电平时,选择模式的开关打开,选择模式一:
P2.0为低电平,发光二极管全亮;
P2.1为低电平,发光二极管以800ms的速度轮流点亮,再按一下闪烁频率增加,闪烁时间为500ms,再按一下,闪烁频率最快,闪烁时间为200ms,并保持该最大频率,不再增加;
P2.2为低电平,发光二极管轮流点亮,频率减少,闪烁时间变为500ms,最终变为800ms;
P2.3为低电平,发光二极管全闪烁,开始闪烁时间为800ms,再按一下频率增加,与P2.1口相同;
P2.4为低电平,二极管全闪烁的时间减少,功能与P2.2口类似;
P2.5为低电平,发光二极管以奇偶两组的形式闪烁;
P2.6为低电平,发光二极管从中间向两边依次点亮;
P2.7为低电平,发光二极管依次点亮相同颜色的管子,形成闪烁。
当P00口为低电平时,选择模式的开关关闭,选择模式二:
P2.0-P2.7为低电平,则分别点亮相应的发光二极管,且同时数码管显示对应的数字。
总的来说,本文所设计的霓虹灯控制器达到了所有设计要求,且扩展了数码管功能,用来显示闪烁时间和哪个发光二极管亮。
仿真结果如图14所示。
图14仿真结果
5.总结
5.1本系统存在的问题及改进措施
本设计的设计思想,原理和软件设计较简单。
遇到的问题:
比如当闪烁时间为800ms时,只能显示8来替代。
在设计时,考虑使用数码管的动态扫描,来显示3位的闪烁时间800,但发现数码管会与发光二极管保持相同的频率,一起闪烁,不能达到预想的结果。
经分析,数码管在本质上与发光二极管是相同的,在一个单片机系统中,不能实现预想的效果。
可以通过双核解决这一问题,但花费的代价过大,故舍弃。
设计的不足:
受单片机I/O口的限制,能控制的发光二极管数量有限,在大型的设计中可以采用扩展I/O口和矩阵式相结合的方式,来解决这一问题。
5.2心得体会
设计主要是结合单片机技术,把理论知识运用到实际的设计中,霓虹灯控制器通过简单的I/O接口,在软件编程的基础下,实现由开关控制8个LED灯的亮灭变化以及闪烁频率变化。
因为知识存在欠缺和不足,在刚开始设计时遇到了一些困难。
最后通过查阅资料解决了各种困难,完成了设计的要求。
在软件设计中,相比汇编语言的可读性和可移植性很差,因此我选择了C语言。
由于C语言长久没使用,在编写程序时也有一些难度。
但都在我的努力之下,逐一解决。
编程时,首先是在编写主函数,首先构想了大致的框架,使用P0.0口的0和1两个状态来进入两种模式。
但是出现了当程序进入模式一时,选择其中一种花式后,程序跳不出来。
经检查,我使用了while
(1)来实现轮流点亮,进入死循环,程序不再往下执行。
后来通过修改,设置一个状态变量解决了这一问题。
在搭电路时,要查阅芯片的管脚图,确认连线,否则很容易出错。
最后,在自己的认真对待下,不仅完成了设计的仿真,也做出了实物。
从中有了很大的收获,我进一步熟悉并运用C语言来编程,且对单片机系统有了更深的掌握。
参考文献
[1]郭文川主编.单片机原理与接口技术.北京:
中国农业出版社,2007.
[2]张婧武,周灵彬.单片机系统的PROTEUS设计与仿真.北京:
电工出版社,2007.4
[3]周佩玲,彭虎.微机原理与接口技术.北京:
电子工业出版社,2005.4
[4]郭天祥.51单片机C语言教程.北京:
电子工业出版社,2009.1
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 课程设计 论文 基于 单片机 霓虹灯 控制器 设计