当前位置:首页 > 单片机 > 单片机
[导读]1. 单片机 PIC1编程(发送部分)LIST P=16F877#INCLUDE P16F876.INCCBLOCK 0X24 ;保留三个字节作为显示用COUNT ;作计数器或暂存器用ENDCORG 0X0000 ;程序复位入口NOPSTART GOTO MAINORG 0X20MAIN MOVLW 0X30 ;以下将RA

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

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 ;程序完

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

无线通讯技术在现代社会中发挥着越来越重要的作用,然而在实际使用过程中,会遭遇各种形式的干扰,影响通信质量。

关键字: 无线通信 通讯 噪声干扰

华为似乎成了一道不可忽视的风景线。它在全球通信领域的崛起和持续的创新势头,引发了许多猜测与议论。但是,背后的故事却鲜为人知。

关键字: 华为通信 通信领域 通讯

串口通信作为一种最传统的通信方式,在工业自动化、通讯、控制等领域得到广泛使用。

关键字: Linux 串口通信 通讯

可编程逻辑控制器是种专门为在工业环境下应用而设计的数字运算操作电子系统。它采用一种可编程的存储器,在其内部存储执行逻辑运算、顺序控制、定时、计数和算术运算等操作的指令

关键字: plc 通讯 逻辑运算

显然这是目前存在的现状,蓝牙Mesh、Zigbee等一些标准共存于物联网智能家居江湖,但又谁也取代不了谁。正如周巍所说:“没有任何一个标准能在一个应用层垄断,尽管小米阿里在主推蓝牙Mesh,华为在推Zigbee,但未来迟...

关键字: 物联网 协议 通讯

蓝牙设备在生活中无处不在,但是我们也只是将其作为蓝牙模块进行使用,发送简单的AT命令实现数据收发。那么,像对于一些复杂的使用场合:“车载蓝牙”、"智能手表"、“蓝牙音箱”等,我们不得不去了解底层的蓝牙实现原理。

关键字: 蓝牙 无线电技术 通讯

上海2022年9月28日 /美通社/ -- 9月28日,中国广电5G(上海)网络服务精彩启航仪式在东方明珠电视塔举行。此举标志着在中国广电事业扬帆启航、守正创新之年,上海广电5G建设已圆满达成重大节点目标。中共上海市委常...

关键字: 通讯 中国广电 5G

全球首款超低功耗Wi-Fi 6+BLE物联网双模通讯芯片 新竹2022年9月26日 /美通社/ -- 旺凌科技宣布其新一代物联网通讯芯片OPL2500通过了WIFI联盟的WIFI6认证测试。延续其OPL1000系列的低...

关键字: 芯片 WIFI6 通讯 BSP

(全球TMT2022年9月2日讯)音频、视频和协作解决方案企业Jabra宣布与富士胶片商业创新(原富士施乐)合作,为亚太区客户提供基于Jabra Evolve2 系列专业办公耳麦及Speak系列全向麦的统一通讯解决方案...

关键字: 富士 通讯 音频 EV

合作旨在促进亚太区企业无缝统一通讯 上海2022年9月2日 /美通社/ -- 音频、视频和协作解决方案领军企业 Jabra 今日宣布与富士胶片商业创新(原富士施乐)合作,为亚太区客户提供基于Jabra Evolve2...

关键字: 富士 数字化 通讯 音频
关闭
关闭