chuong trinh tao xung
TRANSCRIPT
Vi xử lý 1
[email protected] Page 1
CÁC CHƯƠNG TRINH TẠO XUNG
;CHUONG TRINH TAO XUNG CO T = 2mS.
;CHU KY CONG TAC %T = 50%
;Th = %T x T = 50% x 2S = 1S.
;Tl = T - Th = 1S
;VAY Th = Tl = 1S
ORG 0000H
XUNG BIT P2.0
X0: CPL XUNG ;Tm
CALL T1SLESS3US ;1S - 3Tm
JMP X0 ;2Tm
;==================================================
I EQU 123
J EQU 200
K EQU 138
T50MSLESS3US: ;2Tm
PUSH 30H ;2Tm
PUSH 31H ;2Tm
MOV 30H,#I ;2Tm
X1T50MSLESS3US:
MOV 31H,#J ;2Tm x I
DJNZ 31H,$ ;2Tm x JI
Vi xử lý 1
[email protected] Page 2
DJNZ 30H,X1T50MSLESS3US ;2Tm x I
;BU 278Tm
;------------------------------
MOV 30H,#K ;2Tm
DJNZ 30H,$ ;2KxTm
;------------------------------
POP 31H ;2Tm
POP 30H ;2Tm
NOP ;Tm
RET ;2Tm
;--------------------------------------------------
;T50MSLESS3US = 15Tm + 2I(2 + J)Tm = 50.000Tm - 3Tm
;2I(2 + J)= 49982
;I(2 + J)= 24991
;CHON J = 200
;I = 24991/202 = 123,7178...
;0 < = I;J < = 255 VA I;J NGUYEN
;LAY I = 123
;SAI SO = [15Tm + 2I(2 + J)Tm] - [50.000Tm - 3Tm]
;SAI SO = [15Tm + 2x123(2 + 200)Tm] - [50.000Tm - 3Tm]
;SAI SO = -278Tm
;BU THIEU 278Tm
;MOV 30H,#K
;DJNZ 30H,$
Vi xử lý 1
[email protected] Page 3
;==================================================
T1SLESS3US: ;(2Tm)
PUSH 30H ;2Tm
MOV 30H,#20 ;2Tm
X1T1SLESS3US:
CALL T50MSLESS3US ;(50mS - 3Tm)x20 = 1S - 60Tm
DJNZ 30H,X1T1SLESS3US ;2Tm x 20 = 40Tm
POP 30H ;2Tm
NOP ;Tm x 7 = 7Tm
NOP
NOP
NOP
NOP
NOP
NOP
RET ;2Tm
END
Xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
;CHUONG TRINH TAO XUNG CO T = 100mS.
;CHU KY CONG TAC %T = 50%
;Th = %T x T = 50% x 100mS = 50mS.
;Tl = T - Th = 50mS
;VAY Th = Tl = 50mS
Vi xử lý 1
[email protected] Page 4
ORG 0000H
XUNG BIT P2.0
X0: CPL XUNG ;Tm
CALL T50MSLESS3US ;50mS - 3Tm
JMP X0 ;2Tm
;==================================================
I EQU 123
J EQU 200
K EQU 138
T50MSLESS3US: ;2Tm
PUSH 30H ;2Tm
PUSH 31H ;2Tm
MOV 30H,#I ;2Tm
X1T50MSLESS3US:
MOV 31H,#J ;2Tm x I
DJNZ 31H,$ ;2Tm x JI
DJNZ 30H,X1T50MSLESS3US ;2Tm x I
;BU 278Tm
;------------------------------
MOV 30H,#K ;2Tm
DJNZ 30H,$ ;2KxTm
;------------------------------
POP 31H ;2Tm
Vi xử lý 1
[email protected] Page 5
POP 30H ;2Tm
NOP ;Tm
RET ;2Tm
;--------------------------------------------------
;T50MSLESS3US = 15Tm + 2I(2 + J)Tm = 50.000Tm - 3Tm
;2I(2 + J)= 49982
;I(2 + J)= 24991
;CHON J = 200
;I = 24991/202 = 123,7178...
;0 < = I;J < = 255 VA I;J NGUYEN
;LAY I = 123
;SAI SO = [15Tm + 2I(2 + J)Tm] - [50.000Tm - 3Tm]
;SAI SO = [15Tm + 2x123(2 + 200)Tm] - [50.000Tm - 3Tm]
;SAI SO = -278Tm
;BU THIEU 278Tm
;MOV 30H,#K
;DJNZ 30H,$
;==================================================
T1SLESS3US: ;(2Tm)
PUSH 30H ;2Tm
MOV 30H,#20 ;2Tm
X1T1SLESS3US:
CALL T50MSLESS3US ;(50mS - 3Tm)x20 = 1S - 60Tm
DJNZ 30H,X1T1SLESS3US ;2Tm x 20 = 40Tm
POP 30H ;2Tm
Vi xử lý 1
[email protected] Page 6
NOP ;Tm x 7 = 7Tm
NOP
NOP
NOP
NOP
NOP
NOP
RET ;2Tm
END
Xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
;CHUONG TRINH TAO XUNG CO T = 100uS.
;CHU KY CONG TAC %T = 50%
;Th = %T x T = 50% x 100uS = 50uS.
;Tl = T - Th = 50uS
;VAY Th = Tl = 50uS
ORG 0000H
XUNG BIT P2.0
X0: CPL XUNG ;Tm
CALL T50USLESS3US ;50uS - 3Tm
JMP X0 ;2Tm
Vi xử lý 1
[email protected] Page 7
I EQU 18
T50USLESS3US: ;2Tm
PUSH 30H ;2Tm
MOV 30H,#I ;2Tm
DJNZ 30H,$ ;2Tm x I
POP 30H ;2Tm
NOP ;Tm
RET ;2Tm
;--------------------------------------------
;T50USLESS3US = 11Tm + 2IxTm = 50Tm - 3uS
;I =
END
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
;CHUONG TRINH TAO XUNG CO T = 1000uS.
;CHU KY CONG TAC %T = 50%
;Th = %T x T = 50% x 1000uS = 500uS.
;Tl = T - Th = 500uS
;VAY Th = Tl = 500uS
ORG 0000H
XUNG BIT P2.0
X0: CPL XUNG ;Tm
CALL T500USLESS3US ;500uS - 3Tm
JMP X0 ;2Tm
Vi xử lý 1
[email protected] Page 8
I EQU 243
T500USLESS3US: ;2Tm
PUSH 30H ;2Tm
MOV 30H,#I ;2Tm
DJNZ 30H,$ ;2Tm x I
POP 30H ;2Tm
NOP ;Tm
RET ;2Tm
;--------------------------------------------
;T500USLESS3US = 11Tm + 2IxTm = 500Tm - 3uS
;I =
END
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
;CHUONG TRINH TAO XUNG CO T = 10000uS.
;CHU KY CONG TAC %T = 50%
;Th = %T x T = 50% x 10000uS = 5000uS.
;Tl = T - Th = 5000uS
;VAY Th = Tl = 5000uS
ORG 0000H
XUNG BIT P2.0
X0: CPL XUNG ;Tm
CALL T5000USLESS3US ;5000uS - 3Tm
Vi xử lý 1
[email protected] Page 9
JMP X0 ;2Tm
I EQU 12
J EQU 200
K EQU 66
T5000USLESS3US: ;2Tm
PUSH 30H ;2Tm
PUSH 31H ;2Tm
MOV 30H,#I ;2Tm
X1T5000USLESS3US:
MOV 31H,#J ;2Tm x I
DJNZ 31H,$ ;2Tm x JI
DJNZ 30H,X1T5000USLESS3US ;2Tm x I
;BU 134Tm
;------------------------------
MOV 30H,#K ;2Tm
DJNZ 30H,$ ;2KxTm
;------------------------------
POP 31H ;2Tm
POP 30H ;2Tm
NOP ;Tm
RET ;2Tm
;--------------------------------------------------
;T5000USLESS3US = 15Tm + 2I(2 + J)Tm = 5000Tm - 3Tm
Vi xử lý 1
[email protected] Page 10
;2I(2 + J)= 4982
;I(2 + J)= 2491
;CHON J = 200
;I = 2491/202 = 12,3316...
;0 < = I;J < = 255 VA I;J NGUYEN
;LAY I = 12
;SAI SO = [15Tm + 2I(2 + J)Tm] - [5000Tm - 3Tm]
;SAI SO = [15Tm + 2x12(2 + 200)Tm] - [5000Tm - 3Tm]
;SAI SO = -134Tm
;BU THIEU 134Tm
;MOV 30H,#K
;DJNZ 30H,$
END
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
ORG 0000H
XUNG BIT P2.0
X0: SETB XUNG ;Tm [SETB bit]
NOP ;Tm [NOP]
NOP ;Tm
CLR XUNG ;Tm [CLR bit]
NOP
NOP
NOP
NOP
SJMP X0 ;2Tm [SJMP rel]
Vi xử lý 1
[email protected] Page 11
END
;T = Th + Tl = 3Tm + 7Tm = 10Tm = 10uS
;fXTAL = 12MHz, Tm = 1uS
;%T = (Th/T) x 100% = 30%
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
ORG 0000H
XUNG1 BIT P2.0
XUNG2 BIT P2.1
X0: CLR XUNG1 ;Tm
SETB XUNG2 ;Tm
NOP ;Tm
SETB XUNG1 ;Tm
CLR XUNG2 ;Tm
NOP ;Tm
NOP ;Tm
NOP ;Tm
SJMP X0 ;Tm
END
;T = Tl + Th = 3Tm + 7Tm = 10Tm = 10uS
;fXTAL = 12MHz, Tm = 1uS
;%T = (Th/T) x 100% = 70%
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
ORG 0000H
Vi xử lý 1
[email protected] Page 12
XUNG BIT P2.0
X0: CLR XUNG ;Tm [CLR bit]
NOP ;Tm [NOP]
NOP ;Tm
SETB XUNG ;Tm [SETB bit]
NOP
NOP
NOP
NOP
SJMP X0 ;2Tm [SJMP rel]
END
;T = Tl + Th = 3Tm + 7Tm = 10Tm = 10uS
;fXTAL = 12MHz, Tm = 1uS
;%T = (Th/T) x 100% = 70%