vi xử lý hệ thống điều khiển adc

26 715 2
vi xử lý hệ thống điều khiển adc

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

KHOA CÔNG NGHỆ ĐIỆN TỬ BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP T T À À I I L L I I Ệ Ệ U U H H Ư Ư Ớ Ớ N N G G D D Ẫ Ẫ N N T T H H Í Í N N G G H H I I Ệ Ệ M M - - T T H H Ự Ự C C H H À À N N H H N. HỆ THỐNG ĐIỀU KHIỂN ADC. Giáo trình thực hành vi xử lý. 2 Biên soạn: Phạm Quang Trí A. MỤC ĐÍCH: • Thực hành lập trình ứng dụng trên máy tính, biên dịch chương trình, nạp vào vi điều khiển và sử dụng mô hình thí nghiệm để kiểm chứng. • Điều khiển thiết bị ngoại vi bằng các port của vi điều khiển. • Khảo sát nguyên hoạt động của vi mạch ADC 0809. • Thực hiện việc biến đổi từ tín hiệu tương tự (Analog) sang tín hiệu số (Digital). B. YÊU 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. N. H THNG IU KHIN ADC. Bi 1: Chng trỡnh iu khin bin i A/D thụng qua ADC0809 v hin th giỏ tr ca kờnh ngừ vo (kờnh IN0) lờn hai LED 7 on (LED1 v LED0; di dng s HEX t 00H -> FFH). Giỏo trỡnh thc hnh vi x lý. 3 Biờn son: Phm Quang Trớ 1 Trỡnh t tin hnh thớ nghim: 1.1 Kt ni thit b thớ nghim. Tt ngun cp cho mụ hỡnh thớ nghim. Dựng dõy bus 8 ni J64 (PORT1) khi vi iu khin vi J2 (SEL LED IN) khi LED 7 on. Dựng bn dõy bus 8 ni J5 (7SEG7 IN), J6 (7SEG6 IN), J7 (7SEG5 IN) v J8 (7SEG4 IN) khi LED 7 on vi J4 (7SEG IN MUL) khi LED 7 on (ta ni chung cỏc bus ny li vi nhau thụng qua khi m rng). Dựng dõy bus 8 ni J63 (PORT0 / DATA) khi vi iu khin vi J4 (7SEG IN MUL) khi LED 7 on. Dựng dõy bus 8 ni J49 (DIGITAL OUT) khi ADC vi J66 (PORT3/FUNCTION) khi vi iu khin. Dựng dõy bus 4 ni J152 (CONTROL ADC) khi ADC vi J65 (PORT2/A8 A15) khi vi iu khin (chỳ ý l ta ch ni 4 bit thp ca J65 v J152 li vi nhau). Dựng dõy bus 3 ni D36 (ADDRESS) khi ADC vi J65 (PORT2/A8 A15) khi vi iu khin (chỳ ý l ta ch ni 3 bit cao k tip ca J65 v D36 li vi nhau). Dựng dõy bus 1 ni J77 (V1) khi to ỏp vi J48 (ANALOG IN) khi ADC (chỳ ý l ta ch ni bit 0 (IN0) ca J48 v J77 li vi nhau). Dựng ba dõy bus 3 ni D35 (POWER) khi to ỏp, D34 (POWER) khi ADC v J110 (POWER) khi LED 7 on vi ngun +5V khi ngun. ADC ANALOG IN CONTROL ADC DIGITAL OUT POWER ADDRESS LED 7 ẹOAẽN 7SEG7 IN SEL IN2POWER SEL IN1 7SEG6 IN 7SEG5 IN 7SEG4 IN 7SEG7 IN MUL SEL LED IN 8 8 8 8 VI ẹIEU KHIEN PORT 0 A0 A7 PORT 1PORT 3PORT 2 SELECT CHIP CLOCK OUT PORT 1PORT 3 40 PINS 20 PINS POWER SW NGUON +5V 3 8 8 TAẽO AP V1 POWERV2V3V4 1 1 8 3 3 8 3 4 1.2 S nguyờn ca h thng: N. HỆ THỐNG ĐIỀU KHIỂN ADC. Bài 1: Chương trình điều khiển biến đổi A/D thông qua ADC0809 và hiển thị giá trị của kênh ngõ vào (kênh IN0) lên hai LED 7 đoạn (LED1 và LED0; dưới dạng số HEX từ 00H -> FFH). Giáo trình thực hành vi xử lý. 4 Biên soạn: Phạm Quang Trí AD7 AD0 AD0 AD1 AD2 AD3 AD4 AD5 AD6 AD7 AD6 AD5 AD4 AD3 AD2 AD1 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 A B C D E F G P1.0 P1.6 P1.5 P1.4 P1.3 P1.2 P1.1 P1.0 P1.7 P1.6 P1.5 P1.4 P1.3 P1.2 P1.1 D7 D0 D1 D2 D3 D4 D5 D6 A0 A1 A2 ALE OE EOC ST AD6 AD0 AD1 AD2 AD3 AD4 AD5 D7 ST D3 EOC OE D6 D2 D4 D5 A0 D0 D1 A1 A2 ALE P1.7 XTAL2 18 XTAL1 19 ALE 30 EA 31 PSEN 29 RST 9 P0.0/AD0 39 P0.1/AD1 38 P0.2/AD2 37 P0.3/AD3 36 P0.4/AD4 35 P0.5/AD5 34 P0.6/AD6 33 P0.7/AD7 32 P1.0 1 P1.1 2 P1.2 3 P1.3 4 P1.4 5 P1.5 6 P1.6 7 P1.7 8 P3.0/RXD 10 P3.1/TXD 11 P3.2/INT0 12 P3.3/INT1 13 P3.4/T0 14 P3.7/RD 17 P3.6/WR 16 P3.5/T1 15 P2.7/A15 28 P2.0/A8 21 P2.1/A9 22 P2.2/A10 23 P2.3/A11 24 P2.4/A12 25 P2.5/A13 26 P2.6/A14 27 U1 AT89C51 C1 33p C2 33p X1 12MHz 2 3 4 5 6 7 8 9 1 RP1 10K +5V MAÏCH ÑIEÀU KHIEÅN ADC (ANALOG TO DIGITAL CONVERTER) MAÏCH ÑIEÀU KHIEÅN ADC (ANALOG TO DIGITAL CONVERTER)MAÏCH ÑIEÀU KHIEÅN ADC (ANALOG TO DIGITAL CONVERTER) MAÏCH ÑIEÀU KHIEÅN ADC (ANALOG TO DIGITAL CONVERTER) LED7 Q1 A1015 +5V LED6 Q2 A1015 +5V R2 1K R3 1K R4 56 R5 56 R6 56 R7 56 R8 56 R9 56 R10 56 LED5 Q3 A1015 +5V LED4 Q4 A1015 +5V R11 1K R12 1K LED3 Q5 A1015 +5V LED2 Q6 A1015 +5V R13 1K R14 1K LED1 Q7 A1015 +5V LED0 Q8 A1015 +5V R15 1K R16 1K C3 10uF R1 10k +5V +5V RV1 100K +5V U3(CLOCK) OUT1 21 ADD B 24 ADD A 25 ADD C 23 VREF(+) 12 VREF(-) 16 IN3 1 IN4 2 IN5 3 IN6 4 IN7 5 START 6 OUT5 8 EOC 7 OE 9 CLOCK 10 OUT2 20 OUT7 14 OUT6 15 OUT8 17 OUT4 18 OUT3 19 IN2 28 IN1 27 IN0 26 ALE 22 U3 ADC0808 +88.8 Volts 1.3 Vẽ lưu đồ giải thuật và viết chương trình điều khiển. N. HỆ THỐNG ĐIỀU KHIỂN ADC. Bài 1: Chương trình điều khiển biến đổi A/D thông qua ADC0809 và hiển thị giá trị của kênh ngõ vào (kênh IN0) lên hai LED 7 đoạn (LED1 và LED0; dưới dạng số HEX từ 00H -> FFH). Giáo trình thực hành vi xử lý. 5 Biên soạn: Phạm Quang Trí ;*************************************************** ;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 A2 BIT P2.6 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). N. HỆ THỐNG ĐIỀU KHIỂN ADC. Bài 1: Chương trình điều khiển biến đổi A/D thông qua ADC0809 và hiển thị giá trị của kênh ngõ vào (kênh IN0) lên hai LED 7 đoạn (LED1 và LED0; dưới dạng số HEX từ 00H -> FFH). Giáo trình thực hành vi xử lý. 6 Biên soạn: Phạm Quang Trí ; 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 DPTR,#CODE7SEG ;DIA CHI VUNG MA 7 DOAN MOV A,R4 ;LAY CAP SO HEX 1 CAN GIAI MA ANL A,#0FH ;XOA 4 BIT CAO MOVC A,@A+DPTR ;LAY MA 7 DOAN TUONG UNG MOV 60H,A ;CAT HANG DON VI VAO O NHO MOV A,R4 ;LAY CAP SO HEX 1 CAN GIAI MA ANL A,#0F0H ;XOA 4 BIT THAP SWAP A ;HOAN CHUYEN CAO - THAP MOVC A,@A+DPTR ;LAY MA 7 DOAN TUONG UNG MOV 61H,A ;CAT HANG CHUC VAO O NHO MOV 62H,#0FFH ;CAT MA KY TU " " MOV 63H,#0B7H ;CAT MA KY TU "=" MOV 64H,#0FFH ;CAT MA KY TU " " MOV 65H,#0C6H ;CAT MA KY TU "C" MOV 66H,#0A1H ;CAT MA KY TU "D" N. HỆ THỐNG ĐIỀU KHIỂN ADC. Bài 1: Chương trình điều khiển biến đổi A/D thông qua ADC0809 và hiển thị giá trị của kênh ngõ vào (kênh IN0) lên hai LED 7 đoạn (LED1 và LED0; dưới dạng số HEX từ 00H -> FFH). Giáo trình thực hành vi xử lý. 7 Biên soạn: Phạm Quang Trí 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 Lưu chương trình và biên dịch chương trình. 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 vào socket tương ứng trên khối nạp chip và bật nguồn cho khối nạp chip hoạt động. 1.7 Nạp chương trình vào vi điều khiển. 1.8 Sử dụng vi điều khiển vừa nạp gắn vào socket tương ứng trên khối vi điều khiển. 1.9 Bật nguồn cho mô hình thí nghiệm. Quan sát kết quả hoạt động, nếu kết quả hoạt động không đúng yêu cầu của đề bài thì phải quay lại kiểm tra việc kết nối mạch, hiệu chỉnh chương trình và làm lại các bước từ bước 3 đến bước 9. 2 Bài tập: (xem thêm trong phần hướng dẫn và phần bài tập của Bài 4) N. HỆ THỐNG ĐIỀU KHIỂN ADC. Bài 2: Chương trình điều khiển biến đổi A/D thông qua ADC0809 và hiển thị giá trị của kênh ngõ vào (kênh IN0) lên ba LED 7 đoạn (LED2, LED1 và LED0; dưới dạng số DEC từ 0 -> 255). Giáo trình thực hành vi xử lý. 8 Biên soạn: Phạm Quang Trí 1 Trình tự tiến hành thí nghiệm: 1.1 Kết nối thiết bị thí nghiệm. • Quá trình kết nối thiết bị thí nghiệm tương tự như Bài 1. 1.2 Sơ đồ nguyên của hệ thống: • Sơ đồ nguyên của hệ thống tương tự như Bài 1. 1.3 Vẽ lưu đồ giải thuật và viết chương trình điều khiển. DELAYLED (XEM CTC NÀY TẠI DỤ B3.1 MBI) DISP7SEGMUL8 (XEM CTC NÀY TẠI DỤ B8 MBI) BEGIN MAIN: N2 CẤU HÌNH CÁC CHÂN Đ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 HÌNH PORT 3 NHẬP DỮ LIỆU (DIG_OUT) = FFH MP1: CHỌN TÍN HIỆU ANALOG TẠI KÊNH 0 (A2) = 0, (A1) = 0, (A0) = 0 TẠO XUNG CHỐT ĐỊA CHỈ KÊNH ADC (ALE) = 0 1 / CHÂN ALE NOP NOP TẠO XUNG CHUYỂN ĐỔI TƯƠNG TỰ - SỐ (START) = 0 1 / CHÂN START XUNG CHỐT ĐỊA CHỈ KÊNH ADC (ALE) = 1 0 / CHÂN ALE XUNG CHUYỂN ĐỔI TƯƠNG TỰ - SỐ (START) = 1 0 / CHÂN START GỌI CTC TẠO TRỄ ĐỂ THỰC HIỆN ADC DELAY_ADC (120us) TẠO XUNG XUẤT DỮ LIỆU DIGITAL TỪ ADC (OE) = 0 1 / CHÂN OE NOP ĐỌC GIÁ TRỊ DIGITAL TỪ ADC (A) = (DIG_OUT) XUNG XUẤT DỮ LIỆU DIGITAL TỪ ADC (OE) = 1 0 / CHÂN OE 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 DELAY_ADC (XEM CTC NÀY TẠI DỤ N1) BIN8TOBCD (XEM CTC NÀY TẠI PHẦN HƯỚNG DẪN CỦA DỤ G) XỬ ĐỂ LẤY GIÁ TRỊ THỨ NHẤT TRONG SỐ BCD NÉN (4 BIT THẤP) (A) = XỬ ĐỂ LẤY GIÁ TRỊ THỨ HAI TRONG SỐ BCD NÉN (4 BIT CAO) (A) = CẤT TẠM GIÁ TRỊ CỦA DPH, DPL, ACC VÀO STACK BCD3ADCTO7SEG NAME: BCD3ADCTO7SEG - GIẢI MÃ SANG MÃ 7 ĐOẠN. INPUT: R7,R6 = SỐ BCD (TRĂM/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 (TRĂM). 61H, 60H = MÃ 7 ĐOẠN (CHỤC/ĐƠN VỊ). BCD3ADCTO7SEG: LẤY LẠI GIÁ TRỊ CHO DPH, DPL, ACC TỪ STACK NẠP ĐỊA CHỈ VÙNG MÃ (DPTR) = CODE7SEG RET NẠP SỐ BCD NÉN CẦN GIẢI MÃ (A) = (R6) = X Y 0 Y GIẢI MÃ DỮ LIỆU (A) = (@A+DPTR) CẤT MÃ 7 ĐOẠN CỦA BCD HÀNG ĐƠN VỊ VÀO Ô NHỚ (60H) = (A) NẠP SỐ BCD NÉN CẦN GIẢI MÃ (A) = (R6) = X Y 0 X GIẢI MÃ DỮ LIỆU (A) = (@A+DPTR) CẤT MÃ 7 ĐOẠN CỦA BCD HÀNG CHỤC VÀO Ô NHỚ (61H) = (A) CẤT MÃ 7 ĐOẠN CỦA KÝ TỰ “ “ VÀO Ô NHỚ (63H) = FFH CẤT MÃ 7 ĐOẠN CỦA KÝ TỰ “=“ VÀO Ô NHỚ (64H) = FFH CẤT MÃ 7 ĐOẠN CỦA KÝ TỰ “C“ VÀO Ô NHỚ (65H) = C6H CẤT MÃ 7 ĐOẠN CỦA KÝ TỰ “D“ VÀO Ô NHỚ (66H) = A1H CẤT MÃ 7 ĐOẠN CỦA KÝ TỰ “A“ VÀO Ô NHỚ (67H) = 88H XỬ ĐỂ LẤY GIÁ TRỊ THỨ NHẤT TRONG SỐ BCD NÉN (4 BIT THẤP) (A) = NẠP SỐ BCD NÉN CẦN GIẢI MÃ (A) = (R7) = X Y 0 Y GIẢI MÃ DỮ LIỆU (A) = (@A+DPTR) CẤT MÃ 7 ĐOẠN CỦA BCD HÀNG TRĂM VÀO Ô NHỚ (62H) = (A) VÙNG DỮ LIỆU CODE7SEG C0H,F9H,A4H,B0H,99H,92H,82H,F8H,80H,90H ;*************************************************** ;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 ;*************************************************** N. HỆ THỐNG ĐIỀU KHIỂN ADC. Bài 2: Chương trình điều khiển biến đổi A/D thông qua ADC0809 và hiển thị giá trị của kênh ngõ vào (kênh IN0) lên ba LED 7 đoạn (LED2, LED1 và LED0; dưới dạng số DEC từ 0 -> 255). Giáo trình thực hành vi xử lý. 9 Biên soạn: Phạm Quang Trí 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: 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 N. HỆ THỐNG ĐIỀU KHIỂN ADC. Bài 2: Chương trình điều khiển biến đổi A/D thông qua ADC0809 và hiển thị giá trị của kênh ngõ vào (kênh IN0) lên ba LED 7 đoạn (LED2, LED1 và LED0; dưới dạng số DEC từ 0 -> 255). Giáo trình thực hành vi xử lý. 10 Biên soạn: Phạm Quang Trí 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 DPTR,#CODE7SEG ;DIA CHI VUNG MA 7 DOAN MOV A,R6 ;LAY SO BCD NEN 1 (CHUC - DON VI) CAN GIAI MA ANL A,#0FH ;XOA 4 BIT CAO MOVC A,@A+DPTR ;LAY MA 7 DOAN TUONG UNG MOV 60H,A ;CAT HANG DON VI VAO O NHO [...]... MBO) A CH KấNH ADC 0 / CHN ALE I TNG T - S 0 / CHN START 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 ADC NOP C GI TR DIGITAL T (A) = (DIG_OUT) ADC XUNG XU T D LI U DIGITAL T (OE) = 1 0 / CHN OE ADC RET Giỏo trỡnh th c hnh vi x 19 Biờn so n: Ph m Quang Trớ N H TH NG I U KHI N ADC Bi 4: Chng trỡnh i u khi n bi n i A/D thụng qua ADC0 809 v hi n th... k ra ngo i vi ADC0 809 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 ADC0 809 v i a ch ngo i vi ó ch n (giỏ tr ny cú t m t 0 - 255 tựy phõn 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 (tớnh b ng mV) b ng cỏch nhõn v i 19,6 20 o i giỏ tr ny ra mó BCD nộn o Xu t ra LED 7 o n hi n th Giỏo trỡnh th c hnh vi x 24 Biờn... P1.6 P1.7 MAẽ C H ẹIE U KHIE N ADC (ANALOG TO DIGITAL CONVERTER) +5V ALE A2 A1 A0 RV1 RV2 100K RV3 100K RV4 100K 100K +88.8 +88.8 +88.8 +88.8 Volts Volts Volts Volts 5 4 3 2 1 28 27 26 ADC0 808 1.3 V lu gi i thu t v vi t chng trỡnh i u khi n Giỏo trỡnh th c hnh vi x 18 Biờn so n: Ph m Quang Trớ N H TH NG I U KHI N ADC Bi 4: Chng trỡnh i u khi n bi n i A/D thụng qua ADC0 809 v hi n th giỏ tr c a b... (START = 0) ACALL DELAY _ADC ;TAO THOI GIAN TRE CHO VIEC CHUYEN DOI A/D CUA ADC0 809 SETB OE ;TAO XUNG OE (OE = 1) NOP NOP NOP NOP MOV A,DIG_OUT ;DOC GIA TRI TU ADC0 809 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... (PORT3/FUNCTION) kh i vi i u khi n Dựng dõy 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) Dựng dõy 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) Dựng dõy bus 1 n i J77 (V1) kh i t o ỏp v i J48 (ANALOG IN) kh i ADC (chỳ ý l... TU ADC XUAT RA ;OUTPUT: ACC = GIA TRI DIGITAL SAU KHI CHUYEN DOI THU DUOC TU ADC0 809 ;**************************************************** 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 Giỏo trỡnh th c hnh vi x 20 Biờn so n: Ph m Quang Trớ N H TH NG I U KHI N ADC Bi 4: Chng trỡnh i u khi n bi n i A/D thụng qua ADC0 809... vi x 11 Biờn so n: Ph m Quang Trớ N H TH NG I U KHI N ADC Bi 3: Chng trỡnh i u khi n bi n i A/D thụng qua ADC0 809 v hi n th giỏ tr i n ỏp c a kờnh ngừ vo (kờnh IN0) lờn b n LED 7 o n (LED3, LED2, LED1 v LED0: theo giỏ tr i n ỏp th c, n v l mV) 1 Trỡnh t ti n hnh thớ nghi m: 1.1 K t n i thi t b thớ nghi m Quỏ trỡnh k t n i thi t b thớ nghi m tng t nh Bi 1 1.2 S nguyờn c a h th ng: S nguyờn lý. .. CHUC LEN 4 BIT CAO POP B ;LAY SO HANG DON VI TU STACK Giỏo trỡnh th c hnh vi x 25 Biờn so n: Ph m Quang Trớ N H TH NG I U KHI N ADC Bi 4: Chng trỡnh i u khi n bi n i A/D thụng qua ADC0 809 v hi n th giỏ tr c a b n kờnh ngừ vo (kờnh IN0, IN1, IN2 v IN3) lờn 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 kờnh ngừ vo Vi c chuy n i kờnh bi n i v hi n th c th... BIN16TOBCD ;INPUT: R7,R6 = SO BCD 16 BIT ( . C 23 VREF(+) 12 VREF(-) 16 IN3 1 IN4 2 IN5 3 IN6 4 IN7 5 START 6 OUT5 8 EOC 7 OE 9 CLOCK 10 OUT2 20 OUT7 14 OUT6 15 OUT8 17 OUT4 18 OUT3 19 IN2 28 IN1 27 IN0 26 ALE 22 U3 ADC0 808 +88.8 Volts 1.3 Vẽ lưu đồ giải thuật và vi t chương trình điều khiển. N. HỆ THỐNG ĐIỀU KHIỂN ADC. Bài 1: Chương trình điều khiển biến đổi A/D thông qua ADC0 809 và hiển. HỆ THỐNG ĐIỀU KHIỂN ADC. Giáo trình thực hành vi xử lý. 2 Biên soạn: Phạm Quang Trí A. MỤC ĐÍCH: • Thực hành lập trình ứng dụng trên máy tính, biên dịch chương trình, nạp vào vi điều khiển. hình thí nghiệm để kiểm chứng. • Điều khiển thiết bị ngoại vi bằng các port của vi điều khiển. • Khảo sát nguyên lý hoạt động của vi mạch ADC 0809. • Thực hiện vi c biến đổi từ tín hiệu tương

Ngày đăng: 09/05/2014, 21:12

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan