28
;CHUONG TRINH DIEU KHIEN 8 LED CUA PORT 0 SANG TAT ORG 0000H LB: MOV P0,#11111111B ;8 LED TAT LB1: CALL DELAY100MS CLR C ;XOA C DE DICH VAO MOV A,P0 RRC A ;XOAY CHI DUNG CHO TG A MOV P0,A JC LB1 ;NHAY VE "LB1" NEU C = 1 ;SANG HET - TAT DAN LB2: SETB C ; SET C DE DICH VAO MOV A,P0 RRC A ;XOAY CHI DUNG CHO TG A MOV P0,A CALL DELAY100MS JNC LB2 ;NHAY VE "LB2" NEU C = 0 JMP LB $INCLUDE(TV_DELAY.ASM) END ;CHTR DK 1 LED 7 DOAN DEM TU 0 DEN 9 (H1) DEM EQU R4 (H2) ORG 0H

Chuong Trinh Dieu Khien 8 Led Cua Port 0 Sang Tat

Embed Size (px)

Citation preview

Page 1: Chuong Trinh Dieu Khien 8 Led Cua Port 0 Sang Tat

;CHUONG TRINH DIEU KHIEN 8 LED CUA PORT 0 SANG TAT

ORG 0000H

LB: MOV P0,#11111111B ;8 LED TAT

LB1: CALL DELAY100MS

CLR C ;XOA C DE DICH VAO

MOV A,P0

RRC A ;XOAY CHI DUNG CHO TG A

MOV P0,A

JC LB1 ;NHAY VE "LB1" NEU C = 1

;SANG HET - TAT DAN

LB2: SETB C ; SET C DE DICH VAO

MOV A,P0

RRC A ;XOAY CHI DUNG CHO TG A

MOV P0,A

CALL DELAY100MS

JNC LB2 ;NHAY VE "LB2" NEU C = 0

JMP LB

$INCLUDE(TV_DELAY.ASM)

END

;CHTR DK 1 LED 7 DOAN DEM TU 0 DEN 9

(H1) DEM EQU R4

(H2) ORG 0H

(H3)LB: MOV DPTR,#MA7DOAN

(H4) MOV DEM,#0

Page 2: Chuong Trinh Dieu Khien 8 Led Cua Port 0 Sang Tat

(H5)LB1: MOV A,DEM

(H6) MOVC A,@A+DPTR ;LẤY MÃ

(H7) MOV P0,A ;HIỂN THỊ

(H8) CALL DELAY1S

(H9) INC DEM

(H10) CJNE DEM,#10,LB1

(H11) JMP LB

(H13)MA7DOAN: DB 0C0H,0F9H,0A4H,0B0H,099H,092H,082H,0F8H,080H,090H

$INCLUDE(TV_DELAY.ASM)

END

;CHTR DK 1 LED 7 DOAN DEM TU 9 DEN 0

DEM EQU R2

ORG 0000H

LB: MOV DPTR,#1000H

MOV DEM,#9

LB1: MOV A,DEM

MOVC A,@A+DPTR

MOV P0,A

CALL DELAY1S

DEC DEM

CJNE DEM,#-1,LB1

JMP LB

ORG 1000H

DB 0C0H,0F9H,0A4H,0B0H,099H,092H,082H,0F8H,080H,090H

$INCLUDE(TV_DELAY.ASM)

END

;CHTR DK 2 LED 7 DOAN DEM TU 00 LEN 99

DEM EQU R2

ORG 0H

MOV DPTR,#MA7DOAN

Page 3: Chuong Trinh Dieu Khien 8 Led Cua Port 0 Sang Tat

LB: MOV DEM,#00H

LB1: CALL HEXTOBCD_GIAIMA ;MOI THEM VAO

CALL DELAY100MS

INC DEM

CJNE DEM,#100,LB1

JMP LB

HEXTOBCD_GIAIMA:

MOV A,DEM

MOV B,#10

DIV AB ;(A) = BCD_CHUC, (B)=BCD_DONVI

MOVC A,@A+DPTR ;LAY MA CHUC

MOV P2,A ;HIEN THI HANG CHUC

MOV A,B ;BCD DONVI => A

MOVC A,@A+DPTR ;LAY MA DONVI

MOV P0,A ;HIEN THI HANG DON VI

RET

MA7DOAN: DB 0C0H,0F9H,0A4H,0B0H,099H,092H,082H,0F8H,080H,090H

$INCLUDE(TV_DELAY.ASM)

END

;CHTR DK 2 LED 7 DOAN DEM TU 00 LEN 99 ROI DEM XUONG 00

DEM EQU R2

