Bài giảng Bộ vi xử lí - Chương 8: Bộ chuyển đổi ADC

c. Khởi tạo chuyển đổi ADC BSF STATUS, RP0 ; Choïn Bank1 CLRF ADCON1 ; Caáu hình taát caû ngoû vaøo Analog ; 6 bit thaáp cuûa thanh ghi keát quaû = 0 BSF PIE1, ADIE ; Cho pheùp ngaét ADC. BCF STATUS, RP0 ; Choïn Bank0 MOVLW b‘11000001’ ; Choïn cheá ñoä xung RC, bit A/D ñöôïc baät ; leân, kenh 0 ñöôïc choïn, caáp nguoàn cho Module dieän ap so saùnh laø Vdd vaø Vss. ; Choïn cheá ñoä xung RC, bit A/D ñöôïc baät ; leân, kenh 0 ñöôïc choïn, caáp nguoàn cho Module dieän ap so saùnh laø Vdd vaø Vss. MOVWF ADCON0 ; BCF PIR1, ADIF ; Xoaù côø ngaét ADC BSF INTCON, PEIE ; Cho pheùp toaøn boä caùc ngaét ngoaïi vi BSF INTCON, GIE ; Cho pheùp toaøn boä caùc ngaét CALL DELAYTACQ ; Baûo ñaûm thôøi gian yeâu caàu ñeå laáy ñöôïc giaù trò chính xaùc. BSF ADCON0, GO ; Baét ñaàu chuyeån ñoåi ; Khi quaù trình chuyeån ñoåi hoaøn taát côø ADIF seõ ñöôïc baät leân vaø bit go/done ñöôïc xoùa ñi

