ORG000H\x0d\x0aLJMPMAIN\x0d\x0aORG000BH
定时器0中断入口\x0d\x0aLJMPLOOP1\x0d\x0aORG0100H\x0d\x0aMAIN:\x0d\x0aMOVTMOD,#01H设置定时器工作模式\x0d\x0aMOVTL0,#0EFH设置定时器
初值\x0d\x0aMOVTH0,#0D8H\x0d\x0aSETBEA打开总中断\x0d\x0aSETBET0打开定时器0中断\x0d\x0aSETBTR0启动定时器0\x0d\x0aMOVP0,#0FFH\x0d\x0aMOVR0,#200延时
参数\x0d\x0aLOOP:\x0d\x0aCJNER0,#0,LOOP延时\x0d\x0aMOVA,#0EFH\x0d\x0aNEXT:\x0d\x0aMOVP0,A送值\x0d\x0aMOVR0,#50延时参数\x0d\x0aEXIT:\x0d\x0aCJNER0,#00H,EXIT延时一会儿\x0d\x0aRLAA循环左移【根据程序分许,该程序完成流水灯功能】\x0d\x0aLJMPNEXT\x0d\x0a\x0d\x0aLOOP1:定时器0中断函数\x0d\x0aMOVTL0,#0EFH定时器初值\x0d\x0aMOVTH0,#0D8H定时器初值\x0d\x0aDECR0\x0d\x0aRETI中断返回\x0d\x0aEND\x0d\x0a有疑问可以追问。ORG 000H
LJMP MAIN
ORG 000BH定时器0中断入口
LJMP LOOP1
ORG 0100H
MAIN:
MOV TMOD,#01H设置定时器工作模式
MOV TL0,#0EFH设置定时器初值
MOV TH0,#0D8H
SETB EA打开总中断
SETB ET0打开定时器0中断
SETB TR0启动定时器0
MOV P0,#0FFH
MOV R0,#200延时参数
LOOP:
CJNE R0,#0,LOOP延时
MOV A,#0EFH
NEXT:
MOV P0,A 送值
MOV R0,#50 延时参数
EXIT:
CJNE R0,#00H,EXIT 延时一会儿
RL A A循环左移【根据程序分许,该程序完成流水灯功能】
LJMP NEXT
LOOP1:定时器0中断函数
MOV TL0,#0EFH定时器初值
MOV TH0,#0D8H 定时器初值
DEC R0
RETI 中断返回
END
有疑问可以追问。
评论列表(0条)