历史上的今天
返回首页

历史上的今天

今天是:2025年10月11日(星期六)

正在发生

2022年10月11日 | 51单片机基础之串口通信

2022-10-11 来源:csdn

原理:


这里需要解释一下,串口通信是需要占用定时器1的,所以使用了串口通信就不能使用定时器1,除非是代码优化。


这个需要配置几个寄存器,都比较简单,TMOD寄存器设置定时器计数器的工作方式,SCON则是设置串口通信的工作方式,PCON则是波特率加倍操作,都是比较简单的。

 

 

 

计时器初始值的设置有专门的工具


链接:https://pan.baidu.com/s/1BSi8YCaRWtBGLaV2gslpSw 

提取码:1234


使用方法:


设置定时器工作方式,单片机晶振,所需波特率,是否开启倍频,最好让误差为零。

 

代码:


#include

 

typedef unsigned int u16; //对系统默认数据类型进行重定义

typedef unsigned char u8;

 

 

void uart_init(u8 baud)

{

TMOD|=0X20; //设置计数器工作方式2

SCON=0X50; //设置为工作方式1

PCON=0X80; //波特率加倍

TH1=baud; //计数器初始值设置

TL1=baud;

ES=1; //打开接收中断

EA=1; //打开总中断

TR1=1; //打开计数器

}

 

void main()

{

uart_init(0XFA);//波特率为9600

while(1)

{

}

}

 

void uart() interrupt 4 //串口通信中断函数

{

u8 rec_data;

RI = 0; //清除接收中断标志位

rec_data=SBUF; //存储接收到的数据

SBUF=rec_data; //将接收到的数据放入到发送寄存器

while(!TI); //等待发送数据完成

TI=0; //清除发送完成标志位

}


运行结果:


发给单片机什么,单片机就回复你什么。

推荐阅读

史海拾趣

DAICO公司的发展小趣事

在电子行业中,技术创新是企业持续发展的关键。DAICO公司始终将研发创新作为核心战略,不断投入大量资源用于新技术和新产品的研发。通过持续的创新和积累,DAICO在中频/射频和微波控制领域取得了多项技术领先成果,成为行业内的佼佼者。

DESCO公司的发展小趣事

为了进一步提升竞争力,DESCO公司进行了多次收购和资源整合。例如,在XX年,公司成功收购了美国一家知名的防静电产品制造商,获得了其先进的生产技术和销售渠道。这次收购使DESCO公司的产品线更加丰富,市场覆盖面更加广泛。此外,公司还加强了与其他企业的战略合作,共同开发新产品、拓展新市场。

Globaltech Semiconductor Co Ltd公司的发展小趣事

Globaltech的创立可以追溯到21世纪初,当时创始人凭借在电源管理IC设计领域的深厚经验,决定创立一家专注于此领域的公司。公司初期聚焦于线性稳压器和开关稳压器等基础产品的研发,这些产品广泛应用于PC、通讯和消费类电子产品中。通过持续的技术创新和产品优化,Globaltech迅速在市场上站稳脚跟,赢得了多家知名电子制造商的青睐。

BUSSMANN公司的发展小趣事

随着汽车工业的快速发展,对熔断器的需求也急剧增加。Bussmann五兄弟敏锐地抓住了这一市场机遇,开始专注于汽车熔断器的研发和生产。他们深入研究汽车电路的特点,不断优化熔断器的设计和性能,使其能够更好地适应汽车的工作环境。凭借这一创新,Bussmann的汽车熔断器迅速占领了市场,为公司的发展奠定了坚实的基础。

Handok Co Ltd公司的发展小趣事

随着汽车工业的快速发展,对熔断器的需求也急剧增加。Bussmann五兄弟敏锐地抓住了这一市场机遇,开始专注于汽车熔断器的研发和生产。他们深入研究汽车电路的特点,不断优化熔断器的设计和性能,使其能够更好地适应汽车的工作环境。凭借这一创新,Bussmann的汽车熔断器迅速占领了市场,为公司的发展奠定了坚实的基础。

BAE Systems公司的发展小趣事

