欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2267|回復: 2
打印 上一主題 下一主題
收起左側

51單片機modbus rtu通訊程序 與MCGS組態王通訊

[復制鏈接]
跳轉到指定樓層
樓主
ID:701887 發表于 2023-4-9 16:36 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
51單片機與MCGS通訊
Modbus RTU 示范程序
適用于微嵌51單片機最小系統板
在AT89S52和STC89C52單片機上測試通過,可以移植到其他51系列單片機

通訊設置:
波特率:9600
數據位:8
停止位:1
檢驗位:無

程序默認地址:1  (可以通過修改localAddr變量改變地址)
工程編譯環境:KeilC V4.74a
、
source_for_PC:
里面是上位機配置好的工程文件,具體配置看文件

單片機源程序如下:
  1. /*********************************************************************************
  2. * 【說    明】: 此程序為51單片機與MCGS組態王軟件Modbus RTU通訊下位機程序,
  3.                  此程序在STC89C52RC單片機上測試通過,可以移植到其他51系列單片機!
  4. * 【函數功能】: 51單片機與MCGS組態王軟件Modbus RTU通訊主程序                                                                                          
  5. * 【修    改】: DREAKER Bluster
  6. **********************************************************************************/
  7. #include "Project.h"
  8. // unsigned char code led[]={63,6,91,79,102,109,125,7,127,111,};//十進制
  9. // unsinged char code led[]={0x3F,0x6,0x5B,0x4F,0x66,0x6D,0x7D,0x7,0x7F,0x6F,};//16進制:


  10. void main(void)
  11. {
  12.         UINT nCounter = 0;
  13.         UCHAR ucLedIndex = 0;

  14.         SYSTEM_DISABLE_INTERRUPT();

  15.         TimerInit();
  16.         UartInit(9600, 1);

  17.         SYSTEM_ENABLE_INTERRUPT();

  18.         P1=0x7f;

  19.         while(1) {
  20.         
  21.                 timerProc();
  22.                 checkComm0Modbus();//檢測modbus幀
  23.         


  24.         }
  25. }

復制代碼
  1. /*********************************************************************************
  2. * 【說    明】: 此程序為51單片機與MCGS組態王軟件Modbus RTU通訊下位機程序,
  3.                  此程序在STC89C52RC單片機上測試通過,可以移植到其他51系列單片機!
  4. * 【函數功能】: 51單片機與MCGS組態王軟件Modbus RTU通訊主程序                                                                                          
  5. * 【修    改】: DREAKER Bluster
  6. **********************************************************************************/
  7. #include "Project.h"

  8. sbit LED0 = P1^0; // 對應線圈0
  9. sbit LED1 = P1^1; // 對應線圈1
  10. sbit LED2 = P1^2; // 對應線圈2
  11. sbit LED3 = P1^3; // 對應線圈3
  12. sbit LED4 = P1^4; // 對應線圈4
  13. sbit LED5 = P1^5; // 對應線圈5
  14. sbit LED6 = P1^6; // 對應線圈6
  15. sbit LED7 = P1^7; // 對應線圈7

  16. sbit KEY0 = P3^2;
  17. sbit KEY1 = P3^3;
  18. sbit KEY2 = P3^4;
  19. sbit KEY3 = P3^5;

  20. //字地址 0 - 255 (只取低8位)
  21. //位地址 0 - 255 (只取低8位)

  22. /* CRC 高位字節值表 */
  23. const UINT8 code auchCRCHi[] = {
  24.         0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0,
  25.         0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41,
  26.         0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0,
  27.         0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40,
  28.         0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1,
  29.         0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41,
  30.         0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1,
  31.         0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41,
  32.         0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0,
  33.         0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40,
  34.         0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1,
  35.         0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40,
  36.         0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0,
  37.         0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40,
  38.         0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0,
  39.         0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40,
  40.         0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0,
  41.         0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41,
  42.         0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0,
  43.         0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41,
  44.         0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0,
  45.         0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40,
  46.         0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1,
  47.         0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41,
  48.         0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0,
  49.         0x80, 0x41, 0x00, 0xC1, 0x81, 0x40
  50. } ;
復制代碼


代碼51hei附件下載:
51-MODBUS-master.zip (132.19 KB, 下載次數: 87)

評分

參與人數 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏3 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:462629 發表于 2023-4-29 22:34 | 只看該作者
MCGS組態王是什么版本號的啊
回復

使用道具 舉報

板凳
ID:496636 發表于 2023-4-30 21:41 | 只看該作者
woyaodwn 發表于 2023-4-29 22:34
MCGS組態王是什么版本號的啊

那是昆侖通泰觸摸屏,自帶有485或是232串口,一般都是485,有的還帶有網口,里面系統集成很多的通訊驅動,可以與各品牌的PLC通訊,如與西門子的S7-200可以采用PPI通訊,PLC端不需要編寫通訊程序。當然也可以用MODBUS與絕大多數設備通訊,只要支持MODBUS就行,如變頻器,PLC。
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表