小弟是初学者啊,c51单片机的~是利用定时器/计数器产生2秒定时,每当2秒到时候更换指示灯闪烁,指示灯闪烁频率为0.2秒,(要用延时程序)求各位大神解一下~(汇编语言,带解释~!!)
ORG 0000H
LJMP MAIN
ORG 000BH
T0MS EQU NOT 50000 ; 50 mS 晶振 12.000 MHz
PJSBZ EQU 20H
PJSBZY EQU 21H
PST0: MOV TL0, #LOW T0MS ; T0 中断
MOV TH0, #HIGH T0MS
SETB PJSBZ ; 50 mS 标志
DJNZ R6, PST02
MOV R6, #40 ; 50 mS * 40 = 2 S
SETB PJSBZY ; 2 S 标志
PST02: RETI
MAIN: MOV TMOD, #01H
MOV IE, #82H ; 开 T0 中断
MOV SP, #30H
MOV TL0, #LOW T0MS ; TO 50MS 中断 计时 0
MOV TH0, #HIGH T0MS
SETB TR0
MOV R6, #40 ; 计时初值
MAIN1: MOV A, #7FH
MAIN2: JNB PJSBZ, $ ; 50 mS
CLR PJSBZ
RR A ; 顺流
MOV P1, A
JNB PJSBZY, MAIN2 ; 2 S
CLR PJSBZY
MAIN3: JNB PJSBZ, $ ; 50 mS
CLR PJSBZ
RL A ; 逆流
MOV P1, A
JNB PJSBZY, MAIN3 ; 2 S
CLR PJSBZY
AJMP MAIN1
END