单片机串口启动接收并存储
‘壹’ 如何用电脑通过串行口把单片机的数据保存起来,以便下一步处理代码如何写
发送单片机数据到PC,首先要编写单片机程序,再编写PC端程序接收数据保存就可以了。
下面只列出单片机发送数据到串口的程序,PC端可以用串口调试软件测试,数据格式是ASCII码格式。
已经ISIS7.7sp2Professional和虚拟串口软件仿真测试通过了。
重新优化了代码:
/*单片机发送P1端口值到串口*/
/*数据格式为:NowP1Status:[00000000]*/
#include<reg51.h>
#defineucharunsignedchar
#defineuintunsignedint
charstr[]="NowP1Status:[00000000] ";
sbitP10=P1^0;
sbitP11=P1^1;
sbitP12=P1^2;
sbitP13=P1^3;
sbitP14=P1^4;
sbitP15=P1^5;
sbitP16=P1^6;
sbitP17=P1^7;
main()
{
uintj;
//chark;
uchari;
TMOD=0x20;//定时器1方式2
TH1=0xfd;//波特率9600晶振11.0592MHz
TL1=0xfd;
SCON=0x50;
PCON&=0xef;
TR1=1;
IE=0x00;
while(1)
{
//k=~P1&0xF0;//替换P1高位显示
//k=k>>4;
//if(k<10)
//k=k+48;
//else
//k=k+55;
//str[17]=k;
//k=~P1&0x0F;//替换P1低位显示
//if(k<10)
//k=k+48;
//else
//k=k+55;
//str[18]=k;
str[15]=P17|48;
str[16]=P16|48;
str[17]=P15|48;
str[18]=P14|48;
str[19]=P13|48;
str[20]=P12|48;
str[21]=P11|48;
str[22]=P10|48;
i=0;
while(str[i]!='