Để thuận tiện, tôi post một đoạn code ngắn, đơn giản để phục vụ cho việc đọc ADC từ cảm biến đo nhiệt độ như sau:
Code:
...
REGAD1 RES 1; đặt biến
...
;----------------------
;Khoi tao cac ngo vao
;----------------------
ADC MOVWF ADCON1 ; chon Vref = VDD
BCF STATUS, RP0 ; chon bank 0
...
AD1_0 MOVLW B'11000001'
CALL ADSTART
MOVWF REGAD1 ; doc AD1
...
;-------------------------------
; Chuong trinh con de do ADC
;-------------------------------
ADSTART MOVWF ADCON0
MOVLW D'5'
MOVWF DLY
DELAY12 DECFSZ DLY, F ; 3 x (DLY12-1) x 1 us + 1us + 2us
GOTO DELAY12 ; 3 x (5-1) x 1 + 1 + 2 = 15us
CLRF ADRES
BSF ADCON0, 2
GODONE BTFSC ADCON0, 2
GOTO GODONE ; Cho den khi convert xong
MOVF ADRES, W ; adcon0,2 = 0
RETURN
Thí dụ này khá sơ lược, nhưng các bạn có thể tham khảo để đọc ADC một cách khá chuẩn xác.
Chúc vui.