简易时钟单片机.docx

上传人:b****4 文档编号:4280573 上传时间:2023-05-06 格式:DOCX 页数:9 大小:16.13KB
下载 相关 举报
简易时钟单片机.docx_第1页
第1页 / 共9页
简易时钟单片机.docx_第2页
第2页 / 共9页
简易时钟单片机.docx_第3页
第3页 / 共9页
简易时钟单片机.docx_第4页
第4页 / 共9页
简易时钟单片机.docx_第5页
第5页 / 共9页
简易时钟单片机.docx_第6页
第6页 / 共9页
简易时钟单片机.docx_第7页
第7页 / 共9页
简易时钟单片机.docx_第8页
第8页 / 共9页
简易时钟单片机.docx_第9页
第9页 / 共9页
亲,该文档总共9页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

简易时钟单片机.docx

《简易时钟单片机.docx》由会员分享,可在线阅读,更多相关《简易时钟单片机.docx(9页珍藏版)》请在冰点文库上搜索。

简易时钟单片机.docx

简易时钟单片机

简易电子时钟设计

一,设计要求:

1,P1.3行接地

2,设P1.3行上从左到右4个键依次为:

启动/停止键、切换键、加1键、清零键

3,开机后处于走时或不走时状态,显示预定的分秒值,不走时时分单元或秒单元对应小数点亮,走时时所有小数点不亮

4,启动/停止键的功能:

不走时时按下该键后从当前显示时间开始走时,分和秒单元均在00-59之间变化,走时按下该键后停止走时,显示当前时间

5,切换键的功能:

每按1次小数点亮的单元在分单元和秒单元之间切换

6,加1键的功能:

按1次小数点亮对应的单元加1,分和秒单元均在00-59之间变化

7,清零键的功能:

按下后分和秒显示的数值均为00

8,不走时状态时启动/停止键、切换键、加1键和清零键4个键均有效

9,走时状态时启动/停止键有效,其他3个键无效

 

二、硬件电路原理图:

 

三、设计思路

1、总体设计原理:

开始

设定分秒值

设秒的计数值=16

设为不走时状态

开启定时中断

指向秒单元

开启定时器

等待

开始读键

重赋定时器初值是否有键按下?

RETI

是否走时状态?

是启动键?

读键是切换键?

是否有键按下?

是否停止键?

是加1键?

秒计数值-1=0?

进入不走时状态是清零键?

改变分秒值RETI

显示分秒单元清零

RETI指针单元加一

改变指针

RETI进入运行状态

2、局部设计原理:

(1);读键

设定70H初值为0FFH

给P1送初值0FFH

P1的值送A

70H和A的值相等?

RETI

A值送回70H

Acc.4是否为0按下为启动/停止键

Acc.5是否为0按下为切换键

Acc,6是否为0按下为加一键

Acc,7是否为0按下为清零键

RETI

(2);改变分秒值

秒单元的值送AA值十进制调整

A值加一A值送回分单元

A值十进制调整A是否为60显示

A值送回秒单元分单元清零

A值是否为60显示RETI

秒单元清零

分单元送A

A值加一

四、程序编写调试过程回顾:

(1);十进制调整

调试时发现,按加一键时,分或秒会从零到九,又从零到五,之后又从零到九,从零到五如此重复变化,这是按照十六进制变化,返回程序查看时,发现加一键的程序设计中的分单元或秒单元中的值未进行十进制调整。

(2);分或秒单元清零

调试时发现,按加一键时,分或秒加到59时,再按一下会出现乱码,这是在加一键的程序设计中未对分或秒单元设置满60时清零分或秒单元。

(3);小数点

调试时发现,在走或不走时分或秒单元的小数点都会亮,不符合程序设计要求:

走时小数点不亮。

这是小数点的程序设计中为设置走时不亮的限制条件。

 

五、原程序:

ORG0000H

LJMPMAIN

ORG000BH

LJMPIT0P

