程序思路:组态王向51单片机通讯总共就两条命令读命令和写命令,读命令共分三条,字节读和双字和浮点读三条命令,写命令也分三条,字节读和双字和浮点读三条命令,读时的三条命令的数据长度都一样都是14个ASSIC码,而且单片机回传的数据分别是10个ASSIC码和12个ASSIC码和16个ASSIC码
40 30 31 30 32 30 30 30 31 0D 数据是1个字节2个ASSIC码
[字头-地-址-字节--数-据-异或值-字尾]
40 30 31 30 32 30 30 30 31 30--30 0D 数据是2个字节4个ASSIC码
[字头-地-址-字节--数-------据-异或值-字尾]
40 30 31 30 32 30 30 30 30 30-30-30-30----31-30--0D 数据是4个字节8个ASSIC码
[字头-地-址-字节--数-------------------据---异或值-字尾]
写时的命令组态王分别发送字节16个ASSIC到单片机,双字节是18个ASSIC和浮点22个2ASSIC码
单片机只需回答正确和不正确的俩条命令 40 30 31 23 23 30 31 0D
然后再把数据处理就可以了如果不理解请仔细阅读组态王与单片劫ASSIC通讯手册。
与组态王通讯时请注意选择的单片机晶震频率和波特率及效验否则无法通讯成功
本次测试组态王只支持19200波特率,再高的波特率没有成功,
不知道是何原因难道组态的原因吗?
功能描述: 接收组态王的数据
(组态王发送来的数据有读都是14个ASSIC,
bite写16个ASSIC,
word写18个ASSIC,
FLOAT写22个ASSIC,
单片机回传----读单字节时正确回传10个个ASSIC,读双字节时正确回传12个个ASSIC,读浮点时正确回传16个个ASSIC,
读时不正确回传8个个ASSIC
单片机回传----写时正确回传 8个个ASSIC,
写时不正确回传8个个ASSIC
代码有详细注释
组态王上位机界面
组态王与单片机通讯协议.doc
(176.5 KB, 售价: 5 E币)
组态王上位机和51单片机下位机源码
组态王与51单片机通信源码.zip
(2.5 MB, 售价: 10 E币)
【必读】版权免责声明
1、本主题所有言论和内容纯属会员个人意见,与本论坛立场无关。2、本站对所发内容真实性、客观性、可用性不做任何保证也不负任何责任,网友之间仅出于学习目的进行交流。3、对提供的数字内容不拥有任何权利,其版权归原著者拥有。请勿将该数字内容进行商业交易、转载等行为,该内容只为学习所提供,使用后发生的一切问题与本站无关。 4、本网站不保证本站提供的下载资源的准确性、安全性和完整性;同时本网站也不承担用户因使用这些下载资源对自己和他人造成任何形式的损失或伤害。 5、本网站所有软件和资料均为网友推荐收集整理而来,仅供学习用途使用,请务必下载后两小时内删除,禁止商用。6、如有侵犯你版权的,请及时联系我们(电子邮箱1370723259@qq.com)指出,本站将立即改正。
|