单片机原理及应用复习

单片机原理及应用

第二章

  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_____。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

深色系的B端界面,特定场景非常适合。

深色系B端界面有以下几个好处: 提供更好的可读性:深色背景可以提供更高的对比度,使文字和图标更加清晰易读,尤其在低光环境下或者长时间使用的情况下,可以减少眼睛的疲劳。强调重要内容:深色背景可以使重要…

第 11 章 排序

第 11 章 排序 Abstract 排序犹如一把将混乱变为秩序的魔法钥匙,使我们能以更高效的方式理解与处理数据。 无论是简单的升序,还是复杂的分类排列,排序都向我们展示了数据的和谐美感。 本章内容 11.1 排序算法11.2 选择排序11.3 冒…

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

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

基于云服务器使用DreamBooth训练主体

资源整理 参考教程:StableDiffusion/NAI DreamBooth自训练全教程 - 知乎 (zhihu.com) 云服务器平台:AutoDL算力云 | 弹性、好用、省钱。租GPU就上AutoDL 镜像链接:CrazyBoyM/dreambooth-for-diffusion/dreambooth-for-diffusion、 代码仓…

[Linux]vsftp配置大全---超完整版

[Linux]vsftp配置大全---超完整版 以下文章介绍Liunx 环境下vsftpd的三种实现方法 一、前言 Vsftp(Very Secure FTP)是一种在Unix/Linux中非常安全且快速稳定的FTP服务器,目前已经被许多大型站点所采用,如ftp.redhat.com,ftp.kde.org,ftp.gnome.org.等。…

Ubuntu20.04 Mysql基本操作知识

#Mysql基本知识 运行环境Ubuntu20.04 1.开启mysql服务 sytemctl start mysql不然,命令行进入myql交互行提交命令后,就会出现4200错误。 2.显示所有数据库 SHOW DATABASES;注意复数s,毕竟很多数据库 3.新建数据库test CREATE DATABASE …

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

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

Python | Leetcode Python题解之第123题买卖股票的最佳时机III

题目: 题解: class Solution:def maxProfit(self, prices: List[int]) -> int:n len(prices)buy1 buy2 -prices[0]sell1 sell2 0for i in range(1, n):buy1 max(buy1, -prices[i])sell1 max(sell1, buy1 prices[i])buy2 max(buy2, sell1 - …

C#WPF数字大屏项目实战01--开发环境与项目创建

1、学习目标 -界面布局 ,- 模板调整,- 控件封装,- 图表,- 通信对接,- 动态更新 2、开发环境 开发工具:Visual Studio-2022-17.8.6-Community 运行时框架:.Net 6或Framework 4.5以上 UI框…

链表(2)反转链表

题目描述 反转一个单链表。(题目来源) 思路一 其实,反转一个单向链表,我们可以看成是将链表中的每个结点的指向反向(即从后一个结点指向前一个结点)。 我们在考虑情况的时候,还是可以先考虑一般…

【环境栏Composer】Composer常见问题(持续更新)

1、执行composer install提示当前目录中没有 composer.lock 文件时 No composer.lock file present. Updating dependencies to latest instead of installing from lock file. See https://getcomposer.org/install for more information. Composer 在执行 install 命令时会…

在龙芯安装docker compose

安装过程报错:pynacl无法安装 原因:未知 解决尝试:单独安装pynacl 执行:pip install pynacl 报错: 再次执行dockerscompose撒谎啥 少了头文件 dev,表示c编译器有问题 python是c编写的 喵的 搞了半天是我…

github有趣项目:Verilog在线仿真( DigitalJS+edaplayground)

DigitalJS https://github.com/tilk/digitaljs这个项目是一个用Javascript实现的数字电路模拟器。 它旨在模拟由硬件设计工具合成的电路 像 Yosys(这里是 Github 存储库),它有一个配套项目 yosys2digitaljs,它可以转换 Yosys 将文…

独立开发的轻量级简洁开源论坛BBS PHP源码

最新的轻量级开源论坛php源码发布啦!这是一款独立开发的论坛系统,可以帮助你快速地开发出你想要的网站。 如果你是PHP初学者,这款论坛系统非常适合你入门学习。不过,需要注意的是,由于它并没有进行商业化改造&#xf…

mysql定时备份数据库

一、使用navicat进行自动备份 1、选择自动运行;2、创建批处理作业;3、选中需要操作的数据库;4、保存; 1、设置任务计划;2、新建触发器;3、选择执行时间; 完成这些之后,就可以了。 my…

Nginx一个端口代理多个vue项目,通过不同路由转到不同系统,反向代理Apache进行文件处理

需求:由于一些因素限制,需要尽可能的少开放外部端口访问,这里将多个vue项目通过一个nginx端口进行代理,由不同的路由来确定访问哪些项目,apache同理 nginx代理多个vue项目 安装和配置nginx的基础教程这里就不写了&…

C++ | Leetcode C++题解之第123题买卖股票的最佳时机III

题目&#xff1a; 题解&#xff1a; class Solution { public:int maxProfit(vector<int>& prices) {int n prices.size();int buy1 -prices[0], sell1 0;int buy2 -prices[0], sell2 0;for (int i 1; i < n; i) {buy1 max(buy1, -prices[i]);sell1 max(…

【开源】在线考试系统 JAVA+Vue.js+SpringBoot 新手入门项目

目录 一、项目介绍 二、项目截图 三、核心代码 【开源】在线考试系统 JAVAVue.jsSpringBoot 新手入门项目 一、项目介绍 经典老框架SSM打造入门项目《在线考试系统》&#xff0c;包括班级模块、教师学生模块、试卷模块、试题模块、考试模块、考试回顾模块&#xff0c;项目编…

同济大学胡维老师分享经管科研范式变革下的工具与实践|和鲸社区“101数智领航计划”

5月22日&#xff0c;和鲸科技成功举办“101数智领航计划”系列直播活动&#xff0c;以“经管科研范式变革下的工具与实践”为主题&#xff0c;探讨数智时代人工智能技术对于经管领域学术研究与实践应用的影响。 活动特邀同济大学经济与管理学院助理研究员胡维老师担任主讲嘉宾…

第八十九周周报

学习目标&#xff1a; 论文 学习时间&#xff1a; 2024.05.25-2024.05.31 学习产出&#xff1a; 一、论文 SAN: INDUCING METRIZABILITY OF GAN WITH DISCRIMINATIVE NORMALIZED LINEAR LAYER 将GAN与切片最优输运联系起来&#xff0c;提出满足方向最优性、可分离性和单射…