多功能数字时钟报告.docx
- 文档编号:7087749
- 上传时间:2023-01-17
- 格式:DOCX
- 页数:11
- 大小:181.85KB
多功能数字时钟报告.docx
《多功能数字时钟报告.docx》由会员分享,可在线阅读,更多相关《多功能数字时钟报告.docx(11页珍藏版)》请在冰豆网上搜索。
多功能数字时钟报告
工程设计报告
多功能数字钟系统设计
一、概述:
数字钟是一种用数字电路技术实现时、分、秒计时的装置,与机械式时钟相比具有更高的准确性、稳定性和直观性,因无机械装置,具有更长的使用寿命,方便携带,价格便宜,成为人们生活和工业应用的必需品。
数字钟从原理上讲是一种典型基于单片机的数字电路,其中包括了组合逻辑电路和时序电路。
因此,我们此次设计与制做数字钟就是为了了解数字钟的原理,从而学会制作数字钟.而且通过数字钟的制作进一步的了解各种在制作中用到的单片机和中小规模集成电路的作用及实用方法.且由于数字钟包括组合逻辑电路和时序电路.通过它可以进一步学习与掌握各种组合逻辑电路与时序电路的原理与使用方法.
二、设计指标:
112小时、24小时两种计时制;
2时、分、秒计时和显示;
3具有校时功能,可以分别对时及分进行单独校时,使其校正到标准时间;
4具有整点报时功能,仿中央人民广播电台报时信号,从59min50s起,每隔1s发出一次低音“嘟”,连续5次,到整点时,发出一次高音“哒”信号;
5具有秒表功能,按start键开始计秒,按stop键停止并显示,并设置复位功能;
三、总体设计方案
时钟功能设置:
利用计数器T0对基准时间计数形成秒(50ms计数20次),秒计60次形成分,分计60次形成小时,24小时计满清零。
中断产生后时间数据送入数据锁存器由通过8279动态扫描led显示时、分、秒和分隔符。
按键处理设置:
如果没有按键,时钟正常走时当按下K0键时,时钟停止走动:
按K1和K2按键可进行加1减1操作继续按K0键进行分钟和小时的调整:
最后按K0键将退出调整状态,时钟开始计时运行。
按键K3进入、退出秒表功能,K4按键为秒表的开始、停止,K5为复位。
系统结构设计方案:
1、系统硬件:
89C51×1、8279×1、74LS573×1、74LS138×1、LED数码管×8、4×4键盘、导线、电源。
2、系统硬件设计:
单片机89C51:
40引脚双列直插封装,其中P0.0-P0.7连接数据锁存器和8段led灯进行时分秒的输出,P2.4连接8279片选cs引脚负责选通8279工作,晶振及复位按典型电路,晶振频率为12MHz。
LED显示模块:
8段LED数码共阴极显示灯。
数据锁存:
74ls573负责数据锁存,即数据的输入和输出
键盘和显示控制:
8279负责键盘和显示功能。
8279分为二个部分:
键盘部分和显示部分。
键盘部分能够提供16按键阵列的扫描接口,键的按下可以是双键锁定或N键互锁。
键盘输入经过反弹跳电路自动消除前后沿按键抖动影响之后,被选通送入一个8字符的FIFO(先进先出栈)存储器。
如果送入的字符多于8个,则溢出状态置位。
按键输入后将中断输出线升到高电平向CPU发中断申请。
显示部分对8段LED提供显示接口。
8279有一个内部的16X8显示RAM,组成一对16X4存储器。
显示RAM可由CPU写入或读出。
显示方式有从右进入的计算器方式和从左进入的电传打字方式。
显示RAM每次读写之后,其地址自动加1。
其中DB0-DB7连接数据锁存器接收单片机的显示数据。
SL0-SL2连接74LS138实现键盘和显示灯的双控制。
A0与锁存器AB0连接实现控制命令的传送。
3、软件设计:
(软件代码见附录)
①精确计时程序:
为了精确计时基准时间产生1s采用计数器T0中断计数方式,经查阅资料使计数器T0工作于方式1即16位计数器方式,计数时,当TL0计满向TH0进位,当TH0也计满溢出使TF0置位。
产生50ms的计数设定N=50000,所以计数值n=65536-50000=15536控制字TH0=03CH,TL0=0B0H。
计数中断后执行中断服务程序:
计满20次形成1s;计满60s形成1min;计满60min形成1h;计满24h显示清零。
流程如图所示:
②数码管显示程序:
分别将秒个位、秒十位、分隔符-、分个位、分十位、分隔符-、时个位、时十位存入8个寄存器,并根据时间进行调整加一计数和清零
扫描显示程序中每次循环调用寄存器中的数值对应LED编码(如下表)通过固定的地址送入8279显示RAM,由8279控制自动显示。
字形
P3.7
P3.6
P3.5
P3.4
P3.3
P3.2
P3.1
P3.0
字形编码
dp
g
f
e
d
c
b
a
共阴
0
1
1
0
0
0
0
0
0
3FH
1
1
1
1
1
1
0
0
1
06H
2
1
0
1
0
0
1
0
0
5BH
3
1
0
1
1
0
0
0
0
4FH
4
1
0
0
1
1
0
0
1
66H
5
1
0
0
1
0
0
1
0
6DH
6
1
0
0
0
0
0
1
0
7DH
7
1
1
1
1
1
0
0
0
07H
8
1
0
0
0
0
0
0
0
7FH
9
1
0
0
1
0
0
0
0
6FH
写入程序中的选择表中:
TAB:
DB3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH
③8279初始化程序
8279的操作方式是通过单片机对8279送命令时来实现编程的。
当数据选择端A0置1时,单片机对8279写入数据命令字,读出的数据为状态字。
当A0置0时,单片机对8279送入显示数据。
对此次实验中的电路板P2.4连接着8279的片选信号CS,所以8279的地址应该是0EFFFH。
命令字#00表示8个字符左入口显示,编码扫描键盘,双键锁定。
命令字#0D1H表示将清除显示RAM全部清零。
命令字#22H用来设定外部输入CLK端的时钟分频的分频数N。
命令字#90H用来设定要写入显示器RAM的地址。
四、调试方案设计:
测试工具:
wave6000编译器,万用表,电源,烧录程序,烧录机
软件调试:
通过wave6000测试软件的书写错误、编译错误,然后进行单步跟踪调试查看寄存器和数据段变化是否符合自己想要的数据变化。
硬件测试:
用万用表测量各芯片的工作电压是否是额定值,各引脚的连接情况检查和电路板焊接问题。
五、测试结果:
软件调试通过编译且按照预想流程执行,但硬件烧录后电路出现了扫描过快和送数乱码的错误,分析原因可能是由于延时程序不够以及对8279的工作机制的没有透彻的理解,导致的扫描与输出不同步从而致使实验的失败。
六、实验感悟:
实验的时间是短暂的,但我们却经历了从不了解单片机到利用单片机来完成制作数字钟的过程,这个过程充实而富有挑战,大大提升了我们的编程能力和动手能力。
同时也将理论与实际有机地结合在一起,为我们今后的学习工作做了厚厚的铺垫,我们必将在学习中更好地实践并锻炼自己。
七、附录:
连线图:
代码:
ORG0000H
LJMPSTART
ORG000BH
LJMPINTT0
START:
MOVR0,#70H
MOVR7,#0CH
INIT:
MOV@R0,#00H
INCR0
DJNZR7,INIT
MOV72H,#10
MOV75H,#10
MOVTMOD,#01H
MOVTL0,#0B0H
MOVTH0,#03CH
SETBEA
SETBET0
SETBTR0
LCALLI8279
START1:
LCALLSCAN
LCALLKEYSCAN
SJMPSTART1
DL1MS:
MOVR6,#FFH
DL1:
MOVR7,#FFH
DL2:
DJNZR7,DL2
DJNZR6,DL1
RET
DL20MS:
ACALLSCAN
ACALLSCAN
ACALLSCAN
SCAN:
MOVA,78H
MOVB,#0AH
DIVAB
MOV71H,A
MOV70H,B
MOVA,79H
MOVB,#0AH
DIVAB
MOV74H,A
MOV73H,B
MOVA,7AH
MOVB,#0AH
DIVAB
MOV77H,A
MOV76H,B
I8279:
NOP
MOVDPTR,#0EFFFH
MOVA,#00H
MOVX@DPTR,A
MOVA,#0D1H
MOVX@DPTR,A
MOVA,22H
MOVX@DPTR,A
LCALLDL1MS
DISPLAY:
MOVDPTR,#0EFFFH
MOVA,#90H
MOVX@DPTR,A
MOVR0,#70H
MOVR2,#08H
LOOP2:
MOVDPTR,#TAB
MOVA,@R0
MOVCA,@A+DPTR
MOVDPTR,#0EFFEH
MOVX@DPTR,A
INCR0
DJNZR2,LOOP2
RET
TAB:
DB3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,40H
INTT0:
PUSHACC
PUSHPSW
CLRET0
CLRTR0
MOVTL0,#0B0H
MOVTH0,#03CH
SETBTR0
INC7BH
MOVA,7BH
CJNEA,#14H,OUTT0
MOV7BH,#00H
INC78H
MOVA,78H
CJNEA,#3CH,OUTT0
MOV78H,#00
INC79H
MOVA,79H
CJNEA,#3CH,OUTT0
MOV79H,#00
INC7AH
MOVA,7AH
CJNEA,#18H,OUTT0
MOV7AH,#00
OUTT0:
SETBET0
POPPSW
POPACC
RETI
KEYSCAN:
CLREA
JNBP1.0,KEYSCAN0
JNBP1.1,KEYSCAN1
JNBP1.2,KEYSCAN2
KEYOUT:
SETBEA
RET
KEYSCAN0:
LCALLDL20MS
JBP1.0,KEYOUT
WAIT0:
JNBP1.0,WAIT0
INC7CH
MOVA,7CH
CLRET0
CLRTR0
CJNEA,#03H,KEYOUT
MOV7CH,#00
SETBET0
SETBTR0
SJMPKEYOUT
KEYSCAN1:
LCALLDL20MS
JBP1.1,KEYOUT
WAIT1:
JNBP1.1,WAIT1
MOVA,7CH
CJNEA,#02H,KSCAN11
INC79H
MOVA,79H
CJNEA,#03CH,KEYOUT
MOV79H,#00
SJMPKEYOUT
KSCAN11:
INC7AH
MOVA,7AH
CJNEA,#18H,KEYOUT
MOV7AH,#00
SJMPKEYOUT
KEYSCAN2:
LCALLDL20MS
JBP1.2,KEYOUT
WAIT2:
JNBP1.2,WAIT2
MOVA,7CH
CJNEA,#02H,KSCAN21
INC79H
MOVA,79H
CJNEA,#0FFH,KEYOUT
MOV79H,#3B
SJMPKEYOUT
KSCAN21:
DEC7AH
MOVA,7AH
CJNEA,#0FFH,KEYOUT
MOV7AH,#17H
SJMPKEYOUT
END
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 多功能 数字 时钟 报告