- 6
- 0
- 约1.08万字
- 约 6页
- 2016-10-14 发布于贵州
- 举报
串行口传输各种值数据
利用串口 传输各种 数值数据
二、MCS-51单片机端设计
1、通信协议
为做演示说明我们仅发送3个数据顺序依次为:字符型数据、整型数据、浮点型数据,字符型数据、整型数据、浮点型数据在MCS-51单片机的C语言中分别占用1、2、4个字节。由于是采用周期性的数值数据发送方法,为使PC机端能准确接收所发送数据设计数据包如下:
所有数据按发送顺序及占用字节数顺序排列,等待发送。
数据包以两个字节的数据0XFF表示数据包结尾。
当等待发送数据为0XFF时,插入转义字符0X27,避免发送数据中出现连续的两个0XFF,造成虚假的数据包结尾。
插入的转义字符在接收时自动删除,为避免发送数据为0X27时被自动删除,在其后也插入转义字符0X27。
2、单片机程序设计
由于发送、接收双方距离较近,故波特率设置为9600bps、数据位数为8 位、没有奇偶校验位、1位停止位。系统的定时器/记数器T0、T1已另作它用,故选择T2做为波特率发生器。使用T2做为波特率发生器时不会产生通讯中断。
单片机发送程序由两个子程序组成:串口初始化、数据发送。代码如下:
void init232(void) //串口初始化子程序
{
SCON=0x50;
PCON=0x80;
T2CON=0x34;
RCAP2L = 0xb2;
RCAP2H = 0xff;
TL2 = 0xb2;
TH2 = 0xff;
TR2=
原创力文档

文档评论(0)