|
/*********************************************************************************
* 【Q Q】: 348439350
* 【聲 明】: 此程序僅用于學(xué)習(xí)與參考,引用請(qǐng)注明版權(quán)和作者信息!
* 【函數(shù)功能】: 串口中斷程序?qū)嶒?yàn)——通過(guò)單片機(jī)向電腦發(fā)送數(shù)據(jù),同時(shí)電腦將收到的數(shù)據(jù)發(fā)出
**********************************************************************************/
/*預(yù)處理命令*/
#include <reg52.h> //包含單片機(jī)寄存器的頭文件
#define uchar unsigned char
#define uint unsigned int
uchar num,a;
/*
********************************************************************************
** 函數(shù)名稱 : main(void)
** 函數(shù)功能 : 主函數(shù)
********************************************************************************
*/
void main()
{
TMOD=0x20; //用定時(shí)器設(shè)置串口波特率 9600
TH1=0xfd;
TL1=0xfd;
TR1=1;
REN=1; //串口初始化
SM0=0;
SM1=1;
EA=1; //開(kāi)啟總中斷
ES=1;
while(1)
{
if(num==1) //判斷是否有串口數(shù)據(jù)的傳送
{
ES=0;
num=0;
SBUF=a; //發(fā)送數(shù)據(jù)a到SBUF,即將單片機(jī)的數(shù)據(jù)發(fā)送到計(jì)算機(jī)
while(!TI);
TI=0;
ES=1;
}
}
}
void ser() interrupt 4
{
RI=0;
P2=SBUF; //接收數(shù)據(jù)SBUF,即將計(jì)算機(jī)的數(shù)據(jù)接收。
a=SBUF;
num=1;
}
|
評(píng)分
-
查看全部評(píng)分
|