ORG 0000H

MOV DPTR,#MA7DOAN

LB: MOV DEM,#00H

LB1: CALL HEXTOBCD_GIAIMA ;MOI THEM VAO

CALL DELAY100MS

INC DEM

CJNE DEM,#100,LB1

;XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

LB2: DEC DEM

CALL HEXTOBCD_GIAIMA ;MOI THEM VAO

CALL DELAY100MS

CJNE DEM,#-1,LB2

JMP LB1

;XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

HEXTOBCD_GIAIMA:

MOV A,DEM

MOV B,#10

DIV AB ;(A) = BCD CHUC, (B)=BCD DONVI

MOVC A,@A+DPTR ;LAY MA CHUC

MOV P2,A ;HIEN THI HANG CHUC

MOV A,B ;BCD DONVI => A

MOVC A,@A+DPTR ;LAY MA DONVI

MOV P0,A ;HIEN THI HANG DON VI

RET

MA7DOAN: DB 0C0H,0F9H,0A4H,0B0H,099H,092H,082H,0F8H,080H,090H

$INCLUDE(TV_DELAY.ASM)

END

CTDK LED 7 ÑOAÏN ÑEÁM THÔØI GIAN TÖØ 000 ÑEÁN 250 – DUØNG P0 – LED ÑÔN

VÒ, P1 – LED CHUÏC VAØ P2 – LED TRAÊM.

Page 4: Chuong Trinh Dieu Khien 8 Led Cua Port 0 Sang Tat

;CHTR DK 2 LED 7 DOAN DEM TU 000 LEN 250

DEM EQU R2

ORG 0H

MOV DPTR,#MA7DOAN

LB: MOV DEM,#00H

LB1: CALL HEXTOBCD_GIAIMA ;MOI THEM VAO

CALL DELAY100MS

INC DEM

CJNE DEM,#251,LB1

JMP LB

HEXTOBCD_GIAIMA:

MOV A,DEM

MOV B,#10

DIV AB ;(A) = KQ1, (B)=BCD_DONVI

MOV 20H,B ;LUU BCD_DVI VAO ON CO ÑC 20H

MOV B,#10

DIV AB ; (A) = BCD_TRAM, (B)=BCD_CHUC

;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

MOVC A,@A+DPTR ;LAY MA TRAM

MOV P2,A ;HIEN THI HANG TRAM

MOV A,B ;BCD_CHUC => A

MOVC A,@A+DPTR ;LAY MA CHUC

MOV P1,A ;HIEN THI HANG CHUC

MOV A,20H ;BCD_DVI => A

MOVC A,@A+DPTR ;LAY MA DVI

MOV P0,A ;HIEN THI HANG DVI

RET

MA7DOAN: DB 0C0H,0F9H,0A4H,0B0H,099H,092H,082H,0F8H,080H,090H

$INCLUDE(TV_DELAY.ASM)

END

CAÙC CHÖÔNG TRÌNH CON TOÅNG QUAÙT

CHUYEÅN SOÁ HEX 8 BIT SANG 3 SOÁ BCD LÖU VAØO 3 ON 20H, 21H, 22H:

HEXTOBCD: MOV A,HEX8BIT

MOV B,#10

DIV AB

MOV 20H,B ;LUU BCD_DVI

Page 5: Chuong Trinh Dieu Khien 8 Led Cua Port 0 Sang Tat

MOV B, #10

DIV AB

MOV 21H,B ;LUU BCD_CHUC

MOV 22H,A ;LUU BCD_TRAM

RET

GIAIMA: MOV DPTR,#MA7DOAN

MOV A,20H

MOVC A,@A+DPTR

MOV 30H,A ;LUU MA_DVI

MOV A,21H

MOVC A,@A+DPTR

MOV 31H,A ;LUU MA_CHUC

MOV A,22H

MOVC A,@A+DPTR

MOV 32H,A ; LUU MA_TRAM

RET

HIENTHI_TT: MOV P0,30H

MOV P1,31H

MOV P2,32H

RET

CTDK 2 LED 7 ÑOAÏN ÑEÁM THÔØI GIAN TÖØ 00 ÑEÁN 99 – DUØNG P0 KEÁT NOÁI

VÔÙI 2 IC GIAÛI MAÕ 74247

DEM EQU R2

ORG 0H

LB: MOV DEM,#00H

LB1: CALL HEXTOBCD_HTHI ;MOI THEM VAO

CALL DELAY100MS

INC DEM

CJNE DEM,#100,LB1

JMP LB

HEXTOBCD_HTHI:

MOV A,DEM

MOV B,#10

