?? 發(fā)送接收測試程序、.txt
字號:
//功能說明:首先,由單片機向計算機發(fā)送信息(按K1鍵),如果發(fā)送工作正常,計算機調試軟件窗口將顯示:“PC已接收到信息,OK!等待主機發(fā)送00指令!” 接著,有計算機向單片機發(fā)送“00”指令,如果單片機接收正常,P1端口接的8個LED全部亮起,同時還將該指令返回到計算機屏幕上。
#include<AT89x51.H>
char code str[]="PC已接收到信息,OK!等待主機發(fā)送00指令!\0";
void send_str(); //發(fā)送函數(shù)
void send_char(); //回傳函數(shù)
sbit K1=P3^2;
unsigned char temp;
main()
{
SCON=0x50;
TMOD=0x20;
TH1=0xfd;
TR1=1;
while(1)
{
unsigned int j;
if(K1==0)
{
for(j=0;j<20000;j++);
while(!K1); //等待按鍵放開
send_str(); //調用發(fā)送字符串函數(shù)
}
if(RI) //是否有數(shù)據(jù)到來
{
RI=0;
temp=SBUF;
P1=temp&0x0f;
send_char();
}
}
}
void send_char() //回傳函數(shù)
{
SBUF=temp; //回傳發(fā)送接收到的數(shù)據(jù)
while(!TI); //等待數(shù)據(jù)傳送
TI=0; //清除數(shù)據(jù)傳送標志
}
void send_str() //發(fā)送字符串函數(shù)
{
unsigned char i=0;
while(str[i]!='\0') //遇到‘\0'則停止發(fā)送
{
SBUF=str[i]; //發(fā)送字符
while(!TI); //等待數(shù)據(jù)傳送
TI=0; //清除數(shù)據(jù)傳送標志
i++; //下一個字符
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -