TI and RI

1.

#include <reg52.h>

//#define uchar unsigned char

//uchar receive;

void main(void)
{
EA = 1; //允许总中断(如不使用中断,可用//屏蔽)
ES = 1; //允许UART串口的中断

TMOD = 0x20; //定时器T/C1工作方式2
SCON = 0x50; //串口工作方式1,允许串口接收(SCON = 0x40 时禁止串口接收)
TH1 = 0xF3; //定时器初值高8位设置 //12MHZ晶振,波特率为4800 0xf3
TL1 = 0xF3; //定时器初值低8位设置 //11.0592MHZ晶振,波特率为4800 0xf4 9600 0xfa 19200 0xfd
PCON = 0x80; //波特率倍频(屏蔽本句波特率为2400)
TR1 = 1; //定时器启动

while(1);

}

void tranData() interrupt 4
{
SBUF='1';
while(TI==0);
TI=0;
RI=0;      // 将此句注释掉,查看效果.

}

 2. 键盘输入

#include <reg52.h>

#define uchar unsigned char

uchar uc;

void main(void)
{
EA = 1; //允许总中断(如不使用中断,可用//屏蔽)
ES = 1; //允许UART串口的中断

TMOD = 0x20; //定时器T/C1工作方式2
SCON = 0x50; //串口工作方式1,允许串口接收(SCON = 0x40 时禁止串口接收)
TH1 = 0xF3; //定时器初值高8位设置 //12MHZ晶振,波特率为4800 0xf3
TL1 = 0xF3; //定时器初值低8位设置 //11.0592MHZ晶振,波特率为4800 0xf4 9600 0xfa 19200 0xfd
PCON = 0x80; //波特率倍频(屏蔽本句波特率为2400)
TR1 = 1; //定时器启动

while(1);

}

void tranData() interrupt 4
{
uc=SBUF;

SBUF=uc;
while(TI==0);
TI=0;
RI=0;

}

3.  

 1 #include <reg52.h>
 2 #define uchar unsigned char
 3 
 4 uchar receive;
 5 
 6  
 7 void main(void)
 8 { 
 9      EA = 1; //允许总中断(如不使用中断,可用//屏蔽)
10     ES = 1; //允许UART串口的中断
11     TMOD = 0x20;    //定时器T/C1工作方式2
12     SCON = 0x50;    //串口工作方式1,允许串口接收(SCON = 0x40 时禁止串口接收)
13     TH1 = 0xF3;    //定时器初值高8位设置   //12MHZ晶振,波特率为4800 0xf3
14     TL1 = 0xF3;    //定时器初值低8位设置   //11.0592MHZ晶振,波特率为4800 0xf4   9600  0xfa   19200  0xfd
15     PCON = 0x80;    //波特率倍频(屏蔽本句波特率为2400)
16     TR1 = 1;    //定时器启动    
17     while(1);
18 
19 }
20 
21 void tranData() interrupt 4
22 {
23     uchar i;
24     if(RI)
25     {
26        RI=0;
27        receive=SBUF;
28        if(receive==0x31)
29        {
30           for(i=0;i<4;i++)
31           {
32                SBUF='a';
33              while(!TI);                             
34             TI=0;
35           }
36        }
37        else if(receive==0x32)
38        {
39         for(i=0;i<4;i++)
40           {
41                SBUF='b';
42              while(!TI);
43             TI=0;
44           }
45        }
46     }
47 }
48 
49  
View Code

猜你喜欢

转载自www.cnblogs.com/https/p/9250407.html
ri
TI