Professional Documents
Culture Documents
TI LI U H NG D N TH NGHI M - TH C HNH
K. H TH NG I U KHI N TIMER/COUNTER.
A. M C CH: Th c hnh l p trnh ng d ng trn my tnh, bin d ch chng trnh, n p vo vi i u khi n v s d ng m hnh th nghi m ki m ch ng. i u khi n thi t b ngo i vi b ng cc port c a vi i u khi n. Tm hi u cc ch ho t ng c a Timer v Counter. Kh o st nguyn l ho t ng v phng php l p trnh i u khi n Timer v Counter. Thi t k cc ng d ng th c t c s d ng cc b nh th i gian (Timer) v cc b m s ki n (Counter).
B. YU C U: N m v ng t p l nh c a vi i u khi n MCS-51. N m v ng phng php v n hnh cc Timer v Counter c trong chip vi i u khi n. Bi t cch l p trnh Timer v Counter cc ch khc nhau, cch tnh ton cc kho ng th i gian nh th i mong mu n. Thi t k v i u khi n c cc ng d ng c s d ng Timer v Counter nh: ng h , b m s n ph m,
Bin so n: Ph m Quang Tr
K. H TH NG I U KHI N TIMER/COUNTER. Bi 1: Chng trnh i u khi n m lin t c s l ng xung (0000 9999) c a vo chn T1 c a vi i u khi n v hi n th s l ng xung ny ln cc LED 7 o n (PULSE c n i v i chn T1, LED7 LED4 c n i v i Port0, SEL IN1 c n i v i Port1). 1 Trnh t ti n hnh th nghi m: 1.1 K t n i thi t b th nghi m. T t ngu n c p cho m hnh th nghi m. Dng dy bus 4 n i J64 (PORT1) kh i vi i u khi n v i J1 (SEL IN1) kh i LED 7 o n (ch l ta ch n i 4 bit th p c a J64 v i J1). Dng dy bus 8 n i J63 (PORT0 / DATA) kh i vi i u khi n v i J4 (7SEG IN MUL) kh i gi i m. Dng dy bus 1 n i J33 (PULSE) kh i t o xung v i J66 (PORT3 / FUNCTION) kh i vi i u khi n (ch l ta ch n i bit 5 (chn T1) c a J66 v J33 l i v i nhau). Dng dy bus 3 n i J113 (POWER) kh i t o xung v J110 (POWER) kh i LED 7 o n v i ngu n +5V kh i ngu n.
4
PORT 0
POWER
LED 7 OAN
7SEG7 IN 7SEG6 IN 7SEG5 IN 7SEG4 IN
8
7SEG7 IN MUL
VI IEU KHIEN
POWER SW
PORT 3
TAO XUNG
1
POWER PULSE
PORT 2
A0..A7
1.2 S
nguyn l c a h th ng:
P1.3 1 +5V +5V P1.2
RP1 C2
33p 2 3 4 5 6 7 8 9 10K P0.0/AD0 P0.1/AD1 P0.2/AD2 P0.3/AD3 P0.4/AD4 P0.5/AD5 P0.6/AD6 P0.7/AD7 P2.0/A8 P2.1/A9 P2.2/A10 P2.3/A11 P2.4/A12 P2.5/A13 P2.6/A14 P2.7/A15 P3.0/RXD P3.1/TXD P3.2/INT0 P3.3/INT1 P3.4/T0 P3.5/T1 P3.6/WR P3.7/RD 39 AD0 38 AD1 37 AD2 36 AD3 35 AD4 34 AD5 33 AD6 32 AD7 21 22 23 24 25 26 27 28 10 11 12 13 14 15 16 17 AD0 AD1 AD2 AD3 AD4 AD5 AD6 AD7
PORT 3
+5V
R2
1K
Q1
A1015
R3
1K
Q2
A1015
R11
1K
Q3
A1015
R12
1K
X1
12MHz
C1
33p
+5V 19
U1
XTAL1
R4 R5 R6 R7 R8 R9 R10
AD0 AD1 AD2 AD3 AD4 AD5 AD6 56 56 56 56 56 56 56 A B C D E F G
18
C3
10uF 9
XTAL2
A B C D E F G
A B C D E F G
A B C D E F G
A B C D E F G
RST
LED7
LED6
LED5
LED4
R1
10k 29 30 31 PSEN ALE EA
1 2 3 4 5 6 7 8
U1(P3.5/T1)
Bin so n: Ph m Quang Tr
PORT 1
Q4
A1015
NGUON +5V
40 PINS
PORT 1
K. H TH NG I U KHI N TIMER/COUNTER. Bi 1: Chng trnh i u khi n m lin t c s l ng xung (0000 9999) c a vo chn T1 c a vi i u khi n v hi n th s l ng xung ny ln cc LED 7 o n (PULSE c n i v i chn T1, LED7 LED4 c n i v i Port0, SEL IN1 c n i v i Port1). 1.3 V lu gi i thu t v vi t chng trnh i u khi n.
K1 BEGIN
MAIN: KH I NG TIMER (COUNTER 1, MODE 1) (TMOD) = 50H XA COUNTER 1 (TH1/TL1) = 0000H CHO COUNTER HO T (TR1) = 1 MP1: CS NG
BCD4TO7SEG
(XEM CTC NY T I V D B6 M7I)
DISP7SEGMUL4
(XEM CTC NY T I V D B6 MBI)
DELAYLED
(XEM CTC NY T I V D B3.1 MBI)
BIN16TOBCD
(XEM CTC NY T I PH N H NG D N C A V D K3)
DIV16TO8
(XEM CTC NY T I PH N H NG D N C A V D K3)
;*************************************************** ;CHUONG TRINH DIEU KHIEN TIMER/COUNTER DEM (0000 - 9999) VA HIEN THI XUNG TAI CHAN T1 ;*************************************************** ;KET NOI: PORT0 -> 7 SEGMENT (DP -> A) ; PORT1 -> SELECT LED ; PULSE -> T1 PIN ;*************************************************** ORG 00H MAIN: MOV TMOD,#50H ;COUNTER 16 BIT (MODE 1) MOV TH1,#0 ;XOA COUNTER 1 MOV TL1,#0 SETB TR1 ;CHO PHEP COUNTER BAT DAU HOAT DONG MP1: MOV R7,TH1 ;CHUYEN SO XUNG DEM DUOC (TH1, TL1) RA HIEN THI MOV R6,TL1 ACALL BIN16TOBCD ;DOI MA BIN SANG MA BCD ACALL BCD4TO7SEG ;DOI MA BCD SANG MA 7 DOAN ACALL DISP7SEGMUL4 ;HIEN THI GIA TRI LEN LED SJMP MP1 ;*************************************************** BIN16TOBCD: ;CTC CHUYEN DOI SO BINARY 16 BIT (<= 9999) SANG SO BCD. PUSH ACC PUSH B MOV B,#10 ACALL DIV16TO8 ;LAY R7,R6 CHIA CHO 10 PUSH B ;CAT SO HANG DON VI MOV B,#10 ACALL DIV16TO8 ;TIEP TUC CHIA CHO 10 PUSH B ;CAT SO HANG CHUC MOV B,#10 MOV A,R6 DIV AB ;TIEP TUC CHIA CHO 10 PUSH B ;CAT SO HANG TRAM, ACC CHUA SO HANG NGAN SWAP A ;DUA SO HANG NGAN LEN 4 BIT CAO POP B ;LAY SO HANG TRAM TU STACK ORL A,B ;KET HOP SO HANG NGAN VA SO HANG TRAM MOV R7,A ;R7 = NGAN - TRAM POP ACC ;LAY SO HANG CHUC TU STACK SWAP A ;DUA SO HANG CHUC LEN 4 BIT CAO POP B ;LAY SO HANG DON VI TU STACK
Bin so n: Ph m Quang Tr
K. H TH NG I U KHI N TIMER/COUNTER. Bi 1: Chng trnh i u khi n m lin t c s l ng xung (0000 9999) c a vo chn T1 c a vi i u khi n v hi n th s l ng xung ny ln cc LED 7 o n (PULSE c n i v i chn T1, LED7 LED4 c n i v i Port0, SEL IN1 c n i v i Port1).
ORL A,B ;KET HOP SO HANG CHUC VA SO HANG DON VI MOV R6,A ;R6 = CHUC - DON VI POP B POP ACC RET ;*************************************************** DIV16TO8: ;CTC CHIA SO BINARY 16 BIT CHO SO BINARY 8 BIT. PUSH 02H ;CAT THANH GHI R2 PUSH ACC ;CAT THANH GHI A MOV R2,#16 ;CHO PHEP DICH 16 LAN CLR A DIVIDE: CLR C XCH A,R6 ;DICH BIT 7 CUA R6 VAO RLC A ;CARRY, BIT 0 CUA R6 XCH A,R6 ;BANG 0. XCH A,R7 ;DICH BIT CARRY VAO RLC A ;BIT 0 CUA R7 XCH A,R7 RLC A ;DICH BIT 7 CUA R7 VAO A. CJNE A,B,NOT_EQUAL ;XEM SO BIT DA DICH >= SJMP A_GREATER_EQ_B ;SO CHIA CHUA ? NOT_EQUAL: JC BELOW ;N: THUONG SO = 0 TRONG R6. A_GREATER_EQ_B: SUBB A,B ;Y: SO DU CAT TRONG A. XCH A,R6 ORL A,#1 ;THUONG SO = 1 XCH A,R6 ;CAT TRONG R6 BELOW: DJNZ R2,DIVIDE ;DICH TIEP DEN 16 LAN. XCH A,B ;SAU 16 LAN DICH TA DUOC B = SO DU. POP ACC POP 02H RET ;*************************************************** BCD4TO7SEG: ;CTC GIAI MA TU SO BCD NEN SANG MA 7 DOAN (2 SO BCD NEN). PUSH DPH ;CAT TAM THOI GIA TRI CAC THANH GHI PUSH DPL PUSH ACC MOV DPTR,#CODE7SEG ;DIA CHI VUNG MA 7 DOAN MOV A,R6 ;LAY SO BCD CAN GIAI MA ANL A,#0FH ;XOA 4 BIT CAO MOVC A,@A+DPTR ;LAY MA 7 DOAN TUONG UNG MOV 60H,A ;CAT BCD HANG DON VI VAO O NHO MOV A,R6 ;LAY SO BCD CAN GIAI MA ANL A,#0F0H ;XOA 4 BIT THAP SWAP A ;HOAN CHUYEN CAO - THAP MOVC A,@A+DPTR ;LAY MA 7 DOAN TUONG UNG MOV 61H,A ;CAT BCD HANG CHUC VAO O NHO MOV A,R7 ;LAY SO BCD CAN GIAI MA ANL A,#0FH ;XOA 4 BIT CAO MOVC A,@A+DPTR ;LAY MA 7 DOAN TUONG UNG MOV 62H,A ;CAT BCD HANG TRAM VAO O NHO MOV A,R7 ;LAY SO BCD CAN GIAI MA ANL A,#0F0H ;XOA 4 BIT THAP SWAP A ;HOAN CHUYEN CAO - THAP MOVC A,@A+DPTR ;LAY MA 7 DOAN TUONG UNG MOV 63H,A ;CAT BCD HANG NGAN VAO O NHO POP ACC ;PHUC HOI GIA TRI CHO CAC THANH GHI POP DPL POP DPH RET ;VUNG CHUA MA 7 DOAN (0 -> 9) CODE7SEG: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H ;*************************************************** DISP7SEGMUL4: ;CTC QUET HIEN THI LED 7 DOAN (4 LED 7 DOAN).
Bin so n: Ph m Quang Tr
K. H TH NG I U KHI N TIMER/COUNTER. Bi 1: Chng trnh i u khi n m lin t c s l ng xung (0000 9999) c a vo chn T1 c a vi i u khi n v hi n th s l ng xung ny ln cc LED 7 o n (PULSE c n i v i chn T1, LED7 LED4 c n i v i Port0, SEL IN1 c n i v i Port1).
PUSH PUSH MOV MOV DISP: MOV P0,@R0 ;XUAT MA HIEN THI MOV P1,A ;XUAT MA QUET LCALL DELAYLED MOV P1,#0FFH ;CHONG LEM DEC R0 ;LAY MA HIEN THI KE TIEP RR A ;CHUYEN SANG LED KE TIEP CJNE R0,#5FH,DISP ;KIEM TRA DA QUET XONG CHUA POP 00H ;PHUC HOI GIA TRI CHO CAC THANH GHI POP ACC RET ;*************************************************** DELAYLED: ;CHUONG TRINH CON TAO THOI GIAN TRE 2.5MS PUSH 00H PUSH 01H MOV R1,#5 DEL: MOV R0,#250 DJNZ R0,$ DJNZ R1,DEL POP 01H POP 00H RET END ACC 00H A,#0F7H R0,#63H ;CAT TAM THOI GIA TRI CAC THANH GHI ;MA QUET ;DIA CHI VUNG MA HIEN THI
1.4 Lu chng trnh v bin d ch chng trnh. 1.5 Ki m tra l i v hi u ch nh l i n u c. 1.6 G n chip vi i u khi n th nghi m vo socket tng ng trn kh i n p chip v b t ngu n cho kh i n p chip ho t ng. 1.7 N p chng trnh vo vi i u khi n. 1.8 S d ng vi i u khi n v a n p g n vo socket tng ng trn kh i vi i u khi n. 1.9 B t ngu n cho m hnh th nghi m. Quan st k t qu ho t ng, n u k t qu ho t ng khng ng yu c u c a bi th ph i quay l i ki m tra vi c k t n i m ch, hi u ch nh chng trnh v lm l i cc b c t b c 3 n b c 9. 2 Bi t p: (xem thm trong ph n h ng d n v ph n bi t p c a Bi 3)
Bin so n: Ph m Quang Tr
K. H TH NG I U KHI N TIMER/COUNTER. Bi 2: Chng trnh i u khi n o t n s c a xung (0000 9999, n v l Hz) c a vo chn T1 c a vi i u khi n v hi n th t n s c a xung ny ln cc LED 7 o n (PULSE c n i v i chn T1, LED7 LED4 c n i v i Port0, SEL IN1 c n i v i Port1). 1 Trnh t ti n hnh th nghi m: 1.1 K t n i thi t b th nghi m. Qu trnh k t n i thi t b th nghi m tng t nh Bi 1. 1.2 S nguyn l c a h th ng:
P1.3 P1.2 P1.1 1
C2
33p
X1
12MHz
C1
33p
2 3 4 5 6 7 8 9 10K P0.0/AD0 P0.1/AD1 P0.2/AD2 P0.3/AD3 P0.4/AD4 P0.5/AD5 P0.6/AD6 P0.7/AD7 P2.0/A8 P2.1/A9 P2.2/A10 P2.3/A11 P2.4/A12 P2.5/A13 P2.6/A14 P2.7/A15 P3.0/RXD P3.1/TXD P3.2/INT0 P3.3/INT1 P3.4/T0 P3.5/T1 P3.6/WR P3.7/RD
+5V
+5V
+5V
+5V
P1.0
RP1
+5V
R2
1K
Q1
A1015
R3
1K
Q2
A1015
R11
1K
Q3
A1015
R12
1K
Q4
A1015
+5V 19
U1
XTAL1
18
C3
10uF 9
XTAL2
RST
R4 R5 R6 R7 R8 R9 R10
AD0 AD1 AD2 AD3 AD4 AD5 AD6 56 56 56 56 56 56 56 A B C D E F G
A B C D E F G
A B C D E F G
A B C D E F G
A B C D E F G
LED7
LED6
LED5
LED4
R1
10k 29 30 31 PSEN ALE EA
1 2 3 4 5 6 7 8
U1(P3.5/T1)
1.3 V lu
;*************************************************** ;CHUONG TRINH DIEU KHIEN TIMER/COUNTER DO TAN SO XUNG TAI CHAN T1 ;*************************************************** ;KET NOI: PORT0 -> 7 SEGMENT (DP -> A) PORT1 -> SELECT LED; PULSE -> T1 PIN ;*************************************************** ORG 00H ;DIEM NHAP RESET SJMP MAIN ORG 0BH ;DIEM NHAP ISR TIMER0 LJMP T0ISR ORG 30H ;DIEM NHAP CHUONG TRINH CHINH MAIN: MOV TMOD,#51H ;TIMER1: COUNTER 16 BIT (MODE 1), TIMER0: TIMER 16 BIT (MODE 1) MOV TH0,#HIGH(-50000) ;NAP GIA TRI THOI GIAN TRE 50 MS MOV TL0,#LOW(-50000) SETB TR0 ;CHO TIMER BAT DAU CHAY MOV IE,#82H ;CHO PHEP NGAT TIMER0 HOAT DONG MP1: MOV 40H,#0 ;NAP GIA TRI BIEN DEM SO LAN NGAT TIMER0 MOV R7,TH1 ;CHUYEN SO XUNG DEM DUOC (TH1, TL1) RA HIEN THI MOV R6,TL1 MOV TH1,#0 ;XOA COUNTER 1, CHUAN BI CHO LAN DEM XUNG TIEP THEO MOV TL1,#0 SETB TR1 ;COUNTER BAT DAU DEM ACALL BIN16TOBCD ;DOI MA BIN SANG MA BCD ACALL BCD4TO7SEG ;DOI MA BCD SANG MA 7 DOAN MP2: ACALL DISP7SEGMUL4 ;HIEN THI GIA TRI LEN LED MOV A,40H CJNE A,#20,MP2 ;KIEM TRA DU 20 LAN NGAT = 1S CLR TR1 ;DUNG COUNTER SAU 1S -> SO XUNG TRONG 1S = TAN SO XUNG SJMP MP1
Bin so n: Ph m Quang Tr
K. H TH NG I U KHI N TIMER/COUNTER. Bi 2: Chng trnh i u khi n o t n s c a xung (0000 9999, n v l Hz) c a vo chn T1 c a vi i u khi n v hi n th t n s c a xung ny ln cc LED 7 o n (PULSE c n i v i chn T1, LED7 LED4 c n i v i Port0, SEL IN1 c n i v i Port1).
;*************************************************** BIN16TOBCD: ;CTC CHUYEN DOI SO BINARY 16 BIT (<= 9999) SANG SO BCD. PUSH ACC PUSH B MOV B,#10 ACALL DIV16TO8 ;LAY R7,R6 CHIA CHO 10 PUSH B ;CAT SO HANG DON VI MOV B,#10 ACALL DIV16TO8 ;TIEP TUC CHIA CHO 10 PUSH B ;CAT SO HANG CHUC MOV B,#10 MOV A,R6 DIV AB ;TIEP TUC CHIA CHO 10 PUSH B ;CAT SO HANG TRAM, ACC CHUA SO HANG NGAN SWAP A ;DUA SO HANG NGAN LEN 4 BIT CAO POP B ;LAY SO HANG TRAM TU STACK ORL A,B ;KET HOP SO HANG NGAN VA SO HANG TRAM MOV R7,A ;R7 = NGAN - TRAM POP ACC ;LAY SO HANG CHUC TU STACK SWAP A ;DUA SO HANG CHUC LEN 4 BIT CAO POP B ;LAY SO HANG DON VI TU STACK ORL A,B ;KET HOP SO HANG CHUC VA SO HANG DON VI MOV R6,A ;R6 = CHUC - DON VI POP B POP ACC RET ;*************************************************** DIV16TO8: ;CTC CHIA SO BINARY 16 BIT CHO SO BINARY 8 BIT. PUSH 02H ;CAT THANH GHI R2 PUSH ACC ;CAT THANH GHI A MOV R2,#16 ;CHO PHEP DICH 16 LAN CLR A DIVIDE: CLR C XCH A,R6 ;DICH BIT 7 CUA R6 VAO RLC A ;CARRY, BIT 0 CUA R6 XCH A,R6 ;BANG 0. XCH A,R7 ;DICH BIT CARRY VAO RLC A ;BIT 0 CUA R7 XCH A,R7 RLC A ;DICH BIT 7 CUA R7 VAO A. CJNE A,B,NOT_EQUAL ;XEM SO BIT DA DICH >= SJMP A_GREATER_EQ_B ;SO CHIA CHUA ? NOT_EQUAL: JC BELOW ;N: THUONG SO = 0 TRONG R6. A_GREATER_EQ_B: SUBB A,B ;Y: SO DU CAT TRONG A. XCH A,R6 ORL A,#1 ;THUONG SO = 1 XCH A,R6 ;CAT TRONG R6 BELOW: DJNZ R2,DIVIDE ;DICH TIEP DEN 16 LAN. XCH A,B ;SAU 16 LAN DICH TA DUOC B = SO DU. POP ACC POP 02H RET ;*************************************************** BCD4TO7SEG: ;CTC GIAI MA TU SO BCD NEN SANG MA 7 DOAN (2 SO BCD NEN). PUSH DPH ;CAT TAM THOI GIA TRI CAC THANH GHI PUSH DPL PUSH ACC MOV DPTR,#CODE7SEG ;DIA CHI VUNG MA 7 DOAN
;LAY SO BCD CAN GIAI MA ;XOA 4 BIT CAO ;LAY MA 7 DOAN TUONG UNG
Bin so n: Ph m Quang Tr
K. H TH NG I U KHI N TIMER/COUNTER. Bi 2: Chng trnh i u khi n o t n s c a xung (0000 9999, n v l Hz) c a vo chn T1 c a vi i u khi n v hi n th t n s c a xung ny ln cc LED 7 o n (PULSE c n i v i chn T1, LED7 LED4 c n i v i Port0, SEL IN1 c n i v i Port1).
MOV MOV ANL SWAP MOVC MOV MOV ANL MOVC MOV MOV ANL SWAP MOVC MOV 60H,A A,R6 A,#0F0H A A,@A+DPTR 61H,A A,R7 A,#0FH A,@A+DPTR 62H,A A,R7 A,#0F0H A A,@A+DPTR 63H,A ;CAT BCD HANG DON VI VAO O NHO ;LAY SO BCD CAN GIAI MA ;XOA 4 BIT THAP ;HOAN CHUYEN CAO - THAP ;LAY MA 7 DOAN TUONG UNG ;CAT BCD HANG CHUC VAO O NHO ;LAY SO BCD CAN GIAI MA ;XOA 4 BIT CAO ;LAY MA 7 DOAN TUONG UNG ;CAT BCD HANG TRAM VAO O NHO ;LAY SO BCD CAN GIAI MA ;XOA 4 BIT THAP ;HOAN CHUYEN CAO - THAP ;LAY MA 7 DOAN TUONG UNG ;CAT BCD HANG NGAN VAO O NHO
POP ACC ;PHUC HOI GIA TRI CHO CAC THANH GHI POP DPL POP DPH RET CODE7SEG: ;VUNG CHUA MA 7 DOAN (0 -> 9) DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H ;*************************************************** DISP7SEGMUL4: ;CTC QUET HIEN THI LED 7 DOAN (4 LED 7 DOAN). PUSH ACC ;CAT TAM THOI GIA TRI CAC THANH GHI PUSH 00H MOV A,#0F7H ;MA QUET MOV R0,#63H ;DIA CHI VUNG MA HIEN THI DISP: MOV P0,@R0 ;XUAT MA HIEN THI MOV P1,A ;XUAT MA QUET LCALL DELAYLED MOV P1,#0FFH ;CHONG LEM DEC R0 ;LAY MA HIEN THI KE TIEP RR A ;CHUYEN SANG LED KE TIEP CJNE R0,#5FH,DISP ;KIEM TRA DA QUET XONG CHUA POP 00H ;PHUC HOI GIA TRI CHO CAC THANH GHI POP ACC RET ;*************************************************** DELAYLED: ;CHUONG TRINH CON TAO THOI GIAN TRE 2.5MS PUSH 00H PUSH 01H MOV R1,#5 DEL: MOV R0,#250 DJNZ R0,$ DJNZ R1,DEL POP 01H POP 00H RET ;*************************************************** T0ISR: ;ISR TIMER0 - 50MS CLR TR0 CLR TF0 MOV TH0,#HIGH(-50000) ;NAP GIA TRI THOI GIAN TRE 50 MS MOV TL0,#LOW(-50000) INC 40H ;TANG BIEN DEM SO LAN NGAT - 1 LAN = 50MS SETB TR0 RETI END
Bin so n: Ph m Quang Tr
K. H TH NG I U KHI N TIMER/COUNTER. Bi 2: Chng trnh i u khi n o t n s c a xung (0000 9999, n v l Hz) c a vo chn T1 c a vi i u khi n v hi n th t n s c a xung ny ln cc LED 7 o n (PULSE c n i v i chn T1, LED7 LED4 c n i v i Port0, SEL IN1 c n i v i Port1).
10
Bin so n: Ph m Quang Tr
K. H TH NG I U KHI N TIMER/COUNTER. Bi 3: Chng trnh i u khi n o r ng c a xung ( n v l ms) c a vo chn INT0 c a vi i u khi n v hi n th r ng c a xung ny ln cc LED 7 o n (PULSE c n i v i chn INT0, LED7 LED4 c n i v i Port0, SEL IN1 c n i v i Port1). 1 Trnh t ti n hnh th nghi m: 1.1 K t n i thi t b th nghi m. T t ngu n c p cho m hnh th nghi m. Dng dy bus 4 n i J64 (PORT1) kh i vi i u khi n v i J1 (SEL IN1) kh i LED 7 o n (ch l ta ch n i 4 bit th p c a J64 v i J1). Dng dy bus 8 n i J63 (PORT0 / DATA) kh i vi i u khi n v i J4 (7SEG IN MUL) kh i gi i m. Dng dy bus 1 n i J33 (PULSE) kh i t o xung v i J66 (PORT3 / FUNCTION) kh i vi i u khi n (ch l ta ch n i vo bit 2 (chn INT0) c a J66). Dng dy bus 3 n i J113 (POWER) kh i t o xung v J110 (POWER) kh i LED 7 o n v i ngu n +5V kh i ngu n.
4
PORT 0 PORT 1
PORT 3
40 PINS
POWER
PULSE
PORT 2
20 PINS
P1.2 P1.1
1.2 S
nguyn l c a h th ng:
P1.3 1 +5V +5V +5V +5V P1.0
RP1 C2
33p 2 3 4 5 6 7 8 9 10K P0.0/AD0 P0.1/AD1 P0.2/AD2 P0.3/AD3 P0.4/AD4 P0.5/AD5 P0.6/AD6 P0.7/AD7 P2.0/A8 P2.1/A9 P2.2/A10 P2.3/A11 P2.4/A12 P2.5/A13 P2.6/A14 P2.7/A15 P3.0/RXD P3.1/TXD P3.2/INT0 P3.3/INT1 P3.4/T0 P3.5/T1 P3.6/WR P3.7/RD 39 AD0 38 AD1 37 AD2 36 AD3 35 AD4 34 AD5 33 AD6 32 AD7 21 22 23 24 25 26 27 28 10 11 12 13 14 15 16 17 AD0 AD1 AD2 AD3 AD4 AD5 AD6 AD7
PORT 3
PORT 1
+5V
R2
1K
Q1
A1015
R3
1K
Q2
A1015
R11
1K
Q3
A1015
R12
1K
Q4
A1015
X1
12MHz
C1
33p
+5V 19
U1
XTAL1
R4 R5 R6 R7 R8 R9 R10
AD0 AD1 AD2 AD3 AD4 AD5 AD6 56 56 56 56 56 56 56 A B C D E F G
18
C3
10uF 9
XTAL2
A B C D E F G
A B C D E F G
A B C D E F G
A B C D E F G
RST
LED7
LED6
LED5
LED4
R1
10k 29 30 31 PSEN ALE EA
1 2 3 4 5 6 7 8
U1(P3.5/T1)
1.3 V lu
K. H TH NG I U KHI N TIMER/COUNTER. Bi 3: Chng trnh i u khi n o r ng c a xung ( n v l ms) c a vo chn INT0 c a vi i u khi n v hi n th r ng c a xung ny ln cc LED 7 o n (PULSE c n i v i chn INT0, LED7 LED4 c n i v i Port0, SEL IN1 c n i v i Port1). 2 Bi t p: Bi 1: Hy vi t chng trnh i u khi n t o xung 1 Hz (s d ng Timer) t i chn P1.0 v hi n th m c logic t i chn ny ln LED. T l a ch n phng php k t n i LED. Bi 2: Hy vi t chng trnh i u khi n t o xung 3 Hz (s d ng Timer) t i chn P1.0 v hi n th m c logic t i chn ny ln LED. T l a ch n phng php k t n i LED. Bi 3: Hy vi t chng trnh i u khi n t o xung 1 Hz ho c 3 Hz (s d ng Timer) t i chn P1.0 ty thu c vo ta nh n hay nh nt nh n KEY0 v hi n th m c logic t i chn ny ln LED. T l a ch n phng php k t n i LED v nt nh n. Bi 4: Hy vi t chng trnh i u khi n m lin t c s l ng xung c a vo chn T0 c a vi i u khi n v hi n th s l ng xung ny ln cc LED 7 o n. T l a ch n phng php k t n i thi t b t o xung v cc LED 7 o n. Bi 5: Hy vi t chng trnh i u khi n o t n s c a xung ( n v tnh l Hz) c a vo chn T0 c a vi i u khi n v hi n th gi tr t n s ln LED 7 o n. T l a ch n phng php k t n i thi t b t o xung v cc LED 7 o n. Bi 6: Hy vi t chng trnh i u khi n o r ng xung ( n v tnh l ms) c a vo chn T0 c a vi i u khi n v hi n th gi tr r ng xung ln LED 7 o n. T l a ch n phng php k t n i thi t b t o xung v cc LED 7 o n. Bi 7: Th c hi n thay i t n s c a thi t b t o xung (b ng cch i u ch nh bi n tr trn thi t b ) ho c thay i ngu n t o xung khc vo. Th c hi n l i cc bi t p trn v quan st trn LED 7 o n nh n xt s thay i c a chng trnh. Bi 8: Sinh vin t mnh suy ngh v pht tri n thm chng trnh. H ng d n: Ch Counter: o S d ng Timer1 ch 1 counter. o Khi cho Timer1 ch y, c lin t c cc gi tr c a TH1 v TL1. o i qua m BCD nn v hi n th ln LED 7 o n. ot ns : o Vi t chng trnh m s xung trong 1s v hi n th ln LED 7 o n (trong khi th s m m v n hi n th gi tr t n s tr c ). o r ng xung (ch Gate = 1): o Vi t chng trnh s d ng Timer0 ch Gate = 1. i i m th khng hi n
Ch
Ch
i s nh phn 16 bit thnh m BCD nn: o Cng vi c th c hi n tng t nh i v i s nh phn 8 bit l l n l t chia gi tr c n chuy n cho 10. Tuy nhin, c n ph i t o ra m t chng trnh con th c hi n vi c chia s 16 bit cho 10 (v gi tr c n lc ny l s 16 bit). o Chng trnh m u:
;*************************************************** ;CTC CHUYEN DOI SO BINARY 16 BIT (<= 9999) SANG SO BCD. ;*************************************************** ;NAME: BIN16TOBCD. ;INPUT: R7 = SO BIN 16 BIT (BYTE CAO). ; R6 = SO BIN 16 BIT (BYTE THAP). ;OUTPUT: R7,R6 = SO BCD (NGN-TRAM - CHUC - DON VI). ;*************************************************** BIN16TOBCD: ;CTC CHUYEN DOI SO BINARY 16 BIT (<= 9999) SANG SO BCD. PUSH ACC PUSH B MOV B,#10 ACALL DIV16TO8 ;LAY R7,R6 CHIA CHO 10 PUSH B ;CAT SO HANG DON VI MOV B,#10 ACALL DIV16TO8 ;TIEP TUC CHIA CHO 10 PUSH B ;CAT SO HANG CHUC MOV B,#10 MOV A,R6 DIV AB ;TIEP TUC CHIA CHO 10
12
Bin so n: Ph m Quang Tr
K. H TH NG I U KHI N TIMER/COUNTER. Bi 3: Chng trnh i u khi n o r ng c a xung ( n v l ms) c a vo chn INT0 c a vi i u khi n v hi n th r ng c a xung ny ln cc LED 7 o n (PULSE c n i v i chn INT0, LED7 LED4 c n i v i Port0, SEL IN1 c n i v i Port1).
PUSH B ;CAT SO HANG TRAM, ACC CHUA SO HANG NGAN SWAP A ;DUA SO HANG NGAN LEN 4 BIT CAO POP B ;LAY SO HANG TRAM TU STACK ORL A,B ;KET HOP SO HANG NGAN VA SO HANG TRAM MOV R7,A ;R7 = NGAN - TRAM POP ACC ;LAY SO HANG CHUC TU STACK SWAP A ;DUA SO HANG CHUC LEN 4 BIT CAO POP B ;LAY SO HANG DON VI TU STACK ORL A,B ;KET HOP SO HANG CHUC VA SO HANG DON VI MOV R6,A ;R6 = CHUC - DON VI POP B POP ACC RET ;*************************************************** ;CTC THUC HIEN PHEP CHIA SO BINARY 16 BIT CHO SO BINARY 8 BIT. ;*************************************************** ;NAME: DIV16TO8. ;INPUT: R7 = SO BIN 16 BIT (BYTE CAO) SO BI CHIA. ; R6 = SO BIN 16 BIT (BYTE THAP) SO BI CHIA. ; B = SO BIN 8 BIT SO CHIA. ;OUTPUT: R7 = THUONG SO (BYTE CAO) C A PHP CHIA. ; R6 = THUONG SO (BYTE THAP) C A PHP CHIA. ; B = SO DU CUA PHEP CHIA. ;*************************************************** DIV16TO8: ;CTC CHIA SO BINARY 16 BIT CHO SO BINARY 8 BIT. PUSH 02H ;CAT THANH GHI R2 PUSH ACC ;CAT THANH GHI A MOV R2,#16 ;CHO PHEP DICH 16 LAN CLR A DIVIDE: CLR C XCH A,R6 ;DICH BIT 7 CUA R6 VAO RLC A ;CARRY, BIT 0 CUA R6 XCH A,R6 ;BANG 0. XCH A,R7 ;DICH BIT CARRY VAO RLC A ;BIT 0 CUA R7 XCH A,R7 RLC A ;DICH BIT 7 CUA R7 VAO A. CJNE A,B,NOT_EQUAL ;XEM SO BIT DA DICH >= SJMP A_GREATER_EQ_B ;SO CHIA CHUA ? NOT_EQUAL: JC BELOW ;N: THUONG SO = 0 TRONG R6. A_GREATER_EQ_B: SUBB A,B ;Y: SO DU CAT TRONG A. XCH A,R6 ORL A,#1 ;THUONG SO = 1 XCH A,R6 ;CAT TRONG R6 BELOW: DJNZ R2,DIVIDE ;DICH TIEP DEN 16 LAN. XCH A,B ;SAU 16 LAN DICH TA DUOC B = SO DU. POP ACC POP 02H RET ;***************************************************
Lu
13
Bin so n: Ph m Quang Tr
K. H TH NG I U KHI N TIMER/COUNTER. Bi 3: Chng trnh i u khi n o r ng c a xung ( n v l ms) c a vo chn INT0 c a vi i u khi n v hi n th r ng c a xung ny ln cc LED 7 o n (PULSE c n i v i chn INT0, LED7 LED4 c n i v i Port0, SEL IN1 c n i v i Port1).
BIN16TOBCD
NAME: INPUT: BIN16TOBCD. R7 = S NH PHN C N CHUY N I (BYTE CAO). R6 = S NH PHN C N CHUY N I (BYTE TH P) OUTPUT: R7 = HNG NGN/TRM C A S BCD. R6 = HNG CH C/ N V C A S BCD. MODE: CHUY N I S NH PHN 16 BIT THNH S BCD C GI TR TRONG KHO NG (0 9999).
BIN16TOBCD: C T T M GI TR C A ACC, B VO STACK N P H NG S CHO PHP CHIA (B) = 10 G I CTC CHIA S NH PHN 16 BIT CHO S NH PHN 8 BIT DIV16TO8 C T T M GI TR C A HNG (B) VO STACK N V
DIV16TO8
NAME: INPUT: DIV16TO8. R7 = S NH PHN 16 BIT (BYTE CAO) - S B CHIA. R6 = S NH PHN 16 BIT (BYTE TH P) - S B CHIA. B = S NH PHN 8 BIT - S CHIA. OUTPUT: R7 = THNG S (BYTE CAO) C A PHP CHIA. R6 = THNG S (BYTE TH P) C A PHP CHIA. B = S D C A PHP CHIA. MODE: PHP CHIA S NH PHN 16 BIT CHO S NH PHN 8 BIT (PHNG PHP D CH BIT V TR ).
N P H NG S CHO PHP CHIA (B) = 10 G I CTC CHIA S NH PHN 16 BIT CHO S NH PHN 8 BIT DIV16TO8 C T T M GI TR C A HNG CH C (B) VO STACK N P H NG S CHO PHP CHIA (B) = 10 N PS NH PHN C N CHUY N (A) = (R6) I
XA THANH GHI A (A) = 00H DIVIDE: XA C CY (BIT TRUNG GIAN) (CY) = 0 D CH TRI 16 BIT THANH GHI R7-R6 (C CY MSB V LSB 0) XCH A,R6 RLC A XCH A,R6 XCH A,R7 RLC A XCH A,R7 D CH MSB VO THANH GHI A RLC A
SO SNH TH C HI N TR C A PHP CHIA (A) (B) (B) (A) (B)
TCH HNG NGN V HNG TRM DIV AB (A) : 10 (A) = HNG NGN (B) = HNG TRM C T T M GI TR C A HNG TRM (B) VO STACK I V TR GI TR C A HNG NGN TRONG BYTE SWAP A (A) = 0XH / X: GI TR C A HNG NGN I V TR THNH (A) = X0H / X: GI TR C A HNG NGN L Y L I GI TR C A HNG TRM (B) T STACK K T H P GI TR C A HNG NGN V HNG TRM VO TRONG BYTE (A) = (A) OR (B) (A) = X0H / X: GI TR C A HNG NGN (B) = 0YH / Y: GI TR C A HNG TRM K T H P THNH (A) = XYH LU GI TR HNG NGN/TRM C A S (R7) = (A) L Y L I GI TR C A HNG CH C (A) T STACK I V TR GI TR C A HNG CH C TRONG BYTE SWAP A (A) = 0XH / X: GI TR C A HNG CH C I V TR THNH (A) = X0H / X: GI TR C A HNG CH C L Y L I GI TR C A HNG N V (B) T STACK K T H P GI TR C A HNG CH C V HNG N V VO TRONG BYTE (A) = (A) OR (B) (A) = X0H / X: GI TR C A HNG CH C (B) = 0YH / Y: GI TR C A HNG N V K T H P THNH (A) = XYH LU GI TR HNG CH C/ N V C A S (R6) = (A) L Y L I GI TR CHO ACC, B T STACK BCD BCD
L Y PH N TRCH RA T S B CHIA (A) TR CHO S CHIA (B) (A) = (A) (B) - PH N D PH N THNG B NG 1 LSB 1 BELOW: GIM S L N D CH BIT
THNG S S D B
R7-R6
RET
RET
14
Bin so n: Ph m Quang Tr