Académique Documents
Professionnel Documents
Culture Documents
void pulse_E();
void LCD_char(unsigned char);
void LCD_init(void), LCD_cmd(unsigned char ch);
void LCD_goto(char line, char column), LCD_clr(void);
void initialize();
void clear_usart_errors_inline();
void loadTXREG(int);
int receiveTransmission();
main()
{
initialize();
__delay_ms(1000);
LCD_goto(2,0);
while(1){
received = receiveTransmission();
LCD_char(received);
loadTXREG(received);
}
}
PORTA=0x00;
PORTB=0x00;
void LCD_init()
{
LCD_cmd(0x2c); // 4 bit
LCD_cmd(0x28); // display shift
LCD_cmd(0x6); // character mode
LCD_cmd(0xd); // display on and cursor on
LCD_clr(); // clear display
}
void LCD_clr()
{
LCD_cmd(1); // Clr screen
}
void pulse_E()
{
LCD_E = 1;
__delay_us(1);
LCD_E = 0;
}
void loadTXREG(int c){
int receiveTransmission(){
while(!RCIF)
{
CLRWDT();
clear_usart_errors_inline();
}
return RCREG;
}
void clear_usart_errors_inline(){
if (OERR)
{
TXEN=0;
TXEN=1;
CREN=0;
CREN=1;
}
if (FERR)
{
dummy=RCREG;
TXEN=0;
TXEN=1;
}
}