使用动态数码管显示3.1415926和11.059260,间隔时间为1s,各位大佬,怎么写啊
好酷屋教程网小编为您收集和整理了使用动态数码管显示3.1415926和11.059260,间隔时间为1s,各位大佬,怎么写啊的相关教程:使用中断就行了啊,C语言也是这样的,编译器会把C语言转换成汇编语言。然后再转换成HEX文件。代码如下:ORG00HLJMPMAINORG001BH ;定时器1入口地址LJMPTIMER1_ISR
使用中断就行了啊,C语言也是这样的,编译器会把C语言转换成汇编语言。然后再转换成HEX文件。
代码如下:
ORG 00H
LJMP MAIN
ORG 001BH ;定时器1入口地址
LJMP TIMER1_ISR
ORG 0100H
MAIN:
MOVTMOD,#10H
MOVTL1,#0F0H
MOVTH1,#0D8H ;赋初值,定时10毫秒
SETBTR1
MOVIE,#88H
MOVR2,#20 ;R2的值可以随时修改
MOVR3,#100;100 * 10MS = 1S
DISP:
MOVA,R2 ;南北方向显示初值R2=20秒
MOVB,#10
DIVAB
MOVP0,A ;段选
MOVP2,#01 ;位选
ACALLD1ms ;延时
MOV P2,#00 ;清零
MOV P0,B
MOV P2,#02
ACALL D1ms
MOV P2,#00 ;清零
LJMPDISP ;这个地方就一直循环,怎样实现定时器的作用??
;*********** 定 时 1 秒 中 断 ***********
TIMER1_ISR:
MOVTL1,#0F0H
MOVTH1,#0D8H ;赋初值,定时10毫秒
PUSHACC
PUSHPSW
DJNZR3,TIMER1_END
MOVR3,#100
MOVA,R2
DECR2
JNZTIMER1_END
MOVR2,#20
TIMER1_END:
POPPSW
POPACC
RETI
;************ 延 时 D1ms 程序***********
D1ms:
MOV R7,#02H
DL:
MOV R6,#0FFH
DL1:
DJNZ R6,DL1
DJNZ R7,DL
RET
;***************************************
END。
以上就是好酷屋教程网小编为您收集和整理的大佬,数码管,间隔相关内容,如果对您有帮助,请帮忙分享这篇文章^_^
本文来源: https://www.haoku5.com/youxi/6412827142413591d80d64e4.html
相关推荐