51单片机串行口的使用与串行通信

发布者:真瓷堂最新更新时间:2022-04-20 来源: eefocus关键字:51单片机  串行口  串行通信 手机看文章 扫描二维码
随时随地手机看文章

串行通信

俩个概念:

1、串行异步通信

双方按照各自约定好的时钟周期作为各自的时钟周期;原理上来说,双方各用各的时钟周期且约定相等,但是在实际的使用中由于各种因素的影响,会产生时钟偏差。这种方式为串行异步通信。

2、串行同步通信:

只有一方提供时钟周期信号,另一方只做接收,这样的化就只有一个时钟周期为基准。这样就会大大提高通信可靠性,这种方式为串行同步通信。


RS232接口标准:

用于短距离或带调制解调器的串行通信接口协议

在这里插入图片描述

1、RXD:接收数据

2、TXD:发送数据

3、GND:接地


采用负逻辑电平:

-15V~3V:逻辑1

+15V~+3V:逻辑0


串行口的使用:

串行口的结构:

在这里插入图片描述

1、发送 :数据总线将数据传输到发送寄存器SBUF中,通过发送控制器将数据逐位发送给TXD引脚,当一个字节发送完成后,触发TI中断。

2、接收 :RXD引脚实时监测电平变化,并输入到移位寄存器,当移位寄存器满足8位接收后,触发RI中断。


串行口相关寄存器:

PS:详见51单片机之特殊功能寄存器SFR篇

在这里插入图片描述
在这里插入图片描述

串行口的工作方式:

方式0:同步移位寄存器方式

在这里插入图片描述

通常用于外接移位寄存器用作扩展I/O口 ,波特率固定为一个机器周期,串行数据通过RXD输入输出,同步时钟通过TXD输出

发送:

在这里插入图片描述

接收:

在这里插入图片描述

利用方式0扩展并行I/O口:

1、当外接串入并出的移位寄存器时,就可以扩展并行输出口

2、当外接并入串出的移位寄存器时,就可以扩展并行输入口

在这里插入图片描述在这里插入图片描述

方式1:8位异步通信方式

在这里插入图片描述

传输一帧信息为10位:1位起始位(0),8位数据位,一位停止位(1)

发送:

在这里插入图片描述

接收:

在这里插入图片描述

此种方式下波特率是可变的,有关波特率的计算:

在这里插入图片描述

例:

在这里插入图片描述在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

关键字:51单片机  串行口  串行通信 引用地址:51单片机串行口的使用与串行通信

上一篇:51单片机并行I/O口工作原理
下一篇:51单片机之特殊功能寄存器SFR

推荐阅读最新更新时间:2024-11-17 08:36

