Professional Documents
Culture Documents
KỸ THUẬT VI XỬ LÝ VÀ VI
ĐIỀU KHIỂN
Hà Nội, 08/2021
NỘI DUNG
✓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
- ADC: Chuyển đổi tín hiệu điện áp sang tín
hiệu số, miền ánh xạ trong khoảng 0-1023.
- PIC16F887 có 14 kênh ADC (AN0-AN13)
phân giải 10 bit
- Các thanh ghi liên quan: TRIS, ANSEL-
ANSELH, ADCON0, ADCON1, ADRESH-
ADRESL.
3
ADC CỦA VI ĐIỀU KHIỂN PIC 16F887
- 14 kênh Analog: 5 kênh
trên PORTA, 3 kênh trên
PORTE và 6 kênh trên
PORTB.
- Các thanh ghi quan
trọng:
- TRIS->1: Kênh đọc ADC
phải cấu hình chân tương
ứng là nhập dữ liệu.
+ ADRESH, ADRESL: kết
quả chuyển đổi 10 bit của
ADC sau khi chuyển đổi
xong.
+ ADCON0 và ADCON1:
Điều khiển ADC0 và ADC1
4
ADC CỦA VI ĐIỀU KHIỂN PIC 16F887
Thanh ghi ADCON0: Điều khiển khối ADC0
5
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
6
ADC CỦA VI ĐIỀU KHIỂN PIC 16F887
Thanh ghi ADCON0: Điều khiển khối ADC0
Bit 1 (GO/DONE) : bit báo trạng thái chuyển đổi ADC
GO/DONE = 1 báo quá trình chuyển đổi ADC bắt đầu
GO/DONE = 0 báo quá trình chuyển đổi ADC hoàn thành
- Bit 0 (ADON): bit mở nguồn cho ADC hoạt động (AD ON bit );
ADON = 1 Cấp nguồn cho khối ADC
ADON = 0 Ngưng cấp nguồn cho ADC
7
ADC CỦA VI ĐIỀU KHIỂN PIC 16F887
Thanh ghi ADCON1: Cấu hình đọc tương tự hoặc I/O số
Bit 7 (ADFM) : bit định dạng trạng thái chuyển đổi ADC
ADFM = 1: có chức
năng canh lề phải, 6 bit
MSB của ADRESH có
giá trị là "0".
ADFM = 0: có chức
năng canh lề trái, 6 bit
LSB của ADRESL có
giá trị là "0".
8
ADC CỦA VI ĐIỀU KHIỂN PIC 16F887
Thanh ghi ADCON1: Cấu hình đọc tương tự hoặc I/O số
Bit 7 (ADFM) : bit định dạng trạng thái chuyển đổi ADC
Bit 5: VCFG1 là 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 là 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
9
ADC CỦA VI ĐIỀU KHIỂN PIC 16F887
- Cấu hình cho port đọc ADC là ngõ vào (nhập dữ 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 2 thanh ghi lưu kết quả => Mở nguồn cho ADC.
- Thiết lập cấu hình ngắt ADC (nếu cần) và delay 1 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 thì chờ ngắt ADC xảy
ra.
- Đọc cặp thanh ghi kết quả (ADRESH: ADRESL), xóa bit ADIF nếu
dùng ngắt.
- Lặp lại các bước trên cho chu kỳ chuyển đổi Adc tiếp theo.
10
Tập lệnh C cho khối ADC của 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ị hằng số dùng trong device.h
- thiết lập các chân ADC la tương tự hay số (có thể là tổ hợp )
11
Tập lệnh C cho khối ADC của PIC 16F887
13
ỨNG DỤNG ADC CỦA PIC 16F887
Lập trình đọc dữ liệu từ LM35
14
ỨNG DỤNG ADC CỦA PIC 16F887
Lập trình đọc dữ liệu từ LM35
15
ỨNG DỤNG ADC CỦA PIC 16F887
Lập trình đọc dữ liệu từ LM35
16