![]() |
dieu khien adc trong pic16f77a
Toi dang lam ve phan dieu khien 8 kenh adc trong pic16f877a hien thi gia tri tuong tu dau vao tren lcd. Toi thay kho khan trong viec chuyen doi gia tri adc nhan duoc thanh gia tri tuong tu dau vao. Toi co thay ky thuat lap bang tra. Co ban nao biet cach phuong phap lap bang tra thi bao minh voi. Neu viet bang ngon ngu C thi cang tot. Mong moi nguoi het suc giup do.
|
ADC trong 16F877A là 10bit tức 1024 mức (mức 0 đến mức 1023)=> giá trị điện áp của 1 mức là:
= Vref/1023; => giá trị tương tự = (giá trị 10 bit trên 2 thanh ghi )* Vref/1024; Bạn có thể viết như sau: (giả sử Vref = 5V) Code:
unsigned int number; Bạn có thể xem bài viết số 20 của mình tại đây: http://www.picvietnam.com/forum//sho...p?t=339&page=2 Chúc bạn thành công. |
Nếu bác viết bằng ASM hoặc muốn đơn giản thì lấy 8 bit trong giá trị đầu ra của ADC 10 bit sẽ đơn giản hơn trong tính toán. Muốn vậy mình để canh trái dữ liệu ra (ADFM = 0), lúc này, ta chỉ cần lấy 8 bit ra chính là 8 bit trong thanh ghi ADRESH. (Ở đây vì ta canh trái nên 2 bit bỏ đi thuộc về ADRESL trở thành các bit LSbits, do đó sai số sẽ nhỏ), bác viết công thức sai số giữa dùng 8 bit và 10 bit ra thì sẽ thấy, sai số gần như không ảnh hưởng.
|
Múi giờ GMT. Hiện tại là 01:50 PM. |
Tên diễn đàn: vBulletin Version 3.8.11
Được sáng lập bởi Đoàn Hiệp.
Copyright © PIC Vietnam