ADON: Bit cho phép bộ ADC hoạt động
ADON=1: Cho phép bộ ADC hoạt động ADON=0: Không cho phép hoạt động
GO/ ̅̅̅̅̅̅̅̅ Bit chỉ trạng thái chuyển đổi, bit này tự động bằng 0 khi bộ ADC chuyển đổi xong, muốn cho lần chuyển đổi tiếp theo được thực hiện, cần phải đặt bit này lên bằng 1 trong lập trình.
CHS<3:0>: Dùng để chọn kênh cần chuyển đổi.
ADCS<1:0>: Bit lựa chọn tần số chuyển đổi.
VCFG1: Dùng để chọn điện áp tham chiếu VREF-. VCFG1=1: khi đó VREF-= điện áp ở chân số 4 (VREF-)
VCFG1=0: khi đó VREF- = Vss
VCFG0: Dùng để chọn điện áp tham chiếu VREF+.
VCFG0=1: khi đó VREF+= điện áp ở chân số 5 (VREF+) VCFG0=0: khi đó VREF+= VDD
ADFM: Bit dùng để lựa chọn kiểu định dạng kết quả chuyển đổi.
Sau khi chuyển đổi hoàn tất, kết quả sẽ được lưu theo một trong hai kiểu.
Hai thanh ghi ADRESH và ADRESL là hai thanh ghi dùng để chứa kết quả khi bộ ADC chuyển đổi hoàn tất, bộ ADC của vi điều khiển PIC16F887 có độ phân giải 10-bit do đó cần hai byte để chứa kết quả, tuy nhiên kết quả có thể lưu theo hai kiểu: canh trái (ADFM=0) và canh phải (ADFM=1).
Đối với định dạng kết quả bên trái: ADFM=0 thì ta có thể đọc kết quả như sau:
Độ phân giải 10-bit:Kết quả = ADRESH*4+ADRESL >> 6.(1) Độ phân giải 8-bit:Kết quả = ADRESH.(2)
Đối với định dạng kết quả bên phải: ADFM=1 thì ta có thể đọc kết quả như sau:
Độ phân giải 10-bi:Kết quả = ADRESH*256+ADRESL.(3) Độ phân giải 8-bit:Kết quả = ADRESH*64+ADRESL>>2.(4) Rõ ràng ta thấy biểu thức (1) và (4) gây khó khăn trong việc lập trình và thời gian cần tín toán lâu hơn, do đó ta rút ra kết luận:
Khi cần đọc ADC 8-bit thì cần định dạng kết quả bên trái(ADFM=0)
Khi cần đọc ADC 10-bit thì cần định dạng kết quả bên phải (ADFM=1).