?? usart_1.c
字號:
/**********************************
!!!!!!注意在發(fā)送的字符串后邊需加'/'!!!!!!!!!
可以用‘*’進行清屏
**********************************/
#include <pic.h>
#define uint unsigned int
#define uchar unsigned char
//**********函數(shù)聲明*************
void Init_LCD(void);
void LCD_Clear(void);
void delay_nms(unsigned int);
void LCD_DisplayString (char, char ,unsigned char*);
void LCD_DisplayCharacter(char);
void LCD_WriteControl(uchar);
//void get_usart_result(void);
void get_usart_string(void); //receive the string from the USART
void send_usart_date(uchar);
uchar string_usart[]=0;
//*************************************
void usartint()
{TRISC6=0; //TX引腳輸出
TRISC7=1; //RX引腳輸入
SPBRG=0X67; //波特率設為,0x67-2400,0x33-4800,0x19-9600
TXSTA=0X24; //設為高速波特率,發(fā)送8位數(shù)據(jù)
RCSTA=0X90; //串行端口使能
GIE=0;
TRISD=0x00;
PORTD=0x00;
//TXREG=0x88;
}
//接收USART數(shù)據(jù)
void get_usart_string()
{
uint count=0;
do{
do{;}while(RCIF==0);
RCIF=0;
string_usart[count]=RCREG;
count++;
if('*'==RCREG)
{
LCD_Clear(); //If send '*',clear the LCD
break; // tip the cycle!
}
}while(RCREG!='/'); //!!!!!!注意在發(fā)送的字符串后邊需加'/'!!!!!!!!!
string_usart[count-1]='\0'; //加停止符
}
//通過USART發(fā)送數(shù)據(jù)
void send_usart_date(uchar send_temp)
{
TXREG=send_temp;
do{;}while(0==TXIF);
TXIF=0;
}
//*********display***********
void display()
{
get_usart_string();
LCD_DisplayString (1,1 ,string_usart);
}
void main()
{
usartint();
Init_LCD();
LCD_WriteControl(0x80); //顯示起始地址
while(1)
{
display();
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -