|
串口通訊查詢方式
#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
uchar num;
/*void delay(uint z)
{
uint x,y;
for(x = z; x > 0; x--)
for(y = 114; y > 0 ; y--);
}*/
void UART_init()
{
TMOD = 0x20; //定時器工作在方式2
TH1 = 0xfd;
TL1 = 0xfd; //設(shè)置初始值,波特率為9600
TR1 = 1; //打開定時器1
SM0 = 0;
SM1 = 1; //設(shè)置串行口工作為方式一
REN =1; //允許串行口接收
}
void main()
{
UART_init();
while(1)
{
if(RI==1) //查詢接收中斷請求標(biāo)志位為1(已收到)
{
RI=0; //接收中斷請求標(biāo)志位清0
P1=SBUF; //獲取接收寄存器數(shù)據(jù)
}
// while(!RI);
// P1 = SBUF;
// RI = 0;
}
} |
|