51单片机串口通信Bad Apple视频播放源程序(LCD12864显示)
程序源自我的团队的一个参赛项目,项目文件是一个大工程有很多内容由其他队员编写我也不好直接发上来,所以我只好截取了其中我写的一个小模块放上来供大家分享。 这个程序主要可以实现“任意图片显示”以及“任意视频播放”两个功能,数据都通过串口进行传输(波特率4800,蓝牙或USB均可),当然发送的数据只能是处理好的图像取模数据。(LCD驱动是st7920) 上电后直接显示以下图像: 此时发送53 FF(十六进制发送)即可使用显示单张图片的预设,这时再通过串口发送取模数据就可以实时显示图像。 显示完图片后发送 01 0E即可跳回就绪状态(如果无法退出就定时循环发送01 0E)。 如果在就绪状态下发送53 53就可以进行视频流播放,此
[单片机]
<font color='red'>51单片机</font>串口通信Bad Apple视频播放源程序(LCD12864显示)
51单片机C语言教程(三) 生成HEX文件和最小化系统
在开始C语言的主要内容时,我们先来看看如何用KEIL uVISION2来编译生成用于烧写芯片的HEX文件。HEX文件格式是Intel公司提出的按地址排列的数据信息,数据宽度为字节,所有数据使用16进制数字表示, 常用来保存 单片机 或其他处理器的目标程序代码。它保存物理程序存储区中的目标代码映象。一般的编程器都支持这种格式。我们先来打开第一课做的第一项目,打开它的所在目录,找到test.Uv2的文件就可以打开先前的项目了。然后右击图3-1中的1项目文件夹,弹出项目功能菜单,选Options for Target'Target1',弹出项目选项设置窗口,同样先选中项目文件夹图标,这时在Project菜单中也有一样的菜
[单片机]
<font color='red'>51单片机</font>C语言教程(三) 生成HEX文件和最小化系统
利用Flash实现单片机系统的在线维护
1 引 言 单片机应用系统具有结构简单,可靠性高,灵活性强,性能价格比高等特点,如今已被广泛地应用于计算机行业的各个领域。随着单片机应用的推广,相应地带来了单片机系统的维护问题,特别是在相同硬件结构条件下多个版本软件的管理问题,因此实现单片机系统的在线维护是非常必要的。 2 系统设计原理 单片机系统的在线维护有两种情况,一种就是就将系统的程序分成两个部分,并分别装载到单片机的EPROM与FLASH中,如AT89C52等,因为 EPROM一般需要通过专门的编程仪器才能实现编程,所以一般是不能在线更改的;但是由于FLASH可以在线进行改写,通过对FLASH的在线编程就可实现单片机系统的在线维护了。此时的FLASH芯片也可以看成是
[单片机]
利用Flash实现单片机系统的在线维护
用Proteus学习51单片机之中断
以52单片机来说,一共有6个中断源,其说明如下(序号用于中断程序的编写): 中断源名称 默认级别 序号 说明 INT0 最高 0 外部中断0,由P3.2端口线引入,低电平或下降沿引起 INT1 第3 2 由P3.3端口线引入,低电平或下降沿引起 T0 第2 1 定时器/计数器0中断,由T0计数器计满回零引起 T1 第4 3 定时器/计数器1中断,由T1计数器计满回零引起 T2 最低 5 定时器/计数器2中断,由T2计数器计满回零引起 TI/RI 第5 4 串行口中断,串行端口完成一帧字符发送/接收后引起 中断的允许和关闭,由中断允许寄存器IE控制,而IE又细分为7位,详细控制到每一个中断的开关 位序号 位
[单片机]
教你构造一个51单片机的实时操作系统
  目前,大多数的产品开发是在基于一些小容量的单片机上进行的。51系列单片机,是我国目前使用最多的单片机系列之一,有非常广大的应用环境与前景,多年来的资源积累,使51系列单片机仍是许多开发者的首选。针对这种情况,近几年涌现出许多基于51内核的扩展芯片,功能越来越齐全,速度越来越快,也从一个侧面说明了51系列单片机在国内的生命力。   多年来我们一直想找一个合适的实时操作系统,作为自己的开发基础。根据开发需求,整合一些常用的嵌入式构件,以节约开发时间,尽最大可能地减少开发工作量;另外,要求这个实时操作系统能非常容易地嵌入到小容量的芯片中。毕竟,大系统是少数的,而小应用是多数而广泛的。显而易见,μC/OS—II是不太适合于以上要求的
[单片机]
教你构造一个<font color='red'>51单片机</font>的实时操作系统
基于W79E2051单片机的模拟流星雨LED控制电路设计
基于W79E2051单片机和LED恒流专用驱动芯片MBI5026设计了一款模拟流星雨LED控制电路,LED使用高亮白色,可根据需要接上36,48,64颗LED,通上电源,一字型排开的LED,会产生从上到下,从最亮的到渐暗的流星雨效果,效果逼真,可作为屋外,广场装饰灯. W79E2051单片机具有标准的串行输出口,可方便地向具有相同通信协议的驱动芯片MBI5026进行通信,同时对定时要求不高的场合,我们完全可以使用单片机内部的RC振荡时钟,这样单片机的外围元件及极简单,仅需要复位元件即可,由于流星雨效果是有着随机特性,在多个灯管同时使用时,为了达到伪随机效果,我们还推荐使用单片机的内部RC时钟.这样效果会更好.同时W79E2051在
[单片机]
基于W79E20<font color='red'>51单片机</font>的模拟流星雨LED控制电路设计
基于51单片机的串口控制led灯的亮灭源程序
/*注意设置波特率为4800,向串口不断输入0,便可实现led的亮灭*/ #include reg52.h //此文件中定义了单片机的一些特殊功能寄存器 typedef unsigned int u16; //对数据类型进行声明定义 typedef unsigned char u8; sbit led0=P2^0; sbit led1=P2^1; sbit led2=P2^2; /******************************************************************************* * 函数名 :UsartInit() * 函数功能 :设置串口 * 输入
[单片机]
基于51单片机的电气控制线路接线故障诊断系统
0 引言 在电气控制类课程的教学中,常规的训练项目主要有三相异步电动机的点动控制线路、连续运行控制线路、正反转控制线路、顺启逆停控制线路、降压启动控制线路、接触器联锁正反转控制线路的安装、接线与调试等实训项目。在教学过程中,教师对学生训练结果的检查和考评是一件很繁琐的事,人工检查效率低、安全性差,稍有不慎就会造成跳闸、烧毁线路等电气事故。电气控制线路接线故障诊断系统能够自动检查学生接线所存在的问题,并能提示接线故障的所在,禁止带故障合闸通电试验,保证训练过程的人身安全和设备安全。另外,配合接线故障诊断系统管理计算机以及相应的管理软件,可组成智能化的电气控制实训室,能够方便快捷地对每个学生的接线情况自动记录、自动检查评分,使教师
[单片机]
基于<font color='red'>51单片机</font>的电气控制线路接线故障诊断系统

