|
串口通訊查詢(xún)方式
#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; //定時(shí)器工作在方式2
TH1 = 0xfd;
TL1 = 0xfd; //設(shè)置初始值,波特率為9600
TR1 = 1; //打開(kāi)定時(shí)器1
SM0 = 0;
SM1 = 1; //設(shè)置串行口工作為方式一
REN =1; //允許串行口接收
}
void main()
{
UART_init();
while(1)
{
if(RI==1) //查詢(xún)接收中斷請(qǐng)求標(biāo)志位為1(已收到)
{
RI=0; //接收中斷請(qǐng)求標(biāo)志位清0
P1=SBUF; //獲取接收寄存器數(shù)據(jù)
}
// while(!RI);
// P1 = SBUF;
// RI = 0;
}
} |
|