单片机课程设计LED点阵显示电子时钟.docx
- 文档编号:10782537
- 上传时间:2023-02-22
- 格式:DOCX
- 页数:26
- 大小:575.11KB
单片机课程设计LED点阵显示电子时钟.docx
《单片机课程设计LED点阵显示电子时钟.docx》由会员分享,可在线阅读,更多相关《单片机课程设计LED点阵显示电子时钟.docx(26页珍藏版)》请在冰豆网上搜索。
单片机课程设计LED点阵显示电子时钟
(课程设计)
单片机原理及接口技术
课程设计题目:
LED点阵显示电子时钟
学院班级:
学生姓名:
学号:
摘要
电子时钟是一种利用数字电路来显示秒、时的计时装置。
用单片机控制的LED点阵电子显示时钟具有结构简单、性能可靠、成本低廉和显示灵活等优点,其应用前景广阔。
本文设计的是一个5块8*8点阵时钟显示屏,数字采用静止显示方式。
实现的功能有:
时钟功能,确定显示当前时间,并可以用按键实现误差调节;
计时功能,开始与停止计时;
显示精度切换功能,根据不同的工作场合,切换显示精度(时:
分显示或分:
秒显示
硬件组成:
AT89C51单片机、集成块74LS373和74LS138、LED点阵、按键若干、晶振、电容、电阻、电源等。
软件组成:
定时中断程序、显示程序、起停控制程序、功能切换程序。
系统实现了计时和显示精度切换等创新功能。
关键词:
点阵显示电子时钟;计时;精度切换
1概述
在日常生活中,大家见到的都是数码管制作的电子钟,LED点阵时钟则不多见。
用单片机控制的LED点阵显示电子钟具有结构简单、性能可靠、成本低廉、价格便宜和显示灵活等优点,其应用前景广阔。
之所以使用LED点阵电子屏显示,是与它本身所具有的优点分不开的[1]。
这些优点概括起来就是:
亮度高、工作电压低、功耗小、小型化、寿命长、耐冲击和性能稳定。
在实际应用中的显示屏由于成本和可靠性的因素常采用一种动态扫描的显示方法。
本文设计的是一个室内用16块8×8点阵时钟显示屏,数字采用静止显示方式。
电子钟是一种利用数字电路来显示秒、分、时的计时装置,与传统的机械钟相比,它具有走时准确、显示直观、无机械传动装置等优点,因而得到广泛应用。
由于数字集成电路技术的发展和采用了先进的石英技术,使数字钟走时更准确、性能更稳定。
由于用LED点阵显示数据,在夜晚或黑暗的场合里也可以使用,具有一定的实用性。
随着人们生活环境的不断改善和美化,在许多场合都可以看到LED点阵显示电子钟。
在城市的主要营业场所、车站、码头等公共场所使用LED数字电子钟已经成为一种时尚
本文论述了基于AT89C51单片机的LED点阵显示电子钟设计控制系统,并且可以对其进行设置。
基于AT98C52单片机的LED点阵显示电子钟具有结构简单,性能靠,价格低和灵活等优点,因此得到了广泛应用。
LED点阵显示屏是利用发光二极管或像素组成的平面式显示屏。
它具有发光效率高,使用寿命长,组态灵活等特点。
本文设计的是用5块8×8点阵显示屏制作电子时钟,数字采用静止显示方式。
电子钟是一种利用数字电路来显示分、时的计时装置,与传统的机械钟相比,它具有走时准确、显示直观、无机械传动装置等优点,因而得到广泛应用。
随着科技的进步和人们生活环境的不断改善和美化,在许多场合可以看到数字电子钟的使用。
2系统总体方案设计
2.1系统总体设计框图
图2.1系统总体设计方案框图
根据项目的功能和要求,采用AT89C51单片机作为核心控制器。
LED点钟电子钟系统组成包括:
晶振电路模块、复位电路模块、显示电路模块、显示行驱动电路模块、蜂鸣器电路模块、按键电路模块以及电源模块。
2.2初步设计思路
由中断产生的秒、分、小时数据,经转换子程序转换成适应LED点阵显示屏显示的数据,并通过单片机的输出功能输入到LED点阵显示屏,再通过显示扫描程序,显示出时钟的走时时间。
用计时程序来完成计时,数时功能,再通过单片机综合控制将数字显示出来。
由此可见,通过AT89C51单片机的控制功能,完全可以实现LED点阵显示电子钟。
按照分块设计的法可以把程序分为主程序、显示程序、计时程序,在后面还会加入显示切换程序和起/停控制程序。
主程序主要是用来初始化系统和控制各个子程序之间执行的顺序。
显示程序用来完成字在LED点阵上的显示,时钟的显示是使用4块8×8点阵显示屏。
计时程序用来完成计时,数时功能。
显示切换程序使时钟显示能在时/分和分/秒之间切换,适应不同精度要求的场合,起/停控制程序使时钟实现计时功能。
3硬件电路设计
3.1LED数码管显示电路
显示电路由五片8*8点阵LED组成,根据要求显示(时:
分)或:
(分:
秒)。
根据设计要求,采用并行方式显示,通过锁存器芯片来扩展I/O口,达到控制LED点阵的40个列线的目的。
本方案运用5片锁存器74LS373来组成5组双缓存寄存器,驱动LED阵的8组列线,用3/8译码器74LS138对LED点阵的8行进行扫描。
在羝每一行的数据到LED点阵时,每次把数据分别送到5个74LS373,然后再把数据一起输出到LEDA点阵列中,送出去的时间数据由AT89C51来控制。
3.1.1LED点阵
下图为8×8点阵屏等效示意图,8×8点阵显示接线图,只要其对应的DC、DR轴顺向偏压,即可使LED发亮。
例如如果想使下图中左上角LED点亮,则DC8=1,DR8=0即可。
应用时限流电阻可以放在DC轴或DR轴。
点阵是用64个LED组成的。
点阵LED扫描法介绍:
从上图图中可以看出,8×8点阵共需要64个发光二极管组成,且每个发光二极管是放置在行线和列线的交叉点上,当对应的某一列置1电平,某一行置0电平,则相应的二极管就亮。
频率必须大于128赫兹,周期小于7.8毫秒即可符合视觉暂留要求。
此外一次驱动一列或一行(8盏LED)时需外加驱动电路提高电流,否则LED亮度会不足。
图3.1点阵屏等效示意图
3.1.274LS373锁存器
74LS373是常用的地址锁存器芯片,它实质是一个是带三态缓冲输出的8D触发器,在单片机系统中为了扩展外部存储器,通常需要一块74LS373芯片。
74LS373工作原理简述:
1脚是输出使能(OE),是低电平有效,当1脚是高电平时,不管输入3、4、7、8、13、14、17、18如何,也不管11脚(锁存控制端,G)如何,输出2(Q0)、5(Q1)、6(Q2)、9(Q3)、12(Q4)、15(Q5)、16(Q6)、19(Q7)全部呈现高阻状态(或者叫浮空状态)。
当1脚是低电平时,只要11脚(锁存控制端,G)上出现一个下降沿,输出2(Q0)、5(Q1)、6(Q2)、9(Q3)、12(Q4)、15(Q5)、16(Q6)、19(Q7)立呈现输入脚3、4、7、8、13、14、17、18的状态。
锁存端LE由高变低时,输出8位信息被锁存,直到LE端再次有效。
当三态门使能信号OE为低电平时,三态门导通,允许Q0到Q7输出,OE为高电平时,输出悬空。
图3.274LS373引脚图
3.1.374LS138译码器
74LS138为3线8线译码器,74LS138的工作原理如下:
当一个选通端(G1)为高电平,另两个选通端(/(G2A)和/(G2B))为低电平时,可将地址端(A、B、C)的二进制编码在一个对应的输出端以低电平译出。
74LS138功能是利用S1、/S2和/S可级联扩展成24线译码器,若外接一个反相器还可级联扩展成32线译码器。
若将选通端中的一个作为数据输入端时,74LS138还可作数据分配器。
74LS138有三个附加的控制端S1、/S2和/S3。
当S1、/S2接低电平时,输出为高电平(S=1),译码器处于工作状态。
否则,译码器被禁止,所有的输出端被封锁在高电平,如表所示。
这三个控制端也叫做“片选”输入端,利用片选的作用可以将多片连接起来以扩展译码器的功能。
带控制输入端的译码器又是一个完整的数据分配器。
如果把作为“数据”输入端(在同一个时间),而将作为“地址”输入端,那么从送来的数据只能通过所指定的一根输出线送出去。
这就不难理解为什么把叫做地址输入了。
例如当S1=1、S2=0和S3=1时,门的输入端除了接至输出端的一个以外全是高电平,因此的数据以反码的形式从输出,而不会被送到其他任何一个输出端上。
图3.374LS138引脚图
图3.4点阵显示接线图
3.2复位电路
本设计采用RC上电加按钮复位。
如图,将一手动按钮与电阻串联后再和复位电容并联起来,当系统上电后,由于开头没有导通,还是一个基本的阻容复位电位,系统会可靠地复位。
如果在调试过程中需要对系统进行复位,这时不需要断电再接通电源,只需按一下复位开关即可。
当复位开关按下后,电容被短路,在RET脚上由于电阻侵夺会得到一个复位的高电平,达到复位的目的。
图3.5复位电路
3.3晶振电路
AT89C51单片机芯片内部设有一个由反射放大器构成的拓荡器,XTAL1和XTAL2分别为振荡电路的输出端和输入端,时钟可由内部或外部生成,在XTAL1和XTAL2引脚上外接定时元件,内部振荡电路就会产生自激振荡。
晶振电路中,采用高精度的12MHz的石英晶振和电容值为30皮法的电容组成并联谐拓回路。
以获得较高的刷新频率及较准确的时钟频率使显示更稳定,计时准确。
系统时钟由定时器T0方式产生,较为精确。
电路如下图所示:
图3.6晶振电路
3.4按键电路
根据所要实现的功能,电路设有五个按钮,分别是分调整按钮、时调整按钮、复位按钮、分:
秒/小时:
分切换按键和起/停控制按键。
各按键(钮)功能分别为:
分:
秒/小时:
分切换按键:
使电路能在不同的计时精度下工作,适应范围更广;起/停按键可用于计时时间记录;分、时调整按钮用于时间的校正;复位电路用于计时数据清零。
图3.7按键电路
3.5单片机连接电路
微处理器采用AT89C52系列单片机,AT89C52单片机是这几年在我国非常流行的单片机,是一种带8K字节闪存器的高性能单片机,可擦除存储器可以反复擦除100次,具有低功耗,高性能的特点,并且可与工业标准的MSC-51指令集和输出管脚相兼容,对于本设计需要实现的功能,完全可胜任。
LED点阵电子钟的设计主要是用AT89C52单片机进行控制,用12MHz的晶振来保证计时的精准性,用具有一定驱动能力的74LS373锁存器和74LS138译码器进行I/O口扩展,并在4块8×8点阵上显示。
最终效果如下:
图3.8总体电路图
4软件设计
4.1计时程序设计
单片机内部T0计时器产生一个20毫秒的中断程序,在计时程序中完成对时、分、秒的调整。
本设计定时器工作于方式1,方式1是一种16位计数的工作方式,由THX和TLX组成的16位计数器,计时程序框图如下:
图4.1计时程序框图
设计中采用硬件加软件延时的方法达,由外部12MHz的晶振产生1us的机器周期,一个20ms的延时来,其N=20000
帮计数初值计算发下:
当工作于时:
分显示时,X=65536-20000=B1E0HTH0=0B1HTL0=0E0H
当工作于分:
秒显示时:
X=65536-20000/60=FFB3HTH0=0FFHTL0=0B3H
4.2显示程序设计
点阵显示数字方式如表,编码等每个数据为每行的这灭指示,灯亮的既为“1”,灯灭的即为“0”。
如果是不显示任何符号的点阵状态那么8个数据位全是00H,在这边就不列举了。
以一个LED点阵显示为例,首先取入要显示的数,经过换算后查表,将表中对应的码通过P0端口并行输出,存入到外部存储器74LS373,通过P1端口锁存数据的位置。
并通过MOVR4,#00H和MOVP2,R4指令将行扫描数据输入74LS138芯片。
这样即完成一个位的显示,其它们的显示依照这一位。
图4.28*8点阵显示码
图4.3显示流程图
4.3时:
分/分:
秒切换程序
程序如下:
INTT0:
JNBP3.0,SS0;P3.0=1,程序默认工作于分:
秒显示
JNBP3.1,SS1;按下切换按键,P3.1=0,切换到时:
分显示
SS0:
MOVTL0,#0FEH
MOVTH0,#0FFH
LJMPAA
SS1:
MOVTL0,#0E0H
MOVTH0,#0B1H
LJMPAA
AA:
PUSHACC
PUSHPSW
INC36H
MOVA,36H
CJNEA,#25,PLL
MOV32H,#0BH
PLL:
CJNEA,#50,ENDD;1S
MOV32H,#0AH
MOV36H,#00H
INC35H
MOVA,35H
CJNEA,#60,ENDd;分个位
MOV35H,#00H
INC34H
MOVA,34H
CJNEA,#0AH,ENDd;分个位
MOV34H,#00H
INC33H
MOVA,33H
CJNEA,#06H,ENDd;分十位
MOV33H,#00H
INC31H
MOVA,30H
CJNEA,#02H,END1
MOVA,31H
CJNEA,#04H,END1;时个位
MOV31H,#00H
MOV30H,#00H
END1:
MOVA,31H
CJNEA,#0AH,ENDd;时个位
MOV31H,#00H
INC30H
ENDd:
POPPSW
POPACC
RETI
4.4起、停控制程序
程序如下:
LOOP0:
JNBP1.6,TM
JBP1.6,TD
TD:
CLREA
LCALLDISP
LJMPLOOP0
TM:
SETBEA
LCALLDISP
LJMPLOOP0
按下起、停控制按键后,P1.6=0,开中断,程序正常执行;松开起、停控制按键,P1.6=0,把当前的数送到显示屏显示,并在原地循环等等待。
5系统调试
单片机应用系统的调试,包括硬件调试和软件调试,是一个很重要的步骤。
硬件调试和软件调试并不能完全分开,许多硬件错误事在软件调试过程中被发现和纠正的,一般方法是先排除明显的硬件故障,在进行软硬件综合调试。
源程序经过汇编后,生成的目标文件必须经过仿真调试,才能固化到应用系统的程序存储器EPROM中。
在下载程序前,应进行软件调试,以免错误的程序下载到实验板上,烧坏控制芯片,因此软件调试是必不可少的。
程序编译无误后,设置好仿真参数,就可以进行软件调试了。
程序执行可采用两种方法,即单步执行和全速执行。
总体调试最好采用前者方法,这样做有助于找到错误所在。
子程序内部或着延时程序可以采用后者方法,这样有助于节省调试时间。
调试过程中,要适当打开一些关键变量的窗口,观察它的变化情况,仔细分析,实验结果要与预期结果相比较,如果出现错误,反复分析与调试。
从实质上说,应用系统的联调是对软硬件的综合调试,一方面要排除软件的错误,同时进一步解决硬件部分遗留故障。
联调的总体方案是:
把整个应用系统按其功能分成若干个模块,如系统扩展模块、输入输出模块、键盘扫描模块等。
针对不同的模块,用LED指示灯来跟踪调试。
调试的方法是“最短程序”调试法。
“最短程序”是指用最简洁的主程序及调用最少子程序的系统软件程序。
在实践过程中,我发现“最短程序”调试法对系统调试有很大的帮助。
特别是在程序模块多、错误多的情况下,就越有好处。
如果最短程序调试不能通过的话,则说明硬件有问题。
这时就应该首先将你的硬件简化成最小系统,排除硬件故障后,在运行“最短程序”。
如果运行通过,可逐步增加软件模块和硬件模块,反复实验。
本次调试采用Protues软件仿真。
首先设计电子密码锁的源程序,源程序经过汇编后,生成的目标文件经过仿真调试。
LED显示如图:
图5.1LED显示效果图
经检验,满足设计要求。
6心得体会
本次的课程设计,让我学到了很多。
总结如下:
本次设计中遇到了许多问题,查阅了大量的相关资料,不仅解决了许多问题,也详细了解LED发晚原理和LED点阵显示原理,了解LED现状,清楚知道LED与其他显示器的区别,并且对驱动电路的原理有了一定的了解。
在设计中加深了对PROTEUS、KEIL等软件的使用能力。
通过程序的设计,懂得了程序的调试过程同时也使得在课堂上学到的知识得到了应用。
不足:
设计中,由于时间有限,没有来得及加入闹钟功能,同时设计中由于显示效果不够理想,在程序方面花了很大时间。
通过本次的单片机课程的学习以及这次的课程设计,让我们更一步加深了对单片机控制原理的理解,真正的做到了学以致用。
参考文献
[1]杨居义,杨晓琴,王益斌.单片机原理及应用设计[J].清华大学出版社,2009
[2]汤晓君,刘君华.MCS系列单片机P1口键盘显示功能的实现[J]中国知网,2002
[3]蒋敏.没有误差的电子钟设计并制作[J].中国知网,2010
[4]卢超.基于单片机的数字电子钟的设计与制作[J].大庆师范学院学报,2006
[5]李全利.单片机原理及接口技术[M].高等教育出版社,2008
[6]周航慈,单片机应用程序设计技术[M].北京航空航天大学出版社,2002
附录
附录A:
源程序清单
ORG0000H
LJMPMAIN
ORG0003H
LJMPPINT0
ORG000BH
LJMPINTT0
ORG0013H
LJMPPINT1
ORG0030H
MAIN:
MOVSP,#60H
MOVTMOD,#01H
MOVTL0,#0e0H
MOVTH0,#0b1H
MOVIE,#87H
MOV30H,#00H;时十位
MOV31H,#00H;时个位
MOV32H,#0AH;光标点位
MOV33H,#00H;分十位
MOV34H,#00H;分个位
MOV35H,#00H;秒十位
MOV36H,#00H;秒个位
SETBIT0
SETBIT1
SETBPT0
SETBTR0
LOOP0:
JNBP1.6,TM;起/停按钮是否按下?
JBP1.6,TD
TD:
CLREA
LCALLDISP
LJMPLOOP0
TM:
SETBEA
LCALLDISP
LJMPLOOP0
INTT0:
JNBP3.0,SS0;秒/分显示
JNBP3.1,SS1;分/时显示
SS0:
MOVTL0,#0FEH
MOVTH0,#0FFH
LJMPAA
SS1:
MOVTL0,#0E0H
MOVTH0,#0B1H
LJMPAA
AA:
PUSHACC
PUSHPSW
INC36H
MOVA,36H
CJNEA,#25,PLL
MOV32H,#0BH
PLL:
CJNEA,#50,ENDD;1S
MOV32H,#0AH
MOV36H,#00H
INC35H
MOVA,35H
CJNEA,#60,ENDd;分个位
MOV35H,#00H
INC34H
MOVA,34H
CJNEA,#0AH,ENDd;分个位
MOV34H,#00H
INC33H
MOVA,33H
CJNEA,#06H,ENDd;分十位
MOV33H,#00H
INC31H
MOVA,30H
CJNEA,#02H,END1
MOVA,31H
CJNEA,#04H,END1;时个位
MOV31H,#00H
MOV30H,#00H
END1:
MOVA,31H
CJNEA,#0AH,ENDd;时十位
MOV31H,#00H
INC30H
ENDd:
POPPSW
POPACC
RETI
DISP:
PUSHACC
PUSHPSW
MOVA,30H;显示要显示的数字时十位
MOVB,#08H
MULAB
MOV3BH,A
MOVR4,#00H
MOVR5,#08H
LOOP00:
MOVA,3BH
MOVDPTR,#TABE
MOVCA,@A+DPTR
MOVP2,R4
MOVP0,A
MOVP1,#0FEH
INC3BH
INCR4
LCALLDELAY
DJNZR5,LOOP00
MOVA,31H;显示要显档的数字时个位
MOVB,#08H
MULAB
MOV3BH,A
MOVR4,#00H
MOVR5,#08H
LOOP11:
MOVA,3BH
MOVDPTR,#TABE
MOVCA,@A+DPTR
MOVP2,R4
MOVP0,A
MOVP1,#0FDH
INC3BH
INCR4
LCALLDELAY
DJNZR5,LOOP11
MOVA,32H;显示要显档的数字光标点位
MOVB,#08H
MULAB
MOV3BH,A
MOVR4,#00H
MOVR5,#08H
LOOP22:
MOVA,3BH
MOVDPTR,#TABE
MOVCA,@A+DPTR
MOVP2,R4
MOVP0,A
MOVP1,#0FBH
INC3BH
INCR4
LCALLDELAY
DJNZR5,LOOP22
MOVA,33H;显示要显档的数字分十位
MOVB,#08H
MULAB
MOV3BH,A
MOVR4,#00H
MOVR5,#08H
LOOP33:
MOVA,3BH
MOVDPTR,#TABE
MOVCA,@A+DPTR
MOVP2,R4
MOVP0,A
MOVP1,#0F7H
INC3BH
INCR4
LCALLDELAY
DJNZR5,LOOP33
MOVA,34H;显示要显档的数字分个位
MOVB,#08H
MULAB
MOV3BH,A
MOVR4,#00H
MOVR5,#08H
LOOP44:
MOVA,3BH
MOVDPTR,#TABE
MOVCA,@A+DPTR
MOVP2,R4
MOVP0,A
MOVP1,#0EFH
INC3BH
INCR4
LCALLDELAY
DJNZR5,LOOP44
POPPSW
POPACC
RET
DELAY:
MOV37H,#44
DEL:
MOV38H,#4
DJNZ38H,$
DJNZ37H,DEL
RET
TABE:
;0
DB00H,18H,24H,24H,24H,24H,18H,00H
;1
DB00H,10H,30H,10H,10H,10H,38H,00H
;2
DB00H,18H,24H,04H,18H,20H,3CH,00H
;3
DB00H,18H,24H,18H,04H,24H,18H,00H
;4
DB00H,08H,18H,28H,7CH,08H,08H,00H
;5
DB00H,1CH,10H,18H,04H,24H,18H,00H
;6
DB00H,1CH,24H,38H,24H,24H,18H,00H
;7
DB00H,3CH,28H,08H,10H,10H,10H,00H
;8
DB00H,18H,24H,18H,24H,24H,18H,00H
;9
DB
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 课程设计 LED 点阵 显示 电子 时钟
![提示](https://static.bdocx.com/images/bang_tan.gif)