code nay minh thu ok ne,
#include <16f877a.h>
#fuses HS,PUT,NOWDT
#device adc=10
#use delay (clock = 20000000)
#use rs232(baud = 9600 , parity = n , xmit = pin_c6 , rcv = pin_c7 , bits = 9)
#include <LCD_4BIT_fix.c>
float e,e1,a,b,i,x;
int16 value,j , vttb ;
int8 c,d , tg;
int8 chuyendoi(int8 gt) ;
#int_timer0
void ngat()
{
i=get_timer1();
set_timer1(0x00);
e=x-i;
a = e - e1;
b = (e + e1) + b;
e1 = e;
value = (int16)(e + b/30);
c = (int8)(!(bit_test (value,15)));
value = value * c ;
d = (int8)((bit_test(value,11))|(bit_test(value,12))|
(bit_test(value,13))|(bit_test(value,14)));
value = value * (!d) + 1023 * d;
set_pwm1_duty(value);
}
|