推荐帖子

sprintf打印字符串,指定不了输出的位数??
我想用sprintf打印字符串到串口,却指定不了输出的位数,求指导。sprintf(param_out,:password=%.8s\r,abcdefghjklmnopq);最终输出的是::password=8s。请问这是为什么??sprintf打印字符串,指定不了输出的位数??
crjmail 微控制器 MCU
集成电路原装、散新和翻新的区别
昌晖仪表yunrun.com.cn原装货:原厂生产出来的,分进口原装和国产原装。散新货:散新这个词,主要用在IC芯片的方面,意思主要有:1、这个货不是原厂生产出来的,可能是其他厂家生产的,但是打着原厂牌子,也就是假货,供应商称之为散新、或原装货来蒙人!2、原厂生产的,但是是一些不合格的料。原厂就会降价,通过其他渠道处理掉。销售商进过来之后,称之为散新!3、原厂生产的,使用过了,经过打磨,镀锡,把脚擦凉一系列处理之后,外观看起来不错,拿出来出售,也叫做散
yunrun DSP 与 ARM 处理器
【DFRobot无线通信模块】+GSM通信
此内容由EEWORLD论坛网友xiyue521原创,如需转载或用于商业用途需征得作者同意并注明出处说明:板子来源为EEWorld活动所得,由DFRobot提供。产品链接:http://www.dfrobot.com.cn/goods-1442.html、1.初始化#includeSoftwareSerial.hSoftwareSerialmySerial(11,10);//TX-Pin11,RX-Pin10voidupdateS
xiyue521 RF/无线
变量的声明和定义深入解析
变量的声明和定义深入解析ANSIC规定:变量必须“先定义、后使用”,因此当用C定义变量时,不仅需要指定变量名,而且还必须告诉编译器其存储的数据类型,变量类型告诉编译器应该在内存中为变量名分配多大的存储单元,用来存放相应变量的值(变量值),而变量仅仅是存储单元的别名,供变量使用的最小存储单元是字节(Byte)。由此可见,每个变量都占据一个特定的位置,每个存储单元的位置都由“地址”唯一确定并引用,就像一条街道上的房子由它们的门牌号码标识一样。即从变量中取值就是通过变量名找到相应
tiankai001 下载中心专版
EEWORLD DIY——基于ArduinoUNO的USB电量计
EEWORLDDIY——基于ArduinoUNO的USB电量计~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~功能简介可以用来测试手机、充电宝等USB设备的充放电电压、电流、电量,以及充放电时间,并记录显示。~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~硬件原理使用的硬件ArduinoUNO开发板,IIC接口的SSD1306OLED显示
XinChao DIY/开源硬件专区
基于ARM的条码精密测量系统
摘要:本文介绍了一种基于32位高性能处理器的视觉精密测量系统的软硬件设计。图像传感器采集的条码图像通过精密定位算法得到绝对位移值,由以太网接口实现高速图像采集。该系统适用于高精度定位的各种位移测量。关键词:ARM;嵌入式系统;视觉测量;条码http://www.armforum.cn引言http://www.armforum.cn利用条码技术进行精密测量的典型仪器是1990年Leica公司开发成功的数字水准仪NA2000,这种光电一体化的新型仪器,具有测量速度快、精度
黑衣人 ARM技术
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved