单片机课程设计数字时钟.docx
- 文档编号:14449464
- 上传时间:2023-06-23
- 格式:DOCX
- 页数:17
- 大小:128.17KB
单片机课程设计数字时钟.docx
《单片机课程设计数字时钟.docx》由会员分享,可在线阅读,更多相关《单片机课程设计数字时钟.docx(17页珍藏版)》请在冰点文库上搜索。
单片机课程设计数字时钟
华北电力大学
科技学院
单片机课程设计报告
(20—20年度第学期)
题目:
电子时钟(LCD)
院系:
动力工程系
题目:
数字时钟
专业班级:
学号:
姓名:
指导老师:
一、功能
能实现定时、时间的调整(只能加不能减)、闹钟的设定(只能加不能减),当闹钟按键按下就进入闹钟设定,再按下那个键就进入时间显示,并且闹钟响铃时间是10秒钟。
其整个设计的电路图如下:
其中显示的是8个8段LED显示,单片机是80C51,外部晶振是12MHZ,其中和晶振连接的是两个47pF的电容。
单片机的p1.0~p1.3作为地址总线起到控制作用,p1.7在电路中用一个灯泡代替,在实际中接喇叭,起到闹钟的作用。
P0.0~p0.7作为数据总线,把单片机的信号输入到显示器上,p2.0~p2.7作为单片机的额数据总线,其作用在显示总起到位选的作用,决定8段LED的亮灭。
最下面的那个是RESPACK-8排阻,在电路中防止输入到显示的电压很小,是为输出提供电源的装置,配合显示器的显示。
在整个程序中时间的秒、分、时的计数分别存放在20H、21H、22H,闹钟的秒、分、时的计数分别存放在40H、41H、42H。
实现定时闹钟的程序有以下几个部分组成:
二、流程图
1、定时程序(时间的设定)
其程序流程图如下:
N
Y
2、
调时间的流程图
Y
NN
Y
N
N
Y
Y
NN
Y
N
N
Y
Y
NN
Y
N
N
Y
3、显示的流程图(因为显示的刚好是8个,所以不要去考虑左移的个数,直接跳转到初始值。
4、闹钟设定
N
Y
N
Y
Y
N
N
Y
三、总程序
ORG0000H
MOVP0,#00H
MOVP2,#00H
MOVSP,#60H
CLR20H
CLR21H
CLR22H
CLR40H
CLR41H
CLR42H
MOVDPTR,#TAB
VV:
MOVR6,#1
MM:
MOVR5,#4
NN:
MOVR4,#100
BB:
JNBP1.3,LPP
SJMPLL
LPP:
JNBP1.3,LPP0
SETB30H
AAC:
MOVR3,#1
AAB:
MOVR2,#4
AAA:
MOVR1,#100
CC0:
JNBP1.0,CC1;判断p1.0是否为按下
SJMPDD0
CC1:
JNBP1.0,LPP1;判断p1.0是否松开,松开秒钟加1
MOVA,40H
ADDA,#01H
DAA
CJNEA,#60H,CC2
CLRA
CC2:
MOV40H,A
DD0:
JNBP1.1,DD1;判断p1.1是否按下
SJMPEE0
DD1:
JNBP1.1,LPP2;判断p1.1是否松开,松开分钟加1
MOVA,41H
ADDA,#01H
DAA
CJNEA,#60H,DD2
CLRA
DD2:
MOV41H,A
EE0:
JNBP1.2,EE1;判断p1.2是否按下
SJMPHH1
EE1:
JNBP1.2,LPP3;判断p1.2是否松开,松开时钟加1
MOVA,42H
ADDA,#01H
DAA
CJNEA,#24H,EE2
CLRA
EE2:
MOV42H,A
HH1:
LCALLLP
JNBP1.3,LP1
DJNZR1,CC0
DJNZR2,AAA
DJNZR3,AAB
LCALLB2
SJMPAAC
LP1:
JNBP1.3,LPP4
LL:
CLR30H
LCALLC0
DJNZR4,BB
DJNZR5,NN
DJNZR6,MM
LCALLB2
SJMPVV
LPP0:
LCALLLP
NOP
NOP
NOP
SJMPLPP
LPP1:
LCALLLP
NOP
NOP
NOP
SJMPCC1
LPP2:
LCALLLP
NOP
NOP
NOP
SJMPDD1
LPP3:
LCALLLP
NOP
NOP
NOP
SJMPEE1
LPP4:
LCALLLP
NOP
NOP
NOP
SJMPLP1
C0:
JNBP1.0,C1;判断p1.0是否为按下
SJMPD0
C1:
JNBP1.0,LLP;判断p1.0是否松开,松开秒钟加1
MOVA,20H
ADDA,#01H
DAA
CJNEA,#60H,C2
CLRA
C2:
MOV20H,A
D0:
JNBP1.1,D1;判断p1.1是否按下
SJMPE0
D1:
JNBP1.1,LLP1;判断p1.1是否松开,松开分钟加1
MOVA,21H
ADDA,#01H
DAA
CJNEA,#60H,D2
CLRA
D2:
MOV21H,A
E0:
JNBP1.2,E1;判断p1.2是否按下
AJMPH0
E1:
JNBP1.2,LLP2;判断p1.2是否松开,松开时钟加1
MOVA,22H
ADDA,#01H
DAA
CJNEA,#24H,E2
CLRA
E2:
MOV22H,A
H0:
LCALLLP
RET
LLP:
LCALLLP
NOP;3个空指令是消除松开时执行指令的时间差
NOP
NOP
SJMPC1
LLP1:
LCALLLP
NOP
NOP
NOP
SJMPD1
LLP2:
LCALLLP
NOP
NOP
NOP
SJMPE1
B2:
MOVA,20H;设置秒钟
ADDA,#01H
DAA
DECA
CJNEA,#5FH,A1
CLRA
MOV20H,A
MOVA,21H;设置分钟
ADDA,#01H
DAA
DECA
CJNEA,#5FH,A2
CLRA
MOV21H,A
MOVA,22H;设置时钟
ADDA,#01H
DAA
MOV22H,A
CJNEA,#24H,LOOP
CLRA
MOV22H,A
SJMPLOOP
A1:
INCA
MOV20H,A
SJMPLOOP
A2:
INCA
MOV21H,A
LOOP:
DJNZR0,RR1
SETBP1.7
RR1:
MOVA,42H;比较时钟和闹钟的时间是否相等,相等把XRLA,22H;p1.7置高电平启动闹钟
CJNEA,#00H,QQ
MOVA,41H
XRLA,21H;异或相等为零
CJNEA,#00H,QQ
MOVA,40H
XRLA,20H
CJNEA,#00H,QQ
CLRP1.7
MOVR0,#10
QQ:
RET
LP:
MOVP2,#01111111B
JNB30H,WW
MOVA,40H
SJMPWW0
WW:
MOVA,20H;显示秒钟的个位
WW0:
MOVB,#10H
DIVAB
MOV50H,A
MOVA,B
MOVCA,@A+DPTR
MOVP0,A
LCALLDEL
MOVA,P2;显示秒钟的十位
RRA
MOVP2,A
MOVA,50H
MOVCA,@A+DPTR
MOVP0,A
LCALLDEL
MOVA,P2;显示'-'
RRA
MOVP2,A
MOVP0,#01000000B
LCALLDEL
MOVA,P2;显示分钟的个位
RRA
MOVP2,A
JNB30H,WW1
MOVA,41H
SJMPWW2
WW1:
MOVA,21H
WW2:
MOVB,#10H
DIVAB
MOV51H,A
MOVA,B
MOVCA,@A+DPTR
MOVP0,A
LCALLDEL
MOVA,P2;显示分钟的十位
RRA
MOVP2,A
MOVA,51H
MOVCA,@A+DPTR
MOVP0,A
LCALLDEL
MOVA,P2;显示'-'
RRA
MOVP2,A
MOVP0,#01000000B
LCALLDEL
MOVA,P2;显示时钟的个位
RRA
MOVP2,A
JNB30H,WW4
MOVA,42H
SJMPWW5
WW4:
MOVA,22H
WW5:
MOVB,#10H
DIVAB
MOV52H,A
MOVA,B
MOVCA,@A+DPTR
MOVP0,A
LCALLDEL
MOVA,P2;显示时钟的十位
RRA
MOVP2,A
MOVA,52H
MOVCA,@A+DPTR
MOVP0,A
LCALLDEL
RET
DEL:
MOVR7,#150;显示延迟150us
DJNZR7,$
RET
TAB:
DB3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH
END
总结
在整个设计中我们学到了在显示程序中的一些方法,比如说怎么实现动态显示,开始的时候总是显示不了,在经过把位选放慢就可以知道自己在设计程序中先显示后右移,所以没有显示的余光,使得显示出现异常。
在经过先右移后显示的情况下动态能够正常显示。
还有在设定闹钟的时候经常出现到了闹钟的设定时间不跳转,在经过在闹钟的设定的同时还要进行时间的调用,使得这次程序使用的都是程序的调用,把闹钟的设定看作一个主程序,就相当于p1.3按下之后进入闹钟的设定和显示,之后一直在查询p1.3再一次的按下,如果没有按下就一直查询是否有在调整闹钟。
若再一次按下p1.3就进入时间的设置和显示。
在显示中要设定一个参考量来决定是显示时间还是闹钟,我们在程序中用(30H)的数来作为参考量,如果是“1”则显示闹钟((40H)、(41H)、(42H))里面的数,如果是“0”则显示时间((20H)、(21H)、(22H))里面的数。
总的来说通过这次课程设计我们学到了如何去编写时间程序、闹钟的设定程序、显示程序。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 课程设计 数字 时钟
![提示](https://static.bingdoc.com/images/bang_tan.gif)