Professional Documents
Culture Documents
TI LI U H NG D N TH NGHI M - TH C HNH
N. H TH NG I U KHI N ADC.
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. Kh o st nguyn l ho t ng c a vi m ch ADC 0809. Th c hi n vi c bi n i t tn hi u tng t (Analog) sang tn hi u s (Digital).
Bin so n: Ph m Quang Tr
N. H TH NG I U KHI N ADC. Bi 1: Chng trnh i u khi n bi n i A/D thng qua ADC0809 v hi n th gi tr c a knh ng vo (knh IN0) ln hai LED 7 o n (LED1 v LED0; d i d ng s HEX t 00H -> FFH). 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 8 n i J64 (PORT1) kh i vi i u khi n v i J2 (SEL LED IN) kh i LED 7 o n. Dng b n dy bus 8 n i J5 (7SEG7 IN), J6 (7SEG6 IN), J7 (7SEG5 IN) v J8 (7SEG4 IN) kh i LED 7 o n v i J4 (7SEG IN MUL) kh i LED 7 o n (ta n i chung cc bus ny l i v i nhau thng qua kh i m r ng). Dng dy bus 8 n i J63 (PORT0 / DATA) kh i vi i u khi n v i J4 (7SEG IN MUL) kh i LED 7 o n. Dng dy bus 8 n i J49 (DIGITAL OUT) kh i ADC v i J66 (PORT3/FUNCTION) kh i vi i u khi n. Dng dy bus 4 n i J152 (CONTROL ADC) kh i ADC v i J65 (PORT2/A8..A15) kh i vi i u khi n (ch l ta ch n i 4 bit th p c a J65 v J152 l i v i nhau). Dng dy bus 3 n i D36 (ADDRESS) kh i ADC v i J65 (PORT2/A8..A15) kh i vi i u khi n (ch l ta ch n i 3 bit cao k ti p c a J65 v D36 l i v i nhau). Dng dy bus 1 n i J77 (V1) kh i t o p v i J48 (ANALOG IN) kh i ADC (ch l ta ch n i bit 0 (IN0) c a J48 v J77 l i v i nhau). Dng ba dy bus 3 n i D35 (POWER) kh i t o p, D34 (POWER) kh i ADC v J110 (POWER) kh i LED 7 o n v i ngu n +5V kh i ngu n.
POWER SEL IN2 SEL LED IN SEL IN1
LED 7 OAN
7SEG7 IN 7SEG6 IN 7SEG5 IN 7SEG4 IN
8
7SEG7 IN MUL
PORT 0
VI IEU KHIEN
POWER SW
PORT 3
40 PINS
8 3
8
V1 POWER
8 1
8
ANALOG IN
8
POWER ADDRESS DIGITAL OUT
PORT 1
NGUON +5V
3 1
TAO AP
PORT 2
V2
ADC
4
CONTROL ADC
A0..A7
V3
1.2 S
nguyn l c a h th ng:
V4
Bin so n: Ph m Quang Tr
PORT 3
PORT 1
N. H TH NG I U KHI N ADC. Bi 1: Chng trnh i u khi n bi n i A/D thng qua ADC0809 v hi n th gi tr c a knh ng vo (knh IN0) ln hai LED 7 o n (LED1 v LED0; d i d ng s HEX t 00H -> FFH).
MA C H IE U KHIE N ADC (ANALOG TO DIGITAL CONVERTER)
P1.7 P1.6 P1.5 P1.4 P1.3 P1.2 P1.1 +5V +5V +5V +5V +5V +5V +5V P1.0 +5V
RP1
1 +5V
R2
1K 2 3 4 5 6 7 8 9 AD0 AD1 AD2 AD3 AD4 AD5 AD6 AD7
Q1
A1015
R3
1K
Q2
A1015
R11
1K
Q3
A1015
R12
1K
Q4
A1015
R13
1K
Q5
A1015
R14
1K
Q6
A1015
R15
1K
Q7
A1015
R16
1K
Q8
A1015
C2
33p
X1
12MHz
C1
33p
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
+5V 19
U1
XTAL1
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 ST 22 EOC 23 OE 24 ALE 25 A0 26 A1 27 A2 28 10 11 12 13 14 15 16 17 D0 D1 D2 D3 D4 D5 D6 D7
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
A B C D E F G
A B C D E F G
A B C D E F G
18
C3
10uF 9
XTAL2
LED7
LED6
+5V
LED5
LED4
LED3
LED2
LED1
LED0
RST
R1
10k 29 30 31 PSEN ALE EA
U3
OE 9 +5V OE VREF(-) VREF(+) ALE ADD C ADD B ADD A IN7 IN6 IN5 IN4 IN3 IN2 IN1 IN0 16 12 22 23 24 25 5 4 3 2 1 28 27 26 ALE A2 A1 A0
RV1
100K +88.8
Volts
1 2 3 4 5 6 7 8
D0 D1 D2 D3 D4 D5 D6 D7
17 14 15 8 18 19 20 21
OUT8 OUT7 OUT6 OUT5 OUT4 OUT3 OUT2 OUT1 EOC START CLOCK ADC0808
EOC 7 ST 6 10
U3(CLOCK)
1.3 V lu
Bin so n: Ph m Quang Tr
N. H TH NG I U KHI N ADC. Bi 1: Chng trnh i u khi n bi n i A/D thng qua ADC0809 v hi n th gi tr c a knh ng vo (knh IN0) ln hai LED 7 o n (LED1 v LED0; d i d ng s HEX t 00H -> FFH).
;*************************************************** ;CHUONG TRINH DIEU KHIEN BIEN DOI A/D THONG QUA ADC0809 VA ;HIEN THI GIA TRI SO (DANG SO HEX) CUA KENH 0 LEN HAI LED 7 DOAN ;*************************************************** ;KET NOI: 8 LED -> PORT1 ; SEL LED -> PORT0 ; MULTI, 7SEG IN (DP -> A), MULTI INT, CA, ACTIVE = 0 ; ANALOG IN -> IN0 ADC0809 ; DIGITAL OUT -> PORT3 ; START -> P2.0 EOC -> P2.1 ; OE -> P2.2 ALE -> P2.3 ; A0 -> P2.4 A1 -> P2.5 A2 -> P2.6 ; CLOCK -> 500KHz ;*************************************************** ;DINH NGHIA CAC THONG SO ;*************************************************** START BIT P2.0 ;BIT KHOI DONG ADC EOC BIT P2.1 ;BIT BAO KET THUC QUA TRINH CHUYEN DOI A/D OE BIT P2.2 ;BIT CHO PHEP XUAT GIA TRI ADC ALE BIT P2.3 ;BIT CHO PHEP CHOT DIA CHI A0 BIT P2.4 ;BIT CHON NGO VAO ANALOG CAN BIEN DOI A1 BIT P2.5 BIT P2.6 A2 DIG_OUT EQU P3 ;PORT DOC GIA TRI TU ADC XUAT RA ;*************************************************** ORG 00H MAIN: MOV P2,#02H ;CAU HINH CAC CHAN DIEU KHIEN BAN DAU CHO ADC MOV DIG_OUT,#0FFH ;CAU HINH PORT 3 LA PORT NHAP GIA TRI MP1: CLR A0 ;CHON TIN HIEU ANALOG TAI KENH 0 (IN0) CLR A1 CLR A2 SETB ALE ;TAO XUNG ALE (ALE = 1) NOP NOP SETB START ;TAO XUNG START (START = 1) NOP NOP CLR ALE ;KET THUC XUNG ALE (ALE = 0) CLR START ;KET THUC XUNG START (START = 0) ACALL DELAY_ADC ;TAO THOI GIAN TRE CHO VIEC CHUYEN DOI A/D CUA ADC0809 SETB OE ;TAO XUNG OE (OE = 1) NOP NOP NOP NOP MOV A,DIG_OUT ;DOC GIA TRI TU ADC0809 CLR OE ;KET THUC XUNG OE (OE = 0) MOV R4,A ;LAY GIA TRI ADC DE GIAI MA VA HIEN THI ACALL HEX2ADCTO7SEG ;GIAI MA GIA TRI ADC ACALL DISP7SEGMUL8 ;HIEN THI GIA TRI LEN LED 7 DOAN SJMP MP1 ;**************************************************** DELAY_ADC: ;CHUONG TRINH CON TAO THOI GIAN TRE 120US DE THUC HIEN CHUYEN DOI A/D PUSH 00H MOV R0,#60 DJNZ R0,$ POP 00H RET ;*************************************************** ;CTC QUET HIEN THI LED 7 DOAN (8 LED 7 DOAN). ;*************************************************** ;LED: ANODE CHUNG, KICH HOAT MUC 0, 7 DOAN: DP (MSB) -> A (LSB) ;DU LIEU HIEN THI CHUA TRONG O NHO CUA RAM. ;*************************************************** ;NAME: DISP7SEGMUL8. ;INPUT: 67H,66H = MA 7 DOAN (CH TRIEU - TRIEU). ; 65H,64H = MA 7 DOAN (TR NGAN - CH NGAN).
Bin so n: Ph m Quang Tr
N. H TH NG I U KHI N ADC. Bi 1: Chng trnh i u khi n bi n i A/D thng qua ADC0809 v hi n th gi tr c a knh ng vo (knh IN0) ln hai LED 7 o n (LED1 v LED0; d i d ng s HEX t 00H -> FFH).
; 63H,62H = MA 7 DOAN (NGAN - TRAM). ; 61H,60H = MA 7 DOAN (CHUC - DON VI). ;OUTPUT: P0 = 7 DOAN LED - DP (MSB) -> A (LSB). ; P1 = CHON LED - LEFT (MSD) -> RIGHT (LSD). ;*************************************************** DISP7SEGMUL8: PUSH ACC ;CAT TAM THOI GIA TRI CAC THANH GHI PUSH 00H MOV A,#7FH ;MA QUET MOV R0,#67H ;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 ;*************************************************** ;CTC GIAI MA TU SO HEX SANG MA 7 DOAN (2 SO HEX) CO KEM CHUOI "ADC = ". ;*************************************************** ;LED: ANODE CHUNG, 7 DOAN: DP (MSB) -> A (LSB) ;GIA TRI GIAI MA: 0 -> F ;*************************************************** ;NAME: HEX2ADCTO7SEG. ;INPUT: R4 = CAP S0 HEX 1 (CHUC - DON VI). ;OUTPUT: 67H,66H = CHUOI KY TU "AD". ; 65H,64H = CHUOI KY TU "C ". ; 63H,62H = CHUOI KY TU "= ". ; 61H,60H = MA 7 DOAN (CHUC - DON VI). ;*************************************************** HEX2ADCTO7SEG: PUSH DPH ;CAT TAM THOI GIA TRI CAC THANH GHI PUSH DPL PUSH ACC MOV MOV ANL MOVC MOV MOV ANL SWAP MOVC MOV MOV MOV MOV MOV MOV DPTR,#CODE7SEG A,R4 A,#0FH A,@A+DPTR 60H,A A,R4 A,#0F0H A A,@A+DPTR 61H,A 62H,#0FFH 63H,#0B7H 64H,#0FFH 65H,#0C6H 66H,#0A1H ;DIA CHI VUNG MA 7 DOAN
;LAY CAP SO HEX 1 CAN GIAI MA ;XOA 4 BIT CAO ;LAY MA 7 DOAN TUONG UNG ;CAT HANG DON VI VAO O NHO ;LAY CAP SO HEX 1 CAN GIAI MA ;XOA 4 BIT THAP ;HOAN CHUYEN CAO - THAP ;LAY MA 7 DOAN TUONG UNG ;CAT HANG CHUC VAO O NHO ;CAT MA KY TU " " ;CAT MA KY TU "=" ;CAT MA KY TU " " ;CAT MA KY TU "C" ;CAT MA KY TU "D"
Bin so n: Ph m Quang Tr
N. H TH NG I U KHI N ADC. Bi 1: Chng trnh i u khi n bi n i A/D thng qua ADC0809 v hi n th gi tr c a knh ng vo (knh IN0) ln hai LED 7 o n (LED1 v LED0; d i d ng s HEX t 00H -> FFH).
MOV 67H,#88H ;CAT MA KY TU "A"
POP ACC ;PHUC HOI GIA TRI CHO CAC THANH GHI POP DPL POP DPH RET ;*************************************************** CODE7SEG: ;VUNG CHUA MA 7 DOAN (0 -> F) DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H,88H,83H,0C6H,0A1H,86H,8EH END
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 4)
Bin so n: Ph m Quang Tr
N. H TH NG I U KHI N ADC. Bi 2: Chng trnh i u khi n bi n i A/D thng qua ADC0809 v hi n th gi tr c a knh ng vo (knh IN0) ln ba LED 7 o n (LED2, LED1 v LED0; d i d ng s DEC t 0 -> 255). 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: S nguyn l c a h th ng tng t nh Bi 1. 1.3 V lu gi i thu t v vi t chng trnh i u khi n.
N2 BEGIN
MAIN: C U HNH CC CHN I U KHI N BAN U CHO ADC (A2,A1,A0 = 000; ALE = 0; OE = 0; EOC = 1; START = 0 ) (P2) = 00000010B = 02H C U HNH PORT 3 NH P D (DIG_OUT) = FFH MP1: CH N TN HI U ANALOG T I KNH 0 (A2) = 0, (A1) = 0, (A0) = 0 T O XUNG CH T A CH KNH ADC (ALE) = 0 1 / CHN ALE NOP T O XUNG CHUY N I TNG T - S (START) = 0 1 / CHN START NOP XUNG CH T (ALE) = 1 XUNG CHUY N (START) = 1 A CH KNH ADC 0 / CHN ALE I TNG T - S 0 / CHN START X X LI U
BCD3ADCTO7SEG
NAME: BCD3ADCTO7SEG - GI I M SANG M 7 O N. INPUT: R7,R6 = S BCD (TRM/CH C/ N V ). OUTPUT: 67H, 66H = CHU I K T AD. 65H, 64H = CHU I K T C=. 63H = CHU I K T . 62H = M 7 O N (TRM). 61H, 60H = M 7 O N (CH C/ N V ).
BCD3ADCTO7SEG: C T T M GI TR C A DPH, DPL, ACC VO STACK N P A CH VNG M (DPTR) = CODE7SEG N PS L S BCD NN C N GI I M Y (A) = (R6) = X
C T M 7 O N C A K T VO NH (63H) = FFH
C T M 7
O N C A K T = VO NH (64H) = FFH
C T M 7 O N C A K T C VO NH (65H) = C6H
G I CTC T O TR TH C HI N ADC DELAY_ADC (120us) T O XUNG XU T D LI U DIGITAL T 1 / CHN OE (OE) = 0 NOP C GI TR DIGITAL T (A) = (DIG_OUT) ADC ADC
RET
VNG D LI U CODE7SEG C0H,F9H,A4H,B0H,99H,92H,82H,F8H,80H,90H
DELAY_ADC
XUNG XU T D LI U DIGITAL T (OE) = 1 0 / CHN OE ADC N PS X L S BCD NN C N GI I M (A) = (R7) = X Y
(XEM CTC NY T I V D N1)
L Y GI TR DIGITAL GI I M - HI N TH (R7) = (A) G I CTC GI I M GI TR ADC SANG BCD BIN8TOBCD G I CTC GI I M BCD SANG M 7 O N BCD3ADCTO7SEG G I CTC HI N TH DISP7SEGMUL8
DISP7SEGMUL8
(XEM CTC NY T I V D B8 MBI)
DELAYLED
(XEM CTC NY T I V D B3.1 MBI)
C T M 7
BIN8TOBCD
(XEM CTC NY T I PH N H NG D N C A V D G)
;*************************************************** ;CHUONG TRINH DIEU KHIEN BIEN DOI A/D THONG QUA ADC0809 VA ;HIEN THI GIA TRI SO (DANG SO DEC) CUA KENH 0 LEN BA LED 7 DOAN ;*************************************************** ;KET NOI: 8 LED -> PORT1 ; SEL LED -> PORT0 ; MULTI, 7SEG IN (DP -> A), MULTI INT, CA, ACTIVE = 0 ; ANALOG IN -> IN0 ADC0809 ; DIGITAL OUT -> PORT3 ; START -> P2.0 EOC -> P2.1 ; OE -> P2.2 ALE -> P2.3 ; A0 -> P2.4 A1 -> P2.5 A2 -> P2.6 ; CLOCK -> 500KHz ;*************************************************** ;DINH NGHIA CAC THONG SO ;***************************************************
Bin so n: Ph m Quang Tr
N. H TH NG I U KHI N ADC. Bi 2: Chng trnh i u khi n bi n i A/D thng qua ADC0809 v hi n th gi tr c a knh ng vo (knh IN0) ln ba LED 7 o n (LED2, LED1 v LED0; d i d ng s DEC t 0 -> 255).
START BIT P2.0 ;BIT KHOI DONG ADC EOC BIT P2.1 ;BIT BAO KET THUC QUA TRINH CHUYEN DOI A/D OE BIT P2.2 ;BIT CHO PHEP XUAT GIA TRI ADC ALE BIT P2.3 ;BIT CHO PHEP CHOT DIA CHI A0 BIT P2.4 ;BIT CHON NGO VAO ANALOG CAN BIEN DOI A1 BIT P2.5 A2 BIT P2.6 EQU P3 ;PORT DOC GIA TRI TU ADC XUAT RA DIG_OUT ;*************************************************** ORG 00H MAIN: MOV P2,#02H ;CAU HINH CA CHAN DIEU KHIEN BAN DAU CHO ADC MOV DIG_OUT,#0FFH ;CAU HINH PORT 3 LA PORT NHAP GIA TRI MP1: CLR A0 ;CHON TIN HIEU ANALOG TAI KENH 0 (IN0) CLR A1 CLR A2 SETB ALE ;TAO XUNG ALE (ALE = 1) NOP NOP SETB START ;TAO XUNG START (START = 1) NOP NOP CLR ALE ;KET THUC XUNG ALE (ALE = 0) CLR START ;KET THUC XUNG START (START = 0) ACALL DELAY_ADC ;TAO THOI GIAN TRE CHO VIEC CHUYEN DOI A/D CUA ADC0809 SETB OE ;TAO XUNG OE (OE = 1) NOP NOP NOP NOP MOV A,DIG_OUT ;DOC GIA TRI TU ADC0809 CLR OE ;KET THUC XUNG OE (OE = 0) MOV R7,A ;LAY GIA TRI ADC DE GIAI MA VA HIEN THI ACALL BIN8TOBCD ;GIAI MA GIA TRI ADC (DANG BIN) SANG BCD ACALL BCD3ADCTO7SEG ;GIAI MA GIA TRI ADC (DANG BCD) SANG MA 7 DOAN ACALL DISP7SEGMUL8 ;HIEN THI GIA TRI LEN LED 7 DOAN SJMP MP1 ;**************************************************** DELAY_ADC: ;CHUONG TRINH CON TAO THOI GIAN TRE 120US DE THUC HIEN CHUYEN DOI A/D PUSH 00H MOV R0,#60 DJNZ R0,$ POP 00H RET ;*************************************************** ;CTC CHUYEN DOI SO BINARY 8 BIT (<= 255) SANG SO BCD. ;*************************************************** ;NAME: BIN8TOBCD. ;INPUT: R7 = SO BIN 8 BIT (<= 255). ;OUTPUT: R7,R6 = SO BCD (TRAM - CHUC - DON VI). ;*************************************************** BIN8TOBCD: PUSH ACC PUSH B MOV B,#10 MOV A,R7 DIV AB ;LAY R7 CHIA CHO 10 PUSH B ;CAT SO HANG DON VI MOV B,#10 DIV AB ;LAY KET QUA TREN CHIA TIEP CHO 10 MOV R7,A ;R7 = TRAM MOV A,B ;LAY SO HANG CHUC 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
Bin so n: Ph m Quang Tr
N. H TH NG I U KHI N ADC. Bi 2: Chng trnh i u khi n bi n i A/D thng qua ADC0809 v hi n th gi tr c a knh ng vo (knh IN0) ln ba LED 7 o n (LED2, LED1 v LED0; d i d ng s DEC t 0 -> 255).
RET ;*************************************************** ;CTC QUET HIEN THI LED 7 DOAN (8 LED 7 DOAN). ;*************************************************** ;LED: ANODE CHUNG, KICH HOAT MUC 0, 7 DOAN: DP (MSB) -> A (LSB) ;DU LIEU HIEN THI CHUA TRONG O NHO CUA RAM. ;*************************************************** ;NAME: DISP7SEGMUL8. ;INPUT: 67H,66H = MA 7 DOAN (CH TRIEU - TRIEU). ; 65H,64H = MA 7 DOAN (TR NGAN - CH NGAN). ; 63H,62H = MA 7 DOAN (NGAN - TRAM). ; 61H,60H = MA 7 DOAN (CHUC - DON VI). ;OUTPUT: P0 = 7 DOAN LED - DP (MSB) -> A (LSB). ; P1 = CHON LED - LEFT (MSD) -> RIGHT (LSD). ;*************************************************** DISP7SEGMUL8: PUSH ACC ;CAT TAM THOI GIA TRI CAC THANH GHI PUSH 00H MOV A,#7FH ;MA QUET MOV R0,#67H ;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 ;*************************************************** ;CTC GIAI MA TU SO BCD NEN SANG MA 7 DOAN (3 SO BCD) CO KEM CHUOI "ADC= ". ;*************************************************** ;LED: ANODE CHUNG, 7 DOAN: DP (MSB) -> A (LSB) ;GIA TRI GIAI MA: 0 -> 9 ;*************************************************** ;NAME: BCD3ADCTO7SEG. ;INPUT: R7,R6 = SO BCD (TRAM - CHUC - DON VI). ;OUTPUT: 67H,66H = CHUOI KY TU "AD". ; 65H,64H = CHUOI KY TU "C=". ; 63H = CHUOI KY TU " ". ; 62H = MA 7 DOAN (TRAM) ; 61H,60H = MA 7 DOAN (CHUC - DON VI). ;*************************************************** BCD3ADCTO7SEG: PUSH DPH ;CAT TAM THOI GIA TRI CAC THANH GHI PUSH DPL PUSH ACC MOV MOV ANL MOVC MOV DPTR,#CODE7SEG A,R6 A,#0FH A,@A+DPTR 60H,A ;DIA CHI VUNG MA 7 DOAN
;LAY SO BCD NEN 1 (CHUC - DON VI) CAN GIAI MA ;XOA 4 BIT CAO ;LAY MA 7 DOAN TUONG UNG ;CAT HANG DON VI VAO O NHO
10
Bin so n: Ph m Quang Tr
N. H TH NG I U KHI N ADC. Bi 2: Chng trnh i u khi n bi n i A/D thng qua ADC0809 v hi n th gi tr c a knh ng vo (knh IN0) ln ba LED 7 o n (LED2, LED1 v LED0; d i d ng s DEC t 0 -> 255).
MOV ANL SWAP MOVC MOV MOV ANL MOVC MOV MOV MOV MOV MOV MOV A,R6 A,#0F0H A A,@A+DPTR 61H,A A,R7 A,#0FH A,@A+DPTR 62H,A 63H,#0FFH 64H,#0B7H 65H,#0C6H 66H,#0A1H 67H,#88H ;LAY SO BCD NEN 1 (CHUC - DON VI) CAN GIAI MA ;XOA 4 BIT THAP ;HOAN CHUYEN CAO - THAP ;LAY MA 7 DOAN TUONG UNG ;CAT HANG CHUC VAO O NHO ;LAY SO BCD NEN 2 (TRAM) CAN GIAI MA ;XOA 4 BIT CAO ;LAY MA 7 DOAN TUONG UNG ;CAT HANG TRAM VAO O NHO ;CAT MA KY TU " " ;CAT MA KY TU "=" ;CAT MA KY TU "C" ;CAT MA KY TU "D" ;CAT MA KY TU "A"
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 END
1.4 Th c hi n l n l t cc b c t 1.3 2 Bi t p:
11
Bin so n: Ph m Quang Tr
N. H TH NG I U KHI N ADC. Bi 3: Chng trnh i u khi n bi n i A/D thng qua ADC0809 v hi n th gi tr i n p c a knh ng vo (knh IN0) ln b n LED 7 o n (LED3, LED2, LED1 v LED0: theo gi tr i n p th c, n v l mV). 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: S nguyn l c a h th ng tng t nh Bi 1. 1.3 V lu gi i thu t v vi t chng trnh i u khi n.
;*************************************************** ;CHUONG TRINH DIEU KHIEN BIEN DOI A/D THONG QUA ADC0809 VA ;HIEN THI GIA TRI SO (DANG SO DEC) CUA KENH 0 LEN BON LED 7 DOAN ;THEO GIA TRI DIEN AP THUC (DON VI TINH LA mV) ;*************************************************** ;KET NOI: 8 LED -> PORT1 ; SEL LED -> PORT0 ; MULTI, 7SEG IN (DP -> A), MULTI INT, CA, ACTIVE = 0
12
Bin so n: Ph m Quang Tr
N. H TH NG I U KHI N ADC. Bi 3: Chng trnh i u khi n bi n i A/D thng qua ADC0809 v hi n th gi tr i n p c a knh ng vo (knh IN0) ln b n LED 7 o n (LED3, LED2, LED1 v LED0: theo gi tr i n p th c, n v l mV).
; ANALOG IN -> IN0 ADC0809 ; DIGITAL OUT -> PORT3 ; START -> P2.0 EOC -> P2.1 ; OE -> P2.2 ALE -> P2.3 ; A0 -> P2.4 A1 -> P2.5 A2 -> P2.6 ; CLOCK -> 500KHz ;*************************************************** ;DINH NGHIA CAC THONG SO ;*************************************************** START BIT P2.0 ;BIT KHOI DONG ADC EOC BIT P2.1 ;BIT BAO KET THUC QUA TRINH CHUYEN DOI A/D OE BIT P2.2 ;BIT CHO PHEP XUAT GIA TRI ADC ALE BIT P2.3 ;BIT CHO PHEP CHOT DIA CHI A0 BIT P2.4 ;BIT CHON NGO VAO ANALOG CAN BIEN DOI A1 BIT P2.5 BIT P2.6 A2 DIG_OUT EQU P3 ;PORT DOC GIA TRI TU ADC XUAT RA ;*************************************************** ORG 00H MAIN: MOV P2,#02H ;CAU HINH CA CHAN DIEU KHIEN BAN DAU CHO ADC MOV DIG_OUT,#0FFH ;CAU HINH PORT 3 LA PORT NHAP GIA TRI MP1: ;**************************************************** CLR A0 ;CHON TIN HIEU ANALOG TAI KENH 0 (IN0) CLR A1 CLR A2 SETB ALE ;TAO XUNG ALE (ALE = 1) NOP NOP SETB START ;TAO XUNG START (START = 1) NOP NOP CLR ALE ;KET THUC XUNG ALE (ALE = 0) CLR START ;KET THUC XUNG START (START = 0) ACALL DELAY_ADC ;TAO THOI GIAN TRE CHO VIEC CHUYEN DOI A/D CUA ADC0809 SETB OE ;TAO XUNG OE (OE = 1) NOP NOP NOP NOP MOV A,DIG_OUT ;DOC GIA TRI TU ADC0809 VAO VI DIEU KHIEN CLR OE ;KET THUC XUNG OE (OE = 0) ;**************************************************** MOV B,#20 ;DO PHAN GIAI CUA ADC = VREF / 255 = 5V / 255 = 19.6mV -> 20mV MUL AB ;DOI GIA TRI DIGITAL NHAN TU ADC SANG THANH GIA TRI DIEN AP (mV) MOV R7,B ;LAY GIA TRI DIEN AP QUI DOI DE GIAI MA VA HIEN THI MOV R6,A ACALL BIN16TOBCD ;GIAI MA GIA TRI ADC (DANG BIN) SANG BCD ACALL BCD3ADCTO7SEG ;GIAI MA GIA TRI ADC (DANG BCD) SANG MA 7 DOAN ACALL DISP7SEGMUL8 ;HIEN THI GIA TRI LEN LED 7 DOAN SJMP MP1 ;**************************************************** DELAY_ADC: ;CHUONG TRINH CON TAO THOI GIAN TRE 120US DE THUC HIEN CHUYEN DOI A/D PUSH 00H MOV R0,#60 DJNZ R0,$ POP 00H RET ;*************************************************** ;CTC CHUYEN DOI SO BINARY 16 BIT (<= 9999) SANG SO BCD. ;*************************************************** ;NAME: BIN16TOBCD. ;INPUT: R7,R6 = SO BCD 16 BIT (<= 9999). ;OUTPUT: R7,R6 = SO BCD (NGAN - TRAM - CHUC - DON VI). ;*************************************************** BIN16TOBCD: PUSH ACC PUSH B
13
Bin so n: Ph m Quang Tr
N. H TH NG I U KHI N ADC. Bi 3: Chng trnh i u khi n bi n i A/D thng qua ADC0809 v hi n th gi tr i n p c a knh ng vo (knh IN0) ln b n LED 7 o n (LED3, LED2, LED1 v LED0: theo gi tr i n p th c, n v l mV).
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 ;*************************************************** ;CTC CHIA SO BINARY 16 BIT CHO SO BINARY 8 BIT. ;*************************************************** ;NAME: DIV16TO8. ;INPUT: R7,R6: SO BINARY 16 BIT ; B: SO BINARY 8 BIT ;OUTPUT: R7,R6: KET QUA CUA PHEP CHIA ; B: SO DU CUA PHEP CHIA ;*************************************************** DIV16TO8: PUSH 02H ;CAT THANH GHI R2 PUSH ACC ;CAT THANH GHI A MOV R2,#16 ;CHO PHEP DICH 16 LAN CLR A DIVIDE: XCH A,R6 CLR C ;DICH BIT 7 CU 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 ;*************************************************** ;CTC QUET HIEN THI LED 7 DOAN (8 LED 7 DOAN). ;*************************************************** ;LED: ANODE CHUNG, KICH HOAT MUC 0, 7 DOAN: DP (MSB) -> A (LSB) ;DU LIEU HIEN THI CHUA TRONG O NHO CUA RAM. ;*************************************************** ;NAME: DISP7SEGMUL8. ;INPUT: 67H,66H = MA 7 DOAN (CH TRIEU - TRIEU). ; 65H,64H = MA 7 DOAN (TR NGAN - CH NGAN).
14
Bin so n: Ph m Quang Tr
N. H TH NG I U KHI N ADC. Bi 3: Chng trnh i u khi n bi n i A/D thng qua ADC0809 v hi n th gi tr i n p c a knh ng vo (knh IN0) ln b n LED 7 o n (LED3, LED2, LED1 v LED0: theo gi tr i n p th c, n v l mV).
; 63H,62H = MA 7 DOAN (NGAN - TRAM). ; 61H,60H = MA 7 DOAN (CHUC - DON VI). ;OUTPUT: P0 = 7 DOAN LED - DP (MSB) -> A (LSB). ; P1 = CHON LED - LEFT (MSD) -> RIGHT (LSD). ;*************************************************** DISP7SEGMUL8: PUSH ACC ;CAT TAM THOI GIA TRI CAC THANH GHI PUSH 00H MOV A,#7FH ;MA QUET MOV R0,#67H ;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 ;*************************************************** ;CTC GIAI MA TU SO BCD NEN SANG MA 7 DOAN (3 SO BCD) CO KEM CHUOI "ADC= ". ;*************************************************** ;LED: ANODE CHUNG, 7 DOAN: DP (MSB) -> A (LSB) ;GIA TRI GIAI MA: 0 -> 9 ;*************************************************** ;NAME: BCD3ADCTO7SEG. ;INPUT: R7,R6 = SO BCD (NGAN - TRAM - CHUC - DON VI). ;OUTPUT: 67H,66H = CHUOI KY TU "AD". ; 65H,64H = CHUOI KY TU "C=". ; 63H,62H = MA 7 DOAN (NGAN - TRAM) ; 61H,60H = MA 7 DOAN (CHUC - DON VI). ;*************************************************** BCD3ADCTO7SEG: PUSH DPH ;CAT TAM THOI GIA TRI CAC THANH GHI PUSH DPL PUSH ACC MOV MOV ANL MOVC MOV MOV ANL SWAP MOVC MOV MOV ANL MOVC MOV DPTR,#CODE7SEG A,R6 A,#0FH A,@A+DPTR 60H,A A,R6 A,#0F0H A A,@A+DPTR 61H,A A,R7 A,#0FH A,@A+DPTR 62H,A ;DIA CHI VUNG MA 7 DOAN
;LAY SO BCD NEN 1 (CHUC - DON VI) CAN GIAI MA ;XOA 4 BIT CAO ;LAY MA 7 DOAN TUONG UNG ;CAT HANG DON VI VAO O NHO ;LAY SO BCD NEN 1 (CHUC - DON VI) CAN GIAI MA ;XOA 4 BIT THAP ;HOAN CHUYEN CAO - THAP ;LAY MA 7 DOAN TUONG UNG ;CAT HANG CHUC VAO O NHO ;LAY SO BCD NEN 2 (NGAN - TRAM) CAN GIAI MA ;XOA 4 BIT CAO ;LAY MA 7 DOAN TUONG UNG ;CAT HANG TRAM VAO O NHO
15
Bin so n: Ph m Quang Tr
N. H TH NG I U KHI N ADC. Bi 3: Chng trnh i u khi n bi n i A/D thng qua ADC0809 v hi n th gi tr i n p c a knh ng vo (knh IN0) ln b n LED 7 o n (LED3, LED2, LED1 v LED0: theo gi tr i n p th c, n v l mV).
MOV ANL SWAP MOVC MOV MOV MOV MOV MOV A,R7 A,#0F0H A A,@A+DPTR 63H,A 64H,#0B7H 65H,#0C6H 66H,#0A1H 67H,#88H ;LAY SO BCD NEN 2 (NGAN - TRAM) CAN GIAI MA ;XOA 4 BIT THAP ;HOAN CHUYEN CAO - THAP ;LAY MA 7 DOAN TUONG UNG ;CAT HANG NGAN VAO O NHO ;CAT MA KY TU "=" ;CAT MA KY TU "C" ;CAT MA KY TU "D" ;CAT MA KY TU "A"
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 END
1.4 Th c hi n l n l t cc b c t 1.3 2 Bi t p:
16
Bin so n: Ph m Quang Tr
N. H TH NG I U KHI N ADC. Bi 4: Chng trnh i u khi n bi n i A/D thng qua ADC0809 v hi n th gi tr c a b n knh ng vo (knh IN0, IN1, IN2 v IN3) ln b n LED 7 o n (LED3, LED2, LED1 v LED0: theo gi tr i n p th c, n v l mV), LED7 hi n th knh ng vo. Vi c chuy n i knh bi n i v hi n th c th c hi n m t cch l n l t, m i l n cch nhau 5s. 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 8 n i J64 (PORT1) kh i vi i u khi n v i J2 (SEL LED IN) kh i LED 7 o n. Dng b n dy bus 8 n i J5 (7SEG7 IN), J6 (7SEG6 IN), J7 (7SEG5 IN) v J8 (7SEG4 IN) kh i LED 7 o n v i J4 (7SEG IN MUL) kh i LED 7 o n (ta n i chung cc bus ny l i v i nhau thng qua kh i m r ng). Dng dy bus 8 n i J63 (PORT0 / DATA) kh i vi i u khi n v i J4 (7SEG IN MUL) kh i LED 7 o n. Dng dy bus 8 n i J49 (DIGITAL OUT) kh i ADC v i J66 (PORT3/FUNCTION) kh i vi i u khi n. Dng dy bus 4 n i J152 (CONTROL ADC) kh i ADC v i J65 (PORT2/A8..A15) kh i vi i u khi n (ch l ta ch n i 4 bit th p c a J65 v J152 l i v i nhau). Dng dy bus 3 n i D36 (ADDRESS) kh i ADC v i J65 (PORT2/A8..A15) kh i vi i u khi n (ch l ta ch n i 3 bit cao k ti p c a J65 v D36 l i v i nhau). Dng dy bus 1 n i J77 (V1) kh i t o p v i J48 (ANALOG IN) kh i ADC (ch l ta ch n i bit 3 (IN3) c a J48 v J77 l i v i nhau). Dng dy bus 1 n i J78 (V1) kh i t o p v i J48 (ANALOG IN) kh i ADC (ch l ta ch n i bit 2 (IN2) c a J48 v J77 l i v i nhau). Dng dy bus 1 n i J81 (V1) kh i t o p v i J48 (ANALOG IN) kh i ADC (ch l ta ch n i bit 1 (IN1) c a J48 v J77 l i v i nhau). Dng dy bus 1 n i J82 (V1) kh i t o p v i J48 (ANALOG IN) kh i ADC (ch l ta ch n i bit 0 (IN0) c a J48 v J77 l i v i nhau). Dng ba dy bus 3 n i D35 (POWER) kh i t o p, D34 (POWER) kh i ADC v J110 (POWER) kh i LED 7 o n v i ngu n +5V kh i ngu n.
POWER SEL IN2 SEL LED IN SEL IN1
LED 7 OAN
7SEG7 IN 7SEG6 IN 7SEG5 IN 7SEG4 IN
8
7SEG7 IN MUL
PORT 0
VI IEU KHIEN
POWER SW
PORT 3
40 PINS
8 3
8
ANALOG IN
8
POWER ADDRESS DIGITAL OUT
PORT 1
NGUON +5V
3
V1 POWER
PORT 2
TAO AP
1 1 1 1
ADC
4
CONTROL ADC
A0..A7
V2
V4
V3
17
Bin so n: Ph m Quang Tr
PORT 3
PORT 1
N. H TH NG I U KHI N ADC. Bi 4: Chng trnh i u khi n bi n i A/D thng qua ADC0809 v hi n th gi tr c a b n knh ng vo (knh IN0, IN1, IN2 v IN3) ln b n LED 7 o n (LED3, LED2, LED1 v LED0: theo gi tr i n p th c, n v l mV), LED7 hi n th knh ng vo. Vi c chuy n i knh bi n i v hi n th c th c hi n m t cch l n l t, m i l n cch nhau 5s. 1.2 S nguyn l c a h th ng:
MA C H IE U KHIE N ADC (ANALOG TO DIGITAL CONVERTER)
P1.7 P1.6 P1.5 P1.4 P1.3 P1.2 P1.1 +5V +5V +5V +5V +5V +5V +5V P1.0 +5V
RP1
1 +5V
R2
1K 2 3 4 5 6 7 8 9 AD0 AD1 AD2 AD3 AD4 AD5 AD6 AD7
Q1
A1015
R3
1K
Q2
A1015
R11
1K
Q3
A1015
R12
1K
Q4
A1015
R13
1K
Q5
A1015
R14
1K
Q6
A1015
R15
1K
Q7
A1015
R16
1K
Q8
A1015
C2
33p
X1
12MHz
C1
33p
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
+5V 19
U1
XTAL1
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 ST 22 EOC 23 OE 24 ALE 25 A0 26 A1 27 A2 28 10 11 12 13 14 15 16 17 D0 D1 D2 D3 D4 D5 D6 D7
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
A B C D E F G
A B C D E F G
A B C D E F G
18
C3
10uF 9
XTAL2
LED7
LED6
LED5
LED4
+5V
LED3
LED2
LED1
LED0
RST
R1
10k 29 30 31 PSEN ALE EA
U3
OE 9 +5V OE VREF(-) VREF(+) ALE ADD C ADD B ADD A IN7 IN6 IN5 IN4 IN3 IN2 IN1 IN0 16 12 22 23 24 25 5 4 3 2 1 28 27 26 ALE A2 A1 A0
RV1
100K +88.8
Volts
RV2
100K +88.8
Volts
RV3
100K +88.8
Volts
RV4
100K +88.8
Volts
1 2 3 4 5 6 7 8
D0 D1 D2 D3 D4 D5 D6 D7
17 14 15 8 18 19 20 21
OUT8 OUT7 OUT6 OUT5 OUT4 OUT3 OUT2 OUT1 EOC START CLOCK ADC0808
EOC 7 ST 6 10
U3(CLOCK)
1.3 V lu
18
Bin so n: Ph m Quang Tr
N. H TH NG I U KHI N ADC. Bi 4: Chng trnh i u khi n bi n i A/D thng qua ADC0809 v hi n th gi tr c a b n knh ng vo (knh IN0, IN1, IN2 v IN3) ln b n LED 7 o n (LED3, LED2, LED1 v LED0: theo gi tr i n p th c, n v l mV), LED7 hi n th knh ng vo. Vi c chuy n i knh bi n i v hi n th c th c hi n m t cch l n l t, m i l n cch nhau 5s.
N4 BEGIN
MAIN: C U HNH CC CHN I U KHI N BAN U CHO ADC (A2,A1,A0 = 000; ALE = 0; OE = 0; EOC = 1; START = 0 ) (P2) = 00000010B = 02H C U HNH PORT 3 NH P D (DIG_OUT) = FFH MP1: T GI TR KNH M C (R5) = 0 MP2: G I CTC I U KHI N CHUY N CONVERSATION I ADC NH (KNH 0) LI U
NAME: INPUT:
BCD3ADCTO7SEG
BCD3ADCTO7SEG - GI I M SANG M 7 R7,R6 = S BCD (TRM/CH C/ N V ). R5 = S TH T CC KNH. OUTPUT: 67H, 66H = CHU I K T CH. 65H = S TH T KNH 64H = CHU I K T =. 63H, 62H = = M 7 O N (NGN/TRM). 61H, 60H = M 7 O N (CH C/ N V ). O N.
BCD3ADCTO7SEG: C T T M GI TR C A DPH, DPL, ACC VO STACK N P A CH VNG M (DPTR) = CODE7SEG N PS X L BCD NN C N GI I M (A) = (R6) = X Y
T GI TR PHN GI I ADC (Vref/255 = 5/255 = 19.6 mV 20 mV) (B) = 20 I GI TR DIGITAL NH N T ADC THNH GI TR I N P (mV) ( I N P = GI TR x PHN GI I ADC) (A) x (B) L Y GI TR I N P GI I M - HI N TH (R7) = (B) I N P GI I M - HI N TH (R6) = (A)
N V
C T M 7 O N C A S TH T KNH C N CHUY N I A/D VO NH (65H) = (A) C T M 7 O N C A K T H VO NH (66H) = A1H C T M 7 O N C A K T C VO NH (67H) = 88H L Y L I GI TR CHO DPH, DPL, ACC T STACK
L Y GI TR
G I CTC GI I M GI TR SANG BCD BIN16TOBCD G I CTC GI I M BCD SANG M 7 O N BCD3ADCTO7SEG G I CTC HI N TH DELAY_SCAN CHUY N SANG KNH K TI P (R5) = (R5) + 1 X
KI M TRA S KNH (CHA XONG)
RET
VNG D LI U CODE7SEG C0H,F9H,A4H,B0H,99H,92H,82H,F8H,80H,90H
DELAY_ADC
(XEM CTC NY T I V D N1)
BIN16TOBCD
(XEM CTC NY T I PH N H NG D N C A V D K3)
CONVERSATION
CONVERSATION: CH N TN HI U ANALOG T I KNH 0 (A2) = 0, (A1) = 0, (A0) = 0 THI T L P KNH C N CHUY N (P2) = (P2) (R5) I A/D X L
DIV16TO8
(XEM CTC NY T I PH N H NG D N C A V D K3)
T O XUNG CH T A CH KNH ADC 1 / CHN ALE (ALE) = 0 NOP T O XUNG CHUY N I TNG T - S (START) = 0 1 / CHN START NOP XUNG CH T (ALE) = 1 XUNG CHUY N (START) = 1 A CH KNH ADC 0 / CHN ALE I TNG T - S 0 / CHN START
DISP7SEGMUL8
(XEM CTC NY T I V D B8 MBI)
DELAYLED
(XEM CTC NY T I V D B3.1 MBI)
DELAY_SCAN
(XEM CTC NY T I V D B6 MBO)
G I CTC T O TR TH C HI N ADC DELAY_ADC (120us) T O XUNG XU T D LI U DIGITAL T (OE) = 0 1 / CHN OE NOP C GI TR DIGITAL T (A) = (DIG_OUT) ADC ADC
ADC
RET
19
Bin so n: Ph m Quang Tr
N. H TH NG I U KHI N ADC. Bi 4: Chng trnh i u khi n bi n i A/D thng qua ADC0809 v hi n th gi tr c a b n knh ng vo (knh IN0, IN1, IN2 v IN3) ln b n LED 7 o n (LED3, LED2, LED1 v LED0: theo gi tr i n p th c, n v l mV), LED7 hi n th knh ng vo. Vi c chuy n i knh bi n i v hi n th c th c hi n m t cch l n l t, m i l n cch nhau 5s.
;*************************************************** ;CHUONG TRINH DIEU KHIEN BIEN DOI A/D THONG QUA ADC0809 VA ;HIEN THI GIA TRI SO (DANG SO DEC) CUA 4 KENH 0,1,2,3 LEN BON LED 7 DOAN ;THEO GIA TRI DIEN AP THUC (DON VI TINH LA mV), CAC KENH DUOC HIEN THI LAN LUOT ;CACH NHAU MOT KHOANG THOI GIAN NGAN ;*************************************************** ;KET NOI: 8 LED -> PORT1 ; SEL LED -> PORT0 ; MULTI, 7SEG IN (DP -> A), MULTI INT, CA, ACTIVE = 0 ; ANALOG IN -> IN0 ADC0809 ; DIGITAL OUT -> PORT3 ; START -> P2.0 EOC -> P2.1 ; OE -> P2.2 ALE -> P2.3 ; A0 -> P2.4 A1 -> P2.5 A2 -> P2.6 ; CLOCK -> 500KHz ;*************************************************** ;DINH NGHIA CAC THONG SO ;*************************************************** START BIT P2.0 ;BIT KHOI DONG ADC EOC BIT P2.1 ;BIT BAO KET THUC QUA TRINH CHUYEN DOI A/D OE BIT P2.2 ;BIT CHO PHEP XUAT GIA TRI ADC ALE BIT P2.3 ;BIT CHO PHEP CHOT DIA CHI A0 BIT P2.4 ;BIT CHON NGO VAO ANALOG CAN BIEN DOI A1 BIT P2.5 A2 BIT P2.6 DIG_OUT EQU P3 ;PORT DOC GIA TRI TU ADC XUAT RA ;*************************************************** ORG 00H MAIN: MOV P2,#02H ;CAU HINH CA CHAN DIEU KHIEN BAN DAU CHO ADC MOV DIG_OUT,#0FFH ;CAU HINH PORT 3 LA PORT NHAP GIA TRI MP1: MOV R5,#00H ;KENH MAC DINH - KENH 0 (IN0) MP2: ACALL CONVERSATION ;THUC HIEN CHUYEN DOI ADC ;**************************************************** MOV B,#20 ;DO PHAN GIAI CUA ADC = VREF / 255 = 5V / 255 = 19.6mV -> 20mV MUL AB ;DOI GIA TRI DIGITAL NHAN TU ADC SANG THANH GIA TRI DIEN AP (mV) MOV R7,B ;LAY GIA TRI DIEN AP QUI DOI DE GIAI MA VA HIEN THI MOV R6,A ACALL BIN16TOBCD ;GIAI MA GIA TRI ADC (DANG BIN) SANG BCD ACALL BCD3ADCTO7SEG ;GIAI MA GIA TRI ADC (DANG BCD) SANG MA 7 DOAN ACALL DELAY_SCAN ;TAO THOI GIAN TRE GIUA CAC KENH CO GOI CTC QUET HIEN THI INC R5 ;CHUYEN SANG KENH CHUYEN DOI KE TIEP CJNE R5,#04H,MP2 ;KIEM TRA DA CHUYEN DOI XONG TAT CA CAC KENH QUI DINH SJMP MP1 ;**************************************************** ;CTC DIEU KHIEN ADC THUC HIEN CHUYEN DOI A/D VA DOC GIA TRI ADC VE VI DIEU KHIEN ;**************************************************** ;NAME: CONVERSATION. ;INPUT: R5 = SO THU TU KENH CAN CHUYEN DOI ; START BIT P2.0 ;BIT KHOI DONG ADC ; EOC BIT P2.1 ;BIT BAO KET THUC QUA TRINH CHUYEN DOI A/D ; OE BIT P2.2 ;BIT CHO PHEP XUAT GIA TRI ADC ; ALE BIT P2.3 ;BIT CHO PHEP CHOT DIA CHI ; A0 BIT P2.4 ;BIT CHON NGO VAO ANALOG CAN BIEN DOI ; A1 BIT P2.5 ; A2 BIT P2.6 ; DIG_OUT EQU P3 ;PORT DOC GIA TRI TU ADC XUAT RA . ;OUTPUT: ACC = GIA TRI DIGITAL SAU KHI CHUYEN DOI THU DUOC TU ADC0809. ;**************************************************** CONVERSATION: CLR A0 ;DAT KENH CHUYEN DOI MAC DINH LA KENH 0 (IN0) CLR A1 CLR A2 MOV A,P2 ;THIET LAP KENH CAN CHUYEN DOI CHO CTC
20
Bin so n: Ph m Quang Tr
N. H TH NG I U KHI N ADC. Bi 4: Chng trnh i u khi n bi n i A/D thng qua ADC0809 v hi n th gi tr c a b n knh ng vo (knh IN0, IN1, IN2 v IN3) ln b n LED 7 o n (LED3, LED2, LED1 v LED0: theo gi tr i n p th c, n v l mV), LED7 hi n th knh ng vo. Vi c chuy n i knh bi n i v hi n th c th c hi n m t cch l n l t, m i l n cch nhau 5s.
SWAP A ;PHAI SWAP VI BIT QUI DINH DIA CHI NAM O 4 BIT CAO ORL A,R5 SWAP A MOV P2,A SETB ALE ;TAO XUNG ALE (ALE = 1) NOP NOP SETB START ;TAO XUNG START (START = 1) NOP NOP CLR ALE ;KET THUC XUNG ALE (ALE = 0) CLR START ;KET THUC XUNG START (START = 0) ACALL DELAY_ADC ;TAO THOI GIAN TRE CHO VIEC CHUYEN DOI A/D CUA ADC0809 SETB OE ;TAO XUNG OE (OE = 1) NOP NOP NOP NOP MOV A,DIG_OUT ;DOC GIA TRI TU ADC0809 VAO VI DIEU KHIEN CLR OE ;KET THUC XUNG OE (OE = 0) RET ;**************************************************** DELAY_ADC: ;CHUONG TRINH CON TAO THOI GIAN TRE 120US DE THUC HIEN CHUYEN DOI A/D PUSH 00H MOV R0,#60 DJNZ R0,$ POP 00H RET ;*************************************************** ;CTC CHUYEN DOI SO BINARY 16 BIT (<= 9999) SANG SO BCD. ;*************************************************** ;NAME: BIN16TOBCD. ;INPUT: R7,R6 = SO BCD 16 BIT (<= 9999). ;OUTPUT: R7,R6 = SO BCD (NGAN - TRAM - CHUC - DON VI). ;*************************************************** BIN16TOBCD: 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 ;*************************************************** ;CTC CHIA SO BINARY 16 BIT CHO SO BINARY 8 BIT. ;*************************************************** ;NAME: DIV16TO8. ;INPUT: R7,R6: SO BINARY 16 BIT ; B: SO BINARY 8 BIT
21
Bin so n: Ph m Quang Tr
N. H TH NG I U KHI N ADC. Bi 4: Chng trnh i u khi n bi n i A/D thng qua ADC0809 v hi n th gi tr c a b n knh ng vo (knh IN0, IN1, IN2 v IN3) ln b n LED 7 o n (LED3, LED2, LED1 v LED0: theo gi tr i n p th c, n v l mV), LED7 hi n th knh ng vo. Vi c chuy n i knh bi n i v hi n th c th c hi n m t cch l n l t, m i l n cch nhau 5s.
;OUTPUT: R7,R6: KET QUA CUA PHEP CHIA ; B: SO DU CUA PHEP CHIA ;*************************************************** DIV16TO8: PUSH 02H ;CAT THANH GHI R2 PUSH ACC ;CAT THANH GHI A MOV R2,#16 ;CHO PHEP DICH 16 LAN CLR A DIVIDE: XCH A,R6 CLR C ;DICH BIT 7 CU 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 ;*************************************************** ;CTC QUET HIEN THI LED 7 DOAN (8 LED 7 DOAN). ;*************************************************** ;LED: ANODE CHUNG, KICH HOAT MUC 0, 7 DOAN: DP (MSB) -> A (LSB) ;DU LIEU HIEN THI CHUA TRONG O NHO CUA RAM. ;*************************************************** ;NAME: DISP7SEGMUL8. ;INPUT: 67H,66H = MA 7 DOAN (CH TRIEU - TRIEU). ; 65H,64H = MA 7 DOAN (TR NGAN - CH NGAN). ; 63H,62H = MA 7 DOAN (NGAN - TRAM). ; 61H,60H = MA 7 DOAN (CHUC - DON VI). ;OUTPUT: P0 = 7 DOAN LED - DP (MSB) -> A (LSB). ; P1 = CHON LED - LEFT (MSD) -> RIGHT (LSD). ;*************************************************** DISP7SEGMUL8: PUSH ACC ;CAT TAM THOI GIA TRI CAC THANH GHI PUSH 00H MOV A,#7FH ;MA QUET MOV R0,#67H ;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
22
Bin so n: Ph m Quang Tr
N. H TH NG I U KHI N ADC. Bi 4: Chng trnh i u khi n bi n i A/D thng qua ADC0809 v hi n th gi tr c a b n knh ng vo (knh IN0, IN1, IN2 v IN3) ln b n LED 7 o n (LED3, LED2, LED1 v LED0: theo gi tr i n p th c, n v l mV), LED7 hi n th knh ng vo. Vi c chuy n i knh bi n i v hi n th c th c hi n m t cch l n l t, m i l n cch nhau 5s.
MOV DEL: MOV R0,#250 DJNZ R0,$ DJNZ R1,DEL POP 01H POP 00H RET ;*************************************************** DELAY_SCAN: ;CHUONG TRINH CON TAO THOI GIAN TRE 2S CO GOI CTC GIAI MA VA QUET HIEN THI PUSH 00H MOV R0,#200 MOV TMOD,#01H LOOP2: MOV TH0,#HIGH(-10000) MOV TL0,#LOW(-10000) SETB TR0 ;LIEN TUC GOI CTC QUET HIEN THI TRONG LUC TIMER DANG CHAY SCAN: ACALL DISP7SEGMUL8 ;HIEN THI GIA TRI LEN LED 7 DOAN JNB TF0,SCAN CLR TR0 CLR TF0 DJNZ R0,LOOP2 POP 00H RET ;*************************************************** ;CTC GIAI MA TU SO BCD NEN SANG MA 7 DOAN (3 SO BCD) CO KEM CHUOI "CHx=". ;*************************************************** ;LED: ANODE CHUNG, 7 DOAN: DP (MSB) -> A (LSB) ;GIA TRI GIAI MA: 0 -> 9 ;*************************************************** ;NAME: BCD3ADCTO7SEG. ;INPUT: R7,R6 = SO BCD (NGAN - TRAM - CHUC - DON VI). ; R5 = CHUA SO THU TU CUA KENH CHUYEN DOI ;OUTPUT: 67H,66H = CHUOI KY TU "CH". ; 65H = SO THU TU KENH. ; 64H = CHUOI KY TU "=". ; 63H,62H = MA 7 DOAN (NGAN - TRAM) ; 61H,60H = MA 7 DOAN (CHUC - DON VI). ;*************************************************** BCD3ADCTO7SEG: PUSH DPH ;CAT TAM THOI GIA TRI CAC THANH GHI PUSH DPL PUSH ACC MOV MOV ANL MOVC MOV MOV ANL SWAP MOVC MOV MOV ANL MOVC MOV MOV ANL SWAP DPTR,#CODE7SEG A,R6 A,#0FH A,@A+DPTR 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 ;DIA CHI VUNG MA 7 DOAN R1,#5
;LAY SO BCD NEN 1 (CHUC - DON VI) CAN GIAI MA ;XOA 4 BIT CAO ;LAY MA 7 DOAN TUONG UNG ;CAT HANG DON VI VAO O NHO ;LAY SO BCD NEN 1 (CHUC - DON VI) CAN GIAI MA ;XOA 4 BIT THAP ;HOAN CHUYEN CAO - THAP ;LAY MA 7 DOAN TUONG UNG ;CAT HANG CHUC VAO O NHO ;LAY SO BCD NEN 2 (NGAN - TRAM) CAN GIAI MA ;XOA 4 BIT CAO ;LAY MA 7 DOAN TUONG UNG ;CAT HANG TRAM VAO O NHO ;LAY SO BCD NEN 2 (NGAN - TRAM) CAN GIAI MA ;XOA 4 BIT THAP ;HOAN CHUYEN CAO - THAP
23
Bin so n: Ph m Quang Tr
N. H TH NG I U KHI N ADC. Bi 4: Chng trnh i u khi n bi n i A/D thng qua ADC0809 v hi n th gi tr c a b n knh ng vo (knh IN0, IN1, IN2 v IN3) ln b n LED 7 o n (LED3, LED2, LED1 v LED0: theo gi tr i n p th c, n v l mV), LED7 hi n th knh ng vo. Vi c chuy n i knh bi n i v hi n th c th c hi n m t cch l n l t, m i l n cch nhau 5s.
MOVC A,@A+DPTR MOV 63H,A MOV MOV ANL MOVC MOV MOV MOV 64H,#0B7H A,R5 A,#0FH A,@A+DPTR 65H,A 66H,#89H 67H,#0C6H ;LAY MA 7 DOAN TUONG UNG ;CAT HANG NGAN VAO O NHO ;CAT MA KY TU "=" ;LAY SO BCD CUA THU TU KENH CAN CHUYEN DOI ;XOA 4 BIT CAO ;LAY MA 7 DOAN TUONG UNG ;CAT SO THU TU KENH VAO O NHO ;CAT MA KY TU "H" ;CAT MA KY TU "C"
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 END
1.4 Th c hi n l n l t cc b c t 1.3 2
Bi t p: Bi 1: Hy vi t chng trnh i u khi n bi n i A/D thng qua ADC0809 v hi n th gi tr c a hai knh ng vo (IN0 v IN1) ln b n LED 7 o n (LED1 v LED0: knh IN0; LED4 v LED3: knh IN1; d i d ng s HEX t 00H -> FFH). Bi 2: Hy vi t chng trnh i u khi n bi n i A/D thng qua ADC0809 v hi n th gi tr c a ba knh ng vo (IN2, IN3 v IN4) ln su LED 7 o n (LED1 v LED0: knh IN2; LED4 v LED3: knh IN3; LED7 v LED6: knh IN4; d i d ng s HEX t 00H -> FFH). Bi 3: Hy vi t chng trnh i u khi n bi n i A/D thng qua ADC0809 v hi n th gi tr c a hai knh ng vo (knh IN6, IN7) ln su LED 7 o n (LED2, LED1 v LED0: knh IN6; LED7, LED6 v LED5: knh IN7; d i d ng s DEC t 0 -> 255). Bi 4: Hy vi t chng trnh i u khi n bi n i A/D thng qua ADC0809 v hi n th gi tr c a tm knh ng vo (knh IN0 -> IN7) ln ba LED 7 o n (LED2, LED1 v LED0; d i d ng s th p phn t 0 -> 255), LED7 hi n th knh ng vo. Vi c chuy n i knh bi n i c th c hi n b ng cch nh n l n l t cc nt nh n KEY0 -> KEY7. Bi 5: Hy vi t chng trnh i u khi n bi n i A/D thng qua ADC0809 v hi n th gi tr c a tm knh ng vo (knh IN0 -> IN7) ln ba LED 7 o n (LED2, LED1 v LED0; d i d ng s th p phn t 0 -> 255), LED7 hi n th knh ng vo. Vi c chuy n i knh bi n i c th c hi n b ng cch nh n nt KEY0. Bi 6: Hy vi t chng trnh i u khi n bi n i A/D thng qua ADC0809 v hi n th gi tr i n p c a hai knh ng vo (knh IN0, IN1) ln b n LED 7 o n (LED3: hng n v ; LED2, LED1 v LED0: ba s ph n th p phn), LED7 hi n th knh ng vo. Vi c chuy n i knh bi n i c th c hi n b ng cch nh n nt KEY0. Bi 7: Sinh vin t mnh suy ngh v pht tri n thm chng trnh. H ng d n: Qu trnh bi n i A/D c th c hi n qua cc b c sau: o Xc l p a ch ch n knh ng vo (A0, A1, A2). o T o xung START/ALE b ng cch xu t m t gi tr b t k ra ngo i vi ADC0809 v i a ch ngo i vi ch n (CS: Chip Select). o T o th i gian delay 120 s. o c gi tr t ngo i vi ADC0809 v i a ch ngo i vi ch n (gi tr ny c t m t 0 - 255 ty phn gi i l 5V/255 = 19,6 mV). theo i n p ng vo t 0 - 5V o i gi tr ny thnh i n p (tnh b ng mV) b ng cch nhn v i 19,6 20. o i gi tr ny ra m BCD nn. o Xu t ra LED 7 o n hi n th .
24
Bin so n: Ph m Quang Tr
N. H TH NG I U KHI N ADC. Bi 4: Chng trnh i u khi n bi n i A/D thng qua ADC0809 v hi n th gi tr c a b n knh ng vo (knh IN0, IN1, IN2 v IN3) ln b n LED 7 o n (LED3, LED2, LED1 v LED0: theo gi tr i n p th c, n v l mV), LED7 hi n th knh ng vo. Vi c chuy n i knh bi n i v hi n th c th c hi n m t cch l n l t, m i l n cch nhau 5s. i s nh o o o o trm th gi o phn 8 bit thnh m BCD nn (packed BCD): L y gi tr c n chuy n i (0 255) chia cho 10 S d s l m BCD hng n v . L y k t qu (thng s ) c a php chia trn chia ti p cho 10 S d s l m BCD hng ch c. K t qu (thng s ) c a php chia trn M BCD hng trm. K t h p m BCD c a hng ch c v hng n v l i thnh m BCD nn. Cn m BCD c a hng nguyn. Chng trnh m u:
;*************************************************** ;CTC CHUYEN DOI SO BINARY 8 BIT (<= 255) SANG SO BCD. ;NAME: BIN8TOBCD. ;INPUT: R7 = SO BCD 8 BIT (<= 255). ;OUTPUT: R7,R6 = SO BCD (TRAM - CHUC - DON VI). ;*************************************************** BIN8TOBCD: PUSH ACC PUSH B MOV B,#10 MOV A,R7 DIV AB ;LAY R7 CHIA CHO 10 PUSH B ;CAT SO HANG DON VI MOV B,#10 DIV AB ;LAY KET QUA TREN CHIA TIEP CHO 10 MOV R7,A ;R7 = TRAM MOV A,B ;LAY SO HANG CHUC 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 ;***************************************************
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,R6 = SO BCD 16 BIT (<= 9999). ;OUTPUT: R7,R6 = SO BCD (NGAN - TRAM - CHUC - DON VI). ;*************************************************** BIN16TOBCD: 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
i i
25
Bin so n: Ph m Quang Tr
N. H TH NG I U KHI N ADC. Bi 4: Chng trnh i u khi n bi n i A/D thng qua ADC0809 v hi n th gi tr c a b n knh ng vo (knh IN0, IN1, IN2 v IN3) ln b n LED 7 o n (LED3, LED2, LED1 v LED0: theo gi tr i n p th c, n v l mV), LED7 hi n th knh ng vo. Vi c chuy n i knh bi n i v hi n th c th c hi n m t cch l n l t, m i l n cch nhau 5s.
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 CHIA SO BINARY 16 BIT CHO SO BINARY 8 BIT. ;*************************************************** ;NAME: DIV16TO8. ;INPUT: R7,R6: SO BINARY 16 BIT ; B: SO BINARY 8 BIT ;OUTPUT: R7,R6: KET QUA CUA PHEP CHIA ; B: SO DU CUA PHEP CHIA ;*************************************************** DIV16TO8: PUSH 02H ;CAT THANH GHI R2 PUSH ACC ;CAT THANH GHI A MOV R2,#16 ;CHO PHEP DICH 16 LAN CLR A DIVIDE: XCH A,R6 CLR C ;DICH BIT 7 CU 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 ;***************************************************
26
Bin so n: Ph m Quang Tr