发布网友 发布时间:2024-10-24 09:21
共3个回答
热心网友 时间:2024-10-25 22:00
#include <AT89X51.h>
#define uchar unsigned char
#define uint unsigned int
main()
{
uchar i;
uint j;
SCON= 0x40; //串口方式1
PCON=0; //SMOD=0
REN=1; //允许接收
TMOD= 0x20; //定时器1定时方式2
TH1= 0xe6; //12MHz 1200波特率
TL1= 0xe6;
TR1= 1; //启动定时器
while(1)
{
i=0;
while(trdata[i]!=0x00)
{
SBUF=trdata[i];
while(TI==0);
TI=0;
i++;
}
for (j=0;j<50000;j++);
i=0;
while(trdata1[i]!=0x00)
{
SBUF=trdata1[i];
while(TI==0);
TI=0;
i++;
}
for (j=0;j<50000;j++);
}
}
热心网友 时间:2024-10-25 22:05
unsigned char ii;
ii = i;//取i低8位
......//发送
i >>=8;
ii = i;//取i高8位
......//发送
PC端软件如果自己编写,可以轻松的显示i的值。如果用一些现成的串口小软件,那只能分成两个字节显示了。
热心网友 时间:2024-10-25 22:01
先把INT型数据拆开,高8位和低8位。
或先发i 的高8位,再发低8位,PC端收到后组合起来就可以了。