单片机原理及应用复习

news2024/11/19 2:45:32

单片机原理及应用

第二章

  1. 在AT89S52单片机中,如果采用6MHz晶振,一个机器周期为    2us     

时钟周期Tocs=1focs  机器周期 Tcy=12focs  指令周期:一条指令所用的时间,单字和双字节指令一般为单机器周期和双机器周期。

  1. AT89S52单片机的机器周期等于    12    个时钟振荡周期。
  2. 若A中的内容为63H,那么P标志位的值为   0    

P(PSW.0)奇偶标志位 该标志位表示指令执行后,累加器A中1的个数是奇数还是偶数。P=1为奇数,P=2为偶数  63H=0101 0011B

  1. AT89S52单片机程序存储器的寻址范围是由程序计数器PC的位数所决定的,因为AT89S52单片机的PC是16位的,因此其寻址的范围为    64   KB。

1B=8bit,1KB=1024B, 2^16B=64KB

  1. AT89S52单片机复位时,P0~P3口的各引脚为       电平。
  2. AT89S52单片机复位时,堆栈指针SP中的内容为  07H    ,程序指针PC中的内容为  0000H 
  3. 程序在运行中,当前PC的值是( C
  1. 当前正在执行指令的前一条指令的地址     B、当前正在执行指令的地址
  2. 当前正在执行指令的下一条的首指令       D、控制器中指令寄存器的地址

PC是程序计数器,用于存放下一条指令所在单元的地址。

  1. 使AT89S52单片机且引脚EA=1时,仍可外扩64KB的程序存储器。(   )

EA=1先访问片内(8KB)再访问片外(60KB),   EA=0只读取片外(最大64KB)

简答

  1. AT89S52单片机的64KB程序存储器空间有6个单元地址对应AT89S52单片机6个中断源的中断入口地址,请写出这些单元的入口地址及对应的中断源。

中断源         入口地址

外部中断0       0003H

定时器/计数器0  000BH

外部中断1       0013H

定时器/计数器1  001BH

串行口           0023H

定时器/计数器2  002BH

  1. 说明AT89S52单片机的EA引脚接高电平或低电平的区别。

外部程序存储器访问允许控制端

EA=1时,在AT89S52单片机内的PC值不超出1FFFH(即不超出片内8KB程序存储器的最大地址)时,AT89S52单片机读片内程序存储器,(8KB)中的程序代码,但PC值超过1FFFH(即超出片内8KB Flash存储器的最大地址)时,将自动转向读取片外60KB(2000H~FFFFH)程序存储器空间中的代码。

    EA=0时,单片机只读取外部程序存储器中的内容,读取的范围为0000H~FFFFH(64KB),此时片内的8KB Flash程序存储器不起作用。

第三章

  1. 指令格式由  操作码      操作数   组成,也可仅由  操作码    组成。
  2. 在基址加变址寻址方式中,以   A  作为变址寄存器,以   PC     DPTR   作为基址寄存器。
  3. 在AT89S52单片机中,PC和DPTR都用于提供地址,但PC是为访问   程序   存储器提供地址,而DPTR是为访问   数据   存储器提供地址。
  4. 在寄存器间接寻址方式中,其“间接”体现在指令中寄存器的内容不是操作数,而是操作数的    地址   

先从寄存器中找到操作数的地址,再按照该地址找到操作数。

  1. 下面程序段的功能是   交换Acc与B的值   

PUSH  Acc

PUSH B

POP  Acc

POP  B

PUSH进栈指令

POP出栈指令

像一个桶,先放Acc,再放B。拿出时先拿B的值放在Acc,再拿A的值放到B

累加器A也可以写成Acc,其中区别是:当使用A时是寄存器寻址,Acc是直接寻址。如POP A不能写成POP A,STEB Acc.0不能写成SETB A.0

  1. 假定(A)=83H,(RO)=17H,(17H)=34H,执行以下指令后,(A)=__0CB______。

ANL  A,#17H A的值83H->1000 0011,

17H->0001 0111

               相与得->0000 0011->03H这是A的值

ORL  17H,A  17H->34H ->0011 0100

            A的值03H->0000 0011

               相或得->0011 0111->37H 这是17H的值

XRL  A,@R0  A的值03H->0000 0011

         R0->17H->37H->0011 0111

               异或得->0011 0100->34H 这是A的值

CPL  A      A的值34H->0011 0100

               取反得->1100 1011->0CBH

  1. 假设(A)=55H,(R3)=OAAH,在执行指令“ANL A,R3”后,(A)=__00H____,
    (R3)=___0AAH____。

55H->0101 0101

AAH->1010 1010

相与-> 0000 0000->00H放入A,R3不变

  1. 假定,(SP)=60H,(A)=30H,(B)=70H,执行下列指令后,SP的内容为__62H____,

61H单元的内容为___30H___,62H单元的内容为___70H____。

PUSH  Acc

PUSH  B

PUSH先将SP加1,然后将direct中的内容送到SP所指的RAM中

POP先将SP所指栈顶的内容送到direct中,然后SP减1

  1. 判断以下指令的正误。
  1. MOV 28H,@R2    错(MOV direct @Ri  ;i=0~1)

B.DEC DPTR        错(不存在这条指令)

C.INC DPTR        

D.CLR RO          错(不存在这条指令)

E.CPL R5          错(不存在这条指令)

  1. MOV R0,R1      错(不存在这条指令)

G.PUSH DPTR       错(PUSH后面只能是直接寻址

H.MOV F0,C        对(F0(PWS.5)用户使用的标志位)

I.MOV F0,Acc.3    错(只有MOV bit,C 和MOV C ,bit)

J.MOVX A,@R1      对(MOVX A,@Ri)

  1. MOV C,30H       对(可位寻址在片内RAM(00H ~7FH位地址,字节地址是20H~FH)和SFR)

L.RLC R0          错(不存在这条指令)

  1. 判断下面说法是否正确。AB
  1. 立即数寻址方式是被操作的数据本身就在指令中,而不是它的地址在指令中。 正确
  2. 指令周期是执行一条指令的时间。 正确
  3. 指令中直接给出的操作数称为直接寻址。(立即数寻址)
  4. 内容寄存器Rn(n=0~7)可作为间接寻址寄存器。(0~1)
  1. 判断以下指令中,哪些属于单纯读引脚的指令。C
  1. MOV P1,A    B.ORL P1,#OFH   C.MOV C,P1.5    D.ANL P1,#OFH
  1. 程序在运行中,当前PC的值是( C  )
  1. 当前正在执行指令的前一条指令的地址      B.当前正在执行指令的地址
  2. 当前正在执行指令的下一条指令的首地址     D.控制器中指令寄存器的地址
  1. 对程序存储器的读操作,只能使用( D  )
  1. MOV指令     B.PUSH指令     C.MOVX指令    D.MOVC指令

第四章

  1. 外部中断1的中断入口地址为  0013H   。定时器T1的中断入口地址为   001BH     
  2. 下面说法错误的是(  B
  1. 同一级别的中断请求按时间的先后顺序响应。
  2. 同一时间同一级别的多中断请求,将形成阻塞,系统无法响应。
  3. 低优先级中断请求不能中断高优先级中断请求,但是高优先级中断请求能中断低优先级中断请求。
  4. 同级中断不能嵌套。
  1. 必须有中断源发出中断请求,并且CPU开中断,CPU才能响应中断。(   )
  2. AT89S52单片机中的同级中断不能嵌套。(   )
  3. 中断服务子程序可以直接调用。(   )
  4. 在开中断的前提下,只要中断源发出中断请求,CPU就会立刻响应中断。(   )

第五章

  1. 如果采用频率为3MHz的晶振,定时器/计数器Tx(x=0,1)工作在方式0、1、2下,其方式0的最大定时时间为   32768us    ,方式1的最大定时时间为  262144us    ,方式2的最大定时时间为   1024us     

2n*12focs=213*123*106=8192*4*10-6=32768*10-6s=32768us

2n*12focs=216*123*106=65536*4*10-6=262144*10-6s=262144us

2n*12focs=28*123*106=256*4*10-6=1024*10-6s=1024us

  1. AT89S52单片机的晶振为6MHz,若利用定时器T1的方式1定时2ms,则TH1=  FCH  ,TL1=   18H   

N=2n-T*focs12= 216-2*10-3*6*10612=65536-1000=64536

TH1=64536/256=252=FCH

TL1=64536%256=24=18H

  1. 定时器T0、T1工作方式1时,其计数器为( B  )位。

A.8位      B.16位       C.14位      D.13位

  1. 定时器T2工作在自动重装载方式时,其计数器为(  A

A.8位     B.13位     C.14位       D.16位

简答

  1. 定时器/计数器T1、T0的工作方式2有什么特点?适用于哪些应用场合?

方式2为初值自动装入的8位定时器/计数器,克服了在循环定时或循环计数应用时就存在用指令反复装入计数初值影响定时精度的问题。具有自动恢复初值的特点,适用于精确定时, 适用于波特率的产生。

  1. 如果系统的晶振的频率为24MHz,定时器/计数器工作在方式0、1、2下,其最大定时时间各为多少?

晶振的频次为24MHz,机器周期为0.5us。

2n*12focs=213*1224*106=8192*0.5*10-6=4096*10-6s=4096us

2n*12focs=216*1224*106=65536*0.5*10-6=32768*10-6s=32768us

2n*12focs=28*1224*106=256*0.5*10-6=128*10-6s=128us

第六章

  1. AT89S52单片机的串行异步通信口为  全双工     (单工/半双工/全双工)。

单工:只能一个方向传输

半双工:可以双向传输,但不能同时传输

全双工:可以同时双向传输

同步:采用同一个时钟,通过一条时钟线加到收发双方,使双方完全同步

异步:按各自的时钟控制收发

  1. 串行口的方式0的波特率为   fosc/12   
  2. AT89S52单片机串行口的四种工作方式中,   方式1        方式3    的波特率是可调的,与定时器/计数器T1的溢出率有关,另外两种方式的波特率是固定的。
  3. 串行口工作方式1的波特率是  方式1波特率 =2SMOD32*定时器T1的溢出率    
  4. 控制串行口工作方式的寄存器是(  D
  1. TCON    B.PCON     C.TMOD      D.SCON

TCON定时器/计数器控制寄存器

PCON功率控制寄存器,其中第八位为SMOD

TMOD定时器/计数器工作方式寄存器

SCON串行口控制寄存器

第七章

填空题

  1. “8”字型的LED数码管如果不包括小数点段共计___7___段,每一段对应一个发光二极管,有_____共阴极数码管______和______共阳极数码管______。
  2. 对于共阴极带有小数点段的数码管,显示字符“6”(a段对应段码的最低位)的段码为____7DH_____,对于共阳极带有小数点的数码管,显示字符“3”的段码为____B0H_____
  3. 已知8段共阳极LED数码管显示器要显示某字符的段码为A1H(a段为最低位),此时显示器显示的字符为____d____。

判断题

  1. P1-P3口作为输入端口使用时,必须先向端口寄存器写入1。 (   )

先写1使场效应管截止,这时才能正常读引脚,否则都会被拉低

  1. P0-P3口的驱动能力是相同的。 (    )

P0口为漏极开路

  1. 当显示的LED数码管位数较多时,动态显示所占用的I/O口多,为节省I/O口与驱动电路的数目,常采用静态扫描显示方式。 (     )

动态扫描占用IO口少

  1. LED数码管动态扫描显示电路只要控制好每位数码管点亮显示的时间,就可造成“多位同时亮”的假象,达到多为LED数码管同时显示的效果。 (    )

控制每位数码管点亮的时间和间隔

  1. LED数码管工作于动态显示方式时,同一时间只有一个数码管被点亮。 (    )
  2. 动态显示的数码管,任意时刻只有一个LED数码管处于点亮状态,是LED的余晖与人眼的“视觉暂留”造成数码管同时显示的“假象”。 (     )

第八章

填空题

  1. 单片机存储器的主要功能是存储____程序______和____数据______。
  2. 设计一个以AT89S52单片机为核心的系统,如果不外扩程序存储器,使其内部8KB闪烁程序存储器有效,则其____EA_____引脚应该接____+5V_____。

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

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

相关文章

代码审计(工具Fortify 、Seay审计系统安装及漏洞验证)

源代码审计 代码安全测试简介 代码安全测试是从安全的角度对代码进行的安全测试评估。(白盒测试;可看到源代码) 结合丰富的安全知识、编程经验、测试技术,利用静态分析和人工审核的方法寻找代码在架构和编码上的安全缺陷&#xf…

EitbaseEX香港业务开展,提升用户友好交易体验

在全球范围内备受瞩目的加密货币交易平台Coinbase,宣布正式入驻香港市场,并命名为EitbaseEX。这一战略性扩展举措,旨在为香港提供先进的加密货币交易技术和服务,同时将香港打造为其在亚太地区的重要枢纽。 作为国际金融中心&#…

算法(一)递归

文章目录 递归的概念递归三要素递归demo打印100次“hello word”斐波那契数列 递归的概念 递归算法是一种直接或者间接调用自身函数或者方法的算法。 递归三要素 递归条件结束 因为递归是循环调用自身,因此就必须要有结束条件,或者就会OOM。 函数的功…

2.8Flowmap的实现

一、Flowmap 是什么 半条命2中水的流动 求生之路2中的水的流动 这种方式原理简单,容易实现,运算量少,如今也还在使用 1.flowmap的实质 Flow map(流向图) ,一张记录了2D向量信息的纹理,Flow map上的颜色(通常为RG通道…

Ubuntu部署kafka集群

Apache Kafka (KRaft 集群) Apache Kafka 是一个基于 TCP 的分布式流处理平台,提供高吞吐量、低延迟的消息传递和处理能力,用于构建实时数据管道和流应用程序。其底层通信依赖于 TCP Socket,但 Kafka 封装了许多高级特性,使其更加…

Python使用动态代理的多元应用

Python作为一种功能强大且易于学习的编程语言,在网络编程领域具有广泛的应用。当Python与动态代理技术结合时,便开启了一扇通往更多可能性的大门。以下将深入探讨Python使用动态代理可以实现的多种应用。 首先,Python结合动态代理在网络爬虫…

ETLCloud中如何使用Kettle组件

ETLCloud中如何使用Kettle组件在当今数据驱动的时代,数据处理和分析已成为企业决策的关键。为了更高效地处理海量数据,ETL(Extract, Transform, Load)工具变得至关重要。而在众多ETL工具中,Kettle作为一款开源、灵活且…

学习笔记——网络参考模型——TCP/IP模型

二、TCP/IP模型 TCP/IP模型(TCP/IP协议栈):很多个互联网协议的集合,其中以TCP和IP为主,将这些协议的集合称为TCP/IP协议栈。目前使用最多的协议模型。 因为OSI协议栈比较复杂,且TCP和IP两大协议在业界被广泛使用,所以…

C++候捷stl-视频笔记2

深度搜索list list是双向链表:底部实现是环状双向链表 list内部除了存data之外,还要存一个前向指针prev和一个后向指针next list的iterator,当迭代器的时候,是从一个节点走到下一个节点,是通过访问next指针实现的 主要…

arcgis api for javascript点击获取要素错乱的问题

今天帮同事看了一个前端地图点击的问题:点击时总会获取到周边的图元,即使我点击线的周围,也是能获取到的,除非离得特别远。 地图组件用的是arcgis api, 图层类是grahicslayer,要素类型是线。这是添加图元的代码: grap…

AIGC商业案例实操课,发觉其创造和商业的无限可能,Ai技术在行业应用新的商机

课程下载:https://download.csdn.net/download/m0_66047725/89307523 更多资源下载:关注我。 课程内容 1 AI为什么火 。写在课程前面的寄语 。AIGC标志性事件:太空歌剧院 。AI人工智能为什么这么火 ,AI人工智能发展历程 。聊天AI会取…

Vxe UI vxe-upload 上传组件,显示进度条的方法

vxe-upload 上传组件 查看官网 https://vxeui.com 显示进度条很简单,需要后台支持进度就可以了,后台实现逻辑具体可以百度,这里只介绍前端逻辑。 上传附件 相关参数说明,具体可以看文档: multiple 是否允许多选 li…

短剧系统源码:构建互动娱乐的新平台

随着数字媒体的兴起,短剧成为了一种新兴的娱乐形式,它以紧凑的叙事和快速的节奏迎合了现代观众的观看习惯。短剧系统源码的开发,为短剧内容的创作、传播和消费提供了一个全面的技术解决方案。本文将探讨短剧系统源码的关键组成部分及其功能。…

基于python flask+pyecharts实现的中药数据可视化大屏,实现基于Apriori算法的药品功效关系的关联规则

背景 在中医药学中,物品与功效之间的关联关系研究是一个非常重要的课题。传统中医药学中,很多药物都具有多种功效,而且不同药物对同一种疾病可能具有不同的疗效。因此,挖掘物品与功效之间的关联关系,可以帮助我们更加…

【第十二节】C++控制台版本贪吃蛇小游戏

目录 一、游戏简介 1.1 游戏概述 1.2 实现功能 1.3 开发环境 二、实现设计 2.1 C类的设计 2.2 项目结构 2.3 代码设计 三、程序运行截图 3.1 游戏界面 3.2 自定义地图 3.3 常规游戏界面 一、游戏简介 1.1 游戏概述 本游戏是一款基于C语言开发的控制台版本贪吃蛇游…

centos7 openssh9.7p 制作rpm包

centos7 openssh9.7p 制作rpm包 下载源码包:通过git开源打包源码准备编译打包环境编译打包上传rpm包到需要更新的服务器,并更新 下载源码包: 一般只用ssh源码就可以了 cd /root wget https://cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-9.7p…

一文了解企业版电子书:从认识到制作

现如今,电子书已经成为企业传播知识、展示品牌、吸引客户的重要工具了。那么,企业版电子书到底是什么?又该如何才能制作出有效的企业版电子书呢?接下来,跟着LookLook同学一起来看看如何从认识到制作一本企业版电子书。…

【计算机网络】——物理层(图文并茂)

物理层 一.物理层概述1.物理层要实现的功能2.物理层接口特征1.机械特性2.电气特性3.功能特性4.过程特性 二.物理层下面的传输媒体1.传输媒体的分类2.导向型传输媒体1.同轴电缆2.双绞线3.光纤 3.非导向型传输媒体1.无线电波2.微波3.红外线4.激光5.可见光 三.传输方式1.串行传输与…

select多个客户端连接,传输数据时只能顺序传输产生原因

1. 场景描述 即A先连接,B后连接&#xff0c;只能先A后B依次输入数据&#xff0c;服务端依次读取数据 这是因为进行循环遍历lfd之后的描述符时&#xff0c;没有判断文件描述符i是否在newset集合中 //cfd发生变化 for(int ilfd1;i<maxfd;i){printf("i num %d\t"…

推理和行动协同(Reason and Act,ReAct)和代码生成

文心一言 当我们将“推理和行动协同&#xff08;Reason and Act&#xff0c;ReAct&#xff09;”的概念应用于代码生成时&#xff0c;我们可以理解为一种指导原则或方法论&#xff0c;它强调了在代码生成过程中进行深思熟虑的决策&#xff08;Reason&#xff09;和有效执行&am…