51單片機定時器(彙編)

實驗內容

定時器控制流水燈的速度,但流水燈到邊緣的時候,自動調整方向,先反方向繼續流動

  1. 使用的是 定時器0

	ORG 	0000H
	LJMP 	MIAN
	ORG 	000BH
	LJMP 	T0_break
	ORG 	0200H
	
INIT:
	
	MOV 	TMOD,#01H	;定時器0爲方式1
	
	;定時器0計時100us
	MOV 	TL0,#0B0H
	MOV 	TH0,#3CH
	SETB 	ET0
	;開啓總中斷
	SETB 	EA
	
	RET
	
MIAN:
	LCALL 	INIT
	

	ACALL	PS0
LOOP:	
	JMP		LOOP

PS0:
	MOV 	R5,#0EFH
	MOV 	R4,#0AH
	MOV 	P2,#0FFH
	CPL 	TR0
	RET

T0_1:
	RETI
Inv_C:
	CPL 	C
	LJMP 	D2
	RET

T0_L:
	RR 		A
	MOV 	R5,A
	CPL 	P1.5
	RETI
T0_break:
	;重新裝載初始值
	MOV 	TL0,#0B0H
	MOV 	TH0,#3CH
	
	;10次流動一次
	DJNZ 	R4,T0_1;
	MOV 	R4,#0AH
	MOV 	P2,R5;
	
	MOV 	A,R5
	;判斷是否反向
	JNB 	P2.7, Inv_C 
	JNB 	P2.0, InV_C
D2:	JC 		T0_L
	RL 		A
	MOV 	R5,A
	CPL 	P1.5
	RETI
end

Thank for your reading!!!!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章