PIC单片机通讯例程.doc

PIC单片机通讯例程.doc

ID:57631673

大小:59.50 KB

页数:12页

时间:2020-08-29

PIC单片机通讯例程.doc_第1页
PIC单片机通讯例程.doc_第2页
PIC单片机通讯例程.doc_第3页
PIC单片机通讯例程.doc_第4页
PIC单片机通讯例程.doc_第5页
资源描述:

《PIC单片机通讯例程.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、1.单片机PIC1编程(发送部分)LISTP=16F877#INCLUDEP16F876.INCCBLOCK0X24;保留三个字节作为显示用COUNT;作计数器或暂存器用ENDCORG0X0000;程序复位入口NOPSTARTGOTOMAINORG0X20MAINMOVLW0X30;以下将RAM内容初始化MOVWFFSR;从30H单元开始MOVLW0X30;将值30H赋给单元30HMOVWFCOUNTINTRAMMOVFCOUNT,0;将30H~7FH赋给单元30H~7FHMOVWFINDFINCFCOUNT,1INCFFSR,1BTFSSCOUNT,7GOTOIN

2、TRAMBSFSTATUS,RP0;将SCI部件初始化MOVLW0X19;将传输的波特率设为约9600bpsMOVWFSPBRGMOVLW0X04;选择异步高速方式传输8位数据MOVWFTXSTABCFSTATUS,RP0MOVLW0X80;允许同步串行口工作MOVWFRCSTABSFSTATUS,RP0BSFTRISC,7;将RC6、RC7设置为输入方式,断绝与外接电路的连接BSFTRISC,6BCFSTATUS,RP0MOVLW0X30;30H作为同步字符发送MOVWFFSRMOVFINDF,0MOVWFTXREG;将待发送的数据写入发送缓冲器TXREGBSFS

3、TATUS,RP0BSFTXSTA,TXEN;发送允许BCFSTATUS,RP0BSFRCSTA,CREN;接收数据允许LOOPTXBTFSSPIR1,RCIF;等待PIC2的响应字节GOTOLOOPTXMOVFRCREG,0;读响应字节,清RCIFLOOPTX1BTFSSPIR1,TXIF;发送下一字节GOTOLOOPTX1INCFFSRMOVFINDF,0MOVWFTXREGBTFSSFSR,7;30H~7FH单元的内容是否发送完?GOTOLOOPTX;没有,继续下一字节的发送BSFSTATUS,RP0;如果是,则停止发送BCFTXSTA,TXENBCFSTAT

4、US,RP0;数据发送完毕CALLLED;调用显示子程序,将发送的数据显示出来END;程序完1.单片机PIC2编程(接收部分)LISTP=16F876#INCLUDEP16F876.INCCBLOCK0X24COUNTENDCORG0X0000NOPSTARTGOTOMAINMAINBSFSTATUS,RP0;初始化程序同发送子程序MOVLW0X19;波特率设置与PIC1相同MOVWFSPBRGMOVLW0X04;异步高速传输MOVWFTXSTABCFSTATUS,RP0MOVLW0X80;串行口工作使能MOVWFRCSTABSFSTATUS,RP0BSFTRISC

5、,7;与外接电路隔离BSFTRISC,6BCFSTATUS,RP0MOVLW0X30;从30H单元开始存放发送来的数据MOVWFFSRBSFRCSTA,CREN;接收允许BSFSTATUS,RP0BSFTXSTA,TXEN;发送允许BCFSTATUS,RP0WAITBTFSSPIR1,RCIF;等待接收数据GOTOWAITMOVFRCREG,0;读取数据MOVWFINDF;将接收到的响应字节存入PIC2的RAMINCFFSRMOVWFTXREG;发送响应字节LOOPTXBTFSSPIR1,TXIF;等待写入完成GOTOLOOPTXBTFSSFSR,7;全部数据接收否

6、?GOTOWAIT1;没有,继续接收其它数据BCFRCSTA,RCEN;接收完,则关断接收和发送数据允许BSFSTATUS,RP0BCFPIE1,TXENBCFSTATUS,RP0CALLLED;调用显示子程序,将接受到的数据显示出来END;程序完单片机双机同步通信1.单片机PIC1编程(主控发送)LISTP=16F876#INCLUDEP16F876.INCCBLOCK0X24;保留三个字节作为显示用COUNT;作计数器或暂存器用ENDCORG0X0000;程序复位入口NOPSTARTGOTOMAINORG0X0100MAINMOVLW0X30MOVWFFSR;以

7、下将从30H单元开始的RAM内容初始化MOVLW0X30;将值30H赋给单元30HMOVWFCOUNTINTRAMMOVFCOUNT,0;将30H~7FH赋给单元30H~7FHMOVWFINDFINCFCOUNT,1INCFFSR,1BTFSSCOUNT,7GOTOINTRAMBSFSTATUS,RP0;将SCI部件初始化MOVLW0X19;将传输的波特率设为约9600bpsMOVWFSPBRGMOVLW0X94;选择同步高速方式传输8位数据MOVWFTXSTABCFSTATUS,RP0MOVLW0X80;允许同步串行口工作MOVWFRCSTABSFSTATUS

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

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

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