REP2:
MOV CX,5FFFH
REP10MS:
LOOP REP10MS
DEC AXAX-1->AX
CMP AX,0H比较AX和0的大小旅陵
JNE REP2AX不悔拍等于0则跳转到 REP2
就是机器没执行一条指令要170ns,数字仅供参考
让循环重复执行5FFF*5FFF次,达到碧镇羡秒级 具体的要自己调试
你真可爱,不是3秒的延时吗,当然得用定时器中断啦ORG 0000H
AJMP MAIN
ORG 000BH (定时器0中断)
AJMP INT0
MAIN: MOV A,P1(这里的灯泡连的是P1口)
MOV R3,#03H (三个一秒是三秒)
MOV R5, #14H (我射的单次定时是50毫秒,14H是让他循环20次,14H对应的十进制数20)
SETB TR0(开定时器)
SETB TF0
SETB EA
MOV TOMD,#01H(这里的01H是定时器工作模式1,游答其实一个16位的定时器)
MOV TH0,#3CH
MOV TL0,#0B0H (16进制的第一位应当以十字或字母开头,故是0B0H)
JB R6,NEXT (刚才做的记号是R6=1,JB 的意思是某位为1,则跳到神笑慧NEXT)
NEXT: MOV A,P1 (注意了我这里是8个灯,你要是一个灯的话,那就是你上面的值即可)
RCC A (8个灯循环每隔三秒的流水灯)
MOV P1,A (等在循环亮呢)
AJMP $
INT0: MOV TOMD,#01H(TMOD =01H 时TH0,TL0必须在响应中断时重写一遍)
MOV TH0,#3CH
MOV TL0,#0B0H
DJNZ R5,HUI (未循环到20次即14H,则回(HUI)到主程序继续循环直至20次)
DJNZ R3,HUI (未循环到3次上句话是循环20次的一共一秒的,再循环三次是3秒)
MOV R6,#01H (这是在做升族记号)
HUI: RETI
你算来着了,我今天刚注册的号,我的习惯只回答一次问题,正好我再给国防部做飞机探测器
,你要记住在大多数时是不用循环的,因为又费CPU,又耗时间,像定时炸d都用中断,然后用最普通的肖特基二极管来实现电打火,汇编语言不太熟了,我还得记记。
(狗凯是狗)
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)