单片机试题

1内部RAM中的位寻址区定义的位是给( B )。

A).位操作准备的  B).移位操作准备的  C).控制转移操作准备的  D).以上都对 
2对程序计数器PC的操作( A )。

A).是自动进行的                 B).是通过传送进行的

C).是通过加1指令进行的         D).是通过减 1 指令进行的

3假定设置堆栈指针SP的值为37H,在进行子程序调用时把断点地址进行堆栈保护后,SP的值为( D )。 
  A).36H    B). 37H    C).38H    D).39H 
4在MCS-51单片机的运算电路中,不能为 ALU 提供数据的是( D  )。
  A).累加器A    B).暂存器    C).通用寄存器B    D).状态条件寄存器PSW 
5边沿触发方式的外部中断信号是( A  )有效。

A).下降沿     B).上升沿       C).高电平              D).低电平

6MCS-51响应中断时,下面哪一个条件不是必须的( B  )。

A).当前指令执行完毕                  B).中断是开放的

C).没有同级或高级中断服务              D).必须有RETI指令

7确定定时器/计数器工作方式的寄存器是( B  )。

A).TCON      B).TMOD       C).SCON        D).PCON

8异步串行通信中,收发双方必须保持( B  )。

A).收发时钟相同                             B).停止位相同

C).数据格式和波特率相同             D).以上都正确

9使累加器的最高位置1,其余位不变,可以用下面的(  A )指令实现。

A). ORL  A, #80H                    B). ANL  A, #80H

C). XRL  A, #80H        D). MOV A, #80H

10在MCS-51单片机外扩展存储器芯片时,4个I/O口中用作地址总线的是( B  )。

A). P0口                  B). P0和P2口            C).P2和P3口             D).P2口

11访问外部数据存储器时,不起作用的信号是( C  )。

A).RD             B).WR                 C).PSEN                      D).ALE

12以下指令中,属于单纯读引脚的指令是( C  )。

A). MOV  P1,  A          B). ORL  P1,  #0FH

C). DJNZ  P1,  LAB             D). MOV  C,  P1.5

13对程序存储器的读操作,只能使用(  C )指令。

A). MOVX                B).PUSH                           C). MOVC                   D).MOV

14若MCS-51中断源都编程为同级,当它们同时申请中断时,CPU首先相应( B  )

A).INT1                B).INT0                    C).T1                            D).T0

15当MCS-51进行多机通讯时,串行接口的工作方式应选为(D   )

A).方式0                 B).方式1            C).方式2         D).方式2或方式3

1PSW中RS1 RS0=10H时,R2的地址是  12H   。

2单片机经加电复位后,执行第一条指令的地址是    0000H    。

3在串行通信中,数据传送方向有     单工     、 半双工        、全双工三种方式。

4一个机器周期=   6   个状态周期=12个振荡周期。

5设DPTR=2000H,(A)=A0H,则MOVC  A,@A+DPTR操作数的实际操作地址为    20A0H      。

6若8051单片机的引脚EA接地,表示    只能访问片外程序存储器            。

7在 MCS-51 单片机系统中,采用的编址方式是   统一编址   。

8在查询和中断两种数据输入输出方式中,效率较高的是   中断        。

9指令LCALL 37B0H,首地址在2000H,所完成的操作是   2003H    入栈,PC=    37B0H       。

10外部中断INT1入口地址为  0013H       。

11ANL  A, #0F0H是将A的高四位保持不变,而低4位   取反     。

128051单片机定时器/计数器作定时和计数用时,其计数脉冲分别由   8051片内脉冲      和   P3.4或P3.5引脚端的外

部脉冲       提供。

判断下列叙述的正误,对的打“”√,错的打“×”,并对错误的叙述进行改正。

1复位是单片机的初始化操作。                                     (  √  )

2内部 RAM 的位寻址区,只能供位寻址使用而不能供字节寻址使用。  (  ×  ) 可以字节寻址

3在相对寻址方式中,寻址的结果体现在DPTR中。                  (  ×  ) PC

4PC存放的是当前正在执行的指令的地址。                       (  ×  )下一条令地址

5MOV  28H,  @R4                                              (  ×  )MOV 28H,@R0或MOV 28H,@R1

1(4分)简述单片机对中断优先级的处理原则。

答:1)先处理优先等级高的中断,再处理优先等级低的中断

2)若这些中断属于同一优先等级,则按中断硬件查询顺序进行排队,依次处理

3)若当前正在处理的是低优先级的中断,在CPU开中断的前提下,它能被另一个高优先级的中断申请中断,形成中断嵌套。

4)若当前正在处理的是高优先级中断,则暂不响应其他中断。

2(6分)8051单片机有哪几种寻址方式?每种寻址方式各涉及哪些寄存器和存储器空间。请说明。

