0 卖盘信息
BOM询价
您现在的位置: 首页 > 技术方案 >通信与网络 > 基于PIC单片机sc93f5311实现通讯功能设计方案

基于PIC单片机sc93f5311实现通讯功能设计方案

来源: elecfans
2022-07-28
类别:通信与网络
eye 24
文章创建人 拍明芯城

原标题:PIC单片机实现通讯功能设计方案

  1. 单片机 PIC1编程(发送部分)

  LIST P=16F877

  #INCLUDE P16F876.INC

  CBLOCK 0X24 ;保留三个字节作为显示用

  COUNT ;作计数器或暂存器用

  ENDC

  ORG 0X0000 ;程序复位入口

  NOP

  START GOTO MAIN

  ORG 0X20

  MAIN MOVLW 0X30 ;以下将RAM内容初始化

  MOVWF FSR ;从30H单元开始

  MOVLW 0X30 ;将值30H赋给单元30H

  MOVWF COUNT

  INTRAM MOVF COUNT,0 ;将30H~7FH赋给单元30H~7FH

  

<a target=PIC单片机实现通讯功能设计" src="https://supp.iczoom.com/images/public/202207/1658995024739061269.jpg" width="558" height="300"/>


  MOVWF INDF

  INCF COUNT,1

  INCF FSR,1

  BTFSS COUNT,7

  GOTO INTRAM

  BSF STATUS,RP0 ;将SCI部件初始化

  MOVLW 0X19 ;将传输的波特率设为约9600 bps

  MOVWF SPBRG

  MOVLW 0X04 ;选择异步高速方式传输8位数据

  MOVWF TXSTA

  BCF STATUS,RP0

  MOVLW 0X80 ;允许同步串行口工作

  MOVWF RCSTA

  BSF STATUS,RP0

  BSF TRISC,7 ;将RC6、RC7设置为输入方式,断绝与外接电路的连接

  BSF TRISC,6

  BCF STATUS,RP0

  MOVLW 0X30 ;30H作为同步字符发送

  MOVWF FSR

  MOVF INDF,0

  MOVWF TXREG ;将待发送的数据写入发送缓冲器TXREG

  BSF STATUS,RP0

  BSF TXSTA,TXEN ;发送允许

  BCF STATUS,RP0

  BSF RCSTA,CREN ;接收数据允许

  LOOPTX BTFSS PIR1,RCIF ;等待PIC2的响应字节

  GOTO LOOPTX

  MOVF RCREG,0 ;读响应字节,清RCIF

  LOOPTX1 BTFSS PIR1,TXIF ;发送下一字节

  GOTO LOOPTX1

  INCF FSR

  MOVF INDF,0

  MOVWF TXREG

  BTFSS FSR,7 ;30H~7FH单元的内容是否发送完?

  GOTO LOOPTX ;没有,继续下一字节的发送

  BSF STATUS,RP0 ;如果是,则停止发送

  BCF TXSTA,TXEN

  BCF STATUS,RP0 ;数据发送完毕

  CALLLED;调用显示子程序,将发送的数据显示出来

  END ;程序完

  2. 单片机 PIC2编程(接收部分)

  LIST P=16F876

  #INCLUDE P16F876.INC

  CBLOCK 0X24

  COUNT

  ENDC

  ORG 0X0000

  NOP

  START GOTO MAIN

  MAIN BSF STATUS,RP0 ;初始化程序同发送子程序

  MOVLW 0X19 ;波特率设置与PIC1相同

  MOVWF SPBRG

  MOVLW 0X04 ;异步高速传输

  MOVWF TXSTA

  BCF STATUS,RP0

  MOVLW 0X80 ;串行口工作使能

  MOVWF RCSTA

  BSF STATUS,RP0

  BSF TRISC,7 ;与外接电路隔离

  BSF TRISC,6

  BCF STATUS,RP0

  MOVLW 0X30 ;从30H单元开始存放发送来的数据

  MOVWF FSR

  BSF RCSTA,CREN ;接收允许

  BSF STATUS,RP0

  BSF TXSTA,TXEN ;发送允许

  BCF STATUS,RP0

  WAIT BTFSS PIR1,RCIF ;等待接收数据

  GOTO WAIT

  MOVF RCREG,0 ;读取数据

  MOVWF INDF ;将接收到的响应字节存入PIC2的RAM

  INCF FSR

  MOVWF TXREG ;发送响应字节

  LOOPTX BTFSS PIR1,TXIF ;等待写入完成

  GOTO LOOPTX

  BTFSS FSR,7 ;全部数据接收否?

  GOTO WAIT1 ;没有,继续接收其它数据

  BCF RCSTA,RCEN ;接收完,则关断接收和发送数据允许

  BSF STATUS,RP0

  BCF PIE1,TXEN

  BCF STATUS,RP0

  CALL LED ;调用显示子程序,将接受到的数据显示出来

  END ;程序完


责任编辑:David

【免责声明】

1、本文内容、数据、图表等来源于网络引用或其他公开资料,版权归属原作者、原发表出处。若版权所有方对本文的引用持有异议,请联系拍明芯城(marketing@iczoom.com),本方将及时处理。

2、本文的引用仅供读者交流学习使用,不涉及商业目的。

3、本文内容仅代表作者观点,拍明芯城不对内容的准确性、可靠性或完整性提供明示或暗示的保证。读者阅读本文后做出的决定或行为,是基于自主意愿和独立判断做出的,请读者明确相关结果。

4、如需转载本方拥有版权的文章,请联系拍明芯城(marketing@iczoom.com)注明“转载原因”。未经允许私自转载拍明芯城将保留追究其法律责任的权利。

拍明芯城拥有对此声明的最终解释权。

相关资讯

方案推荐
基于MC33771主控芯片的新能源锂电池管理系统解决方案

基于MC33771主控芯片的新能源锂电池管理系统解决方案

AMIC110 32位Sitara ARM MCU开发方案

AMIC110 32位Sitara ARM MCU开发方案

基于AMIC110多协议可编程工业通信处理器的32位Sitara ARM MCU开发方案

基于AMIC110多协议可编程工业通信处理器的32位Sitara ARM MCU开发方案

基于展讯SC9820超低成本LTE芯片平台的儿童智能手表解决方案

基于展讯SC9820超低成本LTE芯片平台的儿童智能手表解决方案

基于TI公司的AM437x双照相机参考设计

基于TI公司的AM437x双照相机参考设计

基于MTK6580芯片的W2智能手表解决方案

基于MTK6580芯片的W2智能手表解决方案