Trích:
Nguyên văn bởi quang_nhon84
Tại sao khi điện áp đưa ra ở các chân của PIC mình chỉ đo được khoảng 2 V? Nếu đọc tín hiệu analog được đưa vào giả sử là chân AIN0 3v, không thay đổi điện áp Vref = 5v thì kết quả đo được sẽ ghi vào thanh ADRESH là như thế nào?chỉ cho mình cách xác định giá tri đấy với! Dựa vào giá trị nào để xác định số khoảng điện áp 5V được chia nhỏ ra liệu có phải dựa vào giá trị ADCS1 và ADCS2 không? Với PIC16f877a tín hiệu là 10 bit tức là nó chia thành 1024 khoảng hay 10 khoảng,mình khôg học về ADC nên không rõ lắm.
|
Câu thứ nhất: bạn chỉ đặt một câu hỏi mà không cung cấp sơ đồ mạch, code tương ứng thì rất khó trả lời.
Câu thứ hai: Việc ghi kết quả vào thanh ghi ADRESH phụ thuộc vào việc bạn chọn format cho kết quả là canh trái hay canh phải. Nếu canh trái (bit ADFM của thanh ghi ADCON1 mang giá trị '0') thì 8 bit cao nhất của kết quả sẽ được lưu vào thanh ghi ADRESH. Nếu canh phải (bit ADFM mang giá trị '1') thì chỉ có 2 bit cao nhất của kết quả được lưu vào thanh ghi ADRESH. Bạn có thể dùng công thức sau để tính kết quả chuyển đổi theo điện áp ngõ vào: ADRES = (Vin/Vref)*1024. Hàm truyền chính xác của bộ ADC có dạng bậc thang, chứ không phải là đường thẳng như công thức trên. Chú thích: Vin là điện áp giữa các chân VINH và VINL, Vref là điện áp giữa VREFH và VREFL.
Câu thứ ba: Dựa vào việc bộ biến đổi A/D có độ phân giải là 10-bit, dẫn đến số khoảng chia là 2^10 = 1024 khoảng. Các bit ADCS2 (của thanh ghi ADCON1) và ADCS1(của thanh ghi ADCON0), cùng với bit ADCS0 (của thanh ghi ADCON0) dùng để chọn tần số xung clock cấp cho bộ biến đổi A/D.
Câu thứ tư: xem câu trả lời thứ ba.
Thân,