#include<htc.h>
#include "lcd.c"
#include "serial.c"
void intro()
{
lcdclr();
lcdstr(" PC Based Speed ");
lcdcmd(0xc0);
lcdstr("Ctrl of DC Motor");
delay(65000);delay(65000);
}
void main()
{
unsigned char ctrl;
TRISC2=TRISB= 0 ;
TRISA =0xff; // set PORTC as output
RC2 = 1 ; // clear PORTC
lcdinit();delay(100);
se_init();
intro();
lcdclr();
lcdstr("Waiting For Data");
while(1)
{
ctrl=se_rx();
switch(ctrl)
{
case '1': //90%, 250Hz
PR2 = 0b11111001;
T2CON = 0b00000111;
CCPR1L = 0b11100000;
CCP1CON = 0b00111100;
lcdclr();
lcdstr(" Motor Run At ");
lcdcmd(0xc0);
lcdstr(" Slow Speed ");
break;
case '2': //70%, 250Hz
PR2 = 0b11111001;
T2CON = 0b00000111;
CCPR1L = 0b10101110;
CCP1CON = 0b00111100;
lcdclr();
lcdstr(" Motor Run At ");
lcdcmd(0xc0);
lcdstr(" Medium Speed ");
break;
case '3': //10%, 250Hz
PR2 = 0b11111001;
T2CON = 0b00000111;
CCPR1L = 0b00011000;
CCP1CON = 0b00111100 ;
lcdclr();
lcdstr(" Motor Run At ");
lcdcmd(0xc0);
lcdstr(" Full Speed ");
break;
default:
lcdclr();
lcdstr(" Wrong Data ");
lcdcmd(0xc0);
lcdstr(" Received ");
delay(2000);
break;
}
}
}
#include "lcd.c"
#include "serial.c"
void intro()
{
lcdclr();
lcdstr(" PC Based Speed ");
lcdcmd(0xc0);
lcdstr("Ctrl of DC Motor");
delay(65000);delay(65000);
}
void main()
{
unsigned char ctrl;
TRISC2=TRISB= 0 ;
TRISA =0xff; // set PORTC as output
RC2 = 1 ; // clear PORTC
lcdinit();delay(100);
se_init();
intro();
lcdclr();
lcdstr("Waiting For Data");
while(1)
{
ctrl=se_rx();
switch(ctrl)
{
case '1': //90%, 250Hz
PR2 = 0b11111001;
T2CON = 0b00000111;
CCPR1L = 0b11100000;
CCP1CON = 0b00111100;
lcdclr();
lcdstr(" Motor Run At ");
lcdcmd(0xc0);
lcdstr(" Slow Speed ");
break;
case '2': //70%, 250Hz
PR2 = 0b11111001;
T2CON = 0b00000111;
CCPR1L = 0b10101110;
CCP1CON = 0b00111100;
lcdclr();
lcdstr(" Motor Run At ");
lcdcmd(0xc0);
lcdstr(" Medium Speed ");
break;
case '3': //10%, 250Hz
PR2 = 0b11111001;
T2CON = 0b00000111;
CCPR1L = 0b00011000;
CCP1CON = 0b00111100 ;
lcdclr();
lcdstr(" Motor Run At ");
lcdcmd(0xc0);
lcdstr(" Full Speed ");
break;
default:
lcdclr();
lcdstr(" Wrong Data ");
lcdcmd(0xc0);
lcdstr(" Received ");
delay(2000);
break;
}
}
}
Comments
Post a Comment