运用Proteus进行单片机仿真,仿真硬件衔接,串口通讯部分运用keil与labview编写程序,完成:
PC经过串行口将数字(00,01,02,03…,FF,十六进制)发送给单片机,单片机收到后回传这个数字,PC接收到回传数据后显示出来,若发送的数据和接收到的数据持平,则串行通讯正确,不然有过错。启始符是数字00,结束符是数字FF。
试验中留意PC的串口名 compim与VISA资源称号要相同,compim中的参数值要调对,最好不要用虚拟的串口。
keil中的程序为:
# 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;//定时器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图为
声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/bandaoti/ic/212938.html