ORG1000H

MAIN:

MOV43H,#00H

MOV42H,#00H

MOV41H,#00H

MOV40H,#00H

MOV70H,#0FFH

MOV33H,#00H

MOV34H,#00H

MOVR3,#16

CLR20H.0

SETB20H.1

MOVTMOD,#01H

MOVTL0,#0DDH

MOVTH0,#85H

SETBTR0

SETBET0

SETBEA

JMP$

IT0P:

MOVTL0,#0DDH

MOVTH0,#85H

JNB20H.0,NZ

MOVP1,#0FFH

MOVA,P1

CJNEA,70H,LOOP

DJNZR3,XIANSHI

MOVR3,#16

MOVA,#01H

ADDA,34H

DAA

MOV34H,A

CJNEA,#60H,XIANSHI

MOV34H,#00H

MOVA,#01H

ADDA,33H

DAA

MOV33H,A

CJNEA,#60H,XIANSHI

MOV33H,#00H

LCALLXIANSHI

RETI

NZ:

MOVP1,#0FFH

MOVA,P1

CJNEA,70H,LOOP1

RETI

LOOP1:

MOV70H,A

JNBACC.4,QD

JNBACC.5,ZH

JNBACC.6,JY

JNBACC.7,Q0

RETI

QD:

SETB20H.0

RETI

ZH:

CPL20H.1

LCALLXIANSHI

RETI

JY:

JNB20H.1,FDG

MOVA,#01H

ADDA,34H

DAA

MOV34H,A

CJNEA,#60H,XIANSHI

MOV34H,#00H

LCALLXIANSHI

RETI

FDG:

MOVA,#01H

ADDA,33H

DAA

MOV33H,A

CJNEA,#60H,XIANSHI

MOV33H,#00H

LCALLXIANSHI

RETI

Q0:

MOV33H,#00H

MOV34H,#00H

LCALLXIANSHI

RETI

LOOP:

MOV70H,A

JNBACC.4,NEXT

JNBACC.5,NEXT1

JNBACC.6,NEXT1

JNBACC.7,NEXT1

RETI

XIANSHI:

MOVDPTR,#TAB

MOVA,#0FH

ANLA,34H

MOVCA,@A+DPTR

MOV40H,A

MOVDPTR,#TAB1

MOVA,#0F0H

ANLA,34H

SWAPA

MOVCA,@A+DPTR

MOV41H,A

MOVDPTR,#TAB

MOVA,#0FH

ANLA,33H

MOVCA,@A+DPTR

MOV42H,A

MOVDPTR,#TAB1

MOVA,#0F0H

ANLA,33H

SWAPA

MOVCA,@A+DPTR

MOV43H,A

JB20H.0,LOOP3

JNB20H.1,FD

MOVA,40H

CLRC

MOVACC.0,C

MOV40H,A

LOOP3:

MOVSBUF,43H

JNBTI,$

CLRTI

MOVSBUF,42H

JNBTI,$

CLRTI

MOVSBUF,41H

JNBTI,$

CLRTI

MOVSBUF,40H

JNBTI,$

CLRTI

RETI

FD:

MOVA,42H

CLRC

MOVACC.0,C

MOV42H,A

LJMPLOOP3

RETI

NEXT:

CLR20H.0

LCALLXIANSHI

RETI

NEXT1:

RETI

TAB:

DB9H,7DH,07H,15H,71H,91H,81H,3DH,01H,11H

TAB1:

DB09H,7DH,07H,15H,71H,91H

END

六、心得体会:

在本次实验中,受益良多,在课本学习的本模糊不清的理论知识,通过本次实验都有了清晰的了解和比较熟练的掌握。

比如对定时器的使用、中断的使用和显示、查表、循环与分支程序设计等。

我也体会到了只是掌握了理论,而不会应用到实践中去,那就不是自己的知识。

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

当前位置:首页 > 自然科学 > 物理

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2