You are on page 1of 26

B

KHOA CNG NGH I NT MN I N T CNG NGHI P

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).

B. YU C U: N m v ng t p l nh c a vi i u khi n MCS-51. Tham kh o tr c v n m c ho t ng c a vi m ch ADC 0809.

Gio trnh th c hnh vi x l.

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

20 PINS SELECT CHIP CLOCK OUT

V2

ADC
4
CONTROL ADC

A0..A7

V3

1.2 S

nguyn l c a h th ng:

Gio trnh th c hnh vi x l.

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

P1.0 P1.1 P1.2 P1.3 P1.4 P1.5 P1.6 P1.7

1 2 3 4 5 6 7 8

P1.0 P1.1 P1.2 P1.3 P1.4 P1.5 P1.6 P1.7 AT89C51

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

gi i thu t v vi t chng trnh i u khi n.

Gio trnh th c hnh vi x l.

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).

Gio trnh th c hnh vi x l.

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"

Gio trnh th c hnh vi x l.

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)

Gio trnh th c hnh vi x l.

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

L Y GI TR TH NH T TRONG BCD NN (4 BIT TH P) Y (A) = 0 GI I M D LI U (A) = (@A+DPTR)

C T M 7 O N C A K T C VO NH (65H) = C6H

C T M 7 O N C A K T D VO NH (66H) = A1H N V C T M 7 O N C A K T A VO NH (67H) = 88H

C T M 7 O N C A BCD HNG VO NH (60H) = (A) N PS L

BCD NN C N GI I M (A) = (R6) = X Y

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

L Y GI TR TH HAI TRONG S BCD NN (4 BIT CAO) X (A) = 0 GI I M D LI U (A) = (@A+DPTR)

L Y L I GI TR CHO DPH, DPL, ACC T STACK

RET
VNG D LI U CODE7SEG C0H,F9H,A4H,B0H,99H,92H,82H,F8H,80H,90H

C T M 7 O N C A BCD HNG CH C VO NH (61H) = (A)

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

L Y GI TR TH NH T TRONG BCD NN (4 BIT TH P) Y (A) = 0 GI I M D LI U (A) = (@A+DPTR)

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

O N C A BCD HNG TRM VO NH (62H) = (A)

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 ;***************************************************

Gio trnh th c hnh vi x l.

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

Gio trnh th c hnh vi x l.

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

Gio trnh th c hnh vi x l.

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:

n 1.8 tng t nh bi trn.

(xem thm trong ph n h ng d n v ph n bi t p c a Bi 4)

Gio trnh th c hnh vi x l.

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

Gio trnh th c hnh vi x l.

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

Gio trnh th c hnh vi x l.

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).

Gio trnh th c hnh vi x l.

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

Gio trnh th c hnh vi x l.

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:

n 1.8 tng t nh bi trn.

(xem thm trong ph n h ng d n v ph n bi t p c a Bi 4)

Gio trnh th c hnh vi x l.

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

20 PINS SELECT CHIP CLOCK OUT

TAO AP

1 1 1 1

ADC
4
CONTROL ADC

A0..A7

V2

Gio trnh th c hnh vi x l.

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

P1.0 P1.1 P1.2 P1.3 P1.4 P1.5 P1.6 P1.7

1 2 3 4 5 6 7 8

P1.0 P1.1 P1.2 P1.3 P1.4 P1.5 P1.6 P1.7 AT89C51

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

gi i thu t v vi t chng trnh i u khi n.

Gio trnh th c hnh vi x l.

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

C T M 7 O N C A K T = VO NH (64H) = FFH N PS X L S TH T KNH C N GI I M (A) = (R5) = 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)

L Y GI TR TH NH T TRONG S BCD NN (4 BIT TH P) Y (A) = 0 GI I M D LI U (A) = (@A+DPTR)

L Y GI TR TH NH T TRONG TH T KNH (4 BIT TH P) Y (A) = 0 GI I M D LI U (A) = (@A+DPTR)

C T M 7 O N C A BCD HNG VO NH (60H) = (A) N PS X L

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

BCD NN C N GI I M (A) = (R6) = X Y

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)

L Y GI TR TH HAI TRONG S BCD NN (4 BIT CAO) X (A) = 0 GI I M D LI U (A) = (@A+DPTR)

C T M 7 O N C A BCD HNG CH C VO NH (61H) = (A) N PS L S BCD NN C N GI I M (A) = (R7) = X Y

RET
VNG D LI U CODE7SEG C0H,F9H,A4H,B0H,99H,92H,82H,F8H,80H,90H

L Y GI TR TH NH T TRONG BCD NN (4 BIT TH P) Y (A) = 0 GI I M D LI U (A) = (@A+DPTR)

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

C T M 7 O N C A BCD HNG TRM VO NH (62H) = (A) N PS BCD NN C N GI I M (A) = (R7) = X Y

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

L Y GI TR TH HAI TRONG S BCD NN (4 BIT CAO) X (A) = 0 GI I M D LI U (A) = (@A+DPTR)

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 O N C A BCD HNG NGN VO NH (63H) = (A)

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

XUNG XU T D LI U DIGITAL T (OE) = 1 0 / CHN OE

ADC

RET

Gio trnh th c hnh vi x l.

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

Gio trnh th c hnh vi x l.

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

Gio trnh th c hnh vi x l.

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

Gio trnh th c hnh vi x l.

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

Gio trnh th c hnh vi x l.

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

n 1.8 tng t nh bi trn.

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 .

Gio trnh th c hnh vi x l.

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

Gio trnh th c hnh vi x l.

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 ;***************************************************

Gio trnh th c hnh vi x l.

26

Bin so n: Ph m Quang Tr

You might also like