DIV AB ;(A) = BCD_CHUC, (B)=BCD_DONVI

SWAP A ;CHUYEN HANG CHUC LEN 4 BIT CAO

ORL A,B

MOV P0,A ;GOI RA 2 IC GIAI MA DE HIEN THI

RET

$INCLUDE(TV_DELAY.ASM)

END

Page 6: Chuong Trinh Dieu Khien 8 Led Cua Port 0 Sang Tat
Page 7: Chuong Trinh Dieu Khien 8 Led Cua Port 0 Sang Tat

CAÙCH VIEÁT TREÂN SÖÛ DUÏNG HEÁT 8LED – TA COÙ CAÙCH THÖÙ 2

;CHTR DK 8 LED 7 DOAN QUET SANG SO 0 DEN SO 7

ORG 0H

LB: MOV P0,#0C0H ;0

CLR P2.0 ;TRANSISTOR T0 DAN

CALL DELAYX

SETB P2.0 ;TRANSISTOR T0 TAT

MOV P0,#0F9H ;1

CLR P2.1 ;TRANSISTOR T1 DAN

CALL DELAYX

SETB P2.1 ;TRANSISTOR T1 TAT

JMP LB

DELAYX: CALL DELAY1MS

RET

$INCLUDE(TV_DELAY.ASM)

END

CT ÑEÁM GIAÂY TÖØ 00 ÑEÁN 59 – HIEÅN THÒ TREÂN 2 LED 7 ÑOAÏN QUEÙT

;CHTR DK DEM GIAY

GIAY EQU R1

ORG 0H

MOV DPTR,#MA7DOAN

LB: MOV GIAY,#00

LB1: CALL HEXTOBCD ;CHUYEN HEX SANG SO BCD

CALL GIAIMA ;CHUYEN SO BCD SANG MA 7 DOAN

CALL DELAY_HTHI ;VUA DELAY VA VUA HIEN THI

INC GIAY ;01H,02

CJNE GIAY,#60,LB1

JMP LB

;XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

HEXTOBCD: MOV A,GIAY

MOV B,#10 ;KHI BIEN DICH THANH 0000 1010B

DIV AB ;(A)=BCD CHUC, (B)=BCD DONVI

RET ;TRO LAI CH TR CHINH

;XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Page 8: Chuong Trinh Dieu Khien 8 Led Cua Port 0 Sang Tat

GIAIMA: MOVC A,@A+DPTR ;GIAI MA HANG CHUC

MOV 31H,A ;CAT TAM MA 7 DOAN CUA CHUC VAO 31H

MOV A,B ;CHUYEN BCD DONVI SANG A

MOVC A,@A+DPTR ;GIAI MA HANG DON VI

MOV 30H,A

RET

;XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

DELAY_HTHI: MOV 78H,#200

DELHT: CALL HIENTHI

DJNZ 78H,DELHT

RET

HIENTHI: MOV P0,30H

CLR P2.0

CALL DELAY1MS

SETB P2.0

MOV P0,31H

CLR P2.1

CALL DELAY1MS

SETB P2.1

RET

$INCLUDE(TV_DELAY.ASM)

MA7DOAN: DB 0C0H,0F9H,0A4H,0B0H,099H,092H,082H,0F8H,080H,090H

END

CT ÑEÁM TÖØ 00 ÑEÁN 99 – HIEÅN THÒ TREÂN 2 LED 7 ÑOAÏN QUEÙT

;CHTR DK DEM GIAY

DEM EQU R1

ORG 0H

MOV DPTR,#MA7DOAN

LB: MOV DEM,#00

LB1: CALL HEXTOBCD ;CHUYEN HEX SANG SO BCD

CALL GIAIMA ;CHUYEN SO BCD SANG MA 7 DOAN

CALL DELAY_HTHI ;VUA DELAY VA VUA HIEN THI

INC DEM ;01H,02

CJNE DEM,#100,LB1

JMP LB

;XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

HEXTOBCD: MOV A,DEM

MOV B,#10 ;KHI BIEN DICH THANH 0000 1010B

DIV AB ;(A)=BCD CHUC, (B)=BCD DONVI

RET ;TRO LAI CH TR CHINH

GIAIMA: MOVC A,@A+DPTR ;GIAI MA HANG CHUC

Page 9: Chuong Trinh Dieu Khien 8 Led Cua Port 0 Sang Tat

MOV 31H,A ;CAT TAM MA 7 DOAN CUA CHUC VAO 36H

MOV A,B ;CHUYEN BCD DONVI SANG A

MOVC A,@A+DPTR ;GIAI MA HANG DON VI

MOV 30H,A

RET

