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
10 trang |
Chia sẻ: tuanhd28 | Lượt xem: 1906 | Lượt tải: 1
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:
- chuong_8_pic_adc_6615.pdf