mạch mô phỏng chuyển đổi dữ liệu từ analog sang digital (adc) sử dụng vi điều khiển pic

9 1.2K 10
mạch mô phỏng chuyển đổi dữ liệu từ analog sang digital (adc) sử dụng vi điều khiển pic

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

Thông tin tài liệu

GVHD : Ngô Văn Bình Lớp : 09CD111 TRƯỜNG ĐẠI HỌC LẠC HỒNG KHOA CƠ ĐIỆN <=O=> Báo cáo môn thực tập Kỹ thuật số : Mạch phỏng chuyển đổi dữ liệu từ Analog sang Digital (ADC) sử dụng vi điều khiển PIC GVHD : Ngô Văn Bình Lớp 09CD111 Phùng Tấn Đức MSSV : 109000454 Phan Thanh Tuyến MSSV : 109000098 Trong báo cáo này gồm : 1. Chuyển đổi dữ liệu tương tự (Analog) sang dữ liệu số (Digital) 2. Vi điều khiển PIC16F876A 3. Sơ đồ nguyên lý 4. Source 5. Ứng dụng ADC Phùng Tấn Đức Phan Thanh Tuyến MSSV : 109000454 MSSV : 109000098 1 GVHD : Ngô Văn Bình Lớp : 09CD111 1. Chuyển đổi dữ liệu tương tự (Analog) sang dữ liệu số (Digital) : - Trong các ứng dụng đo lường và điều khiển bằng vi điều khiển bộ chuyển đổi tương tự - số (ADC) là một thành phần rất quan trọng. Dữ liệu trong thế giới của chúng ta chính là các dữ liệu tương tự (analog). - dụ nhiệt độ không khí buổi sáng là 25 o C và buổi trưa là 32 o C, giữa hai mức giá trị này có vô số các giá trị liên tục mà nhiệt độ phải “đi qua” để có thể đạt mức 32 o C từ 25 o C, đại lượng nhiệt độ như thế gọi là một đại lượng analog. - Trong khi đó, rõ ràng vi điều khiển là một thiết bị số (digital), các giá trị mà một vi điều khiển có thể thao tác là các con số rời rạc thực chất chúng được tạo thành từ sự kết hợp của hai mức 0 và 1. - dụ chúng ta muốn dùng một thanh ghi 8 bit trong vi điều khiển để lưu lại các giá trị nhiệt độ từ 0 o C đến 255 o C, như chúng ta đã biết, một thanh ghi 8 bit có thể chứa tối đa 256 giá trị nguyên từ 0 đến 255, như thế các mức nhiệt độ không nguyên như 28.123 o C sẽ không được ghi lại. - Nói cách khác, chúng ta đã “số hóa” (digitalize) một dữ liệu analog thành một dữ liệu digital. Quá trình “số hóa” này thường được thực hiện bởi một thiết bị gọi là “bộ chuyển đổi tương tự - số hay đơn giản là ADC (Analog to Digital Converter). Phùng Tấn Đức Phan Thanh Tuyến MSSV : 109000454 MSSV : 109000098 2 GVHD : Ngô Văn Bình Lớp : 09CD111 2. Vi điều khiển PIC16F876A : Trong mạch này sử dụng các chân chức năng như sau : 1. MCLR (Reset) 5. AN3 (Analog 3) 9, 10. (Tạo xung Clock từ thạch anh cho VĐK, hoạt động tối đa ở 20MHz) 21. INT (Ngắt ngoài) 20. VDD (5V) 8, 19. VSS (0V) 11->18. RC0 ->RC7 (Port C) Phùng Tấn Đức Phan Thanh Tuyến MSSV : 109000454 MSSV : 109000098 3 GVHD : Ngô Văn Bình Lớp : 09CD111 3. Sơ đồ Nguyên lý : Nguyên lý hoạt động : - Đây là mạch tạo xung analog bằng tay đưa vào chân AN3 ở mức thấp sử dụng biến trở VR 50K và xuất ra mức cao ở Port C dạng digital. Port C sẽ hiển thị giá trị digital qua 8 LED. LED sáng hiển thị giá trị 1 và tắt thể hiện giá trị 0. Các giá trị này từ 0 -> 255 (00000000 -> 11111111). - Khi nhấn nút ngắt thì chân 21 (INT) sẽ nhận điện áp âm (ngắt mức thấp) và nhảy sang chương trình ngắt ngoài nháy LED, dịch LED từ phải sang trái và ngược lại. - Khi nhấn nút reset thì chân 1 (MCLR) sẽ nhận điện áp âm (reset mức thấp) và nhảy lại chương trình ban đầu. Phùng Tấn Đức Phan Thanh Tuyến MSSV : 109000454 MSSV : 109000098 4 GVHD : Ngô Văn Bình Lớp : 09CD111 4. Source : Đây là code chương trình của mạch viết bằng ngôn ngữ C #include <16f876a.h> #fuses hs #device adc=8 #use delay(clock=12000000) int a,b; #INT_EXT void dich_led_nhay_led() { set_tris_a(0xff); set_tris_b(0xff); set_tris_c(0x00); while (1) { { b=0xFF; for(a=1;a<=8;a++) { output_c(b); delay_ms(300); b=b<<1; } } { for(a=0;a<=2;a++) { output_c(0x00); delay_ms(300); output_c(0xFF); delay_ms(300); } } { Phùng Tấn Đức Phan Thanh Tuyến MSSV : 109000454 MSSV : 109000098 5 GVHD : Ngô Văn Bình Lớp : 09CD111 b=0xFF; for(a=1;a<=8;a++) { output_c(b); delay_ms(300); b=b>>1; } } for(a=0;a<=2;a++) { output_c(0x00); delay_ms(300); output_c(0xFF); delay_ms(300); } output_c(0x00); delay_ms(300); output_c(0x0F); delay_ms(300); output_c(0x00); delay_ms(300); output_c(0xF0); delay_ms(300); output_c(0x00); delay_ms(300); output_c(0x55); delay_ms(300); output_c(0x00); delay_ms(300); output_c(0xAA); delay_ms(300); output_c(0x00); delay_ms(300); output_c(0x33); delay_ms(300); output_c(0x00); delay_ms(300); Phùng Tấn Đức Phan Thanh Tuyến MSSV : 109000454 MSSV : 109000098 6 GVHD : Ngô Văn Bình Lớp : 09CD111 output_c(0xCC); delay_ms(300); output_c(0x00); delay_ms(300); output_c(0x7E); delay_ms(200); output_c(0xBD); delay_ms(200); output_c(0xDB); delay_ms(200); output_c(0xE7); delay_ms(200); output_c(0xDB); delay_ms(200); output_c(0xBD); delay_ms(200); output_c(0x7E); delay_ms(200); delay_ms(200); output_c(0xBD); delay_ms(200); output_c(0xDB); delay_ms(200); output_c(0xE7); delay_ms(200); output_c(0xDB); delay_ms(200); output_c(0xBD); delay_ms(200); output_c(0x7E); delay_ms(200); delay_ms(200); output_c(0xBD); delay_ms(200); output_c(0xDB); delay_ms(200); output_c(0xE7); Phùng Tấn Đức Phan Thanh Tuyến MSSV : 109000454 MSSV : 109000098 7 GVHD : Ngô Văn Bình Lớp : 09CD111 delay_ms(200); output_c(0xDB); delay_ms(200); output_c(0xBD); delay_ms(200); output_c(0x7E); delay_ms(200); output_c(0xFE); delay_ms(300); output_c(0xFD); delay_ms(300); output_c(0xFB); delay_ms(300); output_c(0xF7); delay_ms(300); output_c(0xEF); delay_ms(300); output_c(0xDF); delay_ms(300); output_c(0xBF); delay_ms(300); output_c(0x7F); delay_ms(300); output_c(0x7F); delay_ms(300); output_c(0xBF); delay_ms(300); output_c(0xDF); delay_ms(300); output_c(0xEF); delay_ms(300); output_c(0xF7); delay_ms(300); output_c(0xFB); delay_ms(300); output_c(0xFD); delay_ms(300); Phùng Tấn Đức Phan Thanh Tuyến MSSV : 109000454 MSSV : 109000098 8 GVHD : Ngô Văn Bình Lớp : 09CD111 output_c(0xFE); delay_ms(300); } } void main() { set_tris_a(0xff); set_tris_b(0xff); set_tris_c(0x00); ext_int_edge(h_to_l); enable_interrupts(int_ext); enable_interrupts(global); setup_adc_ports(ALL_ANALOG); setup_adc(ADC_CLOCK_INTERNAL); set_adc_channel(3); delay_ms(10); while (1) { a=read_adc(); for(b=1;b<=8;b++) output_c(a); } } 5. Ứng dụng ADC : - Dò line trong robot . - Đo nhiệt độ - Điều khiển động cơ - Phùng Tấn Đức Phan Thanh Tuyến MSSV : 109000454 MSSV : 109000098 9 . LẠC HỒNG KHOA CƠ ĐIỆN <=O=> Báo cáo môn thực tập Kỹ thuật số : Mạch mô phỏng chuyển đổi dữ liệu từ Analog sang Digital (ADC) sử dụng vi điều khiển PIC GVHD : Ngô Văn Bình Lớp 09CD111 Phùng. Lớp : 09CD111 1. Chuyển đổi dữ liệu tương tự (Analog) sang dữ liệu số (Digital) : - Trong các ứng dụng đo lường và điều khiển bằng vi điều khiển bộ chuyển đổi tương tự - số (ADC) là một thành. 109000098 Trong báo cáo này gồm : 1. Chuyển đổi dữ liệu tương tự (Analog) sang dữ liệu số (Digital) 2. Vi điều khiển PIC1 6F876A 3. Sơ đồ nguyên lý 4. Source 5. Ứng dụng ADC Phùng Tấn Đức Phan Thanh

Ngày đăng: 23/04/2014, 23:57

Từ khóa liên quan

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

  • Đang cập nhật ...

Tài liệu liên quan