辉光管时钟显示毕业设计.docx
《辉光管时钟显示毕业设计.docx》由会员分享,可在线阅读,更多相关《辉光管时钟显示毕业设计.docx(26页珍藏版)》请在冰点文库上搜索。
辉光管时钟显示毕业设计
辉光管POV显示时钟
广州大学市政技术学院机械制造及自动化专业曾勇金
指导教师:
林思克
摘要:
辉光管,上世纪60-80年代的产物,电子技术发展历史的见证之一,相信有很多朋友对其了解甚少甚至从未亲眼所见。
但就是这现如今已濒临绝迹的古老器件,却让见过她的人都无法忘记那特有的显示效果,甚至开始感叹40年前的创造竟赋有如此的艺术气息,为了让这古老的并极富艺术气息的器件发辉余热,设计辉光管POV显示时钟,本设计应用80C52芯片作为核心,辉光管显示,使用DS1302实时时钟日历芯片完成时钟的基本功能。
这种实现方法的优点是,性能可靠,实时性好,时间,操作简单,编程容易。
了解单片机的内部结构和对程序的编写与仿真烧写等,更好地掌握程序结构及模块化程序设计,为今后的单片机的开发应用奠定基础。
关键词:
辉光管,单片机,编程,设计,仿真,电子时钟
ABSTRACT:
GlowTubeistheproductofthelastcentury60-80s,witnessthehistoryofthedevelopmentofelectronictechnology,believethattherearealotoffriendstounderstanditsseldomorevenneversaw.Buthereitisnowendangeredancientdevice,itmakespeoplewhosawhercouldnotforgetthedisplayeffect,exclamation,40yearsagohasevenstartedcreatingendowedwithsuchartisticbreath,inordertomakethisancientandveryartisticdevicessendfailwasteheat,POVclockaccordingtoglowtubedesign,thisdesignused80c52chipasthecore,theglow,accordingtotheuseofDS1302real-timecalendarclockchiptocompletethebasicfunctionoftheclock.Thismethodhastheadvantageofreliableperformance,goodreal-time,time,simpleoperation,easyprogramming.Understandtheinternalstructureofsingle-chipmicrocomputerandprogramcompilingandsimulationburning,etc,tobettergrasptheprogramstructureandthemodularizedprogramdesign,forthedevelopmentandapplicationofsingle-chipmicrocomputerinthefuturetolaythefoundation.
KEYWORDS:
GlowTube,MCU,Programming,Design,Simulation,Electronicclock
前言
随着电子技术的不断发展,辉光管慢慢退去了昔日的光辉,但是辉光管是电子技术发展历史的见证之一,相信有很多朋友对其了解甚少甚至从未亲眼所见。
但就是这现如今已濒临绝迹的古老器件,却让见过她的人都无法忘记那特有的显示效果,甚至开始感叹40年前的创造竟赋有如此的艺术气息,为了让这古老的并极富艺术气息的器件发辉余热,设计辉光管POV显示时钟,了解单片机的内部结构和对程序的编写与仿真烧写等,更好地掌握程序结构及模块化程序设计,为今后的单片机的开发应用奠定基础。
近年来随着计算机在社会领域的渗透和大规模集成电路的发展,单片机的应用正在不断地走向深入,由于它具有功能强,体积小,功耗低,价格便宜,工作可靠,使用方便等特点,因此越来越广泛地应用各个领域.
本文的电子钟系统是以单片机(AT89C52)为核心,时钟芯片DS1302、辉光管等元器件组成。
具体介绍应用Proteus的ISIS软件进行单片机系统的电子钟设计与仿真的实现方法。
该方法既能准确验证所设计的系统是否满足技术要求,又能提高系统设计的效率和质量,降低开发成本,具有推广价值。
随着半导体技术的飞速发展,以及移动通信、网络技术、多媒体技术在嵌入式系统设计中的应用,单片机从4位、8位、16位、32位到64位,其发展历程一直受到广大电子爱好者的极大关注。
单片机功能越来越强大,价格却不断下降的优势无疑成为嵌入式系统方案设计的首选,同时单片机应用领域的扩大也使得更多人加入到基于单片机系统的开发行列中,推动着单片机技术的创新进步。
1辉光管简介
辉光管-是60年代真空电子时代的产物,是利用辉光放电效应产生光亮来显示数字及符号的一种电子元件,诞生于上世纪60年代,到了80年代末慢慢的被其他技术所创造的新型器件所取代。
古老的器件在经过设计师精心设计后赋予了非常强烈的现代感,是古典科技与现代艺术的完美结合,从而成为经典中的珍品。
由于辉光管目前已经停产,因此该产品的数量是及其有限,完全可以说是一种限量品。
因此这些辉光管模块不但可以作为极其酷炫的装饰品也可以作为古典科技艺术品进行收藏。
本辉光管模块采用国产的QS30-1型号,内部气体是氖气,辉光放电效应所产生的光芒为橘红色,尤其是在夜晚,其散发出温暖的橘红色光芒给人非常温馨的感觉,其独特的字形,释放出强烈的层次感,极具收藏价值。
图1辉光管外观图
辉光数码管需在强电场作用下才能启辉,因此,在译码器与辉光数码管之间必须配有电子开关,如图中的VT1-VT10便是半导体三极管组成的开关电路。
图2辉光管内部引脚图
2单片机及主要芯片相关知识
2.1单片机的简介
单片机是一种集成在电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计时器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的计算机系统。
2.1.1单片机发展历史
4位单片机:
1975年,美国德克萨斯仪器公司首次推出4位单片机TMS-1000;此后,各个计算机公司竞相推出四位单片机。
四位单片机的主要应用领域有:
PC机的输入装置,电池充电器,运动器材,带液晶显示的音/视频产品控制器,一般家用电器的控制及遥控器,电子玩具,钟表,计算器,多功能电话等。
8位单片机:
1972年,美国Intel公司首先推出8位微处理器8008,并于1976年9月率先推出MCS-48系列单片机。
在这以后,8位单片机纷纷面市。
8位单片机由于功能强,被广泛用于自动化装置、智能仪器仪表、智能接口、过程控制、通信、家用电器等各个领域。
16位单片机:
1983年以后,集成电路的集成度可达几十万只管/片,各系列16位单片机纷纷面市。
16位单片机主要用于工业控制,智能仪器仪表,便携式设备等场合。
32位单片机:
随着高新技术只智能机器人,光盘驱动器,激光打印机,图像与数据实时处理,复杂实时控制,网络服务器等领域的应用与发展,20世纪80年代末推出了32位单片机,
64位单片机:
近年来,64位单片机在引擎控制,智能机器人,磁盘控制,语音图像通信,算法密集的实时控制场合已有应用,如英国Inmos公司的TransputerT800是高性能的64位单片机。
2.1.2单片机的特点
(1)集成度高、体积小。
单片机、CPU、存储器、I/O接口等各种功能部件集成在一块晶体芯片上,体积小,节省空间。
能灵活,方便地应用于各种智能化的控制设备和仪器,实现机电一体化。
(2)可靠性高,抗干扰性强。
单片机把各种功能部件集成在一块芯片上,内部采用总线结构,减少了各芯片之间的连线,大大提高了单片机的可靠性与抗干扰能力,对于强磁场环境易于采取屏蔽措施,适合在恶劣环境下
(3)低功耗。
许多单片机的工作电压只有2~4伏特,电流几百微安,功耗很低,适用于便携式系统
(4)控制功能强。
其CPU可以对I/O端口直接进行操作,可以进行位操作、分支转移操作,还能方便地实现多机控制,使整个系统的控制效率大为提高,适用于专门的控制领域。
(5)可扩展性好。
单片机具有灵活方便的外部扩展总线接口,使得当片内资源不够使用时可以非常方便地进行片外扩展。
另外,现在单片机具有越来越丰富的通信接口:
如异步串行口SCI、同步串行口SPI、I2C、CAN总线、甚至有的单片机还集成了USB接口或以太网接口,这些丰富的通信接口使得单片机系统与外部计算机系统的通信变得非常容易。
(6)性价比高
单片机应用广泛,生产批量大,产品供应商的商业竞争使得单片机产品的性能越来越强而价格低廉,有优异的性能价格比。
2.1.3AT89C52单片机的介绍
图3封装
AT89C52ATMEL是一种低功耗,高性能CMOS8位单片机.片内含8KbyTES的可反复擦写的只读程序存储器(PEROM)。
器件采用ATMEL公司的高密度、非易失性存储技术生产,与标准80C51指令系统及80C52产品引脚兼容,片内置通用8位中央处理器(CPU)和FLASH由存储单元,功能强大AT89C52单片适用于许多较为复杂控制应用场合。
主要性能参数:
与Mcs-51产品指令和引脚完全兼容。
8字节可重擦写FLASH闪速存储器
1000次擦写周期
全静态操作:
0HZ-24MHZ
三级加密程序存储器
256X8字节内部RAM
32个可编程I/0口线
3个16位定时/计数器
8个中断源
可编程串行UART通道
低功耗空闲和掉电模式
AT89C52提供以下标准功能:
8字节FLASH闪速存储器,256字节内部RAM,32个I/O口线,3个16位定时/计数器,一个6向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。
同时,AT89c52可降至零赫兹的静态逻辑操作,并支持两种软件可选的节电上作模式。
空闲方式停止CPU的工作,但允许RAM,定时/计数器.串行通信口及中断系统继续工作。
掉电方式保存RAM中的内容,但振荡器停止工作并禁止其它所有部件工作直到下一个硬件复位。
图4单片机内部结构
功能引脚说明:
图5引脚图
Vcc:
电源电压GND:
接地
P0:
是一组8位漏极开路型双向1/O口,也即地址/数据总线复用口。
作为输出口用时.每位能吸收电流的方式驱动8个TTL逻辑门电路,对端口P0写“1”时,可作为高阻抗输入端用。
P0口也可以配置为复低位地址/数据总线和内存数据访问外部程序。
在这种模式下,P0具有内部上拉电阻。
在FLASH由编程时,P0口接收指令字节,而在程序校验时,输出指令字节,校验时,要求外接上拉电阻。
P1:
是一个带内部上拉电阻的8位双向I/O口,Pl的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。
对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口。
作输入口使用时,因为内部存在上拉电阻某个引脚被外部信号拉低时会输出一个电流IIL,此外,Pl.0和P1.1还可分别作为定时/计数器2的外部计数输入(Pl.0/T2)和输入(P1.1/T2EX)。
P2:
是一个带有内部上拉电阻的8位双向I/O口,P2的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑电路。
对端口P2写“l",通过内部的上拉电阻把端口拉到高电平,此时可作输入口,作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(llt)。
P3:
口是一组带有内部上拉电阻的8位双向I/O口。
P3口输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。
对P3口写入“1”时,它们被内部上拉电阻拉高并可作为输入端口。
此时,被外部拉低的P3口将用上拉电阻输出电流(IIL).
此外,P3口一些特殊功能口,如下表所示:
P3.0RXD
串行输入口
P3.1TXD
串行输出口
P3.2/INT0
外部中断0
P3.3/INT1
外部中断1
P3.4T0
记时器0外部输入
P3.6/WR
外部数据存储器写选通
P3.7/RD
外部数据存储器读选通
表1功能口
RST:
复位输入。
当振荡器工作时,RST引脚出现两个机器周期以上高电平将使单片机复位。
PSEN:
程序储存允许PSEN输出是外部程序存储器的读选通信号,当AT89C52由外部程序存储器取指令(或数据)时,每个机器周期两次PSEN有效,即输出两个脉冲。
在此期间,当访问外部数据存储器,将跳过两次PSEN信号。
EA/VPP:
外部访问允许。
欲使CPU仅访问外部程序存储器(地址为0000H-FFFFH),EA端必须保持低电平(接地).需注怠的是:
如果加密位LBI被编程,复位时内部会锁存EA端状态。
如EA端为高电平(接Vcc端)。
flash存储器编程时,该引脚加上+12V的编程允许电源VPP,当然这必须是该器件是使用12V编程电压VPP。
XTAL1:
振荡器反相放大器的及内部时钟发生器的输入端.
XTAL1:
振荡器反相放大器的输出端。
特殊功能寄存器:
并非所有的地址都被定义,还有相当一部分没有定义。
对没有定义的单元读写将是无效的,读出的数位将不确定,而写入的数据也将丢失。
软件使用者不应将数据"1"写入未定义的单元,由于这些单元在将来的产品中可能赋予新的功能,在这种情况下,复位后这些单元数值总是“0”。
定时/计数器2的控制和状态位位于T2CON和T2MOD,寄存器对(RCA02H、RCAP2L)是定时器2在16位捕获方式或16位自动重装载方式下的捕获/自动重装载寄存器。
数据存储器
AT89C52有256个字节的内部RAM,80H-FFH高128个字节与特殊功能寄存器(SFR)地址是重叠的,也就是高128字节的RAM和殊功能寄存器的地址是相同的,但物理上它们是分开的。
当一条指令访问7FH以上的内部地址单元时,指令中使用的寻址方式是不同的,也即寻址方式决定是访问高128字节RAM还是访问特殊功能寄存器。
如果指令是直接寻址方式则为访问特殊功能寄存器.
2.2主要芯片简介
主要利用AT89C52单片机与时钟芯片DS1302、2N5551三极管及十进制解码器74LS145芯片组成
2.2.1三极管2N5551功能及引脚图
图61基极2发射极3集电极
2N5551是一种NPN型高反压三极管。
直流电流增益hFE最小值(dB):
80
直流电流增益hFE最大值(dB):
250
集电极-发射集最小雪崩电压Vceo(V):
160
集电极最大电流Ic(max)(A):
0.600
最小电流增益带宽乘积Ft(MHz):
100
可以用在高压开关管、中功率功放、视频放大等。
2.2.2十进制解码器HD74LS145芯片功能及引脚
BCD到十进制解码器/驱动器(15V输出)
图7HD74LS145芯片引脚
BCD到十进制解码器/驱动器由8个逆变器和10个四输入与非门.成对连接的逆变器,使BCD输入数据可用于解码由“与非”门。
全解码的有效BCD输入逻辑,确保所有的输出保持关闭所有无效的二进制输入条件.该解码器具有高性能,NPN输出晶体管设计用于指示灯/继电器驱动器或集电极开路逻辑电路的驱动程序.
表2功能表
BCD码(Binary-CodedDecimal)亦称二进码十进数或二-十进制代码。
用4位二进制数来表示1位十进制数中的0~9这10个数码。
是一种二进制的数字编码形式,用二进制编码的十进制代码。
BCD码这种编码形式利用了四个位元来储存一个十进制的数码,使二进制和十进制之间的转换得以快捷的进行。
这种编码技巧最常用于会计系统的设计里,因为会计制度经常需要对很长的数字串作准确的计算。
BCD码也叫8421码就是将十进制的数以8421的形式展开成二进制,大家知道十进制是0~9十个数组成,这十个数每个数都有自己的8421码:
0=0000
1=0001
2=0010
3=0011
4=0100
5=0101
6=0110
7=0111
8=1000
9=1001
2.2.3时钟芯片DS1302功能及引脚
图8时钟芯片DS1302引脚
图9时钟芯片DS1302功能
2.3Proteus软件简介
PROTEUS软件由Labcenter公司开发,是目前世界上最先进、最完整的嵌入式系统设计与仿真平台,可以实现数字电路、模拟电路及微控制器系统与外设的混合电路系统的电路仿真、软件仿真、系统协同仿真和PCB设计等功能,是目前唯一能够对各种处理器进行实时仿真、调试与测试的EDA工具。
微控制器系统相关的仿真需建立编译和调试环境,可选择KeilC51uVision2软件。
该软件支持众多不同公司的芯片,集编辑、编译和程序仿真等于一体,同时还支持PLM、汇编和C语言的程序设计。
它的界面友好易学,在调试程序、软件仿真方面有很强大的功能。
其革命性的功能是:
将电路仿真和微处理器仿真进行协同,直接在基于原理图的虚拟原型上进行处理器编程调试,并进行功能验证,通过动态器件如电机、LED、LCD、开关等,实时看到运行后的输入、输出的效果,配合系统配置的虚拟仪器如示波器、逻辑分析仪等,Proteus为我们建立了完备的电子设计开发环境。
操作界面如下图:
图10操作界面1
图11操作界面2
2.3.1keilc51软件
软件界面如下:
图12操作界面1
图13操作界面2
3硬件电路设计
3.1辉光管时钟系统硬件组成
辉光管时钟系统硬件主要由AT89C52单片机、时钟芯片DS1302、辉光管显示高压驱动等元器件组成。
AT89C52是一种带8K字节闪烁可编程可擦除只读存储器的低电压,高性能微处理器,俗称单片机
芯片DS1302是美国DALLAS公司推出的一种高性能、低功耗、失电任能保证走时。
图14系统框图
3.2设计流程及顺序图
设计流程
顺序图
图15程序顺序图
3.2.1电路设计
复位方式采用上电复位方式,复位电路由两部分组成,电容和电阻。
当系统通电时,VCC上电压从无到有在RESET处会先处于高电平一段时间,然后由于该点通过电阻接地则RESET该点的电平会逐渐的改变为低电平,从而使得单片机复位口电平从1到0,达到给单片机复位的功能。
这样一种复位方式就是所谓上电复位。
如下图所示。
图16上电复位
时钟方式采用外部时钟,如下图所示。
图17外部时钟方式
外部时钟方式常用于多片单片机组成的系统中,(当两个芯片需要严
格同步时,就要使用外部时钟信号)以便各单元之间的时钟信号同步运行。
控制电路
图18控制电路
说明:
时钟在单管显示时,当辉光管分别显示“时十位”、“时个位”、“分十位”、“分个位”时,用排在一起的4只LED同步显示,使之更加直观,容易识别。
高压驱动部分
图19高压驱动部分
采用SN74LS145BCD到十进制解码器/驱动器(15V输出),编译为0-9十进制数.在这里通过解码器配合2N5551高压开关管,有效安全的驱动辉光管
升压原理:
采用升压斩波电路原理,电路也使用一个全控型器件Q1。
由图19中Q1的栅极电压波形UGE可知,当Q1处于通态时,电源Ui向电感L1充电,充电电流基本恒定为I1,同时电容C4上的电压向负载供电,因C4值很大,基本保持输出电压UO为恒值。
设V处于通态的时间为ton,此阶段电感L1上积蓄的能量为UiI1ton。
当Q1处于断态时Ui和L1共同向电容C1充电,并向负载提供能量。
设Q1处于断态的时间为toff,则在此期间电感L1释放的能量为(UO-Ui)I1ton。
当电路工作于稳态时,一个周期T内电感L1积蓄的能量与释放的能量相等,即:
UiI1ton=(UO-Ui)I1toff
注意事项:
1.因为驱动辉光管要170V的高压,所以调试时需注意防被电。
2.消除鬼影,辉光管从亮到灭时,仍出现有短暂的光亮现象,可采用脉冲振荡,当辉光管灭时不提供高压驱动脉冲即可消除鬼影。
3.2.2仿真
图20仿真效果图
部分源程序:
//----------------------------
//**主程序**
//----------------------------
voidmain(void)
{
/*中断程序初始化*/
TH0=0;TL0=0;
TR0=1;ET0=1;
TH1=0;TL1=0;
TR1=1;ET1=1;
IT0=1;EX0=1;
EA=1;
ST=0;
MO=2;
P0=0x00;
//Set1302();
for(;;){
Get1302();
if((Key1==0)&&(Key2==0))//AB键同时按下
{
Delay(6000);
if((Key1==0)&&(Key2==0))ST=!
ST;//进入或退出设置程序
if(ST==0)
{
Time[2]=TS[0]*10+TS[1];
Time[1]=TS[2]*10+TS[3];
Set1302();//保存设置
}
else
{
TZ=0;
TS[0]=Time[2]/10;
TS[1]=Time[2]%10;
TS[2]=Time[1]/10;
TS[3]=Time[1]%10;
}
}
if((Key1==0)&&(Key2==1)&&(ST==1))//A键按下
{
Delay(6000);
if((Key1==0)&&(Key2==1))
{
if(TZ==3)TZ=0;elseTZ++;//改变调整项
}
}
if((Key1==1)&&(Key2==0))//B键按下
{
Delay(6000);
if((Key1==1)&&(Key2==0)&&(ST==1))
{
if(TZ==0)//改变调整值
{
if(TS[0]==2)TS[0]=0;elseTS[0]++;
}
if(TZ==1)
{
if(TS[0]==2)
{
if(TS[1]==3)TS[1]=0;elseTS[1]++;
}
else
{
if(TS[1]==9)TS[1]=0;elseTS[1]++;
}
}
if(TZ==2)
{
if(TS[2]==5)TS[2]=0;elseTS[2]++;
}
if(TZ==3)
{
if(TS[3]==9)TS[3]=0;elseTS[3]++;
}
}
}
}
}
4结论
本文的辉光管时钟钟显示是