標(biāo)題:
串口通信如何控制其他硬件
[打印本頁]
作者:
reveal
時間:
2017-8-5 10:47
標(biāo)題:
串口通信如何控制其他硬件
#include "reg52.h"
sbit led=P2^0;
typedef unsigned int u16;
typedef unsigned char u8;
void UsartInit()
{
SCON=0X50;
TMOD=0X20;
PCON=0X80;
TH1=0XF3;
TL1=0XF3;
ES=1;
EA=1;
TR1=1;
}
void main()
{
UsartInit();
while(1);
}
void Usart() interrupt 4
{
u8 receiveData;
receiveData=SBUF;
SBUF=receiveData;
while(!TI);
TI=0;
RI = 0;
// 當(dāng)接受到數(shù)字0是使led亮
if(SBUF==0)
{
led=0;
}
}
但是程序沒有自己想要的結(jié)果,希望大佬幫忙改下 ,最好能解釋下串口通如何控制其他硬件
作者:
g753388438
時間:
2017-8-5 11:56
好久沒寫51的串口程序了 有幾點(diǎn)你需要確定一下
第1 波特率 一定要設(shè)置正確
第2 中斷一定要打開
第3
void Usart() interrupt 4
{
u8 receiveData;
receiveData=SBUF;
SBUF=receiveData;
while(!TI);
TI=0;
RI = 0;
// 當(dāng)接受到數(shù)字0是使led亮
if(SBUF==0)
{
led=0;
}
}
復(fù)制代碼
改成
void Usart() interrupt 4
{
u8 receiveData;
receiveData=SBUF;
if(receiveData==0)
{
led=0;
}
SBUF=receiveData;
while(!TI);
TI=0;
RI = 0;
// 當(dāng)接受到數(shù)字0是使led亮
}
復(fù)制代碼
這樣只有收到0時led等會亮
第4 你要確定led燈亮,IO口應(yīng)該置0還是置1
作者:
reveal
時間:
2017-11-11 15:46
謝謝 認(rèn)真學(xué)習(xí)下
歡迎光臨 (http://www.torrancerestoration.com/bbs/)
Powered by Discuz! X3.1