白话微机:5.解释串行接口以及一些考研面试问题

news2024/11/25 5:54:16

一. 前言(回顾世界观)

        很久很久以前,有这样一个世界,这个世界有着现实世界一样的元素:那里的又有一个别的名字叫做“数据”,人有0有1;人们也有住房,这些住房在这个世界叫做“存储器”;地上有,这些路叫做“数据总线”(相比于第一篇进行修正);这里也有行政部门,比如公安局之类的,又有个名字叫“寄存器”;有中央政府,政府又叫做“中央处理器”,这里也会发生的一些自然灾害(内部中断)和人为活动(外部中断), I/O接口城市(单片机)的城门和检查站,这篇文章我们来详细讲述一下串行接口

二. 串行接口(小路)       

        串行接口城市和农村之间的小路,连接城市(单片机)和小村庄(外部设备,如打印机、键盘或者另一块单片机)。这条小路(串行接口)很窄,不像宽阔的大街(数据总线),它并不允许多个人(数据位)并排同时行走,而是让人们(数据)一个接一个地排队行进。这样的路径虽然看起来效率不高,却有一个优势——它占地非常少,所以即便是在空间非常有限的情况下,也能从城市(单片机)伸展出去,和外面的世界(外部设备)建立联系。

        在这条小路上,有一个城市信使(串行数据传输控制器),负责确保每个人(数据位)能够按照正确的顺序,安全地从城市(单片机)出发,到达小村庄(外部设备),或者反过来,从小村庄到城市。信使会按照一定的速度(波特率)运送人们,确保每个人离开城市和进入城市的速度是恒定的,这样在城市和小村庄之间的通信就可以协调一致,不会出现混乱。

        总的来说,串行接口就是一个允许数据按序列单个一位地传输的小径,虽然比数据总线传输慢,但在连接远距离的设备或者在引脚数量受限的情况下非常有用。它确保了城市与外界小村庄之间能够进行稳定而有序的沟通。至此,普通城市(单片机)已经搭建完了,整体构成如下图所示。

 

三. 考研复试常问问题

     1]MCS-51串行接口有几种工作方式?

             MCS-51单片机城市的串行接口是一个多功能的小径,根据不同的需要可以改变其使用方式。以下是这个城市中串行接口的四种主要工作模式:

  1. 方式0 (8位同步移位寄存器)

    这种方式就像是一个古老的信号塔。当城市的中央政府(CPU)需要与外面的世界(外部设备)同步传递信息时,它使用一种特定的节奏和速度,通过信号塔,一次性传递完整的8位信息(数据字节)。这种方式很快速,但是需要外部设备在相同的节奏和速度上进行配合。
  2. 方式1 (10位异步收发)

    将这种方式想象成一条普通的通信道路,每次信使(串行传输控制器)不仅仅是发送基本的信息(8位数据字节),还会在这个信息前后添加额外的信息,比如一个起始信号(起始位)和一个结束信号(停止位)。这样,即使通信开始和结束的时刻不是严格同步的,接收方也能理解信息的开始和结束,确保信息的完整传递。
  3. 方式2 (11位异步收发)

    在这个模式下,城市(单片机)的通信方式更加复杂。信使(串行传输控制器)除了发送起始信号结束信号之外,还会附加一个特别的身份标识(地址位或称为第9位)。这可以被想象成在信件上加盖的一个特殊印章,使得接收方(外部设备)能够识别这些信息是专为它们准备的,而不是给城市中其他地方的。这在多个设备需要监听同一通道时非常有用,因为它允许单片机指定信息是发给哪个设备的。
  4. 方式3 (11位异步收发)

    方式3与方式2相似,但它更加灵活,允许城市(单片机)在发送和接收信息时,能够更灵活地控制信使(串行传输控制器)的行为。这是一种更为高级的通信方式,可以在不同情况下调整其行动,例如在紧急情况下优先处理某些信息,或者在通信线路非常繁忙时暂时不发送信息。
     2]串行数据传输的特点?    
  1. 按顺序进行

    就像人们在狭窄的小径上行走,必须一个接一个地前进。因为小径狭窄(串行接口的带宽限制),人们不能并排走,所以只能排成一队,顺序通过。同样,串行传输中的数据位必须一个接一个地传送。
  2. 传送速度慢

    由于所有的人(数据位)都要通过同一条小径(串行通道),只能逐个通过,就像单行道一样,这限制了人流量(数据传输速度)。相比之下,如果是宽广的大道(并行传输),许多人可以同时并排通过,增加了整体的流量和速度。
  3. 传输线少

    设想一条狭窄的小径只需要很少的维护资源,与之相对的是,宽阔的大道(并行传输需要多条线)需要更多的材料和空间来建设。因此,串行接口仅需很少的线路(通常只有一对线用于发送和接收),这降低了它的物理复杂性和制造成本。
  4. 成本低

    建设和维护这样的小径(串行接口)比起宽阔的多车道大道(并行接口)要便宜得多。因为它只需要较少的物理材料(引脚数量少),并且由于其简单性,在设计和实现时也更加经济。
  5. 传输距离远

    小径可以蜿蜒曲折地延伸到远方的村庄(远距离设备),而不会像宽阔的大道那样需要大量的材料和维护。在电子学的角度,串行传输可以使用差分信号技术减少噪声干扰,这样信号可以在较远的距离上保持较高的完整性。相对于并行传输,串行传输对电磁干扰的抵抗能力更强,所以可以传输更远的距离而不会丢失数据。
        3]单片机的最小系统?内部的主要结构?

        最小系统:电源(城市电力供应)、晶振(为系统提供基本的时钟信号)、复位电路(快速重建措施)

        内部结构:ROM/RAM(住房)、计时器(时钟)、中断(紧急事件)、I/O接口(城门)、串行接口(城乡小路)、总线扩展控制(交通规划部门)。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1457259.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Apache DolphinScheduler中ZooKeeperCDH不兼容问题的解决方案

