Thắc mắc :Thanh ghi ANSEL và ANSELH

pad17x2

Trứng gà
PIC16F887 có 13 kênh ADC dùng chung với các chân I/O.
2 thanh ghi ANSEL và ANSELH quy định các chân đó là chân tín hiệu analog hay digital

Bit: ANSx = 0 : Pin ANx là pin Digital
ANSx = 1 : Pin ANx là pin Analog

Register: ANSEL = 0 //AN0-7 là digital
ANSELH = 0 // AN8-13 là digital

( trong phần giới thiệu về Pic16f887 )
Mình không hiểu pin Digital và pin Analog là thế nào ? và khi nào thì mình khai báo 2 thanh ghi này ??? Các bạn giải thích dùm nha.Cám ơn mọi người trước...
 

light

Thành Viên PIF
khi nào bạn dùng adc thì để nó là 1, còn bình thường thì để là 0
 
Mình không hiểu pin Digital và pin Analog là thế nào ?
Chân Digital là chân port mà nó chỉ hiểu 2 mức 0 (ứng với tầm từ 0 tới khoảng 1.5V) và 1 (từ khoảng 2.8 -> 5V).
Chân Analog là chân port mà nó có thể hiểu các giá trị điện áp liên tục từ 0 tới 5V, bạn sử dụng nó khi muốn sử dụng bộ adc (analog to digital converter) tức là chuyển giá trị điện áp thành giá trị số 8 hay 10 bits.
Nếu bạn học lớp C6 thì sẽ sớm được dạy kĩ hơn về adc.
 
_ Pin Digital hiểu đơn giản là nó chỉ có mức 1 (ON) và mức 0 (OFF). Mức 1 tương ứng ~0.6V trở lên và thường là ~5V, mức 0 thì < 0.6V

_ Pin Analog thường dùng trong chức năng ADC - Analog to Digital Converter.
VD như ta đọc tín hiệu từ con cảm biến nhiệt độ LM35 (các bạn sẽ làm quen trong các bài học sắp tới):
0.5V - 10 độ C
1V - 15 độ C
2V - 20 độ C
... (ví dụ thôi nhé)
Theo tín hiệu analog đưa về từ cảm biến, nếu ta chỉnh chân VĐK của mình là digital thì mọi điện áp trên 1V nó đều nhận là mức 1. Như vậy là ta ko thể nào phân biệt được các nhiệt độ từ 15 độ C trở lên mà chỉ phân biệt được 2 giá trị là < 15 độ C (mức 0) và > 15 độ C (mức 1). Do đó chúng ta phải chỉnh thanh ghi ANSEL là Analog tương ứng với chân nhận tín hiệu từ cảm biến. Khi đó điện áp đưa vào giả sử là 2V sẽ được đem so sánh với điện áp 5V tham khảo. Sau đó ADC sẽ làm nhiệm vụ mã hóa 2V này thành chuỗi bit tương ứng giả sử là 0xA0. Qua một vài phép tính, 0xA0 sẽ được "ánh xạ" thành nhiệt độ đo được và hiển thị ra LCD.

Tóm lại, hiểu đơn giản như sau:
_ Digital: 5V và 0V
_ Analog: 0V, 0.1V, 0.2V, ... 5V

Bạn tham khảo thêm bài viết về ADC sẽ rõ hơn ý mình muốn nói :)
 
Top