温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,汇文网负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
网站客服:3074922707
2023
基于
单片机
霓虹灯
控制系统
设计
目 录
0. 前言 1
1. 总体方案设计 1
2. 硬件电路的设计 2
2.1 单片机系统 2
2.2 LED概述 3
2.3 外部时钟方式电路 4
2.4 手动复位电路 4
2.5 霓虹灯控制电路 5
3 软件设计 5
3.1中断效劳流程 5
3.2霓虹灯控制电路流程 6
4.联合调试 6
5. 课设小结及进一步设想 7
参考文献 8
附录I 元件清单 9
附录II 整体电路图 10
附录III 源程序清单 11
基于单片机的霓虹灯控制系统设计
:本文主要设计一个基于单片机的霓虹灯控制系统。以AT89C51单片机为控制核心电路,应用片内定时器实现对霓虹灯的控制。该系统由单片机的控制局部和显示局部组成,运用中断定时器控制发光二极管〔或LED〕,使其产生有规律的闪烁和移动。
关键字:单片机;发光二极管;定时中断
0. 前言
随着时代的进步,人们对物质生活的迫切追求,使周边环境发生翻天覆地的变化。从钻木取火走到今天灯火阑珊,各种繁华夜景层出不穷,让人叹为观止。这些辉煌景象都离不开电子技术。事实证明电子技术对社会的开展产生了深远的影响。随着电子技术和计算机技术的开展,特别是单片机的开展,使传统的测量仪器在原理、功能、精度及自动化水平等方面发生了巨大的变化,形成了一种完全突破传统概念的新一代测试仪器——智能仪器。智能仪器是以微处理器为核心的电子仪器,它不仅要求设计者熟悉电子仪器的工作原理,而且还要求其掌握微型计算机硬件和软件的原理。目前,有很多的传统电子仪器已有相应的替代产品,而且还出现不少全新的仪器类型和测试系统体系。在科学技术高速开展的今天,如何用简单廉价、性能良好的元器件制造出对人类生活有用的产品,已经成为人们研究的主要趋势。在自动化技术中,无论是过程控制技术还是数据采集技术还是测控技术,都离不开单片机,在工业自动化的领域中,机电一体化技术发挥越来越重要的作用。
1. 总体方案设计
在本次设计中,硬件局部由单片机系统、LED发光二极管组成。原理图如图1所示。单片机选用的是AT89C51单片机,利用其中的一个定时器设定灯光闪烁的时间,时钟电路选用的是11.0592M的晶振。复位电路局部采用的是上电复位和手动复位两种复位方式。由于考虑到单片机I/O端口的带载能力,LED发光二极管采用共阳极的接法,用470Ω的电阻分压。
软件局部,由于采用的是11.0592M晶振的时钟电路,单片机定时器的最大定时时间为65.536ms,不能到达要求的闪烁频率。所以采用定时50ms,10个定时中断灯光进行一次亮灭的跳变。并在每一次跳变时记录下灯闪烁的次数,通过对闪烁次数的判断,来进行对不同LED灯的亮灭的整体时序循环控制。
单
片
机
LED
显示
电路
复位电路
时钟电路
图1 单片机的霓虹灯控制电路原理图
2. 硬件电路的设计
2.1 单片机系统
标准型89系列单片机是与MCS-51系列单片机兼容的。在内部含有4KB或8KB可重复编程的Flash存储器,可进行1000次擦写操作。全静态工作为0~33MHz,有3级程序存储器加密锁定,内含有128~256字节的RAM、32条可编程的I/O端口、2~3个16位定时器/计数器,6~8级中断,此外有通用串行接口、低电压空闲模式及掉电模式。AT89C51相当于将8051中的4KB ROM换成相应数量的Flash存储器,其余结构、供电电压、引脚数量及封装均相同,使用时可直接替换。AT89C51在内部采用40条引脚的双列直插式封装,引脚排列如图2所示,内部结构原理图如图3所示。
图2 AT89C51芯片引脚
I/O
存储器
EPROM/ROM
定时/计数器
运算器
控制器
中断
CPU
片内振荡器
RAM/SFP
并行口
存储器扩展控制器
串行口
XTAL
图3 AT89C51内部结构原理图
本设计中AT89C51使用11.0592MHz晶振。
XTAL1〔19脚〕和XTAL2〔18脚〕:外接晶体引脚,XTAL1和XTAL2分别接外部晶振一端。
RST:即为RESET,该引脚为单片机的上电复位或掉电保护端。在此设计中接正常模式按扭。
P1.0、P1.1、P1.2:用来控制LED显示器的显示控制。
2.2 LED概述
LED〔Light Emitting Diode〕,发光二极管,是一种固态的半导体器件,它可以直接把电转化为光。LED的心脏是一个半导体的晶片,晶片的一端附在一个支架上,一端是负极,另一端连接电源的正极,使整个晶片被环氧树脂封装起来。半导体晶片由三局部组成,一局部是P型半导体,在它里面空穴占主导地位,另一端是N型半导体,在这边主要是电子,中间通常是1至5个周期的量子阱。当电流通过导线作用于这个晶片的时候,电子和空穴就会被推向量子阱,在量子阱内电子跟空穴复合,然后就会以光子的形式发出能量,这就是LED发光的原理。而光的波长也就是光的颜色,是由形成P-N结的材料决定的。它是一种通过控制半导体发光二极管的显示方式,用来显示文字、图形、图像、动画、行情、视频、录像信号等各种信息的显示屏幕。由于具有容易控制、低压直流驱动、组合后色彩表现丰富、使用寿命长等优点,广泛应用于城市各工程中、大屏幕显示系统。LED可以作为显示屏,在计算机控制下,显示色彩变化万千的视频和图片。 LED是一种能够将电能转化为可见光的半导体。
近十几年来,为了开发蓝色高亮度发光二极管,世界各地相关研究的人员无不全力投入。而商业化的产品如蓝光及绿光发光二级管LED及激光二级管LD的应用无不说明了III-V族元素所蕴藏的潜能。在目前商品化LED之材料及其外延技术中,红色及绿色发光二极管之外延技术大多为液相外延成长法为主,而黄色、橙色发光二极管目前仍以气相外延成长法成长磷砷化镓GaAsP材料为主。LED的具体结构如图4所示:
图4 LED的结构图
2.3 外部时钟方式电路
外部时钟电路如图5所示,它在单片机的外部通过XTAL1、XTAL2这两个引脚跨接晶体振荡器和微调电容,构成稳定的自激振荡器。本系统采用的为11.0592MHz的晶振,一个机器周期为1us,C1、C2为22PF。
图5 外部时钟方式电路图
2.4 手动复位电路
复位电路分为上电自动复位和按键手动复位,RST引脚是复位信号的输入端,复位信号是高电平有效。上电自动复位通过电容C3和电阻R2来实现,按键手动复位是图6中复位键来实现的。
图6 手动复位电路
2.5 霓虹灯控制电路
霓虹灯控制电路用红色、绿色、黄色LED发光二极管,分别与三个470Ω的分压电阻相串联,分别与单片机的P1.0,P1.1,P1.2口相连,如图7所示:
图7 霓虹灯控制电路
3 软件设计
3.1中断效劳流程
调用中断子程序,设定中断返回地址,中断响应时,执行中断效劳程序;手动复位后,返回主程序。
中断响应
设置中断返回地址
中断返回
图8 中断效劳程序流程图
3.2霓虹灯控制电路流程
Red led=flicker
Red led=flicker
Y
N
TH0,TL0装初值
开中断,启动T0
开始
0≤n<20
Red led=flicker
Y
N
20≤n<40
Green led=flicker
Y
N
40≤n<60
Yellow led=flicker
TMOD初始化
图9 霓虹灯控制电路主程序流程图
4.联合调试
在protues上进行仿真实验。首先使用Keil uVsion 2将编写完成的程序编译生成HEX文件,将HEX文件烧录到单片机中,进行仿真实验,结果如图10所示,可以看到,LED已经选择性的闪烁。
图10 仿真图
5. 课设小结及进一步设想
通过这次紧张的课程设计,我收获颇多,每天面对着,翻阅各种相关资料,也亲自动手焊接硬件,体会颇深。在这次课设中,加深了单片机相关知识的理解,也接触了烧录器。
在课设开始的前期,也遇到了麻烦,比方说,LED闪烁时间不符合要求,C语言编程不太熟练,很感谢徐涛老师的耐心教导,他的幽默让我们觉得亲切,他的认真负责让我们折服。在繁忙的一个学期即将结束之时,我的思想成熟了,这次的课设让我找到了方向,让我懂得了很多,有知识方面的,但大局部还是人格方面的。我相信,只要不放弃,只要努力,就一定可以!
由于时间紧促,自身水平有限,本论文还有许多局部未能详细分析,在此仅作简单了解和认识。
参考文献
[1] 赵茂泰.智能仪器原理及应用.北京: 电子工业出版社,2023.7
[2] 张毅刚,刘杰.MCS—51单片机原理及应用.哈尔滨: 哈尔滨工业大学出版社,2023.6
[3] 何立民.单片机应用技术选编.北京: 北京航天航空大学出版,2023.5
[4] 张军,梅丽凤.单片机原理接口技术.北京交通大学出版社,2023.5
[5] 张婧武,周灵彬.单片机系统的PROTEUS设计与仿真.北京: 电工出版社,2023.4
[6] 周佩玲,彭虎.微机原理与接口技术.北京: 电子工业出版社,2023.4
[7] 李群芳,张士军.单片微型计算机与接口技术.北京: 电子工业出版社,2023.5
附录I 元件清单
元件名称
型号
数量
单片机
AT89C51
1
LED
Ark SM470501K
3
极性电容
10uF
1
电容
22pf
2
电阻
470Ω
3
电阻
1K
2
排线
2
按键
1
晶振
11.0592MHz
1
附录II 整体电路图
附录III 源程序清单
#include <reg52.h>
#define uchar unsigned char
#define uint unsigned int
sbit RED_LED = P1^0; //端口定义。
sbit GREEN_LED = P1^1;
sbit YELLOW_LED = P1^2;
uint flicker,i,n;
void int0()
{
TMOD=0x01;
TH0=0x3C;
TL0=0xAF;
TR0=1; //启动定时器。
ET0=1;