51单片机MODBUS协议汇编-蚂蚁叼骨头

51单片机MODBUS协议汇编-蚂蚁叼骨头

ID:37857140

大小:58.00 KB

页数:7页

时间:2019-06-01

51单片机MODBUS协议汇编-蚂蚁叼骨头_第1页
51单片机MODBUS协议汇编-蚂蚁叼骨头_第2页
51单片机MODBUS协议汇编-蚂蚁叼骨头_第3页
51单片机MODBUS协议汇编-蚂蚁叼骨头_第4页
51单片机MODBUS协议汇编-蚂蚁叼骨头_第5页
资源描述:

《51单片机MODBUS协议汇编-蚂蚁叼骨头》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、51单片机汇编—MODBUS协议(带写入功能)//读数据帧:01设备地址03功能码0000起始地址0001数据长度840A校验码//读返回帧:01设备地址03功能码02数据个数12数据34数据B533校验码//写数据帧:01设备地址10功能码0001起始地址0001数据长度02数据字节数12数据34数据AAF6校验码//写返回帧:以写帧相同。//带此‘-----’标志,且后无任何备注的可以去除或用空指令代替,此些地方时是为了测试时使用的状态显示位。ORG0000HLJMPMAIN;ORG0023HLJMPPCTX;ORG0100HMAIN:MOVSP

2、,#30H;MOVP0,#00H;MOV60H,#12H;---------------MOV61H,#34H;----------------------MOV62H,#56H;--------MOV63H,#78H;---MOVTMOD,#20H;MOVTL1,#0FDH;MOVTH1,#0FDH;MOVSCON,#50H;MOVPCON,#00H;;/MOVR3,#00H;存入数据个数(未用)MOVP1,#00H;MOVR3,#00H;MOVR2,#08H;MOVR1,#40H;数据首地址(未用)//MOV0B8H,#10H;串口优先级SETB

3、TR1;SETBES;//MOVDPTR,#0100H;SETBEA;MOVP0,#00H;MOVR4,#00H;LOON:MOVR5,#0FH;LOO:MOVA,R3;JNZLOP;MOVA,R4;MOVP1,A;INCR4;LCALLDELAY1S;DJNZR5,LOO;JMPLOON;PCTX:SETBP0.0;------------------TX:JBRI,LOOP;LCALLDELAY10;延时10ms等待;JNBRI,LOP;SETBP0.1;-----------------LJMPOUT;LOOP:MOVA,SBUF;MOV3EH

4、,A;CLRRI;MOVA,R1;ADDA,R3;MOVR0,A;MOV@R0,3EH;INCR3;存入数据个数(未用)MOVA,R3;-------------MOVP2,A;-------------LCALLDELAY10;LJMPOUT;//DJNZR2,OUT;LOP:CLRES;//LCALLDELAY1S;延时10msMOVR1,#40H;MOVA,@R1;(数据地址送A比较器)SUBBA,#01H;(地址为01响应)JNZRESET;SETBP0.2;----------MOVA,41H;SUBBA,#03;功能码为03,对数据读操作

5、。JNZLOOP1;-----------------------数据写操作入口LCALLCRC16;MOVR1,#46H;MOVA,@R1;SUBBA,3CH;JNZRESET;SETBP0.0;----------INCR1;MOVA,@R1;SUBBA,3BH;JNZRESET;MOVA,42H;JNZRESET;MOVA,43H;数据首地址R4RLA;字节成以2,以字为单位;CLRC;MOVR4,A;MOVA,44H;JNZRESET;MOVA,45H;读数据长度R5SUBBA,#09H;----限制读8个字,缓冲数据存放40-5FH;数据存

6、储在60H-7FH;JNCRESET;MOVA,45H;--------频定义的数据长度。RLA;CLRC;MOVR5,A;MOVR7,A;读数据长度R7MOVA,#60H;数据区转移到发送缓冲区ADDA,R4;MOVR4,A;MOVR6,#43H;LOOP3:MOVA,R4;数据区转移到发送缓冲区MOVR0,A;MOVA,@R0;MOV3EH,A;MOVA,R6;MOVR0,A;MOV@R0,3EH;INCR4;INCR6;DJNZR5,LOOP3;MOVA,R7;数据校验准备,原数据长度MOV42H,A;ADDA,#05H;MOVR3,A;总数据

7、长度MOVR5,A;MOVR1,#40H;数据开始地址LCALLCRC16MOVA,R7;ADDA,#03;ADDA,#40H;MOVR0,A;MOV@R0,3CH;INCR0;MOV@R0,3BH;MOVR0,#40H;SETBES;LOOP4:MOVA,@R0;MOVSBUF,A;发送数据JNBTI,$;INCR0;CLRTI;DJNZR5,LOOP4;RESET:MOVR3,#00H;MOVR2,#08H;MOVR1,#40H;OUT1:SETBP0.7;------AJMPOUT2;OUT:SETBP0.6------OUT2:NOPSETB

8、ES;RETILOOP1:MOVA,41H;功能码为10入口,对数据写操作。SUBBA,#10H;JNZRE

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。