#include<reg52.h>
#include"delay.h"
#include"LCD.h"
//unsigned char count;
//#define count 0;
void uart_init()
{
SCON = 0x50; //设置串口工作方式,接收允许
//SM0 = 0; SM1 = 1; REN = 1;
TMOD |= 0x20; //设置定时器1工作方式2 或 设置1
TH1 = 0xfd; //9600
//ET1 = 1; //中断不用
TR1 = 1; //开始计数
}
void uart_send_byte(unsigned char byte)
{
SBUF = byte;
//TI位自动置1,手动清零
while(!TI); //while(TI != 1);
TI = 0;
}
void uart_send_string(unsigned char *p)
{
while(*p) //while(*p != '\0')
{
uart_send_byte(*p);
p++;
}
}
void main()
{
unsigned char i = 0;
LCD_Init();
LCD_Clear();//清屏
uart_init();
while(1)
{
/* uart_send_byte(0x61);
delay_ms(200); */
/* if(RI)
{
uart_send_string("i received is:");
uart_send_byte(SBUF);
uart_send_string("\r\n");
RI = 0;
} */
if(RI)
{
if(SBUF)
{
uart_send_byte(SBUF);
LCD_Write_Char(i,0,SBUF);
i++;
if(i == 16)
{
i = 0;
}
}
RI = 0;
}
if(TI) //如果是发送标志位,清零
{
TI=0;
}
}
}
#include"delay.h"
#include"LCD.h"
//unsigned char count;
//#define count 0;
void uart_init()
{
SCON = 0x50; //设置串口工作方式,接收允许
//SM0 = 0; SM1 = 1; REN = 1;
TMOD |= 0x20; //设置定时器1工作方式2 或 设置1
TH1 = 0xfd; //9600
//ET1 = 1; //中断不用
TR1 = 1; //开始计数
}
void uart_send_byte(unsigned char byte)
{
SBUF = byte;
//TI位自动置1,手动清零
while(!TI); //while(TI != 1);
TI = 0;
}
void uart_send_string(unsigned char *p)
{
while(*p) //while(*p != '\0')
{
uart_send_byte(*p);
p++;
}
}
void main()
{
unsigned char i = 0;
LCD_Init();
LCD_Clear();//清屏
uart_init();
while(1)
{
/* uart_send_byte(0x61);
delay_ms(200); */
/* if(RI)
{
uart_send_string("i received is:");
uart_send_byte(SBUF);
uart_send_string("\r\n");
RI = 0;
} */
if(RI)
{
if(SBUF)
{
uart_send_byte(SBUF);
LCD_Write_Char(i,0,SBUF);
i++;
if(i == 16)
{
i = 0;
}
}
RI = 0;
}
if(TI) //如果是发送标志位,清零
{
TI=0;
}
}
}