用汇编语言编写51单片机程序,让LED灯亮一秒灭一秒,无限循环,时钟是6

用汇编语言编写51单片机程序,让LED灯亮一秒灭一秒,无限循环,时钟是6mhz

第1个回答  2016-11-02
ORG 0000H
LJMP MAIN
ORG 000BH
LJMP T0ISR
ORG 0030H
MAIN:
MOV TMOD,#01H
MOV TH0,#HIGH(65536-50000)
MOV TL0,#LOW(65536-50000)
SETB TR0
SETB ET0
SETB EA
CLR P1.0
MOV R2,#10
SJMP $
T0ISR:
CLR TR0
MOV TH0,#HIGH(65536-50000)
MOV TL0,#LOW(65536-50000)
SETB TR0
DJNZ R2,T0E
CPL P1.0
MOV R2,#10
T0E:
RETI
END追问

大神能解释一下吗

大神能解释一下吗

追答

这么简单还需要注释?
MAIN:
MOV TMOD,#01H ;定时器0工作方式1
MOV TH0,#HIGH(65536-50000) ;初值为100毫秒中断一次
MOV TL0,#LOW(65536-50000)
SETB TR0 ;开启定时器0
SETB ET0 ;开启定时器0中断
SETB EA ;开启总中断
CLR P1.0 ;LED等点亮
MOV R2,#10 ;定时次数
SJMP $
T0ISR:
CLR TR0
MOV TH0,#HIGH(65536-50000) ;重赋初值
MOV TL0,#LOW(65536-50000)
SETB TR0
DJNZ R2,T0E ;定时次数减1直到0,非0时直接转T0E退出
CPL P1.0 ;10次中断到则LED取反
MOV R2,#10 ;重赋计数值
T0E:
RETI

本回答被提问者和网友采纳
相似回答