单片机1秒钟定时汇编语言怎么编?

单片机1秒钟定时汇编语言怎么编?急求!

可以有两种方法,设晶振为12M,则
第一种方法:用延时的方法实现
DELAY: MOV R3,#10;延时子程序,延时1秒
D1: MOV R4,#200
D2: MOV R5,#250
D3: DJNZ R5,D3
DJNZ R4,D2
DJNZ R3,D1
RET
END

第二种方法:用定时器的方法实现
————
MOV R1,#20
————
DLY: MOV TMOD,#00000001B;延时子程序,设定定时器的工作方式
D1: SETB TL0,#176(65536-50000); 15536/256 (余数)
SETB TH0,#60;设置初出溢出值50ms,定时2S (商)
SETB TR0 ;启动定时器
JNB TF0,$;是否溢出,没有溢出等待,溢出走一条指令
CLR TF0;清零溢出
DJNZ R1,D1;走20次,刚好1秒
RET
END
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2018-05-11
ORG 00H
START:
MOV TMOD,#01H
MOV R5,#14H
MOV TL0,#0B0H
MOV TH0,#03CH
SETB TR0
DJNZ R7,NEXT
CLR TR0
...
;这里写要处理的程序
...
JMP START
END

NEXT:
MOV TL0,#0B0H
MOV TH0,#03CH
RET

此程序在晶振频率为12MHz下定时一秒本回答被提问者和网友采纳
第2个回答  2019-01-04
ORG
00H
START:
MOV
TMOD,#01H
MOV
R5,#14H
MOV
TL0,#0B0H
MOV
TH0,#03CH
SETB
TR0
DJNZ
R7,NEXT
CLR
TR0
...
;里写要处理程序
...
JMP
START
END
NEXT:
MOV
TL0,#0B0H
MOV
TH0,#03CH
RET
此程序晶振频率12MHz下定时秒