DELAY_HTHI: MOV 78H,#200

DELHT: CALL HIENTHI

DJNZ 78H,DELHT

RET

HIENTHI: MOV P0,30H

CLR P2.0

CALL DELAY1MS

SETB P2.0

MOV P0,31H

CLR P2.1

CALL DELAY1MS

SETB P2.1

RET

$INCLUDE(TV_DELAY.ASM)

MA7DOAN: DB 0C0H,0F9H,0A4H,0B0H,099H,092H,082H,0F8H,080H,090H

END

DELAY204µS: MOV 70H,#100 ;2T

DJNZ 70H,$ ;2T × 100

RET ;2T

DELAY500µS: MOV 70H,#248 ;2T

DJNZ 70H,$ ;2T × 248

RET ;2T

DELAY1000µS: MOV 70H,#249 ;2T

XX: NOP ;1T× 249

NOP ;1T× 249

DJNZ 70H,XX ;2T × 249

RET ;2T

CT ÑEÁM PHUÙT GIAÂY – DUØNG PORT 0, 1

Page 10: Chuong Trinh Dieu Khien 8 Led Cua Port 0 Sang Tat

;CHTR DK DEM PHUT GIAY

PHUT EQU R2

GIAY EQU R1

ORG 0H

MOV DPTR,#MA7DOAN

LB: MOV PHUT,#00

LB2: MOV GIAY,#00

LB1: CALL HEXTOBCD ;CHUYEN HEX SANG SO BCD

CALL GIAIMA

CALL DELAY_HTHI

INC GIAY

CJNE GIAY,#60,LB1

INC PHUT

CJNE PHUT,#60,LB2

JMP LB

;XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

HEXTOBCD: MOV A,GIAY

MOV B,#10

DIV AB ;(A)=CHUC GIAY, (B)=DONVI GIAY

MOV 20H,B

MOV 21H,A

MOV A,PHUT

MOV B,#10

DIV AB ;(A)=CHUC PHUT, (B)=DONVI PHUT

MOV 23H,B

MOV 24H,A

RET

GIAIMA: MOV A,20H

MOVC A,@A+DPTR ;GIAI MA HANG DON VI GIAY

MOV 30H,A ;(30H) LUU MA7DOAN DVI GIAY

MOV A,21H

MOVC A,@A+DPTR ;CHUC GIAY

MOV 31H,A ;(31H) LUU MA7DOAN CHUC GIAY

Page 11: Chuong Trinh Dieu Khien 8 Led Cua Port 0 Sang Tat

MOV A,23H

MOVC A,@A+DPTR ;DON VI PHUT

MOV 33H,A ;(33H) LUU MA7DOAN DVI PHUT

MOV A,24H

MOVC A,@A+DPTR ;CHUC PHUT

MOV 34H,A ;(34H) LUU MA7DOAN CHUC PHUT

RET

DELAY_HTHI: MOV 78H,#100

DELHT: CALL HIENTHI

DJNZ 78H,DELHT

RET

HIENTHI: MOV P0,30H ;HTHI DV GIAY

CLR P2.0

CALL DELAY1MS

SETB P2.0

MOV P0,31H ;HTHI CHUC GIAY

CLR P2.1

CALL DELAY1MS

SETB P2.1

MOV P0,33H ;HTHI DV PHUT

CLR P2.3

CALL DELAY1MS

SETB P2.3

MOV P0,34H ;HTHI CHUC PHUT

CLR P2.4

CALL DELAY1MS

SETB P2.4

RET

$INCLUDE(TV_DELAY.ASM)

MA7DOAN: DB 0C0H,0F9H,0A4H,0B0H,099H,092H,082H,0F8H,080H,090H

END

CT ÑEÁM GIÔØ PHUÙT GIAÂY – DUØNG PORT 0, 1

Page 12: Chuong Trinh Dieu Khien 8 Led Cua Port 0 Sang Tat

;CHTR DK DEM PHUT GIAY

GIO EQU R3

PHUT EQU R2

GIAY EQU R1

ORG 0H

MOV DPTR,#MA7DOAN

LB: MOV GIO,#10

LB3: MOV PHUT,#01

LB2: MOV GIAY,#00

LB1: CALL HEXTOBCD ;CHUYEN HEX SANG SO BCD

CALL GIAIMA

CALL DELAY_HTHI

INC GIAY

CJNE GIAY,#60,LB1

INC PHUT

CJNE PHUT,#60,LB2

INC GIO

CJNE GIO,#24,LB3

JMP LB

HEXTOBCD: MOV A,GIAY

MOV B,#10

DIV AB ;(A)=CHUC GIAY, (B)=DONVI GIAY

