使用51单片机完成一个简单的串口通信协议。
要求:
一个协议帧为8个字节,其中头部两个字节,分别是0xFF,0xFE;
第3个字节代表第一个数据,第4个字节代表第二个数据(均为正数);
第5个字节如果是0,代表两个数据的和,1的话代表两个数据的差;
第6个字节为0,代表使用十进制显示,为1代表十六进制显示;
最后两个字节代表协议尾部,值分别为0xFD,0xFC。
将传输的两个数据和他们的计算结果分别显示在数码管上。
注意,如果差为负数,要将负号显示出来。
思路:使用串口中断,先接收8个字节至数组保存,最后再分析处理数据,具体
见代码,注释很详细。
要求:
一个协议帧为8个字节,其中头部两个字节,分别是0xFF,0xFE;
第3个字节代表第一个数据,第4个字节代表第二个数据(均为正数);
第5个字节如果是0,代表两个数据的和,1的话代表两个数据的差;
第6个字节为0,代表使用十进制显示,为1代表十六进制显示;
最后两个字节代表协议尾部,值分别为0xFD,0xFC。
将传输的两个数据和他们的计算结果分别显示在数码管上。
注意,如果差为负数,要将负号显示出来。
思路:使用串口中断,先接收8个字节至数组保存,最后再分析处理数据,具体
见代码,注释很详细。
/*-----------------------------------------------
名称:串口通信
内容:连接好串口或者usb转串口至电脑,下载该程序,打开电源
打开串口调试程序,将波特率设置为9600,无奇偶校验
晶振11.0592MHz,发送和接收使用的格式相同,如都使用
字符型格式,按复位重启程序,可以看到接收到 RST
然后在发送区发送任意信息,接收区返回同样信息,表明串口收发无误
------------------------------------------------*/
#include<reg52.h> //包含头文件,一般情况不需要改动,头文件包