作为一个大型企业,BAE Systems公司不仅关注经济效益,也积极履行社会责任,推动可持续发展。公司注重环境保护和安全生产,严格遵守相关法律法规和行业标准。同时,公司也积极参与社会公益事业,为社区发展和员工福利做出了贡献。此外,公司还注重员工的培训和发展,为员工提供了广阔的职业发展空间和良好的工作环境。这些举措不仅提升了公司的社会形象,也为公司的可持续发展奠定了坚实的基础。

这五个故事只是BAE Systems公司在电子行业发展历程中的一部分,它们展示了公司的成长、创新、合作、应对挑战以及履行社会责任等方面的努力和成果。这些故事也充分说明了BAE Systems公司在电子行业中的重要地位和影响力。

问答坊 | AI 解惑

求助高手:步步高DVD机DV985--VIPER22A电源维修

求高手指点:         步步高DVD机,此机器曾送厂家维修点回不到半年,旧病复发,不能开机,查电源无输出,保险未烧,310V正常,电源芯片是VIPER22A,查各脚电压好像正常,电源次级无短路。更换电源芯片后,空载各 ...…

查看全部问答>

PIC16F877A CCP输入捕捉问题

大伙,帮我看看程序错在哪里? CCP输入捕捉的 void interrupt CCP1INT (void) {   if(CCP1IF==1)     {       CCP1IF=0;         if(LastCaptureData==0) &nb ...…

查看全部问答>

求教S3C2440下载wince

在eboot下载Wince 的image到ram之前,是否需要对nand flash进行分区,分区的start和end addr,是根据什么来确定的,帮帮小弟;因为我下载wince image的时候出现了 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ...…

查看全部问答>

EVC4.0下出现cannot open file 'mfcs42d.lib'如何处理???

我新建了一个基于对话框的MFC,但是为什么一编译现如下的错误: LINK : fatal error LNK1104: cannot open file \'mfcs42d.lib\' 不知道我应该如何做才能解决这个问题呢??…

查看全部问答>

请问如何在ATMANAVR里面看到汇编信息?

本人正在郁闷中,定义了一个结构体变量,去看不到找不到它对应的寄存器,DEBUG时添加变量后WATCH里却显示是SYMBOL IS NOT FOUND! 兄弟姐妹们,走过路过的,帮我解决这个问题吧,谢谢,不甚感谢!!!…

查看全部问答>

MSP430G2开发板学习(八):定时器A的向上增长模式

//****************************************************************************** //  MSP430F20xx Demo - Timer_A, Toggle P1.0, CCR0 Up Mode ISR, DCO SMCLK // //  Description: Toggle P1.0 using software and TA ...…

查看全部问答>

Launchpadi学习+原例程

拿到lauchpad后一直没有看看板子上那个例程是什么样。今天有空进行了研究了一下。 1、  根据实验指导书内的连接下载GUI界面。具体位置里面说的很详细。下载回来后你的电脑可能找不开,提示找不到javaw.exe这个东西。去这个网址下载一个java ...…

查看全部问答>

运动车辆检测-汽车安全辅助驾驶用

汽车安全辅助驾驶方面最近比较热。 最近看见沃尔沃 骑车人检测系统,号称第一次做的. 本人好几年前也有在做这方面的研究,现先将车辆检测发布, 后期会将骑车人,行人检测一起加上,同时,也会针对需求,将车距,车速估计放上, 精度方面,会慢 ...…

查看全部问答>

TI促销 发货问题

前几天接到TI的邮件说买的“蓝牙智能开发套件”发货了,但上面没显示运单号,我另一个手表的发货邮件就显示了运单号,可以直接跟踪货物,四天就收到了。     现在好几天了也没收到,有人遇到过这种情况吗?…

查看全部问答>

Linux驱动程序开发学习步骤

1. 学会写简单的makefile 2. 编一应用程序,可以用makefile跑起来 3. 学会写驱动的makefile 4. 写一简单char驱动,makefile编译通过,可以insmod, lsmod, rmmod. 在驱动的init函数里打印hello world, insmod后应该能够通过dmesg看到输出。 5. ...…

查看全部问答>