/*********************************************************************************
* 【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;
}
|