MOV 20H,B

MOV 21H,A

MOV A,PHUT

MOV B,#10

DIV AB ;(A)=CHUC PHUT, (B)=DONVI PHUT

MOV 23H,B

MOV 24H,A

MOV A,GIO

MOV B,#10

DIV AB ;(A)=CHUC GIO, (B)=DONVI GIO

MOV 26H,B

Page 13: Chuong Trinh Dieu Khien 8 Led Cua Port 0 Sang Tat

MOV 27H,A

RET

GIAIMA: MOV A,20H

MOVC A,@A+DPTR ;GIAI MA HANG DON VI GIAY

MOV 30H,A ;(37H) LUU MA7DOAN DVI GIAY

MOV A,21H

MOVC A,@A+DPTR ;CHUC GIAY

MOV 31H,A ;(36H) LUU MA7DOAN CHUC GIAY

MOV A,23H

MOVC A,@A+DPTR ;DON VI PHUT

MOV 33H,A ;(35H) LUU MA7DOAN DVI PHUT

MOV A,24H

MOVC A,@A+DPTR ;CHUC PHUT

MOV 34H,A ;(34H) LUU MA7DOAN CHUC PHUT

MOV A,26H

MOVC A,@A+DPTR ;DON VI PHUT

MOV 36H,A ;(35H) LUU MA7DOAN DVI PHUT

MOV A,27H

MOVC A,@A+DPTR ;CHUC PHUT

MOV 37H,A ;(34H) LUU MA7DOAN CHUC PHUT

RET

DELAY_HTHI: MOV 78H,#100

DELHT: CALL HIENTHI

DJNZ 78H,DELHT

RET

HIENTHI: MOV P0,30H ;HTHI DV GIAY

CLR P2.0

CALL DELAY1MS

SETB P2.0

MOV P0,31H ;HTHI CHUC GIAY

CLR P2.1

CALL DELAY1MS

SETB P2.1

MOV P0,33H ;HTHI DV PHUT

CLR P2.3

CALL DELAY1MS

SETB P2.3

MOV P0,34H ;HTHI CHUC PHUT

CLR P2.4

CALL DELAY1MS

SETB P2.4

MOV P0,36H ;HTHI CHUC PHUT

CLR P2.6

CALL DELAY1MS

Page 14: Chuong Trinh Dieu Khien 8 Led Cua Port 0 Sang Tat

SETB P2.6

MOV P0,37H ;HTHI CHUC PHUT

CLR P2.7

CALL DELAY1MS

SETB P2.7

RET

$INCLUDE(TV_DELAY.ASM)

MA7DOAN: DB 0C0H,0F9H,0A4H,0B0H,099H,092H,082H,0F8H,080H,090H

END

CTDK 8 LED SAÙNG TAÉT –P1 – DUØNG TIMER0 ÑEÅ DELAY 50000µS=50MS

;CHUONG TRINH DIEU KHIEN 8 LED CUA PORT 1 SANG TAT

ORG 0000H

MOV TMOD,#000000001B ;TIMER0 MOD1 DEM 16 BIT

LB1: MOV P1,#00H

CALL DELAY50MS

MOV P1,#0FFH

CALL DELAY50MS

JMP LB1

;XXXXXXXXXXXXXXXXXXXXXXXXXXXXX

DELAY50MS: MOV TH0,#3CH ;NAP GIA TRI BAT DAU LA 15536

MOV TL0,#0B0H ;3CB0H

SETB TR0 ;CHO TIMER0 DEM

JNB TF0,$

CLR TR0 ;NGUNG TIMER

CLR TF0 ;XOA CO TRAN DE BAO LAN SAU

RET

END

CTDK 8 LED SAÙNG TAÉT – DUØNG P1 –TIMER0 ÑEÅ DELAY 1S

;CHUONG TRINH DIEU KHIEN 8 LED CUA PORT 0 SANG TAT

ORG 0H

MOV TMOD,#00000001B ;TIMER0 MOD1 DEM 16 BIT

LB1: MOV P1,#00H

CALL DELAY1S

MOV P1,#0FFH

CALL DELAY1S

JMP LB1

;XXXXXXXXXXXXXXXXXXXXXXXXXXXXX

DELAY1S: MOV R7,#20

DEL1S: CALL DELAY50MS ;50MS×20=1S

DJNZ R7,DEL1S

RET

;XXXXXXXXXXXXXXXXXXXXXXXXXXXXX

DELAY50MS: MOV TH0,#3CH

MOV TL0,#0B0H ;3CB0H

SETB TR0 ;CHO TIMER0 DEM

