|
電腦和單片機(jī)通訊時(shí),由電腦輸入到單片機(jī)的字符信息,能否直接調(diào)用,用于單片機(jī)的條件判斷
我用電腦輸入的信息做判斷,控制LED燈,結(jié)果LED燈沒(méi)變化。
#include "reg52.h"
typedef unsigned int u16;
typedef unsigned char u8;
sbit led0=P0^0;
sbit led1=P0^1;
u8 recv;
u8 controller;
void UsartInit() //串口初始化
{ SCON=0X50;
TMOD=0x20; //0010000,選擇工作方式2
PCON=0X80;
TH1=0XF3; //波特率4800,SMOD=1(倍頻)
TL1=0XF3;
ES=1;
TR1=1;
EA=1;
}
void main()
{
UsartInit();
while(1);
}
void Usart() interrupt 4
{
recv=SBUF; //電腦發(fā)送的信息進(jìn)入單片機(jī)緩沖器
controller=recv;
RI=0; //接收中斷標(biāo)志位清零
SBUF=recv; //將接收到的數(shù)據(jù)重新發(fā)送回電腦
while(!TI); //TI發(fā)送中斷標(biāo)志位,TI=1,發(fā)送中斷申請(qǐng)通過(guò)TI發(fā)送中斷
TI=0; //發(fā)送中斷清零
if(controller==0)
{led0=~led0;}
else if(controller==1)
{led1=~led1;}
}
51hei圖片_20200412163753.png (68.09 KB, 下載次數(shù): 28)
下載附件
2020-4-12 16:38 上傳
|
|