答:


寻址方式


涉及的寄存器


使用的存储空间


直接寻址


片内RAM低128位字节


寄存器寻址


R0~R7,A,B,Cy,DPTR


片内RAM


寄存器间接寻址


R0,R1,DPTR


片内RAM,片外RAM与I/O口


立即数寻址


程序存储器


基寄存器加变址寄存器间接寻址


A,PC,DPTR


程序存储器


相对寻址


PC


程序存储器


位寻址


Cy


片内RAM的20H~2FH,部分SFR

1(5分)编程实现下列运算:设Di为片内RAM 22H单元中对应位,运算结果存入进位位CY中。

MOV C,22H.0

ANL C,22H.1

MOV 22H.2,C  ;D0.D1->D2

CPL 22H.1

MOV C,22H.0

ANL C,22H.1   ;D0.D1_->C

ORL C,22H.2   ;D0.D1+D0.D1_->C

CPL C

MOV 22H.2,C

MOV C,22H.7

CPL C

ANL C,22H.5    ;D5.D7_->C

ORL C,22H.2

2(5分)试编写延时2S的子程序,并给出2S时间的得出算式。

ORG 000BH   ;T0中断入口

AJMP BRT0  ;跳转到BRT0执行中断服务程序

 

DELAY:  MOV TMOD,#01H  ;设置T0用于定时,模式1方式

MOV TH0,#3CH    ;装入定时初值

MOV TL0,#0B0H

MOV IE,#82H   ;T0允许中断

SETB TR0   ;启动T0计数

MOV R0,#14H  ;软件计数器R0赋初值

LOOP:  SJMP $ ;等待中断

BRT0:  DJNZ R0,NEXT  ;若未到1s,则转到NEXT

RET  ;本延时子程序返回

NEXT:  MOV TH0,#3CH   ;重装定时器初值

MOV TL0,#0B0H

RETI

1(9分)利用SRAM芯片6264扩展8KB数据存储器(提示:6264上有两个片选信号CE1、CE2)。试①确定地址译码范围,写出所有可能地址范围;②画出系统结构图。

答:(1)由于使CE1(低电平有效)接地,CE2(高电平有效)用作片选,接P2.7,所以其地址范围为1xx0 0000 0000 0000B~1xx1 1111 1111 1111B

可能地址译码范围: 8000H~9FFFH,A000H~BFFFH,C000H~DFFFH,E000H~FFFFH

2)

2(16分)MCS-51与ADC0809的连接如下图所示,A/D转换结果依次存放在片外数据存储器40H~47H单元,单片机和A/D转换器的数据传送间址寄存器采用DPTR。①试确定通道地址;②试用中断方式编写A/D转换接口程序并写出注释。

(1)78H~7FH

(2)

ORG 0000H

START:  AJMP MAIN

ORG 0003H

AJMP EXINT0

ORG 0030H ;表示主程序从0030H地址开始

MAIN:  MOV R0,#40H ;采样数据存放的首地址

MOV R1,#78H  ;IN0通道地地址

MOV R2,#08H   ;模拟量通道数

MOVX @R1,A   ;启动A/D转换

SETB IT0   ;外部中断0为边沿触发方式

SETB EX0  ;允许外部中断0中断

SETB EA   ;开放CPU中断

HERE:  SJMP HERE

EXINF0:  PUSH PSW  保护现场

CLR RS0

CLSR RS1

MOVX A,@R1  ;读取转换结果

MOV @R0,A  ;存放结果

INC R0

INC R1

DJNZ R2,NEXT  ;8通道未完,则采取下一通道

CLR EX0  ;采集完毕,则停止中断

SJMP DONE

NEXT:  MOVX @R1,A  ;启动下一通道A/D转换

DONE:  POP PSW

RETI

END

作者:johnny 出处:http://www.cnblogs.com/sunjunlin 本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

时间: 2024-09-30 21:34:35

单片机试题的相关文章

前端一到三年最全面试题(一) 򍹉

原文: http://blog.gqylpy.com/gqy/431 置顶:来自一名75后老程序员的武林秘籍--必读(博主推荐) 来,先呈上武林秘籍链接:http://blog.gqylpy.com/gqy/401/ 你好,我是一名极客!一个 75 后的老工程师! 我将花两分钟,表述清楚我让你读这段文字的目的! 如果你看过武侠小说,你可以把这个经历理解为,你失足落入一个山洞遇到了一位垂暮的老者!而这位老者打算传你一套武功秘籍! 没错,我就是这个老者! 干研发 20 多年了!我也年轻过,奋斗过!我

前端面试题总结(js、html、小程序、React、ES6、Vue、算法、全栈热门视频资源)持续更新 񘞮

