多功能数字时钟报告.docx

上传人:b****5 文档编号:7087749 上传时间:2023-01-17 格式:DOCX 页数:11 大小:181.85KB
下载 相关 举报
多功能数字时钟报告.docx_第1页
第1页 / 共11页
多功能数字时钟报告.docx_第2页
第2页 / 共11页
多功能数字时钟报告.docx_第3页
第3页 / 共11页
多功能数字时钟报告.docx_第4页
第4页 / 共11页
多功能数字时钟报告.docx_第5页
第5页 / 共11页
点击查看更多>>
下载资源
资源描述

多功能数字时钟报告.docx

《多功能数字时钟报告.docx》由会员分享,可在线阅读,更多相关《多功能数字时钟报告.docx(11页珍藏版)》请在冰豆网上搜索。

多功能数字时钟报告.docx

多功能数字时钟报告

 

工程设计报告

 

多功能数字钟系统设计

 

一、概述:

数字钟是一种用数字电路技术实现时、分、秒计时的装置,与机械式时钟相比具有更高的准确性、稳定性和直观性,因无机械装置,具有更长的使用寿命,方便携带,价格便宜,成为人们生活和工业应用的必需品。

数字钟从原理上讲是一种典型基于单片机的数字电路,其中包括了组合逻辑电路和时序电路。

因此,我们此次设计与制做数字钟就是为了了解数字钟的原理,从而学会制作数字钟.而且通过数字钟的制作进一步的了解各种在制作中用到的单片机和中小规模集成电路的作用及实用方法.且由于数字钟包括组合逻辑电路和时序电路.通过它可以进一步学习与掌握各种组合逻辑电路与时序电路的原理与使用方法.

二、设计指标:

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

 

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 高等教育 > 院校资料

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1