TI and RI

Posted https

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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;

}

 

















































以上是关于TI and RI的主要内容,如果未能解决你的问题,请参考以下文章

老题未知排队买票

code forces 1173 B. Nauuo and Chess

51单片机串口通讯

HDU 6065 RXD, tree and sequence (LCA+DP)

串口通信发送的内容与接收到的不一致

什么引起串口中断