历史上的今天
返回首页

历史上的今天

今天是:2025年01月03日(星期五)

正在发生

2020年01月03日 | PIC单片机实现RS232串口异步通讯的设计

2020-01-03 来源:elecfans

编写程序实现以下功能。在计算机上使用串口大师向开发板发每次发送1个字符。开发板每接收到一个数据,则交换该数据的高低4位,再发送回计算机。


端口初始化时使能发送与接收,使用扫描方式接收数据,接收到数据后立即交换高低四位并发送,交换高低四位方式如下:

PIC单片机实现RS232串口异步通讯的设计

完整程序:

* 标 题: 异步串口通讯

* 功能描述: 在计算机上使用串口大师向开发板发每次发送1个字符。

* 开发板每接收到一个数据,则交换该数据的高低4位,再发送回计算机。

#include

#define uint8 unsigned char

#define uint16 unsigned int

__CONFIG(FOSC_HS &WDTE_OFF &BOREN_OFF &PWRTE_OFF &LVP_OFF); //设置配置位

//WDTE_OFF:disable watchdog timer 看门狗禁止

//LVP_OFF:low voltage programming disabled 低电压编程禁止

//FOSC_HS:high speed crystal/resonator 4M以上晶振选择HS高速

//PWRTDIS:disable power up TImer

//BOREN_OFF:disable brown out reset

/***************************声明函数*******************************************/

void SCI_Init(void); //串口初始化

/*******************************************************************************

* 函 数 名: SCI_Init(void)

* 函数功能: 异步串口通讯初始化

* 入口参数: 无

* 返 回: 无

*******************************************************************************/

void SCI_Init(void)

{

SPBRG = 129; //高速 波特率9600

TXSTA = 0x24; //使能发送,8位数据

RCSTA = 0xB0; //8位数据接收,使能连续接收,

TRISC6 = 1; //设置为输入状态

TRISC7 = 1;

}

/******************************************************************************

* 函 数 名: mian(void)

* 函数功能: 接收到一个数据,交换该数据的高低4位,再发送回计算机

* 入口参数: 无

* 返 回: 无

*******************************************************************************/

void main(void)

{

uint8 i;

SCI_Init(); //串口初始化

while(1)

{

if(RCIF == 1) //等待接收

{

i = ((RCREG & 0xff) 《《 4) | (RCREG 》》 4); //交换接收到的数据高低四位,存放于i

TXREG = i; //发送数据

while(TRMT == 0); //等待发送完成

}

}

}

推荐阅读

史海拾趣

启攀微电子(Chiphomer)公司的发展小趣事

启攀微电子(Chiphomer)公司成立于2003年,当时正值中国集成电路产业快速发展的初期。创始人张杨带领着一支由英美归国的留学精英和国内资深管理与技术人员组成的团队,立志要在这一领域闯出一片天地。然而,初创时期的资金短缺、技术壁垒和市场认可度低等问题,让公司面临着巨大的挑战。然而,他们凭借着对技术的执着追求和对市场的敏锐洞察,成功推出了首款SDH通信芯片,为公司的后续发展奠定了坚实的基础。

常忆科技(CHINGIS)公司的发展小趣事

常忆科技股份有限公司,始创于1995年,总部位于台湾。在电子行业的发展历程中,常忆科技以其专注于IC设备制造领域的执着和创新能力,逐渐崭露头角。公司成立之初,便致力于开发P型晶体管非挥发性内存,由pFlash和pFusion两个事业单位组成,分别负责不同方面的工作。pFlash专注于开发和生产标准型NOR内存,而pFusion则负责向晶圆代工厂及IC设计公司提供嵌入式非挥发内存的生产技术及知识产权,并提供定制化设计及技术咨询服务。

随着消费电子产品、电脑及周边设备、无线通讯和网络装置等领域的快速发展,常忆科技的产品得到了广泛应用。公司凭借其卓越的技术和产品质量,逐渐在市场上占据了一席之地,为后续的蓬勃发展奠定了坚实基础。

