Professional Documents
Culture Documents
GIE_bit=1;
INTEDG_bit=0;
INTE_bit=1;
T0CS_bit = 0;
PSA_bit = 0;
PS2_bit = 1;
PS1_bit = 1;
PS0_bit = 1;
TMR0 = 0;
T0IE_bit = 1;
GIE_bit = 1;
UART1_Write_Text("Start");
UART1_Write(10);
UART1_Write(13);
PWM1_init(3000);
PWM1_start();
while (1) {
if(rev!=prev){
FloatToStr(rev, rpm);
UART1_Write_Text("SPEED =");
UART1_Write_Text(rpm);
UART1_Write_Text("RPM");
UART1_Write(13);
}
// Endless loop
prev=rev;
PWM1_set_duty(255-x);
if (UART1_Data_Ready()) {
// If data is received,
read = UART1_Read();
// read the received data,
if(read=='Q')
{
if(x==255){UART1_Write_text("MAX SPEED");}
else{
x=x+5;
pct=x*100/255;
FloatToStr(pct, percent);
UART1_Write_text("SPEED @");
UART1_Write_text(percent);
UART1_Write_text("%");
}
}
else if(read=='A')
{
if(x==0){UART1_Write_text("MOTOR STOPPED");}
else{
x=x-5;
pct=x*100/255;
FloatToStr(pct, percent);
UART1_Write_text("SPEED @");
UART1_Write_text(percent);
UART1_Write_text("%");
}
}
else
{
UART1_Write_text("Q AND A ONLY!!");
}
UART1_Write(13);
}
}
}