秒表时钟计时器设计2文档格式.docx

上传人:b****1 文档编号:15346896 上传时间:2022-10-29 格式:DOCX 页数:25 大小:283.04KB
下载 相关 举报
秒表时钟计时器设计2文档格式.docx_第1页
第1页 / 共25页
秒表时钟计时器设计2文档格式.docx_第2页
第2页 / 共25页
秒表时钟计时器设计2文档格式.docx_第3页
第3页 / 共25页
秒表时钟计时器设计2文档格式.docx_第4页
第4页 / 共25页
秒表时钟计时器设计2文档格式.docx_第5页
第5页 / 共25页
点击查看更多>>
下载资源
资源描述

秒表时钟计时器设计2文档格式.docx

《秒表时钟计时器设计2文档格式.docx》由会员分享,可在线阅读,更多相关《秒表时钟计时器设计2文档格式.docx(25页珍藏版)》请在冰豆网上搜索。

秒表时钟计时器设计2文档格式.docx

P0

P1

列驱动

图1-2硬件系统总体设计框架

第2章系统硬件电路的设计

秒表/时钟计数器的硬件电路如图8,采用AT89S51单片机,最小化应用设计;

采用共阴极七段LED显示器,P0口输出端数据,P20~P25口作为扫描输出,P10、P11、P12口接三个按键开关,用以调时及功能设置。

为了提供共阴极LED数码管的驱动电压,用三极管8550作电源驱动输出。

采用12MHZ晶振,有利于提高秒表计时的精确性。

2.1电源电路:

JP1是电源输入插孔。

S5为电源开关。

电路采用7805三端稳压管,为单片机提供稳定的工作电压(工作电压为5V)其1脚为输入端,2脚为接地端,3脚为输出端。

D1是二极管IN4007,并联在7805上,作用是反接保护电路。

C2是电源滤波电容,其值为200UF。

C1为高频去偶电容其值为0.1UF。

D2是一只发光二极管,作用为电源指示灯

图2-1电源电路

2.2下载口电路:

此下载口为10针型。

2、4脚分别接地,8脚接电源,P15,P16,P17三脚分别接单片机P15,P16,P17三脚。

5脚接单片机的RESET脚。

图2-2下载口电路

2.3复位电路:

此电路由一只10UF的电解电容,一只10K的电阻和一只按键开关组成。

图2-3复位电路

2.4振荡电路:

由12KHZ晶振组成时钟产生电路,为单片机提供时钟源。

图2-4振荡电路

2.5显示电路:

此电路由一只9脚和6只共阴极数码管组成。

P00口~PO7口分别接数码管的a~g段。

排组一脚接电源,数码管的G0~G5接单片机的P20~P25口。

图2-5显示电路

2.6键盘电路:

三只电阻为1K,K1,K2,K3是三只控制按键。

此电路作用为对时间的调试和校正。

图2-6键盘

第3章系统程序设计

3.1主程序

本设计中,计时采用定时器T0中断完成,其余状态循环调用显示子程序,当端口开关按下时,转入相应功能.

其主程序执行流程图如下:

图3-1主程序执行流程图

;

主程序

START:

LCALLST

MOVR0,#70H

MOVR7,#0BH

CLEARDISP:

MOV@R0,#00H

INCR0

DJNZR7,CLEARDISP

MOV20H,#00H

MOV7AH,#0AH

MOVTMOD,#11H

MOVTL0,#0B0H

MOVTH0,#3CH

MOVTL1,#0B0H

MOVTH1,#3CH

SETBEA

SETBET0

SETBTR0

MOVR4,#14H

3.2显示子程序

数码管显示的数据存放在内存单元70H~75H中。

其中70H~71H存放秒数据,72H~73H存放分数据,74H~75H存放时数据,每一地址单元内均为十进制BCD码。

由于采用软件动态扫描实现数据显示功能,显示用十进制BCD码数据的对应段码存放在ROM表中。

显示时,先取出70H~75H中的某一地址中的数据,然后查得对应的显示用段码,并从P0口输出,P2口将对应的数码管选中供电,就能显示该地址单元的数据值。

如果要显示小数点及“—”、“A”等特殊字符,在显示班级及计时时采用不同的显示子程序。

显示程序

