ADRESH là biến 8bit để dịch trái bạn phải ép kiểu sang 16bit
Ngoài ra giá trị của ADC là 10bit, đầu vào của PWM cũng là 10bit, vậy bạn chỉ cần gán trực tiếp giá trị ADC vào CCPR
Với cách tính của bạn
Trích:
v_analog = ((float)v_num * 5)/1024;
|
Thì bạn chỉ gán giá trị từ 0 - 5 vào CCPR, duty cực kỳ nhỏ nên ko thể làm LED sáng