版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、网上关于单片机和力控modbus通信的实例很少,关键并不是modbus协议而是力控与单片机连接的设置,下面的程序是基于51单片机做的。在正个调试过程中由于我们不清楚力控发送给单片机的请求数据格式,我们可以用串口调试工具进行串口调试,将力控发送请求显示在串口调试工具中,其中单片机的程序如下 #include#include#define uchar unsigned char/一个字节#define uint unsigned int/ 两个字节void send_char(unsigned char txd);uint rece_count=0;uint send_flag=0;uchar r
2、ece_buf8=0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00; uint i;/*串行口初始化*/void chushi()scon=0x50;/串口工作方式1,即10位异步 pcon=0x00;/波特率不倍增 tmod=0x20; th1=tl1=0xfa; tr1=1;/*主程序*/main()chushi(); rece_count=0; while(1) if(ri) ri=0; if(rece_count8) rece_bufrece_count=sbuf; rece_count+; if(rece_count=8) send_flag=1; wh
3、ile(send_flag=1) for(i=0;i8;i+) sbuf=rece_bufi; while(ti=0); ti=0; 打开力控运行,将发送的数据保存到单片机中,然后打开串口调试工具,显示如下:我们看力控发送请求的格式:01 03 ff ff 00 01 84 2e,最后的两位crc是高位在前,低位在后。crc的高低位的前后顺序一定要注意,尤其在单片机编程中。单片机程序:#include#include#define uchar unsigned char/一个字节#define uint unsigned int/ 两个字节void send_char(unsigned cha
4、r txd);uchar send_buf7;uchar rece_buf8;uint i;uint crc_data;uchar rece_count=0;uchar send_flag=0;/*串行口初始化*/void chushi()scon=0x50;/串口工作方式1,即10位异步 pcon=0x00;/波特率不倍增 tmod=0x20; th1=tl1=0xfa;/22.1184m晶振 tr1=1;/*crc校验表*/const uchar code auchcrchi = /数组定义必须加code ,否则出现空间不够用的情况0x00, 0xc1, 0x81, 0x40, 0x01,
5、 0xc0, 0x80, 0x41, 0x01, 0xc0, 0x80, 0x41, 0x00, 0xc1, 0x81,0x40, 0x01, 0xc0, 0x80, 0x41, 0x00, 0xc1, 0x81, 0x40, 0x00, 0xc1, 0x81, 0x40, 0x01, 0xc0,0x80, 0x41, 0x01, 0xc0, 0x80, 0x41, 0x00, 0xc1, 0x81, 0x40, 0x00, 0xc1, 0x81, 0x40, 0x01,0xc0, 0x80, 0x41, 0x00, 0xc1, 0x81, 0x40, 0x01, 0xc0, 0x80, 0x
6、41, 0x01, 0xc0, 0x80, 0x41,0x00, 0xc1, 0x81, 0x40, 0x01, 0xc0, 0x80, 0x41, 0x00, 0xc1, 0x81, 0x40, 0x00, 0xc1, 0x81,0x40, 0x01, 0xc0, 0x80, 0x41, 0x00, 0xc1, 0x81, 0x40, 0x01, 0xc0, 0x80, 0x41, 0x01, 0xc0,0x80, 0x41, 0x00, 0xc1, 0x81, 0x40, 0x00, 0xc1, 0x81, 0x40, 0x01, 0xc0, 0x80, 0x41, 0x01,0xc0,
7、0x80, 0x41, 0x00, 0xc1, 0x81, 0x40, 0x01, 0xc0, 0x80, 0x41, 0x00, 0xc1, 0x81, 0x40,0x00, 0xc1, 0x81, 0x40, 0x01, 0xc0, 0x80, 0x41, 0x01, 0xc0, 0x80, 0x41, 0x00, 0xc1, 0x81,0x40, 0x00, 0xc1, 0x81, 0x40, 0x01, 0xc0, 0x80, 0x41, 0x00, 0xc1, 0x81, 0x40, 0x01, 0xc0,0x80, 0x41, 0x01, 0xc0, 0x80, 0x41, 0x0
8、0, 0xc1, 0x81, 0x40, 0x00, 0xc1, 0x81, 0x40, 0x01,0xc0, 0x80, 0x41, 0x01, 0xc0, 0x80, 0x41, 0x00, 0xc1, 0x81, 0x40, 0x01, 0xc0, 0x80, 0x41,0x00, 0xc1, 0x81, 0x40, 0x00, 0xc1, 0x81, 0x40, 0x01, 0xc0, 0x80, 0x41, 0x00, 0xc1, 0x81,0x40, 0x01, 0xc0, 0x80, 0x41, 0x01, 0xc0, 0x80, 0x41, 0x00, 0xc1, 0x81,
9、0x40, 0x01, 0xc0,0x80, 0x41, 0x00, 0xc1, 0x81, 0x40, 0x00, 0xc1, 0x81, 0x40, 0x01, 0xc0, 0x80, 0x41, 0x01,0xc0, 0x80, 0x41, 0x00, 0xc1, 0x81, 0x40, 0x00, 0xc1, 0x81, 0x40, 0x01, 0xc0, 0x80, 0x41,0x00, 0xc1, 0x81, 0x40, 0x01, 0xc0, 0x80, 0x41, 0x01, 0xc0, 0x80, 0x41, 0x00, 0xc1, 0x81,0x40 ;const ucha
10、r code auchcrclo = 0x00, 0xc0, 0xc1, 0x01, 0xc3, 0x03, 0x02, 0xc2, 0xc6, 0x06, 0x07, 0xc7, 0x05, 0xc5, 0xc4,0x04, 0xcc, 0x0c, 0x0d, 0xcd, 0x0f, 0xcf, 0xce, 0x0e, 0x0a, 0xca, 0xcb, 0x0b, 0xc9, 0x09,0x08, 0xc8, 0xd8, 0x18, 0x19, 0xd9, 0x1b, 0xdb, 0xda, 0x1a, 0x1e, 0xde, 0xdf, 0x1f, 0xdd,0x1d, 0x1c, 0x
11、dc, 0x14, 0xd4, 0xd5, 0x15, 0xd7, 0x17, 0x16, 0xd6, 0xd2, 0x12, 0x13, 0xd3,0x11, 0xd1, 0xd0, 0x10, 0xf0, 0x30, 0x31, 0xf1, 0x33, 0xf3, 0xf2, 0x32, 0x36, 0xf6, 0xf7,0x37, 0xf5, 0x35, 0x34, 0xf4, 0x3c, 0xfc, 0xfd, 0x3d, 0xff, 0x3f, 0x3e, 0xfe, 0xfa, 0x3a,0x3b, 0xfb, 0x39, 0xf9, 0xf8, 0x38, 0x28, 0xe8,
12、 0xe9, 0x29, 0xeb, 0x2b, 0x2a, 0xea, 0xee,0x2e, 0x2f, 0xef, 0x2d, 0xed, 0xec, 0x2c, 0xe4, 0x24, 0x25, 0xe5, 0x27, 0xe7, 0xe6, 0x26,0x22, 0xe2, 0xe3, 0x23, 0xe1, 0x21, 0x20, 0xe0, 0xa0, 0x60, 0x61, 0xa1, 0x63, 0xa3, 0xa2,0x62, 0x66, 0xa6, 0xa7, 0x67, 0xa5, 0x65, 0x64, 0xa4, 0x6c, 0xac, 0xad, 0x6d, 0x
13、af, 0x6f,0x6e, 0xae, 0xaa, 0x6a, 0x6b, 0xab, 0x69, 0xa9, 0xa8, 0x68, 0x78, 0xb8, 0xb9, 0x79, 0xbb,0x7b, 0x7a, 0xba, 0xbe, 0x7e, 0x7f, 0xbf, 0x7d, 0xbd, 0xbc, 0x7c, 0xb4, 0x74, 0x75, 0xb5,0x77, 0xb7, 0xb6, 0x76, 0x72, 0xb2, 0xb3, 0x73, 0xb1, 0x71, 0x70, 0xb0, 0x50, 0x90, 0x91,0x51, 0x93, 0x53, 0x52,
14、0x92, 0x96, 0x56, 0x57, 0x97, 0x55, 0x95, 0x94, 0x54, 0x9c, 0x5c,0x5d, 0x9d, 0x5f, 0x9f, 0x9e, 0x5e, 0x5a, 0x9a, 0x9b, 0x5b, 0x99, 0x59, 0x58, 0x98, 0x88,0x48, 0x49, 0x89, 0x4b, 0x8b, 0x8a, 0x4a, 0x4e, 0x8e, 0x8f, 0x4f, 0x8d, 0x4d, 0x4c, 0x8c,0x44, 0x84, 0x85, 0x45, 0x87, 0x47, 0x46, 0x86, 0x82, 0x4
15、2, 0x43, 0x83, 0x41, 0x81, 0x80,0x40 ;/*crc计算程序*/uint crc16 (uchar *puchmsg, uint usdatalen) uchar uchcrchi=0xff; uchar uchcrclo=0xff; uint uindex; uint crcdata; while(usdatalen-) uindex=uchcrchi*puchmsg+; uchcrchi=uchcrcloauchcrchiuindex; uchcrclo=auchcrclouindex; ; crcdata=uchcrclo; /低位在前高位在后 crcdata=crcdata8; /低位 send_buf5=c
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 塔吊安装重大危险源和安全技术措施
- EPC体育馆项目EPC项目质量创优
- “奋斗青春号”大思政课堂《奋斗》心得体会范文
- 如何通过仓库管理培训构建员工忠诚度和信任关系
- 仓库管理培训:团队协作高效运营
- 集团管控能力的提升与实现
- 非淋菌性尿道炎课件
- 病毒性心肌炎课件
- 《升国旗》评课稿
- 餐饮加盟合同范文2024
- 2024年珠海市交通运输局公开招聘珠海市交通规划研究与信息中心工作人员4人高频考题难、易错点模拟试题(共500题)附带答案详解
- 河南省驻马店市汝南县2023-2024学年四年级下学期4月期中道德与法治试题
- 全球及中国主动轮椅行业市场现状供需分析及市场深度研究发展前景及规划可行性分析研究报告(2024-2030)
- 企业项目申报规划
- KA-T 21-2024 模袋法尾矿堆坝技术规程
- 数学-九宫数独100题(附答案)
- 清包工合同书
- 景德镇瓷器简介.ppt
- 企业流程再造PPT.ppt
- 微电子器件期末复习题(含答案)
- 室内自动扫地清洁机器人结构的设计【智能扫地机器人】
评论
0/150
提交评论