Professional Documents
Culture Documents
Org 0H Up Bit P1.1 Down Bit P1.2 SETB P1.0 MOV R7,#2 Mov Tmod,#11H Acall Nutnhan Acall Napgiatri Acall Xuatxung SJMP Loop
Org 0H Up Bit P1.1 Down Bit P1.2 SETB P1.0 MOV R7,#2 Mov Tmod,#11H Acall Nutnhan Acall Napgiatri Acall Xuatxung SJMP Loop
Org 0H Up Bit P1.1 Down Bit P1.2 SETB P1.0 MOV R7,#2 Mov Tmod,#11H Acall Nutnhan Acall Napgiatri Acall Xuatxung SJMP Loop
Phú)
; muc 1 Td thay doi tu 10% den 90% Td= 1000 MC den 9000MC
; UP kiem tra 90%? N -> tang Y-> khong thay doi R7MAX=18
;DOWN kiem tra 10% ? N -> giam Y -> khong doi R7MIN=2
; buoc 1: doc nut nhan (chuong trinh con doc nut nhan)
ORG 0H
UP BIT P1.1
MOV R7,#2
MOV TMOD,#11H
ACALL XUATXUNG
SJMP LOOP
NUTNHAN: JB UP,NUTDOWN
CJNE R7,#18,TANG
TANG: INC R7
SJMP EXIT
NUTDOWN: JB DOWN,EXIT
CJNE R7,#2,GIAM
SJMP EXIT
GIAM: DEC R7
EXIT: RET
MOV B,#5
MUL AB
CLR C
SUBB A,R7
MOV B,#5
MUL AB
RET
SETB P1.0
TD: MOV TH1,#HIGH(-100)
MOV TL1,#LOW(-100)
SETB TR1
JNB TF1,$
CLR TF1
CLR TR1
DJNZ R1,TD
CLR P1.0
MOV R1,30H
MOV TL1,#LOW(-100)
SETB TR1
JNB TF1,$
CLR TF1
CLR TR1
DJNZ R1,THAP
RET
L: MOV TH0,#HIGH(-50000)
MOV TL0,#LOW(-50000)
SETB TR0
JNB TF0,$
CLR TF0
CLR T0
DJNZ R3, L
RET
END
ORG 0
MOV TMOD,#10H
MOV P2,#0FFH
CLR C
MAIN: MOV A,P2 ; BUOC 1, VD: P2=1011 0101 -> 4 BIT THAP 0101
MOV R1,#4
JC PULSE1 ; BUOC 3
LCALL DELAY14T
CLR P1.0
LCALL DELAY34T
SJMP EXIT
LCALL DELAY34T
CLR P1.0
LCALL DELAY14T
MOV R1,#4
LCALL DELAY12T
CLR P1.0
LCALL DELAY12T
SJMP MAIN
DELAY14T:
MOV TH1,#HIGH(-12500)
MOV TL1,#LOW(-12500)
SETB TR1
JNB TF1,$
CLR TF1
CLR TR1
RET
DELAY34T:
MOV TH1,#HIGH(-37500)
MOV TL1,#LOW(-37500)
SETB TR1
JNB TF1,$
CLR TF1
CLR TR1
RET
DELAY12T:
MOV TH1,#HIGH(-25000)
MOV TL1,#LOW(-25000)
SETB TR1
JNB TF1,$
CLR TF1
CLR TR1
RET
END
Ghi chú: Có thể viết ngắn hơn, để tạo các chương trình delay khác nhau, có thể thay đổi số
vòng lặp R1…
DJNZ R1, L1
RET
DJNZ R1, L2
RET
MOV TL1,#LOW(-500)
SETB TR1
JNB TF1,$
CLR TF1
CLR TR1
RET