基于汇编语言编写的数码管显示时钟程序.docx
- 文档编号:28564703
- 上传时间:2023-07-19
- 格式:DOCX
- 页数:12
- 大小:167.56KB
基于汇编语言编写的数码管显示时钟程序.docx
《基于汇编语言编写的数码管显示时钟程序.docx》由会员分享,可在线阅读,更多相关《基于汇编语言编写的数码管显示时钟程序.docx(12页珍藏版)》请在冰豆网上搜索。
基于汇编语言编写的数码管显示时钟程序
XTAL2
RST
ALE
P1.0
P1.1
P1.2
P1.3
P1.4
P1.5
P1.6
P1.7
F0.1/AD1
F0.2/AD2
F0.3/AD3
F0.4/AD4
F0.5/AD5
F0.6/AD6
F0.7/AD7
P2.0/A8
P2.1/A9
F2.2/A10
F2.3/A11
F2.4/A12
F2.5/A13
F2.6/A14
F2.7/A15
F3.0/RXD
F3.1/TXD
F3.2/INT0
F3.3/INT1
P3.4/T0
P3.5/T1
P3.6/WRI
P3.7/R^—
如图用汇编语言编写的可调时钟(用定时器定时,不精准),此程序只是提供一个idea
操作:
最上面的键是开始调整键,后面依次为时分秒的切换键、加键、减键、调整完成键。
程序如下:
SHI
EQUR2
FEN
EQUR3
MIAO
EQUR4
CHANGEEQUR5
ORG
00H
LJMP
MAIN
ORG
000BH
//中断入口
LJMP
ITOR
ORG
60H
MAIN:
MOV
TMOD,#01H
//初始化定时器
MOV
TH0,#3CH
MOV
TL0,#0B0H
//50mS
SETBET0
SETB
EA
CLR
F0
//键盘设定标志位
MOV
R0,#00H
MOV
R1,#00H
MOV
P0,#0FFH
MOV
SHI,#00H
MOV
FEN,#00H
MOV
MIAO,#00H
MOV
CHANGE,#00H
SETB
TR0
//打开定时器
M1:
LJMPKEY
//键盘扫描
M2:
LCALLINIT
//动态显示
LJMP
M1
INIT:
MOV
A,SHI
//显示函数
MOV
B,#0AH
DIV
AB
MOV
40H,A
MOV
41H,B
CLR
P2.0
CLR
P2.1
CLRP2.2
JNB
F0,O1
CJNE
CHANGE,#00H,O1
CJNE
R1,#0,O1
MOV
P1,#00H
CPL
P2.7
LCALLDELAY
LJMP
O10
O1:
MOVDPTR,#TABLE
MOVA,40H
MOVCA,@A+DPTR
MOVP1,A
LCALLDELAY
MOVP1,#00H
O10:
CLRP2.0
CLRP2.1
SETBP2.2
JNBF0,O2
CJNECHANGE,#00H,O2
CJNER1,#0,O2
MOVP1,#00H
LCALLDELAY
LJMPO20
O2:
MOVDPTR,#TABLE
O20:
MOVA,41H
MOVCA,@A+DPTR
MOVP1,A
LCALLDELAY
MOVP1,#00H
CLRP2.0
SETBP2.1
CLRP2.2
MOVP1,#040H
LCALLDELAY
MOVP1,#00H
MOVA,FEN
MOVB,#0AH
DIVAB
MOV40H,A
MOV41H,B
CLRP2.0
SETBP2.1
SETBP2.2
JNBF0,O3
CJNECHANGE,#01H,O3
//显示小时
//显示分隔符
CJNER1,#0,O3
MOVP1,#00HLCALLDELAYLJMPO30
O3:
MOVDPTR,#TABLEMOVA,40HMOVCA,@A+DPTRMOVP1,ALCALLDELAYMOVP1,#00H
O30:
SETBP2.0
CLRP2.1
CLRP2.2
JNBF0,O4
CJNECHANGE,#01H,O4
CJNER1,#0,O4MOVP1,#00HLCALLDELAY
LJMPO40
O4:
MOVDPTR,#TABLE
MOVA,41H
MOVCA,@A+DPTR
MOVP1,A
LCALLDELAY
MOVP1,#00H//显示分钟
O40:
SETBP2.0
CLRP2.1
SETBP2.2
MOVP1,#040H
LCALLDELAY//显示分隔符
MOVP1,#00H
MOVA,MIAO
MOVB,#0AH
DIVAB
MOV40H,A
MOV41H,B
SETBP2.0
SETBP2.1
CLRP2.2
JNBF0,O5
CJNECHANGE,#02H,O5
CJNER1,#0,O5
MOVP1,#00H
LCALLDELAY
LJMPO50
O5:
MOVDPTR,#TABLE
MOVA,40H
MOVCA,@A+DPTR
MOVP1,A
LCALLDELAY
MOVP1,#00H
O50:
SETBP2.0
SETBP2.1
SETBP2.2
JNBF0,O6
CJNECHANGE,#02H,O6
CJNER1,#0,O6
MOVP1,#00H
LCALLDELAY
LJMPO60
O6:
MOVDPTR,#TABLE
MOVA,41H
MOVCA,@A+DPTR
MOVP1,A
LCALLDELAY
MOVP1,#00H//显示秒
O60:
RET
KEY:
MOVA,P0
XRLA,#0FFH
CJNEA,#00H,A1
LJMPM2
A1:
LCALLDELAY1
MOVA,P0
XRLA,#0FFH
CJNEA,#00H,KEY1
LJMPM2
KEY1:
CJNEA,#80H,KEY2//按键1、开始键
SETBF0
//CLRTR0
JNBP0.7,$
LJMPM2
KEY2:
CJNEA,#40H,KEY3//按键2、切换键
JNBF0,B1
INCCHANGE
MOVA,CHANGE
CJNEA,#03,B2
MOVCHANGE,#00H
B1:
JNBP0.6,$
LJMPM2
B2:
JNBP0.6,$
LJMPM2
KEY3:
CJNEA,#20H,KEY4//按键3、加键
JNBF0,C1
MOVA,CHANGE
CJNEA,#00,C2
INCSHI
CJNESHI,#24,C1
MOVSHI,#00H
C1:
JNBP0.5,$
LJMPM2
C2:
CJNEA,#01,C4
INCFEN
CJNEFEN,#60,C3
MOVFEN,#00H
C3:
JNBP0.5,$
LJMPM2
C4:
INCMIAO
CJNEMIAO,#60,C5
MOVMIAO,#00H
C5:
JNBP0.5,$
LJMPM2
KEY4:
CJNEA,#10H,KEY5//按键4、减键
JNBF0,D1
MOVA,CHANGE
CJNEA,#00,D2
CJNESHI,#00H,D0
MOVSHI,#24
D0:
DECSHI
D1:
JNBP0.4,$
LJMPM2
D2:
CJNEA,#01,D3
CJNEFEN,#00H,D00
MOVFEN,#60
D00:
DECFEN
JNBP0.4,$
LJMPM2
D3:
CJNEMIAO,#00H,D000
MOVMIAO,#60
D000:
DECMIAO
JNBP0.4,$
LJMPM2
KEY5:
JNBF0,D0000//按键5、停止键
D0000:
ITOR:
E0:
CLRF0
MOVR0,#00H
JNBP0.3,$
LJMPM2
MOVTH0,#3CH
MOVTL0,#0B0H
INCR0
JNBF0,E0
CPLP2.6
INC44H
MOVA,44H
CJNEA,#5,RETURN
MOV44H,#00H
LJMPE1
CJNER0,#19,RETURN
MOVR0,#00H
JBF0,E1
INCMIAO
CJNEMIAO,#60,RETURN
MOVMIAO,#00H
INCFEN
CJNEFEN,#60,RETURN
MOVFEN,#00H
INCSHI
CJNESHI,#24,RETURN
MOVSHI,#00H
LJMPRETURN
E1:
INCR1
CJNER1,#2,RETURN
MOVR1,#0
RETURN:
RETI
DELAY:
MOVR7,#255
DJNZR7,$
RET
DELAY1:
MOVR6,#115//10mS
DL1:
MOVR7,#248
DJNZR7,$
DJNZR6,DL1
RET
TABLE:
DB3FH,06H,5BH,4FH
DB66H,6DH,7DH,07H
DB7FH,6FH
END
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 汇编语言 编写 数码管 显示 时钟 程序