JNB TF0,$

CLR TR0 ;NGUNG TIMER

CLR TF0 ;XOA CO TRAN DE BAO LAN SAU

RET

Page 15: Chuong Trinh Dieu Khien 8 Led Cua Port 0 Sang Tat

DELAY20S: MOV R6,#20

DEL20S: CALL DELAY1S

DJNZ R6,DEL20S

RET

;CT DEM XUNG NGOAI - DUNG COUNTER0 - HIEN THI KET QUA RA LED DON

ORG 0

MOV TMOD,#00000101B ;COUNTER0 C/T=1

SETB TR0 ;CHO TIMER0/COUNTER0 DEM

LB: MOV P1,TL0 ;LAY KQ DEM GOI RA HIEN THI

JMP LB

END

;CT DEM XUNG NGOAI - DUNG COUNTER0 - HIEN THI KET QUA 16 BIT RA LED DON

ORG 0

MOV TMOD,#00000101B ;COUNTER0 C/T=1

SETB TR0 ;CHO TIMER0/COUNTER0 DEM

MOV TL0,#240

LB: MOV P0,TL0 ;LAY KQ DEM GOI RA HIEN THI

MOV P1,TH0

JMP LB

END

CT ĐẾM XUNG NGOẠI HIỂN THỊ SỐ THẬP PHÂN TRÊN 3 LED 7 ĐOẠN KẾT

NỐI TRỰC TIẾP VỚI 3 PORT 0, 1, 2 –DÙNG COUNTER0 – KẾT QUẢ ĐẾM TỪ 0 ĐẾN 255

;CHTR DEM XUNG NGOAI HIEN THI TREN LED 7 DOAN

ORG 0H

MOV DPTR,#MA7DOAN

MOV TMOD,#00000101B ;COUNTER 0, MOD 1

SETB TR0 ;CHO TIMER DEM

LB: CALL HEXTOBCD ;CHUYEN HEX SANG SO BCD

CALL GIAIMA_HTHI

JMP LB

;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

;CHUYỂN KẾT QUẢ ĐẾM TRONG THANH GHI TL0 SANG SỐ BCD

;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

HEXTOBCD: MOV A,TL0

MOV B,#10

DIV AB ;CHIA LAN 1

MOV 20H,B ;LUU BCD_DVI VAO ON 20H

MOV B,#10

DIV AB ;CHIA LAN 2

MOV 21H,B ;LUU BCD_CHUC VAO ON 21H

MOV 22H,A ;LUU BCD_TRAM VAO ON 22H

RET

Page 16: Chuong Trinh Dieu Khien 8 Led Cua Port 0 Sang Tat

;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

;GIAI MA HIỂN THỊ: CHUYỂN SỐ BCD SANG MÃ 7 ĐOẠN

;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

GIAIMA_HTHI: MOV A,20H

MOVC A,@A+DPTR ;GIAI MA DVI

MOV P0,A

MOV A,21H

MOVC A,@A+DPTR ;GIAI MA CHUC

MOV P1,A

MOV A,22H

MOVC A,@A+DPTR ;GIAI MA TRAM

MOV P2,A

RET

MA7DOAN: DB 0C0H,0F9H,0A4H,0B0H,099H,092H,082H,0F8H,080H,090H

END

;CHTR DEM XUNG NGOAI HIEN THI TREN LED 7 DOAN

ORG 0H

MOV DPTR,#MA7DOAN

MOV TMOD,# 01010000B ;COUNTER 1, MOD 1

SETB TR1 ;CHO TIMER DEM

LB: CALL HEXTOBCD ;CHUYEN HEX SANG SO BCD

CALL GIAIMA

CALL HIENTHI

JMP LB

;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

HEXTOBCD:

MOV A,TL1

MOV B,#10

DIV AB

MOV 20H,B ;LUU TAM VAO O NHO 27H

MOV B,#10

DIV AB

MOV 21H,B

MOV 22H,A

RET

ĐÈN GIAO THÔNG XANH 1, VÀNG 1, ĐỎ 1, XANH 2, VÀNG 2, ĐỎ 2

XANH SÁNG 10 S, VÀNG SÁNG 5S VÀ ĐỎ SÁNG 15 GIÂY.

;CHUONG TRINH DIEU KHIEN DEN GIAO THONG XANH VANG DO DUNG P1

X1D2 EQU 10000100B ;=84H

V1D2 EQU 01000100B

Page 17: Chuong Trinh Dieu Khien 8 Led Cua Port 0 Sang Tat

D1X2 EQU 00100001B

D1V2 EQU 00100010B

ORG 0H

