MCGS与51单片机modbus通讯程序学习(二)之MCGS成功控制51单片机

2016-2-13 Updata:将博文图片从Google相册迁移到本地服务器,方便免翻墙浏览。

Updata: Modbus_51_RTU 协议源码来源为:新势力论坛管理员创想在[推荐分享] modbus 协议 及 modbus RTU 的 C51 单片机 程序帖子提供的源代码

Updata: Oldbeginner 在阿莫论坛写的开源PLC学习笔记15(MODBUS 与组态软件的通讯)——2013_12_03 对本程序中modbus通讯协议代码分析的很详细。

MCGS和proteus 仿真调试modbus通讯成功 MCGS和proteus 仿真调试modbus通讯成功

proteus仿真画面 proteus仿真画面

MCGS监控画面 MCGS监控画面

下载到单片机开发板 通过MCGS控制单片机开发板LED灯成功 下载到单片机开发板 通过MCGS控制单片机开发板LED灯成功

MCGS控制单片机开发板LED 照片2 MCGS控制单片机开发板LED 照片2

MCGS控制单片机开发板LED灯照片3 MCGS控制单片机开发板LED灯照片3

笔记本电脑下载程序利器-PCI串口卡-物理串口1 笔记本电脑下载程序利器-PCI串口卡-物理串口1

笔记本电脑下载程序利器-串口卡-物理串口 2 笔记本电脑下载程序利器-串口卡-物理串口 2

MCGS控制单片机开发板调试画面 MCGS控制单片机开发板调试画面

MCGS控制单片机开发板LED灯 调试画面2 MCGS控制单片机开发板LED灯 调试画面2

程序源码下载地址:百度网盘-提取码:sg0g

解压密码:www.wlcpu.com

MCGS与51单片机modbus通讯程序学习(二)之MCGS成功控制51单片机》上有45条评论

  1. wenweima

    感谢先生,暂未研究您的程序,我在威纶通的网站下载程序,修改了下已经通过MODBUS POLL发送和接收,我想用MCGS调试,不知MCGS是否一定要用脚本,能用30分钟的运行版模拟吗?,再次感谢先生!!!

  2. 梧桐小妖

    很佩服版主,最近刚刚开始研究mcgs和单片机的通信,不经意发现了您这,虽然还不是很懂,不过会努力的,以后还还望多多指教

  3. kaka

    笔记本上与单片机之间,是什么线连接?照片上看的不是很懂,楼主能详细介绍下吗?谢谢

      1. kaka

        用台式电脑,能直接用rs232串口线连接能实现功能吗?昨晚试了下您的程序,在开发板上会出现乱码,是有什么地方没注意到,还是?

    1. 依然王的人

      MCGS wendu变量时通过通道连接 51单片机中的testRegister3寄存器型变量,该变量值是从DS18B20测量的实时温度值, MCGS通过读取寄存器值来获取实时温度!

  4. 追风少年

    很感兴趣你制造的东西,但是把源代码编译后code = 4264B 我的单片机是STC90C516RD+ Flash是4KB 会不会超出存储范围。初学者学ModBus协议,请教您一下。

  5. GUOLUZHE

    您好 您的源码 下来测试,仿真的那些 虚拟232端口是如何设置的,怎么连不上,不能仿真,设置成电脑的串口号一样,有数据,但是互相没有动作?什么情况

  6. zhanghuiwit

    你好,我现在在学习mcgs触摸屏和51单片机通信的知识,能不能把你的QQ或者邮箱告诉我,有什么不懂的可以请假你吗?

  7. 芭蕉老仙

    你好,我想问一下,将你的那个MCGS和单片机连接,是直接就可以操作吗?还是需要什么!谢谢!还有就是MCGS的驱动如何写的呢?

    1. 依然王的人 文章作者

      你好,那个驱动是mcgs组态软件自带的驱动没有源码,是dll文件(从mcgs官网即可下载),至于我提供的源代码仅供学习参考,要核对单片机硬件资源和程序是否吻合,根据实际情况调试修改。遇到问题多google 。

  8. Pingback引用通告: MCGS与51单片机modbus通讯程序学习(一)

  9. rengzn

    你好,
    我想请问一下有单独可用的串口“发送”和“接受”的函数(函数接口)代码吗?我是一个初学者,您的代码中包含了很多有关温度的函数和变量,使我很难分辨难一些是和串口通信有关的,哪些是无关的。
    另外下载的连接似乎不能用了(我是在别处看到您的代码的,但是从那下载来的代码编译没有通过)。
    非常感谢!

    1. 依然王的人

      你好,百度网盘下载链接已经更新好了,本文末尾的google code 链接也可正常下载,串口发送和接收程序在main.c文件中串口中断程序部分,如果单纯的学习串口程序,这个源码确实不适合,还不如直接Google搜索单纯串口通讯程序学习代码学习。有一个《单​片​机​C​语​言​程​序​设​计​实​训​1​0​0​例​—​—​基​于​8​0​5​1​+​P​r​o​t​e​u​s​仿​真》的书中就有类似代码

  10. 唐二林

    搞了1个月仍然没通上,看了笔记后思路开阔好多。麻烦也给我发个代码,试验一下。谢谢

  11. feixue

    void UartInit (ULONG baud, UCHAR mode)
    {
    IE=0x90;
    TMOD = (TMOD & 0X0F) | 0X20; //串口工作在方式1
    TH1 = -22118400L/12/32/9600; //求当波特率是9600时定时器的初值
    TL1 = -22118400L/12/32/9600;
    TR1 = 1;
    SCON = 0X50; //01010000;
    PCON |= 0X80; //波特率加倍
    }

    为什么这里声明的变量,在程序中没有使用,是不是少了,编译不通过。

  12. 花开的季节

    我想问一下楼主,modbus.c的程序可以移植到stm32单片机里面吗?还是仅仅适合51里面?

评论已关闭。