|
最近失业, 心情不好,相当的不好,为什么为什么一份工作总的做不长......很是郁闷,所以就狂看书,狂吃饭,狂抽烟.......
加上上次说要搞个MODBUS协议,这几天刚好有空,所以就把它写了出来,里面还是有点问题,但是总体上问题不大,如果有的话应该是在某些细节上,呵呵 , 同时也希望能得到多多的指点 谢谢,如果感觉还行给我顶下!!
说明:
1、
//*************************************************************************************************************
//主题: Modbus协议--多机通讯 ---AT89C52 Serial-m 主机部分
//编者:李 锦 华
//时间:2009-09-01
//QQ : 492031062 尽供交流用,无事勿扰 ,谢谢合作
//E-mail:li_jin_hua2006@yahoo.com.cn
//主页:http://hi.baidu.com/kuzhuu
//地点:园林 苏州
//注: 如对此程序设计有更好的建议,请发送信息到我的E-mail,我会非常感谢的!
//*************************************************************************************************************
2、此程序遵循MODBUS通讯协议,可以实现 功能码06--写单个积存器 和05--写单个线圈的功能,考虑到可以直观的看到效果和实际情况,如写单个积存器只能写到地址0x0001中去且写的数字必须要小于9,因为只用了一个数码管,,但是不防碍你写不同的地址和大于9的数字,只是不能显示出来,如 你可以输入如 02 06 00 01 00 09 则在站号02的数码管中显示9 这个数字
3、因为只用了P32 P33 P34 这三个口来显示功能码05 所以在写线圈的时候,最好不地址不要超过0x0002
,还有根据我的实际情况对05功能做了点修改,就是状态1 由原来的0xff00改为了现在的0x0100,即把ff改为了0x01 后面的00不变,如果是状态0 和以前的Modbus 协议保持一致,如要开站号03的P32口的等,即在主机中按A键后输入:03 05 00 00 01 00
因为本程序写的比较急促,难免有不当之处,请高手指点 谢谢 ,
![](http://cache.amobbs.com/bbs_upload782111/files_18/ourdev_478579.jpg)
(原文件名:1.jpg)
![](http://cache.amobbs.com/bbs_upload782111/files_18/ourdev_478580.jpg)
(原文件名:2.jpg)
![](http://cache.amobbs.com/bbs_upload782111/files_18/ourdev_478581.jpg)
(原文件名:3.jpg)
点击此处下载 ourdev_478582.rar(文件大小:624K) (原文件名:桌面.rar) |
阿莫论坛20周年了!感谢大家的支持与爱护!!
曾经有一段真挚的爱情摆在我的面前,我没有珍惜,现在想起来,还好我没有珍惜……
|