原文: http://blog.gqylpy.com/gqy/438 置顶:来自一名75后老程序员的武林秘籍--必读(博主推荐) 来,先呈上武林秘籍链接:http://blog.gqylpy.com/gqy/401/ 你好,我是一名极客!一个 75 后的老工程师! 我将花两分钟,表述清楚我让你读这段文字的目的! 如果你看过武侠小说,你可以把这个经历理解为,你失足落入一个山洞遇到了一位垂暮的老者!而这位老者打算传你一套武功秘籍! 没错,我就是这个老者! 干研发 20 多年了!我也年轻过,奋斗过!我

Python 最常见的 170 道面试题解析:2019 最新 𠯚

原文: http://blog.gqylpy.com/gqy/478 置顶:来自一名75后老程序员的武林秘籍--必读(博主推荐) 来,先呈上武林秘籍链接:http://blog.gqylpy.com/gqy/401/ 你好,我是一名极客!一个 75 后的老工程师! 我将花两分钟,表述清楚我让你读这段文字的目的! 如果你看过武侠小说,你可以把这个经历理解为,你失足落入一个山洞遇到了一位垂暮的老者!而这位老者打算传你一套武功秘籍! 没错,我就是这个老者! 干研发 20 多年了!我也年轻过,奋斗过!我

【转】嵌入式软件工程师经典笔试题

嵌入式软件工程师经典笔试题 > 预处理器(Preprocessor) 1. 用预处理指令#define 声明一个常数,用以表明1年中有多少秒(忽略闰年问题) #define SECONDS_PER_YEAR (60 * 60 * 24 * 365)UL 我在这想看到几件事情: 1). #define 语法的基本知识(例如:不能以分号结束,括号的使用,等等) 2). 懂得预处理器将为你计算常数表达式的值,因此,直接写出你是如何计算一年中 有多少秒而不是计算出实际的值,是更清晰而没有代价的. 3).

10个常见的Node.js面试题

如果你希望找一份有关Node.js的工作,但又不知道从哪里入手评测自己对Node.js的掌握程度. 本文就为你罗列了10个常见的Node.js面试题,分别考察了Node.js编程相关的几个主要方面. 在进入正文之前,需要提前声明两点: 这些问题只是Node.js知识体系的一个局部,并不能完全考察被面试者的实际开发能力. 对现实世界开发中遇到的问题,需要的是随机应变与团队合作,所以你可以尝试结对编程. Node.js面试题列表 什么是错误优先的回调函数? 如何避免回调地狱? 如何用Node来监听8

.NET教程:.NET 面试题之IEnumerable

.NET教程,今天给大家介绍的是:.NET 面试题之IEnumerable ,这是在面试的时候可能会碰到的一道题目,这道题的注解分为了两个部分,这一篇是第一部分! 什么是IEnumerable? IEnumerable及IEnumerable的泛型版本IEnumerable是一个接口,它只含有一个方法GetEnumerator.Enumerable这个静态类型含有很多扩展方法,其扩展的目标是IEnumerable. 实现了这个接口的类可以使用Foreach关键字进行迭代(迭代的意思是对于一个集合

java 19 - 9 finally有关的面试题

1 /* 2 * 面试题: 3 * 1:final,finally和finalize的区别 4 * final:最终的意思,可以修饰类,成员变量,成员方法 5 * 修饰类,类不能被继承 6 * 修饰变量,变量是常量 7 * 修饰方法,方法不能被重写 8 * finally:是异常处理的一部分,用于释放资源. 9 * 一般来说,代码肯定会执行,特殊情况:在执行到finally之前jvm退出了 10 * finalize:是Object类的一个方法,用于垃圾回收 11 * 12 * 2:如果catc

java面试题大全

java面试笔试题大汇总     第一,谈谈final, finally, finalize的区别. 最常被问到. 第二,Anonymous Inner Class (匿名内部类) 是否可以extends(继承)其它类,是否可以implements(实现)interface(接口)? 第三,Static Nested Class 和 Inner Class的不同,说得越多越好(面试题有的很笼统). 第四,&和&&的区别. 这个问得很少. 第五,HashMap和Hashtable的区

【面试】iOS 开发面试题(二)

1. 我们说的oc是动态运行时语言是什么意思? 答案:多态. 主要是将数据类型的确定由编译时,推迟到了运行时. 这个问题其实浅涉及到两个概念,运行时和多态. 简单来说,运行时机制使我们直到运行时才去决定一个对象的类别,以及调用该类别对象指定方法. 多态:不同对象以自己的方式响应相同的消息的能力叫做多态.意思就是假设生物类(life)都用有一个相同的方法-eat; 那人类属于生物,猪也属于生物,都继承了life后,实现各自的eat,但是调用是我们只需调用各自的eat方法. 也就是不同的对象以自己的