背景 看到Apache DolphinScheduler社区群有很多用户反馈和讨论这块问题,针对不兼容的问题,不仅需要自己重新编译各一个新包,而且因为默认是使用zk-3.8的配置,所以会出现不兼容问题。使用zk-3.4配置即可适配3.4.x 解决办法&#…

ffmpeg for android编译全过程与遇到的问题

编译前准备 编译环境:Ubuntu16,可自行下载VMWare最新版并百度永久许可证或在服务器上安装Ubuntu ffmpeg源码:ffmpeg4.2.2 NDK下载:Android NDK r21e 有条件的最好还是在Liunx平台下编译吧,Windows平台下编译坑更多…

使用openeuler 22.03替代CentOS 7.9,建立虚拟机详细步骤

进入浏览器搜索网址下载openeuler 22.03镜像文件 https://mirrors.huaweicloud.com/openeuler/openEuler-22.03-LTS-SP3/ISO/x86_64/openEuler-22.03-LTS-SP3-x86_64-dvd.iso 打开VMware Workstation新建一个虚拟机: 自定义虚拟机位置 加入下载好的openeuler镜像文件…

算法刷题:最大连续1的个数

最大连续1的个数 .题目链接题目详情题目解析算法原理滑动窗口定义指针和其他变量进窗口判断出窗口结束更新结果 我的答案 . 题目链接 最大连续1的个数 题目详情 题目解析 将题目转化为求一个最长的字串,字串中0的个数不能大于k个 算法原理 滑动窗口 这道题采用滑动窗口的…

33、IO/标准IO对图片操作练习及文件IO相关练习20240219

一、使用fread和fwrite完成两个图片文件的拷贝&#xff08;标准IO&#xff09;。 代码&#xff1a; #include<myhead.h>int main(int argc, const char *argv[]) {FILE *srcfpNULL;FILE *destfpNULL;if((srcfpfopen("./hongfeng.bmp","r"))NULL ||…

Discuz! X收藏列表页调用封面图片详细教程

Discuz! X默认收藏列表不显示封面图&#xff0c;我们接到客户需求要开发封面图功能在帖子列表&#xff0c;这是我们整理好的详细教程&#xff0c;下载即可查看 修改后&#xff0c;显示封面的收藏列表截图&#xff1a; 详细开发教程下载地址&#xff1a;Discuz! X收藏列表页调用…

把Llama2封装为API服务并做一个互动网页

最近按照官方例子&#xff0c;把Llama2跑起来了测试通了&#xff0c;但是想封装成api服务&#xff0c;耗费了一些些力气 参考&#xff1a;https://github.com/facebookresearch/llama/pull/147/files 1. 准备的前提如下 按照官方如下命令&#xff0c;可以运行成功 torchrun -…

【EI会议征稿通知】第五届信息科学与并行、分布式处理国际学术会议(ISPDS 2024)

第五届信息科学与并行、分布式处理国际学术会议&#xff08;ISPDS 2024&#xff09; 2024 5th International Conference on Information Science, Parallel and Distributed Systems 第五届信息科学与并行、分布式处理国际学术会议&#xff08;ISPDS 2024&#xff09;定于20…

查看 PyCharm 代码文件目录位置

查看 PyCharm 代码文件目录位置 1. Show in Files2. Copy PathReferences 1. Show in Files right click -> Show in Files / Show in Explorer 即可打开目录 2. Copy Path right click -> Copy Path 即可复制目录或文件路径 References [1] Yongqiang Cheng, http…

