/*********************************************************************************
* 【Q Q】: 348439350
* 【声 明】: 此程序仅用于学习与参考,引用请注明版权和作者信息!
* 【函数功能】: 串口中断程序实验——通过单片机向电脑发送数据,同时电脑将收到的数据发出
**********************************************************************************/
/*预处理命令*/
#include <reg52.h> //包含单片机寄存器的头文件
#define uchar unsigned char
#define uint unsigned int
uchar num,a;
/*
********************************************************************************
** 函数名称 : main(void)
** 函数功能 : 主函数
********************************************************************************
*/
void main()
{
TMOD=0x20; //用定时器设置串口波特率 9600
TH1=0xfd;
TL1=0xfd;
TR1=1;
REN=1; //串口初始化
SM0=0;
SM1=1;
EA=1; //开启总中断
ES=1;
while(1)
{
if(num==1) //判断是否有串口数据的传送
{
ES=0;
num=0;
SBUF=a; //发送数据a到SBUF,即将单片机的数据发送到计算机
while(!TI);
TI=0;
ES=1;
}
}
}
void ser() interrupt 4
{
RI=0;
P2=SBUF; //接收数据SBUF,即将计算机的数据接收。
a=SBUF;
num=1;
}
|