显示数据在70H-75H单元内,用六位LED共阳数码管显示,P0口输出段数据,P2口作

扫描控制,每个LED数码管亮1ms时间,再逐位循环。

DISPLAY:

MOVR1,#70H

MOVR5,#0FEH

PLAY:

MOVA,R5

MOVP2,A

MOVA,@R1

MOVDPTR,#TAB

MOVCA,@A+DPTR

MOVP0,A

JBACC.2,LOOP5

SETBP0.7

LOOP5:

JBACC.4,LOOP6

LOOP6:

LCALLDL1MS

INCR1

JNBACC.5,ENDOUT

RLA

MOVR5,A

MOVP0,#00H

AJMPPLAY

ENDOUT:

MOVP2,#0FFH

RET

TAB:

DB3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,00H,77H,40H

共阳段码表"

0"

"

1"

2"

3"

4"

5"

6"

7"

8"

9"

不亮"

A"

-"

ST子程序,上电时显示年月班级用,采用移动显示

ST:

MOVR0,#40H

MOVR2,#20H

MOVR3,#00H

CLRA

MOVDPTR,#STAB

SLOOP:

MOV@R0,A

MOVA,R3

INCA

MOVR3,A

INCR0

DJNZR2,SLOOP

MOVR1,#5AH

MOVR3,#1BH

SSLOP:

MOVR2,#32H

SSLOOP1:

LCALLSDISPLAY

DJNZR2,SSLOOP11

MOVA,R1

SUBBA,#07H

MOVR1,A

DJNZR3,SSLOP

RET

SSLOOP11:

MOVA,R1

SUBBA,#06H

AJMPSSLOOP1

SDISPLAY,上显示程序

不带小数点显示,有"

"

显示功能

SDISPLAY:

SPLAY:

MOVDPTR,#TABS

JNBACC.5,ENDOUTS

AJMPSPLAY

ENDOUTS:

TABS:

STAB表,启动时显示2006-10-19(制作年月日),04-2-80(班级学号)

STAB:

DB0AH,0AH,0AH,0AH,0AH,0AH,00H,08H,0CH,02H,0CH,04H,00H,0AH,0AH,0AH

DB09H,01H,0CH,00H,01H,0CH,06H,00H,00H,02H,0AH,0AH,0AH,0AH,0AH,0AH

注:

0A不亮,0B显示"

.0C显示

3.3定时器T0中断服务程序

定时器T0用于时间计时。

定时溢出中断周期可分别设为50ms和10ms。

中断进入后,先判断是时钟计时还是秒表计时,时钟计时累计中断20次(即1S)时对秒计数单元进行加1操作,秒表计时每10ms进行加1操作。

时钟计数单元地址分别在70H~71H(秒)、76H~77H(分)和78H~79H(时),最大计时植为23时59分59秒。

而秒表计数单元地址也在70H71H(0。

01毫秒)、76H77H(秒)、和78H79H(分),最大计时为99分59.99秒。

7AHD单元内存放“熄灭符”数据(#0AH)。

在计数单元中采用十进制BCD码计数,满60进位,T0中断服务程序

执行流程图如下图:

 

时钟

图3-2T0中断服务程序

T0中断服务程序

INTT0:

PUSHACC

PUSHPSW

CLRET0

CLRTR0

JB03H,FSS

MOVA,#0B7H

ADDA,TL0

MOVTL0,A

MOVA,#3CH

ADDCA,TH0

MOVTH0,A

DJNZR4,OUTT0

ADDSS:

MOVR0,#71H

ACALLADD1

MOVA,R3

CLRC

CJNEA,#60H,ADDMM

ADDMM:

JCOUTT0

ACALLCLR0

MOVR0,#77H

CJNEA,#60H,ADDHH

ADDHH:

MOVR0,#79H

JB03H,OUTT0

CJNEA,#24H,HOUR

HOUR:

OUTT0:

MOV72H,76H

MOV73H,77H

MOV74H,78H

MOV75H,79H

POPPSW

POPACC

RETI

秒表计时程序(10min加1),低2位为0.10.01秒,中间2位为秒,最高2位为分。

最大计数值为99分59.99秒

FSS:

MOVA,#0F7H

MOVA,#0

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

当前位置:首页 > 初中教育 > 中考

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

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