Android逆向学习(七)绕过root检测与smali修改学习

Android逆向学习&#xff08;七&#xff09;绕过root检测与smali修改学习 一、写在前面 这是吾爱破解正己大大教程的第五个作业&#xff0c;然后我的系统还是ubuntu&#xff0c; 这个是剩下作业的完成步骤。 二、任务目标 现在我们已经解决了一些问题&#xff0c;现在剩下的…

【C语言】长篇详解,字符系列篇2-----受长度限制的字符串函数,字符串函数的使用和模拟实现【图文详解】

欢迎来CILMY23的博客喔&#xff0c;本期系列为【【C语言】长篇详解&#xff0c;字符系列篇2-----“混杂”的字符串函数&#xff0c;字符串函数的使用和模拟实现【图文详解】&#xff0c;图文讲解各种字符串函数&#xff0c;带大家更深刻理解C语言中各种字符串函数的应用&#x…

小型医院医疗设备管理系统|基于springboot小型医院医疗设备管理系统设计与实现(源码+数据库+文档)

小型医院医疗设备管理系统目录 目录 基于springboot小型医院医疗设备管理系统设计与实现 一、前言 二、系统功能设计 三、系统实现 1、职员信息管理 2、设备信息管理 3、库房信息管理 4、公告信息管理 四、数据库设计 1、实体ER图 五、核心代码 六、论文参考 七、…

【性能测试入门必看】性能测试理论知识

一、性能测试理论知识 1、常用的七种性能测试方法 (1) 后端性能测试&#xff1a;其实&#xff0c;你平时听到的性能测试&#xff0c;大多数情况下指的是后端性能测试&#xff0c;也就是服务器端性能测试。后端性能测试&#xff0c;是通过性能测试工具模拟大量的并发用户请求&…

20240219画图程序

1. PTZ在惯性态时&#xff0c;不同视场角下的【发送】角速度和【理论响应】角速度 1.1 优化前 import numpy as np import matplotlib.pyplot as plt# PTZ在惯性态时&#xff0c;不同视场角下的【发送】角速度和【理论响应】角速度 ATROffset_x np.linspace(0, 60, 120) y2 …

OpenAI 全新发布文生视频模型 Sora,支持 60s 超长长度,有哪些突破?将带来哪些影响?

Sora大模型简介 OpenAI 的官方解释了在视频数据基础上进行大规模训练生成模型的方法。 我们下面会摘取其中的关键部分罗列让大家快速get重点。 喜欢钻研的伙伴可以到官网查看技术报告&#xff1a; https://openai.com/research/video-generation-models-as-world-simulator…

【图论经典题目讲解】CF786B - Legacy 一道线段树优化建图的经典题目

C F 786 B − L e g a c y \mathrm{CF786B - Legacy} CF786B−Legacy D e s c r i p t i o n \mathrm{Description} Description 给定 1 1 1 张 n n n 个点的有向图&#xff0c;初始没有边&#xff0c;接下来有 q q q 次操作&#xff0c;形式如下&#xff1a; 1 u v w 表示…

GO和KEGG富集分析

写在前面 我们《复现SCI文章系列教程》专栏现在是免费开放&#xff0c;推出这个专栏差不多半年的时间&#xff0c;但是由于个人的精力和时间有限&#xff0c;只更新了一部分。后续的更新太慢了。因此&#xff0c;最终考虑后还是免费开放吧&#xff0c;反正不是什么那么神秘的东…

关于数据结构的定义以及基本的数据结构

在计算机科学中&#xff0c;数据结构是指用于组织和存储数据的方式或方法。它涉及到在计算机内存中存储、管理和操作数据的技术和原则。数据结构不仅仅是简单地存储数据&#xff0c;还可以提供高效的数据访问和操作方式&#xff0c;以满足特定的需求。 以下是每个数据结构的详细…

mkcert安装教程

1、下载 官方文档&#xff1a;https://github.com/FiloSottile/mkcert#mkcert 下载链接&#xff1a;https://github.com/FiloSottile/mkcert/releases 2、安装&#xff0c;该文件目录下打开cmd&#xff08;可以把文件复制到别的文件夹&#xff09;&#xff0c;执行命令 //命令…

开源模型应用落地-工具使用篇-向量数据库进阶(四)

一、前言 通过学习"开源模型应用落地"系列文章&#xff0c;我们成功地建立了一个完整可实施的AI交付流程。现在&#xff0c;我们要引入向量数据库&#xff0c;作为我们AI服务的二级缓存。本文将继续基于上一篇“开源模型应用落地-工具使用篇-向量数据库&#xff08;三…