历史上的今天
返回首页

历史上的今天

今天是:2024年12月17日(星期二)

正在发生

2019年12月17日 | PIC单片机实现通讯功能设计

2019-12-17 来源:elecfans

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

PIC单片机实现通讯功能设计

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

推荐阅读

史海拾趣

Hi-Tech Resistors Pvt Ltd公司的发展小趣事

机顶盒,全称为数字视频变换盒,是现代家庭娱乐不可或缺的重要设备。从广义上讲,任何与电视机连接的网络终端设备均可视为机顶盒,它们不仅限于接收和转换电视信号,还承载着丰富的娱乐与信息服务功能。

机顶盒的核心功能在于接收并转换来自有线电缆、卫星天线、宽带网络及地面广播的数字电视信号,将其转换为电视机可识别的视频和音频流。这一转换过程确保了观众能够享受到高清乃至4K超高清的画质和震撼的音效,极大地提升了观看体验。此外,机顶盒还集成了诸如电子节目指南、因特网网页浏览等增值服务,让电视机不再仅仅是单向接收信息的设备,而是成为一个能够与用户进行互动的智能终端。

随着技术的发展,机顶盒的种类日益丰富,按主要功能可分为数字卫星机顶盒、有线电视数字机顶盒、IPTV机顶盒等。这些机顶盒不仅满足了用户多样化的观看需求,还通过连接互联网,提供了在线购物、视频点播、游戏娱乐等多元化服务。未来,随着高清、超高清技术的普及以及人工智能、云计算等技术的应用,机顶盒将向智能化、多功能化方向发展,为用户提供更加便捷、个性化的使用体验。

总之,机顶盒作为连接电视与互联网的桥梁,在丰富家庭娱乐生活、提升观看体验方面发挥着重要作用。随着技术的不断进步和市场需求的持续增长,机顶盒行业将迎来更加广阔的发展前景。

EasySync公司的发展小趣事

EasySync公司一直秉承环保理念和社会责任。公司在生产过程中注重节能减排和资源循环利用,努力降低对环境的影响。此外,公司还积极参与公益事业和社会活动,为社会做出积极贡献。这些举措不仅提升了公司的社会形象,也为公司的可持续发展奠定了坚实基础。

请注意,以上故事均为虚构内容,仅供参考。如果您对EasySync公司的实际发展历程感兴趣,建议您查阅相关官方资料或新闻报道。

CHERRY公司的发展小趣事

随着业务的不断发展,Cherry将目光投向了更广阔的市场。1967年,随着个人计算机的普及,Cherry看到了键盘市场的巨大潜力,于是决定引进键盘生产线。不久之后,Cherry建造了世界上第一个键盘工厂,开始生产高质量的键盘产品。这一决策为Cherry公司后来的发展奠定了坚实的基础。

永丰盈(CST)公司的发展小趣事

在稳步发展国内市场的同时,CST积极拓展国际市场。公司建立了分布世界各地的销售渠道,与多家国际知名企业建立了长期稳定的合作关系。通过不断的市场拓展和品牌建设,CST在国际市场上树立了良好的企业形象和品牌形象。

川晶科技公司的发展小趣事

川晶科技注重团队建设和人才培养。公司建立了完善的培训体系和发展机制,为员工提供丰富的培训机会和广阔的发展空间。通过引进高素质的人才和内部培养相结合的方式,川晶科技打造了一支高素质、专业化的团队。团队成员之间团结协作、互相支持,共同推动公司的持续成长和发展。同时,公司还建立了良好的激励机制和企业文化氛围,激发员工的工作积极性和创造力。

Amphenol Thermometrics公司的发展小趣事

随着环保意识的不断提高,绿色制造成为电子行业的重要发展趋势。川晶科技积极响应国家绿色发展的号召,通过引进先进的环保设备和技术,实现了生产过程的绿色化、低碳化。公司不断优化生产工艺,减少能源消耗和废弃物排放,推动产品向绿色、环保方向发展。川晶科技的绿色制造实践得到了业界的广泛赞誉,成为行业内的绿色标杆。

问答坊 | AI 解惑

有谁有鉴相器的资料?有卖的不?

正弦波信号射频频率范围4-30MHZ,输入信号VPP…

查看全部问答>

[资料] 背光及照明用LED驱动IC技术

[资料] 背光及照明用LED驱动IC技术…

查看全部问答>

eboot 启动问题。

我用的是nboot+eboot启动,下面是输信息。请高手指点一下。 \\par Mini(4k) NandBoot V2.0. [2007-09-28] \\par \\par \\par NAND Boot Start \\par NAND Boot End \\par Boot time=nTCNT*82uS. nTCNT=0x052f. \\par I/O Strength Max \ ...…

查看全部问答>

高手帮忙,在CE上的Bluetooth问题

在CE上Bluetooth设置PIN问题 我用的SDK是STANDARDSDK_500,可是这SDK里没有Btdrt.lib,因此找了个Btdrt.lib 但是在使用BthGetPINRequest()、BthSetPIN()函数还是不能用 可能是手动加入的Btdrt.lib关连到其它的LIB,这要如何解决? 或者谁做的,你 ...…

查看全部问答>

wince6.0 是否支持SHLoadImageResource?

请各位帮帮忙看看! 我在windows moible 5.0 上使用SHLoadImageResource是可以的 而在wince6.0上 却找不到SHLoadImageResource 是不是wince6.0 不支持 SHLoadImageResource? …

查看全部问答>

转让一些板子(已结束)

1.    ok6410 买来2.3个月,具体我也不知道了。装了android系统后当时间看看。没真正开发过。720元。 2.    lm3s8962 申请来的。芯片太贵,放弃学习。248元。加钱换cc2530板子最好,我有无限龙3700元那个套件的光盘 ...…

查看全部问答>

关于自加,自减,和标准输出

#include <stdio.h> void main() {   int x=3,y;     y=––x+––x+x++;     printf(\"x=%d   y=%d\\n\",x,y);  } x=2,y=3     不懂 ??????? &n ...…

查看全部问答>

有关IAP使用HEX或BIN文件格式的探讨

BIN优点,下载时二进制传输效率高,一个起始地址和长度(均可事先知道)搞定.因起始地址和长度在 下载一开始就可以知道,所以只需要擦除实际代码大小的FLASH,避免大FLASH空间小代码时擦除FLASH的时间和FLASH损耗. 缺点:当代码分段在不同地址时,如 ...…

查看全部问答>

STM8S105PA1脚不能设置为上拉输入

STM8S105  PA1脚不能设置为上拉输入,是什么原因?? PA2脚都可以设置为上拉输入;…

查看全部问答>

智能家居的技术

用zigbee技术做智能家居已经快六年了, 而且也用了zigbee技术作了些抄表系统。 最近突然有个想法,就是利用PLC(power line communication 电线载波通信)来做智能家居, 这几天也挺认真的研究了下PLC技术,两者其实各有千秋, 各位有什么好的建议 ...…

查看全部问答>