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

12 731 3
vi xử lý hệ thống điều khiển dac

Đ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 O. HỆ THỐNG ĐIỀU KHIỂN DAC. 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 DAC 0808. • Thực hiện việc biến đổi từ tín hiệu số (Digital) sang tín hiệu tương tự (Analog). 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 DAC 0808. O. HỆ THỐNG ĐIỀU KHIỂN DAC. Bài 1: Chương trình điều khiển biến đổi D/A thông qua DAC0808 và thực hiện biến đổi các giá trị lưu trong vi điều khiển thành điện áp tương tự. Giá trị thay đổi liên tục 00H, 01H, 02H, 04H, 08H, 10H, 20H, 40H ,80H, C0H và FFH, mỗi lần cách nhau 2 giây. Giáo trình thực hành vi xử lý. 3 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. • Tắt nguồn cấp cho mô hình thí nghiệm. • Dùng dây bus 8 nối J64 (PORT1) ở khối vi điều khiển với J37 (DIGITAL IN) ở khối DACõ. • Dùng máy đo VOM để đo điện áp tại J38 (ANALOG OUT) ở khối DAC. • Dùng dây bus 8 nối J108 (POWER) ở khối DAC với nguồn ±5V, ±12V ở khối nguồn. VI ÑIEÀU KHIEÅN PORT 0 A0 A7 PORT 1PORT 3PORT 2 SELECT CHIP CLOCK OUT PORT 1PORT 3 40 PINS 20 PINS POWER SW DAC POWER DIGITAL IN ANALOG OUT NGUOÀN 5V, 12V 8 8 VOM 1 1.2 Sơ đồ nguyên của hệ thống: AD7 AD0 AD0 AD1 AD2 AD3 AD4 AD5 AD6 AD7 AD6 AD5 AD4 AD3 AD2 AD1 P1.7 P1.0 P1.6 P1.5 P1.4 P1.3 P1.2 P1.1 P1.0 P1.1 P1.2 P1.3 P1.4 P1.5 P1.6 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 VCC=+5V C1 33p C2 33p X1 12MHz C3 10uF R1 10k +5V 2 3 4 5 6 7 8 9 1 RP1 10K +5V MAÏCH ÑIEÀU KHIEÅN DAC (DIGITAL TO ANALOG CONVERTER) MAÏCH ÑIEÀU KHIEÅN DAC (DIGITAL TO ANALOG CONVERTER)MAÏCH ÑIEÀU KHIEÅN DAC (DIGITAL TO ANALOG CONVERTER) MAÏCH ÑIEÀU KHIEÅN DAC (DIGITAL TO ANALOG CONVERTER) A2 6 VREF+ 14 VEE 3 A1 5 IOUT 4 A3 7 A4 8 A5 9 A6 10 A7 11 A8 12 VREF- 15 COMP 16 U2 DAC0808 VCC=+12V +88.8 Volts DIEN AP ANALOG R2 2K7 R3 2K7 R4 2K7 R5 2K7 D1 5V RV2 10K C4 10uF C5 100nF R6 2K7 +12V C6 100nF C7 100nF -12V C8 100nF U3 LM741 +88.8 Volts DIEN AP CHUAN 1.3 Vẽ lưu đồ giải thuật và viết chương trình điều khiển. ;*************************************************** ;CHUONG TRINH DIEU KHIEN BIEN DOI D/A THONG QUA DAC0808 VA ;HIEN THI GIA TRI ANALOG (DANG DIEN AP) LEN VOLT KE ;*************************************************** ;KET NOI: DIGITAL IN -> PORT1 ;*************************************************** ORG 00H MAIN: MOV DPTR,#MYDATA ;NAP DIA CHI VUNG DU LIEU CAN CHUYEN DOI D/A MOV R0,#11 ;SO BIEN DU LIEU TRONG VUNG DU LIEU MP1: O. HỆ THỐNG ĐIỀU KHIỂN DAC. Bài 1: Chương trình điều khiển biến đổi D/A thông qua DAC0808 và thực hiện biến đổi các giá trị lưu trong vi điều khiển thành điện áp tương tự. Giá trị thay đổi liên tục 00H, 01H, 02H, 04H, 08H, 10H, 20H, 40H ,80H, C0H và FFH, mỗi lần cách nhau 2 giây. Giáo trình thực hành vi xử lý. 4 Biên soạn: Phạm Quang Trí CLR A MOVC A,@A+DPTR ;LAY DU LIEU TU VUNG DU LIEU MOV P1,A ;XUAT DU LIEU DIGITAL RA DAC0808 ACALL DELAY2S ;TAO THOI GIAN TRE GIUA HAI LAN XUAT DU LIEU INC DPTR ;CHUAN BI LAY DU LIEU KE TIEP DJNZ R0,MP1 ;KIEM TRA HOAN TAT MOT CHU TRINH XUAT DU LIEU SJMP MAIN ;LAP LAI ;**************************************************** DELAY2S: ;CHUONG TRINH CON TAO THOI GIAN TRE 2S PUSH 00H MOV R0,#200 MOV TMOD,#01H LOOP2: MOV TH0,#HIGH(-10000) MOV TL0,#LOW(-10000) SETB TR0 JNB TF0,$ CLR TR0 CLR TF0 DJNZ R0,LOOP2 POP 00H RET ;**************************************************** MYDATA: DB 00H,01H,02H,04H,08H,10H,20H,40H,80H,0C0H,0FFH END DELAY2S (XEM CTC NÀY TẠI DỤ A7.3) NẠP SỐ DỮ LIỆU TRONG VÙNG (R0) = 11 BEGIN NẠP ĐỊA CHỈ VÙNG DỮ LIỆU (DPTR) = MYDATA NẠP ĐỊA CHỈ OFFSET BAN ĐẦU (A) = 0 LẤY DỮ LIỆU (A) = (@A+DPTR) O1 XUẤT DỮ LIỆU RA PORT (P1) = (A) GỌI CTC TẠO TRỄ DELAY2S CHUYỂN SANG DỮ LIỆU KẾ TIẾP (DPTR) = (DPTR) + 1 MAIN: MP1: CHƯA HẾT DỮ LIỆU (R0) ≠ 0 Đ S VÙNG DỮ LIỆU MYDATA 00H,01H,02H,04H,08H,10H,20H,40H,80H,C0H,FFH GIÃM BIẾN ĐỀM SỐ DỮ LIỆU (R0) = (R0) - 1 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 3) O. HỆ THỐNG ĐIỀU KHIỂN DAC. Bài 2: Chương trình điều khiển biến đổi D/A thông qua DAC0808 và thực hiện biến đổi các giá trị lưu trong vi điều khiển thành điện áp tương tự. Giá trị thay đổi liên tục từ 00H -> FFH, mỗi lần cách nhau 2 giây và được hiển thị lên ba LED 7 đoạn (LED2, LED1 và LED0; dưới dạng số thập phân từ 0 -> 255). Giáo trình thực hành vi xử lý. 5 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. • Tắt nguồn cấp cho mô hình thí nghiệm. • Dùng bốn dây 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 các bus này lại với nhau thông qua khối mở rộng). • Dùng dây bus 8 nối J64 (PORT1) ở khối vi điều khiển với J4 (7SEG IN MUL) ở khối LED 7 đoạn. • Dùng dây bus 8 nối J63 (PORT0 / DATA) ở khối vi điều khiển với J2 (SEL LED IN) ở khối LED 7 đoạn. • Dùng dây bus 8 nối J65 (PORT2 / A8 A15) ở khối vi điều khiển với J37 (DIGITAL IN) ở khối DACõ. • Dùng máy đo VOM để đo điện áp tại J38 (ANALOG OUT) ở khối DAC. • Dùng dây bus 8 nối J108 (POWER) ở khối DAC với nguồn ±5V, ±12V ở khối nguồn. • Dùng dây bus 8 nối J110 (POWER) ở khối LED 7 đoạn với nguồn +5V ở khối nguồn. PORT 0PORT 1PORT 3PORT 2 PORT 1PORT 3 40 PINS 20 PINS POWER DIGITAL IN ANALOG OUT 1.2 Sơ đồ nguyên của hệ thống: 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 AD6 AD0 AD1 AD2 AD3 AD4 AD5 P1.7 P2.7 P2.0 P2.6 P2.5 P2.4 P2.3 P2.2 P2.1 P2.0 P2.1 P2.2 P2.3 P2.4 P2.5 P2.6 P2.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 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 MAÏCH ÑIEÀU KHIEÅN DAC (DIGITAL TO ANALOG CONVERTER) MAÏCH ÑIEÀU KHIEÅN DAC (DIGITAL TO ANALOG CONVERTER)MAÏCH ÑIEÀU KHIEÅN DAC (DIGITAL TO ANALOG CONVERTER) MAÏCH ÑIEÀU KHIEÅN DAC (DIGITAL TO ANALOG CONVERTER) A2 6 VREF+ 14 VEE 3 A1 5 IOUT 4 A3 7 A4 8 A5 9 A6 10 A7 11 A8 12 VREF- 15 COMP 16 U3 DAC0808 VCC=+12V +88.8 Volts DIEN AP ANALOG R21 2K7 R20 2K7 R19 2K7 R18 2K7 D1 5V RV1 10K C5 10uF C? 100nF R17 2K7 +12V C7 100nF C4 100nF -12V C6 100nF U2 LM741 +88.8 Volts DIEN AP CHUAN O. HỆ THỐNG ĐIỀU KHIỂN DAC. Bài 2: Chương trình điều khiển biến đổi D/A thông qua DAC0808 và thực hiện biến đổi các giá trị lưu trong vi điều khiển thành điện áp tương tự. Giá trị thay đổi liên tục từ 00H -> FFH, mỗi lần cách nhau 2 giây và được hiển thị lên ba LED 7 đoạn (LED2, LED1 và LED0; dưới dạng số thập phân từ 0 -> 255). Giáo trình thực hành vi xử lý. 6 Biên soạn: Phạm Quang Trí 1.3 Vẽ lưu đồ giải thuật và viết chương trình điều khiển. BEGIN ĐẶT GIÁ TRỊ SỐ BAN ĐẦU (A) = 0 O2 MAIN: MP1: XUẤT GIÁ TRỊ SỐ RA DAC (P2) = (A) LẤY GIÁ TRỊ SỐ ĐỂ GIẢI MÃ - HIỂN THỊ (R7) = (A) GỌI CTC GIẢI MÃ GIÁ TRỊ SANG BCD BIN8TOBCD GỌI CTC GIẢI MÃ BCD SANG MÃ 7 ĐOẠN BCD3ADCTO7SEG GỌI CTC HIỂN THỊ DELAY_SCAN LẤY GIÁ TRỊ KẾ TIẾP (A) = (A) + 1 BIN8TOBCD (XEM CTC NÀY TẠI PHẦN HƯỚNG DẪN CỦA DỤ G) DISP7SEGMUL8 (XEM CTC NÀY TẠI DỤ B8 MBI) DELAYLED (XEM CTC NÀY TẠI DỤ B3.1 MBI) DELAY_SCAN (XEM CTC NÀY TẠI DỤ B6 MBO) 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Ự “A“ VÀO Ô NHỚ (66H) = 88H CẤT MÃ 7 ĐOẠN CỦA KÝ TỰ “D“ VÀO Ô NHỚ (67H) = A1H 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 D/A THONG QUA DAC0808 VA ;HIEN THI GIA TRI ANALOG (DANG DIEN AP) LEN VOLT KE ;HIEN THI GIA TRI DIGITAL (DANG DEC) LEN BO HIEN THI LED 7 DOAN ;*************************************************** ;KET NOI: DIGITAL IN -> PORT1 ; 8 LED -> PORT0 ; SEL LED -> PORT1 ; MULTI, 7SEG IN (DP -> A), MULTI INT, CA, ACTIVE = 0 ;*************************************************** ORG 00H MAIN: CLR A ;GIA TRI DIGITAL BAN DAU ACC = 0 MP1: MOV P2,A ;XUAT GIA TRI DIGITAL RA DAC0808 DE CHUYEN DOI D/A MOV R7,A ;LAY GIA TRI DIGITAL DE GIAI MA VA HIEN THI ACALL BIN8TOBCD ;GIAI MA GIA TRI DIGITAL (DANG BIN) SANG MA BCD ACALL BCD3ADCTO7SEG ;GIAI MA GIA TRI DIGITAL (DANG BCD) SANG MA 7 DOAN ACALL DELAY_SCAN ;TAO TRE GIUA HAI LAN XUAT GIA TRI VA GOI CTC QUET HIEN THI GIA TRI INC A ;TANG LEN DE XUAT GIA TRI KE TIEP SJMP MP1 ;LAP LAI ;*************************************************** O. HỆ THỐNG ĐIỀU KHIỂN DAC. Bài 2: Chương trình điều khiển biến đổi D/A thông qua DAC0808 và thực hiện biến đổi các giá trị lưu trong vi điều khiển thành điện áp tương tự. Giá trị thay đổi liên tục từ 00H -> FFH, mỗi lần cách nhau 2 giây và được hiển thị lên ba LED 7 đoạn (LED2, LED1 và LED0; dưới dạng số thập phân từ 0 -> 255). Giáo trình thực hành vi xử lý. 7 Biên soạn: Phạm Quang Trí ;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 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 ;*************************************************** O. HỆ THỐNG ĐIỀU KHIỂN DAC. Bài 2: Chương trình điều khiển biến đổi D/A thông qua DAC0808 và thực hiện biến đổi các giá trị lưu trong vi điều khiển thành điện áp tương tự. Giá trị thay đổi liên tục từ 00H -> FFH, mỗi lần cách nhau 2 giây và được hiển thị lên ba LED 7 đoạn (LED2, LED1 và LED0; dưới dạng số thập phân từ 0 -> 255). Giáo trình thực hành vi xử lý. 8 Biên soạn: Phạm Quang Trí 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 SCAN: ;LIEN TUC GOI CTC QUET HIEN THI TRONG LUC TIMER DANG CHAY 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 "DAC= ". ;*************************************************** ;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 "DA". ; 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 MOV A,R6 ;LAY SO BCD NEN 1 (CHUC - DON VI) 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 A,R7 ;LAY SO BCD NEN 2 (TRAM) CAN GIAI MA ANL A,#0FH ;XOA 4 BIT CAO MOVC A,@A+DPTR ;LAY MA 7 DOAN TUONG UNG MOV 62H,A ;CAT HANG TRAM VAO O NHO MOV 63H,#0FFH ;CAT MA KY TU " " MOV 64H,#0B7H ;CAT MA KY TU "=" MOV 65H,#0C6H ;CAT MA KY TU "C" MOV 66H,#88H ;CAT MA KY TU "A" MOV 67H,#0A1H ;CAT MA KY TU "D" 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 O. HỆ THỐNG ĐIỀU KHIỂN DAC. Bài 2: Chương trình điều khiển biến đổi D/A thông qua DAC0808 và thực hiện biến đổi các giá trị lưu trong vi điều khiển thành điện áp tương tự. Giá trị thay đổi liên tục từ 00H -> FFH, mỗi lần cách nhau 2 giây và được hiển thị lên ba LED 7 đoạn (LED2, LED1 và LED0; dưới dạng số thập phân từ 0 -> 255). Giáo trình thực hành vi xử lý. 9 Biên soạn: Phạm Quang Trí 1.4 Thực hiện lần lượt các bước từ 1.3 đến 1.8 tương tự như bài trên. 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 3) O. HỆ THỐNG ĐIỀU KHIỂN DAC. Bài 3: Chương trình điều khiển biến đổi D/A thông qua DAC0808 và thực hiện tạo sóng có tần số tự chọn tại ngõ ra. Giáo trình thực hành vi xử lý. 10 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. • Tắt nguồn cấp cho mô hình thí nghiệm. • Dùng dây bus 8 nối J64 (PORT1) ở khối vi điều khiển với J37 (DIGITAL IN) ở khối DACõ. • Dùng máy hiện sóng (Oscilloscope) để kiểm tra dạng sóng tại J38 (ANALOG OUT) ở khối DAC. • Dùng dây bus 8 nối J108 (POWER) ở khối DAC với nguồn ±5V, ±12V ở khối nguồn. VI ÑIEÀU KHIEÅN A0 A7 SELECT CHIP CLOCK OUT POWER SW DAC NGUOÀN 5V, 12V 8 8 1 OSC 1.2 Sơ đồ nguyên của hệ thống: AD7 AD0 AD0 AD1 AD2 AD3 AD4 AD5 AD6 AD7 AD6 AD5 AD4 AD3 AD2 AD1 P1.7 P1.0 P1.6 P1.5 P1.4 P1.3 P1.2 P1.1 P1.0 P1.1 P1.2 P1.3 P1.4 P1.5 P1.6 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 VCC=+5V C1 33p C2 33p X1 12MHz C3 10uF R1 10k +5V 2 3 4 5 6 7 8 9 1 RP1 10K +5V MAÏCH ÑIEÀU KHIEÅN DAC (DIGITAL TO ANALOG CONVERTER) MAÏCH ÑIEÀU KHIEÅN DAC (DIGITAL TO ANALOG CONVERTER)MAÏCH ÑIEÀU KHIEÅN DAC (DIGITAL TO ANALOG CONVERTER) MAÏCH ÑIEÀU KHIEÅN DAC (DIGITAL TO ANALOG CONVERTER) A2 6 VREF+ 14 VEE 3 A1 5 IOUT 4 A3 7 A4 8 A5 9 A6 10 A7 11 A8 12 VREF- 15 COMP 16 U2 DAC0808 VCC=+12V R2 2K7 R3 2K7 R4 2K7 R5 2K7 D1 5V RV2 10K C4 10uF C5 100nF R6 2K7 +12V C6 100nF C7 100nF -12V C8 100nF U3 LM741 +88.8 Volts DIEN AP CHUAN A B DANG TIN HIEU ANALOG 1.3 Vẽ lưu đồ giải thuật và viết chương trình điều khiển. ;*************************************************** ;CHUONG TRINH DIEU KHIEN BIEN DOI D/A THONG QUA DAC0808 VA ;UNG DUNG TAO RA TIN HIEU SONG SIN TUAN HOAN (TUONG DOI) ;*************************************************** ;KET NOI: DIGITAL IN -> PORT1 ;*************************************************** ORG 00H MAIN: MOV R0,#0 ;BIEN DEM SO MAU DU LIEU MOV DPTR,#MYDATA ;NAP DIA CHI VUNG MAU DU LIEU [...]... th c hành vi x 11 Biên so n: Ph m Quang Trí O H TH NG I U KHI N DAC Bài 3: Chương trình i u khi n bi n i D/A thông qua DAC0 808 và th c hi n t o sóng có t n s t ch n t i ngõ ra 1.4 Th c hi n l n lư t các bư c t 1.3 n 1.8 tương t như bài trên 2 Bài t p: • Bài 1: Hãy vi t chương trình i u khi n bi n i D/A thông qua vi m ch DAC0 808 và th c hi n t o sóng tam giác có t n s b t kỳ • Bài 2: Hãy vi t chương... có t n s b t kỳ • Bài 2: Hãy vi t chương trình i u khi n bi n i D/A thông qua vi m ch DAC0 808 và th c hi n t o sóng vuông có t n s b t kỳ • Bài 3: Hãy vi t chương trình i u khi n bi n i D/A thông qua vi m ch DAC0 808 và th c hi n bi n i giá tr lưu trong thanh ghi R0 thành i n áp tương t Giá tr trong thanh ghi R0 thay i theo vi c nh n nút KEY0 ho c KEY1 (KEY0: tăng giá tr , KEY1: giãm giá tr ) t 00H ->... i d ng s th p phân t 0 -> 255) • Bài 4: Hãy vi t chương trình i u khi n bi n i D/A thông qua vi m ch DAC0 808 và th c hi n t o sóng sin có t n s thay i trong m t kho ng t n s t ch n tùy theo vi c nh n nút KEY0 ho c KEY1 (KEY0: tăng t n s , KEY1: giãm t n s ) và ư c hi n th lên ba LED 7 o n (LED2, LED1 và LED0; dư i d ng s th p phân t 0 -> 255) • Bài 5: Sinh vi n t mình suy nghĩ và phát tri n thêm chương... ó tr c c a hình sin có giá tr là 127,5 (80H hay 7FH) o  x × 360 O  128 Giá tr c a m u th x là: sin     × 127,5 + 127,5   o Liên t c xu t b ng giá tr này ra vi m ch DAC0 808, thay t o ra các t n s khác nhau Giáo trình th c hành vi x 12 i th i gian delay gi a các l n xu t s Biên so n: Ph m Quang Trí ...O H TH NG I U KHI N DAC Bài 3: Chương trình i u khi n bi n i D/A thông qua DAC0 808 và th c hi n t o sóng có t n s t ch n t i ngõ ra LOOP: MOV A,R0 MOVC A,@A+DPTR ;LAY DU LIEU TU VUNG NHO MAU DU LIEU MOV P1,A ;HIEN THI LCALL DELAY INC R0 ;LAY DU LIEU . 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 DAC 0808. O. HỆ THỐNG ĐIỀU KHIỂN DAC. Bài 1: Chương trình điều khiển biến đổi D/A thông qua DAC0 808. HỆ THỐNG ĐIỀU KHIỂN DAC. 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. TRONG VUNG DU LIEU MP1: O. HỆ THỐNG ĐIỀU KHIỂN DAC. Bài 1: Chương trình điều khiển biến đổi D/A thông qua DAC0 808 và thực hiện biến đổi các giá trị lưu trong vi điều khiển thành điện áp tương

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

Từ khóa liên quan

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

Tài liệu liên quan