新聞中心

EEPW首頁 > 測試測量 > 設(shè)計(jì)應(yīng)用 > labview實(shí)現(xiàn)PC與單片機(jī)之間的串口通信

labview實(shí)現(xiàn)PC與單片機(jī)之間的串口通信

作者: 時(shí)間:2017-01-06 來源:網(wǎng)絡(luò) 收藏
使用Proteus進(jìn)行單片機(jī)仿真,仿真硬件連接,串口通信部分使用keillabview編寫程序,實(shí)現(xiàn):

PC通過串行口將數(shù)字(00,01,02,03...,F(xiàn)F,十六進(jìn)制)發(fā)送給單片機(jī),單片機(jī)收到后回傳這個(gè)數(shù)字,PC接收到回傳數(shù)據(jù)后顯示出來,若發(fā)送的數(shù)據(jù)和接收到的數(shù)據(jù)相等,則串行通信正確,否則有錯(cuò)誤。啟始符是數(shù)字00,結(jié)束符是數(shù)字FF。

本文引用地址:http://m.butianyuan.cn/article/201701/336653.htm

實(shí)驗(yàn)中注意PC的串口名 compim與VISA資源名稱要相同,compim中的參數(shù)值要調(diào)對,最好不要用虛擬的串口。

keil中的程序?yàn)椋?/p>

# pragma db code
# include
# define uchar unsigned char
void rece(void);
void init(void);
uchar re[17];

void main(void)
{
uchar temp;
init();
do{
while(RI==0);
temp=SBUF;
if(temp==0x00)
{rece();}
else break;
}while(1);
}

void init(void)
{
TMOD=0x20;//定時(shí)器1--方式2
PCON=0x80;//電源控制
SCON=0x50;//方式1
TL1=0xF3;
TH1=0xF3;//22.1184MHz晶振,波特率為4800 0xf396000xfa19200 0xfd
TR1=1;
}

void rece(void)
{
char i;
i=0;
do{while(RI==0);
re[i]=SBUF;
RI=0;
SBUF=re[i];
while(TI==0);
TI=0;
i++;
}while(re[i-1]!=255);
}
labview的前面板跟程序框圖 以及Proteus圖為













評論


技術(shù)專區(qū)

關(guān)閉