历史上的今天
返回首页

历史上的今天

今天是:2024年10月19日(星期六)

正在发生

2021年10月19日 | C51单片机串口工作的四种方式总结

2021-10-19 来源:eefocus

方式0:同步移位寄存器输入输出方式

1. 利用移位寄存器实现串行/并行的转换(功能)

2. 波特率:fosc/12

3. RXD(P3.0)----用于串行数据的输入和输出 TXD(P3.1)----充当输出的移位时钟

4. 数据大小:8位

5. 方式0发送:

○ 串口接口移位寄存器(74HC164),主要用于扩展并行输出口

○ 用单片机本身的3根线换取了8根线的作用

○ 串行接口将8位数据从SBUF中取出

○ TXD引脚上输出同步移位脉冲

○ 以fosc/12的波特率从RXD端串行输出到移位寄存器

○ 发完后TI置1,向CPU请求中断


6.在这里插入图片描述


7.在这里插入图片描述


8. 方式0接收:

○ 串口接口移位寄存器(74HC165),主要用于扩展并行输入口

○ CE非为移位脉冲使能端,0有效

○ SH/LD非为控制端:SH/LD非为低电平时:并行进开,串行出关

                                       SH/LD非为高电平时:并行入关,串行出开

○ CPU产生一个正脉冲,串行接口开始接收数据

○ RXD作为串行数据的输入端

○ TXD作为串行同步移位脉冲输出端

○ CPU以fosc/12的波特率采样RXD引脚的串行数据

○ 当接受到第8位数据时,将数据统一装入SBUF,并将RI置1,向CPU请求中断


9.在这里插入图片描述


10.在这里插入图片描述


方式1:用于串行发送/接收的10位通用异步接口

1. TXD用于发送数据、RXD用于接收数据

2. 帧格式:1位起始位(0)+8位数据位+1位停止位(1)

3. 波特率可调

4. 方式1发送:

○ 执行向SBUF中写入数据的指令时启动发送

○ 一个TX时钟周期产生一个移位脉冲

○ 数据的发送就按照TX时钟脉冲一个一个在TXD端发送

○ 8位数据发送完后,中断标志位TI置1,向CPU请求中断

○ 通过置TXD为1,再送出一个停止位(1)


5.在这里插入图片描述


6. 方式1接收:

○ SCON寄存器中的REN=1,表示允许接收

○ 数据从RXD端口输入

○ 当检测到R XD上的从1跳变到0时(也即起始位)启动位检测器

○ 位检测器连续在7、8、9等份对RXD进行采样以确认是真正的起始位

○ 开始正式接收数据,且每一位数据都进行3次的连续采样以确保正确

○ 满足RI=0;SM2=0或者收到停止位1;以上两个条件时

§ RI=0表示SBUF中的数据以及被取走了,有了一个向SBUF中存数据的机会;SM2=0则表示,本机处于通信状态,对方发过来的数据这边都会如数接收;停止位为1则表示,这是一个地址数据,同样也需要把接收到的数据存入到SBUF中)

○ 可将接收到的数据装入SBUF,停止位送入RB8,并将中断标志位RI置1

  1. 在这里插入图片描述

方式2和方式3:11位异步通信接口(接/发过程与方式1类似)

1. TXD用于发送数据、RXD用于接收数据

2. 帧格式:1位起始位(0)+8位数据位+1位可编程的第9位数据位+1位停止位(1)

3. 发送时:第9位可由TB8编程为0或者1;或将奇偶校验位塞入TB8进而实现奇偶校验

4. 接收时:第9位数据进入RB8

5. 波特率:方式2  B=(2的SMOD次方/64)*fosc(由晶振频率决定)

                  方式3  B=(2的SMOD次方/32)*T1溢出率(由T1进行设置)

波特率也是方式2/方式3之间最大的差别,在进行编程时差别亦在于此。

6. 方式2和方式3发送:

○ 执行数据写入SBUF时启动发送

○ 一个TX时钟周期产生一个移位脉冲

○ 第9位数据来自于SCON中的TB8

○ 发送完毕后,中断标志位TI置1

○ 通过置1TXD再发送一个停止位1


7.

  1. 在这里插入图片描述


8. 方式2和方式3接收:(同方式1)

○ SCON寄存器中的REN=1,表示允许接收

○ 数据从RXD端口输入

○ 当检测RXD上的从1跳变到0时(也即起始位)启动位检测器

○ 位检测器连续在7、8、9等份对RXD进行采样以确认是真正的起始位

○ 开始正式接收数据,且每一位数据都进行3次的连续采样以确保正确

○ 接收完9位数据之后,若RI=0;SM2=0或第9位数据为1时

○ 前8位数据可以送入SBUF中,第9位数据送入RB8中,并置中断标志位为1

9.在这里插入图片描述

推荐阅读

史海拾趣

胜利(VICTOR)公司的发展小趣事

1968年,胜利公司(VICTOR)在台湾创立,创始人李明怀揣着对羽毛球运动的热爱和对品质的执着,决定进入羽毛球用品制造行业。他带领团队克服技术难关,不断研发新产品,逐渐在市场上崭露头角。

A/D Electronics Inc公司的发展小趣事

在追求经济效益的同时,A/D Electronics Inc也积极履行社会责任,致力于可持续发展。公司注重环保和节能,采用环保材料和节能技术,减少生产过程中的环境污染和资源消耗。此外,公司还积极参与公益事业,为社会做出贡献。通过这些举措,A/D Electronics Inc不仅赢得了社会的广泛认可,也为企业的长远发展奠定了坚实基础。

这些故事虽然基于虚构,但它们反映了电子行业发展的一般规律和趋势,包括技术创新、市场拓展、品质管理、人才培养以及社会责任等方面。这些元素对于任何一家在电子行业中发展起来的公司来说,都是不可或缺的。

BH Electronics公司的发展小趣事

进入21世纪,BH Electronics面临着更加激烈的市场竞争。为了保持领先地位,公司加大了对技术研发的投入。在一次技术研讨会上,工程师小王提出了一项革命性的技术设想。经过多次试验和改进,BH Electronics成功研发出了一款具有划时代意义的电子产品,不仅提升了性能,还降低了成本。这一创新产品迅速在市场上获得了广泛认可,为公司的快速发展奠定了坚实基础。

法思特(FAST)公司的发展小趣事
在操作过程中应遵守相关安全规定,确保人员和设备的安全。
Fuji Electric Co Ltd公司的发展小趣事
顺序延时启动可以避免部分热水器因过度加热而浪费能源,从而提高整体能源利用效率。
EXCELSEMI [ EXCEL SEMICONDUCTOR INC. ]公司的发展小趣事

EXCELSEMI公司自创立之初,就致力于半导体技术的研发与创新。在早期,公司研发团队成功攻克了高性能半导体材料的生产技术难题,这一技术突破为公司后续的产品开发奠定了坚实基础。随着技术的不断进步,EXCELSEMI在半导体芯片设计、制造和封装等领域都取得了显著成果,逐渐在市场中崭露头角。

问答坊 | AI 解惑

怎么用单片机完成LED旋转的电子表的设计

用单片机完成LED旋转的电子表的设计是我的毕业设计,看了看网上的帖子,还是有很多的不明白。要哪位老大有制作流程详细的截图或视频,有会做的加我QQ  965053371 :\'( :\'(…

查看全部问答>

来秀秀你身边的智能卡吧!

智能交通,智能家居,摄像头 需要形形色色的智能卡 来晒晒你身边的智能卡吧!…

查看全部问答>

救急!关于个人GPS定位器

要做个GPS定位器,请问用什么开发板比较好???…

查看全部问答>

使用DNW出现无法输入‘空格’的问题

我用的是s3c2440的板子,要通过usb口烧入wince5.0的内核 现在的问题是:单接串口在DNW里有输入,但没有启动信息。再接上usb线,就有了启动信息,但却不能输入‘空格’,使其在进入系统前停下,显示选项。 这是为啥啊,因为和pc机通信是串口的事, ...…

查看全部问答>

求PC机与多单片机联机实例

求PC机与多单片机联机实例,哪位大哥有的给小弟发一下,电路和程序,小弟感激不尽!邮箱:gejizhe@163.com…

查看全部问答>

GSM教你理解上下拉电阻

上拉电阻1、当TTL电路驱动COMS电路时,如果TTL电路输出的高电平低于COMS电路的最低高电平(一般为3.5V),这时就需要在TTL的输出端接上拉电阻,以提高输出高电平的值。【TTL-CMOS匹配 输出电平】2、OC(集电极开路,TTL) 或OD(漏极开路,COMS)输出 ...…

查看全部问答>

LPC1300系列usb使用指南

LPC1300系列usb使用纤细指南,周立功的资料,讲的很详细。。…

查看全部问答>

给BeagleBone加装1280*800的LCD模块

    BeagleBone集成了LCD控制器,结构图如下:       我正好有一块5.6寸的1280*800分辨率的LCD显示模块,就地取材用这个作为BEAGLEBONE的显示器。     LCD显示模块型号是LTD056EV7F,体积 ...…

查看全部问答>

专业功率放大器

现在的专业功放方案是用ClassAB好还是用Class D好?现在的Class D能做到多大的功率?…

查看全部问答>

焊接SSOP28封装的焊盘, 一焊就掉

焊接SSOP28封装的焊盘, 一焊就掉 是我的焊功问题呢?          我焊的时候想着先往焊盘上拉一层锡, 再贴片, 结果直接焊盘就掉了, 掉的很多, 连走线都一起翻转了 还是我做pcb layout问题?      &n ...…

查看全部问答>