电连(ECT)公司的发展小趣事

电连技术股份有限公司(ECT)于2006年在深圳成立,专注于微型电子连接器及互连系统相关产品的技术研究、设计、制造和销售服务。在成立初期,ECT便凭借其高可靠、高性能的产品设计制造能力,在通讯设备、智能消费电子等领域获得了初步的市场份额。公司团队通过不断的技术创新和产品优化,逐渐在行业内树立了良好的口碑。

Cygnal Integrated Products Inc公司的发展小趣事

随着市场的不断发展和竞争的加剧,Cygnal意识到需要通过收购来加速其技术和市场的布局。经过一系列谈判和协商,Cygnal成功收购了另一家专注于嵌入式系统技术的公司。这次收购不仅为Cygnal带来了更多的技术和市场资源,还使其能够更好地满足客户的需求并提供更全面的解决方案。收购后,Cygnal通过内部整合和优化,将两家公司的优势融合在一起,形成了更强大的市场竞争力。

AntennaHome公司的发展小趣事

随着公司产品的不断升级和优化,AntennaHome逐渐引起了国际大厂的注意。一家知名通信设备制造商看中了公司产品的技术优势和稳定性能,主动提出合作意向。经过多轮谈判,双方达成了合作协议,AntennaHome的产品开始进入国际市场,公司的业务规模也随之迅速扩大。

DEMMELPRODUCTS公司的发展小趣事

在追求技术创新和市场拓展的同时,DEMMELPRODUCTS公司始终将品质管理放在首位。公司建立了严格的质量管理体系,从原材料采购到产品生产的每一个环节都进行严格的质量控制。此外,公司还积极引入先进的生产设备和技术,不断提高生产效率和产品质量。通过持续改进和优化,DEMMELPRODUCTS公司的产品品质得到了客户和行业的广泛认可。

问答坊 | AI 解惑

车用功放IC TA8205AH的应用及代换

一台三菱帕杰罗车用音响,故障现象为无声,其余功能工作正常,经查为功放集成电路TA8205AH损坏。TA8205AH为东芝公司生产的22W×2双声道音频功率放大集成电路,采用17引脚封装。每一声道由前置放大级和功率放大级组成,功率放 ...…

查看全部问答>

在WinCE上实现一个软件界面,通过我们的软件界面上网,有什么好的建议?

一个PDA上要实现无线上网功能,通过WinCE的IE已以上网。要实现一个软件界面,通过我们的软件上网,有什么好的建议?…

查看全部问答>

出售MTK异常重启检测工具

基于ARM体系,能够自动检测并且记录异常发生位置(非打印trace),并能分析出调用函数栈,误差率…

查看全部问答>

大家觉得今年大赛还会有小车类的题目吗?

本帖最后由 paulhyde 于 2014-9-15 08:55 编辑 …

查看全部问答>

华为C编程规范和范例

 华为C编程规范和范例…

查看全部问答>

朋友们有用三维控制杆的么?

最近很苦恼,想着开发一款产品。里面需要个三维控制杆,不过对控制杆高度要求很严,最好小于70mm,霍尔的电位计的都行(最好是霍尔的),不知道大家有没有知道的牌子推荐下啊 ,在网上搜实在是找不到了。…

查看全部问答>

LaunchPad 430 G2553 硬件i2c读写EEPROM 24C02的程序

如题,LaunchPad 430 G2553 读写EEPROM 24C02的程序 根据TI官方的SLAA208C的application note修改,理论上支持24c01/02/04/08/16的读写,不过手边只有24C02,所以只在24C02上测试过 硬件:launchpad上的vcc,通过两个5.1k的电阻,将i2c的sda和scl ...…

查看全部问答>

【PSoC4心得】LCD1602显示ADC值

在《PSoC4心得_点亮LED》的基础上,添加LCD功能,用以显示ADC值。 一、添加LCD模块,设置如下: 二、添加程序 三、出现的问题        显示的数字乱跳:        1、添加延时--for(i=0;i…

查看全部问答>