Độan code này mình viết y chang trong ebook, nhưng ngõ ra CCP1 không có tín hiệu.
Code:
#include <16f877a.h>
#use delay(clock=20000000)
#fuses HS, NOWDT
int duty_cycle, control_bits, hold_value;
void main()
{
port_b_pullups(TRUE);
setup_timer_2(T2_DIV_BY_1, 99, 1);
setup_ccp1(CCP_PWM);
while(true)
{
hold_value = (~(input_b()) & 0x7);
while ((control_bits = (~(input_b()) & 0x7)) == hold_value);
switch (control_bits)
{
case 0x1: duty_cycle = 35;
break;
case 0x2: duty_cycle = 59;
break;
case 0x4: duty_cycle = 94;
break;
default: duty_cycle = 0;
}
}
}