Chuong 6 Vi điều khiển PIC 16F887 chuyển đổi tương tự sang số ADC

17 10 0
Chuong 6 Vi điều khiển PIC 16F887 chuyển  đổi tương tự sang số 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

✓Giới thiệu ✓ADC của vi điều khiển PIC 16F887 ✓Tập lệnh C cho khối ADC của PIC 16F887 ✓Ứng dụng ADC của PIC 16F887 2 GIỚI THIỆU 3 ADC: Chuyển đổi tín hiệu điện áp sang tín hiệu số, miền ánh xạ trong khoảng 01023. PIC16F887 có 14 kênh ADC (AN0AN13) phân giải 10 bit Các thanh ghi liên quan: TRIS, ANSELANSELH, ADCON0, ADCON1, ADRESHADRESL.

TRƯỜNG ĐẠI HỌC PHENIKAA KHOA ĐIỆN ĐIỆN TỬ KỸ THUẬT VI XỬ LÝ VÀ VI ĐIỀU KHIỂN Chương 6: Vi điều khiển PIC 16F887 chuyển đổi tương tự sang số ADC GIẢNG VIÊN: ThS ĐÀO TÔ HIỆU Hà Nội, 08/2021 NỘI DUNG ✓Giới thiệu ✓ADC vi điều khiển PIC 16F887 ✓Tập lệnh C cho khối ADC PIC 16F887 ✓Ứng dụng ADC PIC 16F887 GIỚI THIỆU - ADC: Chuyển đổi tín hiệu điện áp sang tín hiệu số, miền ánh xạ khoảng 0-1023 - PIC16F887 có 14 kênh ADC (AN0-AN13) phân giải 10 bit - Các ghi liên quan: TRIS, ANSELANSELH, ADCON0, ADCON1, ADRESHADRESL ADC CỦA VI ĐIỀU KHIỂN PIC 16F887 - 14 kênh Analog: kênh PORTA, kênh PORTE kênh PORTB - Các ghi quan trọng: - TRIS->1: Kênh đọc ADC phải cấu hình chân tương ứng nhập liệu + ADRESH, ADRESL: kết chuyển đổi 10 bit ADC sau chuyển đổi xong + ADCON0 ADCON1: Điều khiển ADC0 ADC1 ADC CỦA VI ĐIỀU KHIỂN PIC 16F887 Thanh ghi ADCON0: Điều khiển khối ADC0 - Bit (ADCS1), bit (ADCS0): Lựa chọn xung chuyển đổi AD ADCS1:ADCS0 20MHZ 8MHz 4MHz 1MHz 00 = FOSC/2 100ns 250ns 500ns 2us 01 = FOSC/8 400ns 1us 2us 8us 10 = FOSC/32 1.6us 4us 8us 32us 11 = Frc (xung clock lấy từ dao động nội bên (tần số lớn 500kHz) ADC CỦA VI ĐIỀU KHIỂN PIC 16F887 Thanh ghi ADCON0: Điều khiển khối ADC0 - Bit CHS3, CHS2, CHS1, CHS0 (Bit5-Bit2): Lựa chọn kênh ADC ADC CỦA VI ĐIỀU KHIỂN PIC 16F887 Thanh ghi ADCON0: Điều khiển khối ADC0 Bit (GO/DONE) : bit báo trạng thái chuyển đổi ADC GO/DONE = báo trình chuyển đổi ADC bắt đầu GO/DONE = báo trình chuyển đổi ADC hồn thành - Bit (ADON): bit mở nguồn cho ADC hoạt động (AD ON bit ); ADON = Cấp nguồn cho khối ADC ADON = Ngưng cấp nguồn cho ADC ADC CỦA VI ĐIỀU KHIỂN PIC 16F887 Thanh ghi ADCON1: Cấu hình đọc tương tự I/O số Bit (ADFM) : bit định dạng trạng thái chuyển đổi ADC ADFM = 1: có chức canh lề phải, bit MSB ADRESH có giá trị "0" ADFM = 0: có chức canh lề trái, bit LSB ADRESL có giá trị "0" ADC CỦA VI ĐIỀU KHIỂN PIC 16F887 Thanh ghi ADCON1: Cấu hình đọc tương tự I/O số Bit (ADFM) : bit định dạng trạng thái chuyển đổi ADC Bit 5: VCFG1 bit lựa chọn điện áp tham chiếu âm VCFG1 = 1: nối Vref- với ngõ vào AN3 VCFG1 = 0: nối Vref- với VSS Bit 4: VCFG0 bit lựa chọn điện áp tham chiếu dương VCFG0 = 1: nối Vref- với ngõ vào AN3 VCFG0 = 0: nối Vref- với VDD ADC CỦA VI ĐIỀU KHIỂN PIC 16F887 - Cấu hình cho port đọc ADC ngõ vào (nhập liệu) - Chọn nguồn xung dao động cho chuyển đổi AD =>cấu hình điện áp tham chiếu => Chọn kênh ngõ vào tương tự cần chuyển đổi => Chọn định dạng cho ghi lưu kết => Mở nguồn cho ADC - Thiết lập cấu hình ngắt ADC (nếu cần) delay khoảng thời gian để ADC ổn định - GO/DONE l=1 => Bắt đầu ADC - GO/DONE l=0 => ADC kết thúc Nếu dùng ngắt chờ ngắt ADC xảy - Đọc cặp ghi kết (ADRESH: ADRESL), xóa bit ADIF dùng ngắt - Lặp lại bước cho chu kỳ chuyển đổi Adc 10 Tập lệnh C cho khối ADC PIC 16F887 setup_adc (mode); setup_adc2(mode); - Cài đặt chế độ ADC: chế độ tín hiệu tương tự sang tín hiệu số SETUP_ADC_PORT(VALUE) - value: giá trị số dùng device.h - thiết lập chân ADC la tương tự hay số (có thể tổ hợp ) 11 Tập lệnh C cho khối ADC PIC 16F887 - Tất chân analog: setup_adc_ports( ALL_ANALOG ); - Chân A0,A1,A3 analog tất chân lại digital Điện áp +5V sử dụng điện áp tham chiếu: setup_adc_ports( AN0_AN1_AN3); - Chân A0,A1 analog,chân A3 sử dụng cho điện áp tham chiếu tất chân lại digital: setup_adc_ports( 12 AN0_AN1_VSS_VREF); Tập lệnh C cho khối ADC PIC 16F887 SET_ADC_CHANNEL(CHAN) - Khi ta muốn đo nhiều kênh cần chuyển kênh (nếu khơng cần - CHAN thứ tự kênh mà ta cần chuyển (bắt đầu từ số 0) - Lưu ý : nên chờ khoảng thời gian ngắn chuyển kênh thường 10us value = Read_ADC (mode) - Đọc kết chuyển đổi xong - số mode : (ta nên dùng thứ adc liên tục đọc cập nhập số liệu) 13 ỨNG DỤNG ADC CỦA PIC 16F887 Lập trình đọc liệu từ LM35 14 ỨNG DỤNG ADC CỦA PIC 16F887 Lập trình đọc liệu từ LM35 15 ỨNG DỤNG ADC CỦA PIC 16F887 Lập trình đọc liệu từ LM35 16

Ngày đăng: 03/08/2023, 10:38

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

Tài liệu liên quan