(九)单片机串行口 内部结构的讲解 01
1、 基本概念
常用于数据通信的传输方式有单工、半双工、全双工和多工方式。
单工方式:数据仅按一个固定方向传送。因而这种传输方式的用途有限,常用于串行口的打印数据传输与简单系统间的数据采集。
半双工方式:数据可实现双向传送,但不能同时进行,实际的应用采用某种协议实现收/发开关转换。
全双工方式:允许双方同时进行数据双向传送,但一般全双工传输方式的线路和设备较复杂。
串行通信是指数据一位一位地按顺序传送的通信方式,其突出优点是只需一根传输线,可大大降低硬件成本,适合远距离通信。其缺点是传输速度较低。
2、串行口内部结构图
3、
与之前一样,首先我们来了解单片机串口相关的寄存器。
SBUF 寄存器:它是两个在物理上独立的接收、发送缓冲器,可同时发送、接收数据,可通过指令对SBUF 的读写来区别是对接收缓冲器的操作还是对发送缓冲器的操作。
从而控制外部两条独立的收发信号线RXD(P3.0)、TXD(P3.1),同时发送、接收数据,实现全双工
串行口控制寄存器SCON
表中各位(从左至右为从高位到低位)含义如下。
SM0 和SM1 :串行口工作方式控制位,其定义如表2
下面我们对各控制位功能介绍如下:
(1).SM0、SM1:串行口工作方式控制位。
SM0,SM1 工作方式
00 方式0
01 方式1
10 方式2
11 方式3
(2)
其中,fOSC 为单片机的时钟频率;波特率指串行口每秒钟发送(或接收)的位数。
SM2 :多机通信控制位。 该仅用于方式2 和方式3 的多机通信。其中发送机SM2 = 1(需要程序控制设置)。
接收机的串行口工作于方式2 或3,SM2=1 时,只有当接收到第9 位数据(RB8)为1 时,才把接收到的前8 位数据送入SBUF,且置位RI 发出中断申请引发串行接收中断,否则会将接受到的数据放弃。
当SM2=0 时,就不管第位数据是0 还是1,都将数据送入SBUF,并置位RI 发出中断申请。工作于方式0 时,SM2 必须为0。
REN :串行接收允许位:REN =0 时,禁止接收;REN =1 时,允许接收。
TB8 :在方式2、3 中,TB8 是发送机要发送的第9 位数据。在多机通信中它代表传输的地址或数据,TB8=0 为数据,TB8=1 时为地址。
RB8 :在方式2、3 中,RB8 是接收机接收到的第9 位数据,该数据正好来自发送机的TB8,从而识别接收到的数据特征。
TI :串行口发送中断请求标志。当CPU 发送完一串行数据后,此时SBUF 寄存器为空,硬件使TI 置1,请求中断。CPU 响应中断后,由软件对TI 清零。
RI :串行口接收中断请求标志。当串行口接收完一帧串行数据时,此时SBUF 寄存器为满,硬件使RI 置1,请求中断。CPU 响应中断后,用软件对RI 清零。
(3)
电源管理寄存器PCON
PCON主要是为CHMOS型单片机的电源控制而设置的专用寄存器,单元地址是87H,其结构格式如下:
(4)中断允许寄存器IE
中断允许寄存器在前一节中已阐述,这里重述一下对串行口有影响的位ES。ES为串行中断允许控制位,ES=1允许串行中断,ES=0,禁止串行中断。
_______________________________________________________________________________________________________________________________________________________
转载于:https://www.cnblogs.com/shengruxiahua/p/5079550.html
(九)单片机串行口 内部结构的讲解 01相关推荐
- 51单片机串行口的使用与串行通信
51单片机串行口的使用与串行通信 串行通信: 俩个概念: RS232接口标准: 串行口的使用: 串行口的结构: 串行口相关寄存器: 串行口的工作方式: 方式0:同步移位寄存器方式 利用方式0扩展并行I ...
- 单片机实验汇编案例---单片机串行口与PC机通讯实验
一.实验要求 利用8031单片机串行口,实现与PC机通讯. 本实验实现以下功能,将从实验机键盘上键入的数字,字母显示到PC机显示器上,将PC机键盘输入的字符(0-F)显示到实验机的数码管上. 二.实验 ...
- 单片机 串行口实验解数据流怎么到发光二极管来显示的
[斯鹭]徐良军利用8031单片机串行口,实现与PC机通讯.本实验实现以下功能,将从实验机键盘上键入的数字,字母显示到PC机显示器上,将PC机键盘输入的字符(0-F)显示到实验机的数码管上.二.实验目的 ...
- 51单片机串行口程序c语言编程,单片机C语言编程串行口通讯.ppt
单片机C语言编程串行口通讯 第7章 MCS-51单片机串行口 第7章 MCS-51单片机串行口 目 录 7.1 串行通信基本知识 7.2 串行口结构及控制 7.3 串行口工作方式 7.4 串行口应用举 ...
- (九)串行口方式0 拓展并行输出端口 02 74LS164芯片
1.先讲解74LS164 移位芯片: 74HC164.74HCT164 是 8 位边沿触发式移位寄存器,串行输入数据,然后并行输出. 数据通过两个输入端(DSA 或 DSB)之一串行输入:任一输入端可 ...
- 串行异步通信_单片机串行口介绍
串行口是单片机与外界进行信息交换的工具,8051单片机的通信方式有两种: 并行通信:数据的各位同时发送或接收. 串行通信:数据一位一位次序发送或接收. 串行通信的方式 异步通信 用一个起始位0表示字符 ...
- C51单片机-串行口2-蓝牙模块-应用例程
一.例程简介 本例程51单片机与蓝牙模块连接,可通过蓝牙模块接收和发送字符串,从而控制测试灯的亮灭.其中使用51单片机的串行口2的工作方式1,即8位UART,波特率可变.波特率设为9600.缺省UAR ...
- 串行口通信c语言代码,问一下单片机串行口通信用c语言实现的问题
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 这个是上面项目中用的子程序: /************************************************************* ...
- 51单片机串行口c语言编程,51单片机串口通信c语言编程
这只是个模板,参考一下 /*----------------------------------------------- 名称:串口通信 网站:www.doflye.net 编写:shifang 日 ...
最新文章
- 单身的我听着单身情歌。。。看着那些儿时看过的小说。。。
- 动态加载DLL(C#)
- python中zip( )的使用
- java 数据库中获取省市级json数据
- java逻辑代码_Java逻辑代码判断字数
- 16、Event事件(定时任务)是什么?
- android视频闪退,安卓 app 视频闪退问题
- 安装 Alibaba Cloud Toolkit
- 如果创业遍地,你觉得会是怎么样的景象
- java日期转换_java日期格式转换
- 机构关注的数据治理问题
- 在 Java 应用程序中定时执行任务
- visio画图(保存为pdf,不留空白)
- Linux fork函数
- python统计套利_基于python的统计套利实战(二)之协整检验
- 同步(双向)BUCK电路设计
- 【重磅】新智元推出百万级AI智库资讯互动平台,AI World2017世界人工智能大会TOP10大奖榜单发布
- 用Java实现信号量机制
- linux脚本解密,shell脚本加密与解密
- 商城客服功能-------环信即时通讯
热门文章
- 继承WebMvcConfigurer 和 WebMvcConfigurerAdapter类依然CORS报错? springboot 两种方式稳定解决跨域问题
- python的知识点注意事项
- dataframe重命名
- List再整理,从代码底层全面解析List(看完后保证收获满满)
- LeetCode简单题之作为子字符串出现在单词中的字符串数目
- 客快物流大数据项目(五十):项目框架初始化
- [C] [最短路] 只有5行的算法:Floyd-Warshall
- [JS]请给Array本地对象增加一个原型方法,它用于删除数组条目中重复的条目(可能有多个),返回值是一个包含被删除的重复条目的新数组。
- Android 属性动画(Property Animation) ValueAnimator 的介绍
- ERROR: Unable to load class 'org.gradle.api.internal.component.Usage'.