MOV TMOD,#000000001B ;TIMER0 MOD1 DEM 16 BIT

LB1: MOV P1,# X1D2

CALL DELAY10S

MOV P1,# V1D2

CALL DELAY5S

MOV P1,# D1X2

CALL DELAY10S

MOV P1,# D1V2

CALL DELAY5S

JMP LB1

;XXXXXXXXXXXXXXXXXXXXXXXXXXXXX

DELAY10S:CALL DELAY5S

CALL DELAY5S

RET

;XXXXXXXXXXXXXXXXXXXXXXXXXXXXX

DELAY12S:MOV R6,#12

DEL12S: CALL DELAY1S

DJNZ R6,DEL12S

RET

;XXXXXXXXXXXXXXXXXXXXXXXXXXXXX

DELAY5S: MOV R6,#5

DEL5S: CALL DELAY1S

DJNZ R6,DEL5S

RET

;XXXXXXXXXXXXXXXXXXXXXXXXXXXXX

DELAY1S: MOV R7,#20

DEL1S: MOV TH0,#HIGH(-50000)

MOV TL0,#LOW(-50000)

SETB TR0

JNB TF0,$

CLR TR0

CLR TF0

DJNZ R7,DEL1S

RET

END

CTR DK ĐÈN GIAO THÔNG XANH 1, VÀNG 1, ĐỎ 1, XANH 2, VÀNG 2, ĐỎ 2

XANH SÁNG 10 S, VÀNG SÁNG 5S VÀ ĐỎ SÁNG 15 GIÂY. HIỂN THỊ ĐƯỢC THỜI GIAN

BẰNG 4 LED 7 ĐOẠN

Page 18: Chuong Trinh Dieu Khien 8 Led Cua Port 0 Sang Tat

;CT DIEU KHIEN DEN GIAO THONG - DUNG DINH THOI TIMER0

;CO HIEN THI THOI GIAN

X1D2 EQU 84H ;1000 0100B

V1D2 EQU 44H ;0100 0100B

D1X2 EQU 21H ;0010 0001B

D1V2 EQU 22H ;0010 0010B

TG1 EQU R2

TG2 EQU R3

TGX EQU 20 ;THONG SO THOI GIAN XANH

TGV EQU 5 ;THONG SO THOI GIAN VANG

Page 19: Chuong Trinh Dieu Khien 8 Led Cua Port 0 Sang Tat

ORG 0

MOV DPTR,#MA7DOAN

;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

LB: MOV P1,# X1D2

MOV TG1,#TGX ;TG X1=20

MOV TG2,#(TGX+TGV+1) ;TG D2=25

LB1: CALL HEXGM_HTHI

CJNE TG1,#-1,LB1

;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

MOV P1,#V1D2

MOV TG1,#TGV

; MOV TG2,#TGV

LB2: CALL HEXGM_HTHI

CJNE TG1,#-1,LB2

;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

MOV P1,#D1X2

MOV TG1,#(TGX+TGV+1)

MOV TG2,#TGX

LB3: CALL HEXGM_HTHI

CJNE TG2,#-1,LB3

;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

MOV P1,#D1V2

; MOV TG1,#TGV

MOV TG2,#TGV

LB4: CALL HEXGM_HTHI

CJNE TG2,#-1,LB4

JMP LB

;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

HEXGM_HTHI: CALL HEXTOBCD

CALL GIAIMA

CALL DELAY_HIENTHI

DEC TG1 ;DECREMENT - GIAM

DEC TG2

RET

;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

HEXTOBCD: MOV A,TG1

MOV B,#10

DIV AB

MOV 20H,B

MOV 21H,A

MOV A,TG2

MOV B,#10

DIV AB

MOV 26H,B

MOV 27H,A

RET

;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

;CT CON GIAI MA SO BCD SANG MA 7 DOAN TUONG UNG

;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

GIAIMA: MOV A,20H

MOVC A,@A+DPTR

MOV 30H,A

Page 20: Chuong Trinh Dieu Khien 8 Led Cua Port 0 Sang Tat

MOV A,21H

MOVC A,@A+DPTR

MOV 31H,A

MOV A,26H

MOVC A,@A+DPTR

MOV 36H,A

MOV A,27H

MOVC A,@A+DPTR

MOV 37H,A

RET

;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

;CT CON DELAY CO KEM HIEN THI

;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

DELAY_HIENTHI: MOV 6FH,#01

DEL2: MOV 6EH,#0FFH

DEL1: CALL HIENTHI

DJNZ 6EH,DEL1

DJNZ 6FH,DEL2

RET

;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

;CT CON HIEN THI

;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

HIENTHI: MOV P0,30H

CLR P2.0 ;T0 ON

CALL DELAY1MS

SETB P2.0 ;T0 OFF

MOV P0,31H

CLR P2.1 ;T1 ON

CALL DELAY1MS

SETB P2.1 ;T1 OFF

MOV P0,35H

CLR P2.6 ;T6 ON

CALL DELAY1MS

SETB P2.6 ;T6 OFF

MOV P0,34H

CLR P2.7 ;T7 ON

CALL DELAY1MS

SETB P2.7 ;T7 OFF

Page 21: Chuong Trinh Dieu Khien 8 Led Cua Port 0 Sang Tat

RET

MA7DOAN: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H

$INCLUDE(TV_DELAY.ASM)

END

MOÄT HEÄ THOÁNG DUØNG VĐK COÙ 2 PORT ÑIEÀU KHIEÅN 16 LED ĐƠN

1. P0 ÑIEÀU KHIEÅN 8 LED SAÙNG TAÉT DAÀN VÔÙI TGIAN TREÅ LAØ 50MS (TIMER0)

2. P1 COÙ 1 ÑIEÅM SAÙNG DI CHUYEÅN VÔÙI TGIAN TREÅ LAØ 1S (TIMER1)

;CHUONG TRINH DIEU KHIEN

BDN EQU R2

;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

ORG 0000H ;DC CUA CHÖÔNG TRÌNH CHÍNH

JMP MAIN

;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

ORG 001BH ;DC CUA CT NGAT TIMER1

MOV TH1,#HIGH(-50000)

Page 22: Chuong Trinh Dieu Khien 8 Led Cua Port 0 Sang Tat

MOV TL1,#LOW(-50000)

INC BDN

CJNE BDN,#20,INT0EXIT

MOV BDN,#0

MOV A,P1

RL A

MOV P1,A

INT0EXIT: RETI ;RETURN FROM INTERRUPT

;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

MAIN: MOV IE,#10001000B ;CHO PHEP NGAT EA=1, ET1=1

MOV TMOD,#00010001B ;

SETB TR1 ;CHO TIMER1 DEM

MOV P1,#00000001B

MOV P3,#00H

MOV BDN,#0

MAIN1: CALL DELAY50MS

SETB C

MOV A,P3

RLC A

MOV P3,A

JNC MAIN1

MAIN2: CALL DELAY50MS

CLR C

MOV A,P3

RLC A

MOV P3,A

JC MAIN2

JMP MAIN1

;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

DELAY50MS:

MOV TH0,#HIGH(-50000)

MOV TL0,#LOW(-50000)

SETB TR0

JNB TF0,$

CLR TF0

CLR TR0

RET

END

;chtr dieu khien step motor quay lien tuc theo 1 chieu, thoi gian delay dai thi dong co quay cham

;thoi gain nho thi dong co quay nhanh, thoi gian qua nho thi dong co khong dap ung duoc se dung yen

Page 23: Chuong Trinh Dieu Khien 8 Led Cua Port 0 Sang Tat

;dung 1 port de dieu khien motor qua ic giao tiep 2803 - dung 4 bit thap hoac 4 bit cao

;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

outstep equ p1

org 0000h

main: mov outstep,#10001000b

lcall delay

mov outstep,#01000100b

lcall delay

mov outstep,#00100010b

lcall delay

mov outstep,#00010001b

lcall delay

sjmp main

;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

;chuong trinh con delay

;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

delay: mov r6,#0

del: mov r7,#0

djnz r7,$

djnz r6,del

ret

end

;chtr dieu khien step motor quay 1 vong roi ngung luon

;dung 1 port de dieu khien motor qua ic giao tiep 2803

;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

outstep equ p1

sobuoc equ 50 ;loai dco: 50x4=200 buoc

org 0000h

mov dptr,#datastep ;nap dia chi quan ly ma

mov r0,#0

mov r2,#sobuoc ;50 chu ky la vong

main2: mov r1,#4 ;1 chu ky 8 buoc

main1: mov a,r0

movc a,@a+dptr

mov outstep,a

lcall delay

inc r0

anl 00h,#03h ;anl r0 voi 00000011b

djnz r1,main1

Page 24: Chuong Trinh Dieu Khien 8 Led Cua Port 0 Sang Tat

djnz r2,main2

sjmp $ ;dung lai

;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

;chtr con delay

;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

delay: mov r6,#10h

del: mov r7,#0

djnz r7,$

djnz r6,del

ret

;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

;khai du lieu dieu khien dong co buoc

;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

datastep: db 10001000b

db 01000100b

db 00100010b

db 00010001b

end