基于单片机AT89C51控制的LED点阵屏显示时钟课程设计报告Word文档下载推荐.doc
《基于单片机AT89C51控制的LED点阵屏显示时钟课程设计报告Word文档下载推荐.doc》由会员分享,可在线阅读,更多相关《基于单片机AT89C51控制的LED点阵屏显示时钟课程设计报告Word文档下载推荐.doc(33页珍藏版)》请在冰豆网上搜索。
2.硬件设备及电路图………………………………………5
3.所用的材料清单…………………………………………10
4.单片机汇编程序及解释…………………………………13
5.组员分工…………………………………………………27
5.1倪坤.单片机汇编程序的设计…………………27
5.2倪翔.原理图及PCB的绘制……………………27
5.3采佳浩.硬件设计思路和控制思路设计…………286课程报告的总结及调试程………………………………29
1总体的设计方案及思路:
由中断产生的秒、分、小时数据,经转换子程序转换成适应LED点阵显示屏显示的数据,并通过单片机的输出功能输入到LED点阵显示屏,再通过显示扫描程序,显示出时钟的走时时间。
用计时程序来完成计时,数时功能,再通过单片机综合控制将数字显示出来。
由此可见,通过AT89C51单片机的控制功能,完全可以实现LED点阵显示电子钟。
1.1硬件结构:
根据项目的功能和要求,可采用AT89C51单片机作为核心控制器。
LED点钟电子钟系统组成包括:
晶振电路模块、复位电路模块、显示电路模块、显示行驱动电路模块、蜂鸣器电路模块、按键电路模块以及电源模块。
1.2控制思路:
LED点阵电子钟程序主要功能是屏幕显示时间稳定,精确。
所以按照分块设计的法可以把程序分为主程序、显示程序、计时程序,在后面还会加入闹钟程序。
主程序主要是用来初始化系统和控制各个子程序之间执行的顺序。
显示程序用来完成字在LED点阵上的显示,时钟的显示是使用4块8×
8点阵显示屏。
计时程序用来完成计时,数时功能。
闹钟程序用来完成时钟的闹钟功能。
2硬件设备图及电路图:
主要用到的硬件有:
AT89C52单片机,8×
8点阵屏,74LS373锁存器,74LS138译码器,12MHz晶振。
下有8×
8点阵显示屏图,8×
8点阵LED外观及引脚图,以及其等效电路图,只要其对应的DC、DR轴顺向偏压,即可使LED发亮。
例如如果想使下图中左上角LED点亮,则DC8=1,DR1=0即可。
应用时限流电阻可以放在DC轴或DR轴。
8×
8点阵LED外观及引脚如图:
上图为8×
8点阵LED等效电路,由此可以看出点阵是用64个LED组成的。
点阵LED扫描法介绍:
从上图图中可以看出,8×
8点阵共需要64个发光二极管组成,且每个发光二极管是放置在行线和列线的交叉点上,当对应的某一列置1电平,某一行置0电平,则相应的二极管就亮。
频率必须大于128赫兹,周期小于7.8毫秒即可符合视觉暂留要求。
此外一次驱动一列或一行(8盏LED)时需外加驱动电路提高电流,否则LED亮度会不足。
2.1点阵屏等效示意图:
2.2ISIS仿真示意图:
2.3protel原理图及PCB:
2.4硬件电路图设计:
根据项目的功能和要求LED点钟电子钟硬件系统的主要模块包括:
晶振电路模块、复位电路模块、显示电路模块、、按键电路模块。
其中晶振电路和复位电路构成了单片机最小系统。
晶振电路与复位电路构成的单片机最小系统用来完成计时功能,
以及对整个LED点阵显示电子钟的控制。
显示电路用来实现LED点阵的显示。
按键电路是一个必要的扩展电路,用来对电子钟时间进行调整,闹钟时间调整。
3.课程设计所用的材料清单:
3.1主要使用的芯片:
3.1.174LS373锁存器:
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.1.274LS138译码器:
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.1.3AT89C51单片机:
微处理器采用AT89C52系列单片机,AT89C52单片机是这几年在我国非常流行的单片机,是一种带8K字节闪存器的高性能单片机,可擦除存储器可以反复擦除100次,具有低功耗,高性能的特点,并且可与工业标准的MSC-51指令集和输出管脚相兼容,对于本设计需要实现的功能,完全可胜任。
LED点阵电子钟的设计主要是用AT89C52单片机进行控制,用12MHz的晶振来保证计时的精准性,用具有一定驱动能力的74LS373锁存器和74LS138译码器进行I/O口扩展,并在4块8×
8点阵上显示。
3.1.4其余材料
电阻:
10K*8
按钮开关:
3个
无极电容:
若干
有级电容:
晶体震荡器:
1个
4单片机的程序及注释:
ORG0000H
LJMPMAIN
ORG0003H
LJMPPINT0
ORG000BH
LJMPINTT0
ORG0013H
LJMPPINT1
ORG0030H
MAIN:
MOVSP,#60H
MOVTMOD,#01H
MOVTL0,#0e0H
MOVTH0,#0b1H
MOVIE,#87H
MOV30H,#01H;
时十位
MOV31H,#02H;
时个位
MOV32H,#0AH;
光标点位
MOV33H,#00H;
分十位
MOV34H,#00H;
分个位
MOV35H,#00H;
秒十位
MOV36H,#00H;
秒个位
SETBIT0
SETBIT1
SETBPT0
SETBTR0
LOOP0:
LCALLDISP
LJMPLOOP0
INTT0:
MOVTL0,#0e0H
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
INC30H
ENDd:
POPPSW
POPACC
RETI
DISP:
PUSHACC
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