pdf10 trang | Chia sẻ: tuanhd28 | Lượt xem: 1822 | Lượt tải: 1download
Bạn đang xem nội dung tài liệu Bài giảng Bộ vi xử lí - Chương 8: Bộ chuyển đổi ADC, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
CHƯƠNG 8 BỘ CHUYỂN ĐỔI ADC ( Analog-to-Digital ) CHƯƠNG 8: BỘ CHUYỂN ĐỔI ADC 1. Giới thiệu - Bộ ADC 10bit bên trong PIC bao gồm 8 ngõ vào analog. - Điện áp tham chiếu có thể lấy từ nguồn bên trong hay bên ngoài được lựa chọn bởi phần mềm. - Ngắt ADC sẽ xảy ra ngay khi quá trình chuyển đổi hoàn thành. - Ngắt ADC có thể đánh thức PIC khỏi trạng thái SLEEP. CHƯƠNG 8: BỘ CHUYỂN ĐỔI ADC 2. Các thanh ghi sử dụng với ADC - Module ADC bao gồm 4 thanh ghi:  Hai thanh ghi điều khiển ADCON0 và ADCON1.  Hai thanh ghi chứa kết quả chuyển đổi 10bit : MSB LSB ADRESH Left Justified (ADFM = 0) ADRESL MSB LSB Right Justified (ADFM = 1) ADRESH ADRESL CHƯƠNG 8: BỘ CHUYỂN ĐỔI ADC a. Thanh ghi ADCON0 Bit Chöùc naêng ADCS1 ADCS0 : Löïa chọn tần số chuyeån ñoåi 00= FOSC/2 10= FOSC/32 01= FOSC/8 11= FRC (Clock töø boä dao ñoäng RC) CHS2 CHS0 GO/DONE - ADONADCS1 ADCS0 CHS1 CHS2-CHS1 -CHS0 : Choïn keânh Analog Input 000 111= 8 traïng thaùi töông öùng 8 keânh vaøo. GO/DONE Bit baùo traïng thaùi quaù trình chuyeån ñoåi A/D (khi ADON=1) 1= Quaù trình ñang xaûy ra hoặc Cho quaù trình xaûy ra. 0= Quaù trình khoâng xaûy ra hoaëc ñaõ Hoaøn taát. ADON Cho pheùp Module ADC hoaït ñoäng 1= Cho pheùp ( ADC ñöôïc cung caáp nguoàn) 0= Khoâng cho pheùp (ADC khoâng ñöôïc caáp nguoàn) CHƯƠNG 8: BỘ CHUYỂN ĐỔI ADC b. Thanh ghi ADCON1 Bit Chöùc naêng ADFM Löïa chọn kieåu thanh ghi chöùa keát quaû chuyeån ñoåi 10bit 0= 10 bit traùi 1= 10 bit phaûi ADFM PCFG3 PCFG2 PCFG1 PCFG0 VddAN7 AN6 AN5 AN4 AN1 AN0AN3 AN2 PCFG PCFG3: PCFG0 Caáu hình cho caùc chaân ADC CHƯƠNG 8: BỘ CHUYỂN ĐỔI ADC 3. Hoạt động của module ADC AN0 AN1 AN2 AN3 ADC Conversion clock scalerFosc VREF+ pin Conversion Complete Start Conversion VREF- pin Vss AN4 AN5 AN6 AN7 Holding Capacitor ADRESH ADRESL Right Justified 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 CHƯƠNG 8: BỘ CHUYỂN ĐỔI ADC - Khi quá trình chuyển đổi kết thúc: + Kết quả sẽ lưu lại trong cặp thanh ghi ADRESH : ADRESL. + Bit GO/DONE = 0 và cờ ngắt ADIF = 1. - Các Bit ngõ vào được chọn phải mặc định là Input bởi thanh ghi TRIS. - Ta phải qui định thời gian lấy mẫu rồi mới cho phép ADC bắt đầu chuyển đổi. CHƯƠNG 8: BỘ CHUYỂN ĐỔI ADC  Thời gian lấy mẫu: AN0 AN1 AN2 AN3 AN4 AN5 AN6 AN7 ADC Holding Capacitor Thời gian để Tụ C nạp đến giá trị điện áp = giá trị điện áp lấy mẫu Khi ADC bắt đầu chuyển đổi (bit GO=1) Thời điểm kết thúc chuyển đổi t A->D = 12.TA/D t acquisition = Thời gian ổn định phần cứng (2us) + Thời gian tụ nạp đầy + Hệ số nhiệt độ CHƯƠNG 8: BỘ CHUYỂN ĐỔI ADC c. Hoạt động chuyển đổi A/D ở chế độ SLEEP - Trong chế độ này, hoạt động chuyển đổi A/D vẫn diễn ra với nguồn xung Clock từ bộ dao dộng RC (ADCS1: ADCS0=11). - Khi quá trình chuyển đổi hoàn thành, Ngắt ADC sẽ xảy ra và làm PIC thoát khỏi trạng thái SLEEP. Nếu Ngắt không được cho phép, module ADC sẽ tắt mặc dù bit ADON vẫn duy trì ở mức 1. - Reset sẽ hủy quá trình chuyển đổi và tắt module. CHƯƠNG 8: BỘ CHUYỂN ĐỔI ADC c. Khởi tạo chuyển đổi ADC BSF STATUS, RP0 ; Choïn Bank1 CLRF ADCON1 ; Caáu hình taát caû ngoû vaøo Analog ; 6 bit thaáp cuûa thanh ghi keát quaû = 0 BSF PIE1, ADIE ; Cho pheùp ngaét ADC. BCF STATUS, RP0 ; Choïn Bank0 MOVLW b‘11000001’ ; Choïn cheá ñoä xung RC, bit A/D ñöôïc baät ; leân, kenh 0 ñöôïc choïn, caáp nguoàn cho Module dieän ap so saùnh laø Vdd vaø Vss. MOVWF ADCON0 ; BCF PIR1, ADIF ; Xoaù côø ngaét ADC BSF INTCON, PEIE ; Cho pheùp toaøn boä caùc ngaét ngoaïi vi BSF INTCON, GIE ; Cho pheùp toaøn boä caùc ngaét CALL DELAYTACQ ; Baûo ñaûm thôøi gian yeâu caàu ñeå laáy ñöôïc giaù trò chính xaùc. BSF ADCON0, GO ; Baét ñaàu chuyeån ñoåi ; Khi quaù trình chuyeån ñoåi hoaøn taát côø ADIF seõ ñöôïc baät leân vaø bit go/done ñöôïc xoùa ñi

Các file đính kèm theo tài liệu này:

  • pdfchuong_8_pic_adc_6615.pdf
Tài liệu liên quan