Trích:
Nguyên văn bởi JohnnyNguyen
hỏi về tutorial của thầy Nam.thầy cho em hỏi,cái câu lệnh:
ADCValue = ADCBUF0 >>1 //chi lay 9 bit cao nhat
tại sao chỉ lấy 9 bit cao nhất.em chưa hiểu rõ chỗ này.em mới đang tiếp cận ADC,mong thầy chỉ rõ cho.
cho em hỏi thêm về sơ đồ mạch,cái con MAX232 có tác dụng gì a.
|
Vì trong ví dụ đó tôi thiết lập tần số PWM là 40 kHz, ứng với tần số thực thi lệnh là 8 MHz, nên phạm vi duty cycle chỉ là 0 .. 400, tức là có thể mã hóa bằng 9 bit. Để tận dụng gần như toàn bộ dải điện áp ở ngõ vào ADC (phạm vi điều chỉnh biến trở rộng nhất có thể có), chỉ có 9 bit cao nhất của kết quả chuyển đổi A/D được sử dụng để thiết lập duty cycle. Điều này tương ứng với việc bạn vặn biến trở từ 0 đến khoảng 80% để chỉnh duty cycle từ 0 đến 100%.
MAX232 là vi mạch dịch mức, để chuyển logic TTL/CMOS 5 V sang dạng tương thích với chuẩn RS-232 (mức điện áp thể hiện logic là khoảng +/- 12 V).
Thân,