求单片机大神,用汇编编写使动态数码管分别显示1-8,时间间隔1秒左右。

 我来答
匿名用户
2016-07-21
展开全部
使用中断就行了啊,C语言也是这样的,编译器会把C语言转换成汇编语言。然后再转换成HEX文件。下面是在你的程序上修改的,没试过,你编译一下看看有没错误
ORG 00H
LJMP MAIN
ORG 001BH ;定时器1入口地址
LJMP TIMER1_ISR
ORG 0100H

MAIN:
MOV TMOD,#10H
MOV TL1,#0F0H
MOV TH1,#0D8H ;赋初值,定时10毫秒
SETB TR1
MOV IE,#88H
MOV R2,#20 ;R2的值可以随时修改
MOV R3,#100 ;100 * 10MS = 1S

DISP:
MOV A,R2 ;南北方向显示初值R2=20秒
MOV B,#10
DIV AB
MOV P0,A ;段选
MOV P2,#01 ;位选
ACALL D1ms ;延时
MOV P2,#00 ;清零
MOV P0,B
MOV P2,#02
ACALL D1ms
MOV P2,#00 ;清零
LJMP DISP ;这个地方就一直循环,怎样实现定时器的作用??
;*********** 定 时 1 秒 中 断 ***********
TIMER1_ISR:
MOV TL1,#0F0H
MOV TH1,#0D8H ;赋初值,定时10毫秒
PUSH ACC
PUSH PSW
DJNZ R3,TIMER1_END
MOV R3,#100
MOV A,R2
DEC R2
JNZ TIMER1_END
MOV R2,#20
TIMER1_END:
POP PSW
POP ACC
RETI
;************ 延 时 D1ms 程序***********
D1ms:
MOV R7,#02H
DL:
MOV R6,#0FFH
DL1:
DJNZ R6,DL1
DJNZ R7,DL
RET
;***************************************
END
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式