单片机习题及答案 - 电源工程师一生的伙伴-电源网.doc

上传人:da****u 文档编号:1181908 上传时间:2018-12-17 格式:DOC 页数:24 大小:173.16KB
下载 相关 举报
单片机习题及答案 - 电源工程师一生的伙伴-电源网.doc_第1页
第1页 / 共24页
单片机习题及答案 - 电源工程师一生的伙伴-电源网.doc_第2页
第2页 / 共24页
单片机习题及答案 - 电源工程师一生的伙伴-电源网.doc_第3页
第3页 / 共24页
单片机习题及答案 - 电源工程师一生的伙伴-电源网.doc_第4页
第4页 / 共24页
单片机习题及答案 - 电源工程师一生的伙伴-电源网.doc_第5页
第5页 / 共24页
点击查看更多>>
资源描述

1、C51 单片机习题及答案第一章1-1 选择1.计算机中最常用的字符信息编码是( A )A ASCII B BCD 码 C 余 3 码 D 循环码2要 MCS-51 系统中,若晶振频率屡 8MHz,一个机器周期等于(A ) sA 1.5 B 3 C 1 D 0.53.MCS-51 的时钟最高频率是 ( A ). A 12MHz B 6 MHz C 8 MHz D 10 MHz4 以下不是构成的控制器部件(D ):A 程序计数器、 B 指令寄存器、 C 指令译码器、 D 存储器5 以下不是构成单片机的部件( D )A 微处理器(CPU) 、B 存储器 C 接口适配器(IO 接口电路) D 打印机6

2、 下列不是单片机总线是( D )A 地址总线 B 控制总线 C 数据总线 D 输出总线7.-49D 的二进制补码为 .( B )A 11101111 B 11101101 C 0001000 D 111011008.十进制 29 的二进制表示为原码( C )A 11100010 B 10101111 C 00011101 D 000011119. 十进制 0.625 转换成二进制数是( A )A 0.101 B 0.111 C 0.110 D 0.10010 选出不是计算机中常作的码制是( D )A 原码 B 反码 C 补码 D ASCII1-2 填空1.计算机中常作的码制有原码、反码和补码2

3、.十进制 29 的二进制表示为 000111013.十进制数-29 的 8 位补码表示为 .111000114.单片微型机 CPU、存储器和 IO 接口三部分组成.5.若不使用 MCS-51 片内存器引脚 EA 必须接地.6.输入输出设备是计算机与外部世界交换信息的载体.7.十进制数-47 用 8 位二进制补码表示为 .110100018.-49D 的二进制补码为 .111011019.计算机中最常用的字符信息编码是 ASCII10计算机中的数称为机器数,它的实际值叫真值。1-3 判断1.我们所说的计算机实质上是计算机的硬件系统与软件系统的总称。 ( )2.MCS-51 上电复位时, SBUF

4、=00H。 ( ) 。 SBUF 不定。3.使用可编程接口必须处始化。 ( ) 。48155 的复位引脚可与 89C51 的复位引脚直接相连。 ( )5MCS-51 是微处理器。 ( )不是。6MCS-51 系统可以没有复位电路。 ( )不可以。复位是单片机的初始化操作。7要 MCS-51 系统中,一个机器周期等于 1.5s。 ( )若晶振频率屡 8MHz,才可能为 1.5s8.计算机中常作的码制有原码、反码和补码( )9.若不使用 MCS-51 片内存器引脚 EA 必须接地. ( )10.十进制数-29 的 8 位补码表示为 .11100010( )1-4 简答1何谓单片机?单片机与一般微型

5、计算机相比,具有哪些特点?答:单片机是在一块集成电路上把 CPU、存储器、定时器/计数器及多种形式的 I/O 接口集成在一起而构成的微型计算机。它与通用微型计算机相比,具有如下特点:(1) 单片机的程序存储器和数据存储器是分工的,前者为 ROM,后者为 RAM;(2) 采用面向控制的指令系统,控制功能强;(3) 多样化的 I/O 接口,多功能的 I/O 引脚;(4) 产品系列齐全,功能扩展性强;(5) 功能是通用的,像一般微处理机那样可广泛地应用在各个方面。2 单片机主要应用在哪些领域?答:单片机的应用范围很广泛,诸如智能化家用电器、仪器仪表、工业控制、计算机外部设备、智能机器人、电信及导航等

6、方面。3 在各种系列的单片机中,片内 ROM 的配置有几种形式?用户应根据什么原则来选用?答:各种类型的单片机片内程序存储器的配置形式主要有以下几种形式:(1) 掩膜(Msak)ROM 型单片机:内部具有工厂掩膜编程的 ROM,ROM 中的程序只能由单片机制造厂家用掩膜工艺固化,用户不能修改 ROM 中的程序。例如:MCS51 系列的 8051。掩膜 ROM 单片机适合于大批量生产的产品。用户可委托芯片生产厂家采用掩膜方法将程序制作在芯片的ROM。(2) EPROM 型单片机:内部具有紫外线可擦除电可编程的只读存储器,用户可以自行将程序写入到芯片内部的 EPROM 中,也可以将 EPROM 中

7、的信息全部擦除。擦去信息的芯片还可以再次写入新的程序,允许反复改写。例如:MCS51 系列的 8751。EPROM 型单片机使用比较方便,但价格较高,适合于研制产品或结构要求简单的小批量产品。(3) 无 ROM 型单片机:内部没有程序存储器,它必须连接程序存储器才能组成完整的应用系统。例如:MCS51 系列的 8031。无 ROM 型单片机价格低廉,用户可根据程序的大小来选择外接程序存储器的容量。这种单片机扩展灵活,但系统结构较复杂。(4) E2ROM 型单片机:内部具有电可擦除叫可编程的程序存储器,使用更为方便。例如:MCS51 的派生型89C51 单片机。(5) OTP(One Time

8、Programmable)ROM 单片机:内部具有一次可编程的程序存储器,用户可以在编程器上将程序写入片内程序存储器中,程序写入后不能再改写。例如:NEC 公司的 PD75P308GF3B9。这种芯片的价格也较低。4控制器的组成和作用答:控制器:由程序计数器、指令寄存器、指令译码器、时序发生器和操作控制器等组成。用来协调指挥计算机系统的操作。5 微型计算机组成答:微型计算机组成由微处理器(CPU) 、存储器、接口适配器(IO 接口电路) 及输入/ 输出设备组成。通过系统总线将它们连接起来,以完成某些特定的运算与控制。6什么叫寻址方式答: 寻址方式:寻址方式就是寻找指令中操作数或操作数所在地址的

9、方式。也就是如何找到存放操作数的地址,把操作数提取出来的方法。7 什么叫堆栈:答:堆栈是在片内 RAM 中专门开辟出来的一个区域,数据的存取是以“后进先出“ 的结构方式处理的。实质上,堆栈就是一个按照“后进先出“ 原则组织的一段内存区域。8什么是汇编语言?什么叫指令周期?答: 汇编:汇编语言源程序在交付计算机执行之前,需要先翻译成目标程序,这个翻译过程叫汇编。指令周期:指执行一条指令所占用的全部时间。通常一个指令周期含 14 个机器周期。9什么是进位和溢出答:两数运算的结果若没有超出字长的表示范围,则由此产生的进位是自然进位;若两数的运算结果超出了字长的表示范围(即结果不合理) ,则称为溢出。

10、例如将正数 3FH 和负数 D0H 相加,其结果不会超出 8 位字长的表示范围,所以其结果 10FH 中的进位是正常进位(也就是模) 。但是,若正数 3FH 与正数 70H 相加,其结果为 AFH,最高位为“1“,成了负数的含义,这就不合理了,这种情况称为溢出。第二章2-1 填空1.微处器由寄存器、控制器和运算器三部分组成.2.当 MCS-51 引脚 ALE 信号有效时,表示从 Po 口稳定地送出了低 8 位地址.3.MCS-51 的堆栈是软件填写堆栈指针临时在_片内数据存储器内开辟的区域.4.MCS-51 中凡字节地址能被_8 整除的特殊功能寄存器均能寻址.5.MCS-51 有 4 组工作寄

11、存器,它们的地址范围是 00H1FH.6.MCS-51 片内 20H2FH 范围内的数据存储器,既可以字节寻址又可以位寻址.7.计算机的系统总线有地址总线、控制总线和数据总线。8.80C51 含 4KB 掩膜 ROM。9.80C51 在物理有 4 个独立的存储空间。10.一个机器周期等于 6 个状态周期,振荡脉冲 2 分频后产生的时钏信号的周期定义为状态 周期。2-2 判断1.我们所说的计算机实质上是计算机的硬件系统与软件系统的总称。 ( )2.MCS-51 的相对转移指令最大负跳距是 127B。 ( )3.MCS-51 的程序存储器只是用来存放程序的。 ( ) 存放程序和表格常数。 4.MC

12、S-51 的时钟最高频率是 18MHz. ( ). 12MHz。5.使用可编程接口必须处始化。 ( ) 。6.当 MCS-51 上电复位时,堆栈指针 SP=00H。 ( ) 。 SP=07H7.MCS-51 外扩 I/O 口与外 RAM 是统一编址的。 ( ) 。8.使用 8751 且 =1 时,仍可外扩 64KB 的程序存储器。 ( )60KB。98155 的复位引脚可与 89C51 的复位引脚直接相连。 ( )10MCS-51 是微处理器。 ( )不是。11MCS-51 的串行接口是全双工的。 ( )12PC 存放的是当前执行的指令。 ( )是将要执行的下一条指令的地址。13MCS-51

13、的特殊功能寄存器分布在 60H80H 地址范围内。 ( )80HFFH。14MCS-51 系统可以没有复位电路。 ( )不可以。复位是单片机的初始化操作。15要 MCS-51 系统中,一个机器周期等于 1.5s。 ( )若晶振频率屡 8MHz,才可能为 1.5s2-3 选择1.要想测理 INT0 引脚上的一个正脉冲宽度,那么特殊功能寄存器 TMOD 的内容应为( B ).(A)09H (B)87 H (C)00H (D)80H2.PSW=18H 时,则当前工作寄存器是( D )(A)0 组 (B)1 组 (C )2 组 (D )3 组3控制串行口工作方式的寄存器是( C )(A)TCON (B

14、)PCON (C)SCON (D)TMOD4.口的每一位能驱动( B )()个低电平负载有 ()个低电平负载()个低电平负载有 ()个低电平负载5.MCS-51 的中断允许触发器内容为 83H,CPU 将响应的中断请求是( B )(A) T1, (B)T0,T1 (C)T1,串行接口 (D) ,T02-4 问答题1 8051 单片机内部包含哪些主要逻辑功能部件?答:8051 单片机是个完整的单片微型计算机。芯片内部包括下列硬件资源:(1) 8 位 CPU;(2) 4KB 的片内程序存储器 ROM。可寻址 64KB 程序存储器和 64KB 外部数据存储器;(3) 128B 内部 RAM;(4)

15、21 个 SFR;(5) 4 个 8 位并行 I/O 口(共 32 位 I/O 线) ;(6) 一个全双工的异步串行口;(7) 两个 16 位定时器/计数器;(8) 5 个中断源,两个中断优先级;(9) 内部时钟发生器。2 EA/VPP 引脚有何功用? 8031 的引脚应如何处理?为什么?答:EA/V PP 是双功能引脚,功能如下:(1) EA 接高电平时,在低 4KB 程序地址空间(0000H0FFFH) ,CPU 执行片内程序存储器的指令,当程序地址超出低 4KB 空间(1000HFFFFH)时,CPU 将自动执行片外程序存储器的指令。(2) EA 接低电平时,CPU 只能执行外部程序存储

16、器的指令。8031 单片机内部无 ROM,必须外接程序存储器。因此,8031 的 EA 引脚必须接低电平。在对 8751 单片机内部的 EPROM 编程时,此引脚 VPP 外接 +12V 电压,用于固化 EPROM 程序。3 8051 单片机存储器的组织结构是怎样的?答:8051 存储器包括程序存储器和数据存储器,从逻辑结构上看,可以分为三个不同的空间:(1) 64KB 的程序存储器地址空间:0000HFFFFH,其中 0000H0FFFH 为片内 4KB 的 ROM 地址空间,1000HFFFFH 为外部 ROM 地址空间;(2) 256B 的内部数据存储器地址空间, 00HFFH,分为两大

17、部分,其中 00H7FH(共 128B 单元)为内部静态RAM 的地址空间,80HFFH 为特殊功能寄存器的地址空间, 21 个特殊功能寄存器离散地分布在这个区域;(3) 64KB 的外部数据存储器地址空间:0000HFFFFH ,包括扩展 I/O 地址空间。4片内数据存储器分为哪几个性质和用途不同的区域?答:8051 内部 128B 的数据 RAM 区,包括有工作寄存器组区、可直接位寻址区和数据缓冲区。各区域的特性如下:(1) 00H1FH 为工作寄存器组区,共分 4 组,每组占用 8 个 RAM 字节单元,每个单元作为一个工作寄存器,每组的 8 个单元分别定义为 8 个工作寄存器 R0R7

18、。当前工作寄存器组的选择是由程序状态字PSW 的 RS1、RS0 两位来确定。如果实际应用中并不需要使用工作寄存器或不需要使用 4 组工作寄存器,不使用的工作寄存器组的区域仍然可作为一般数据缓冲区使用,用直接寻址或用 Ri 的寄存器间接寻址来访问。(2) 20H2FH 为可位寻址区域,这 16 个字节的每一位都有一个地址,编址为 00H7FH。当然,位寻址区也可以用作字节寻址的一般数据缓冲区使用。(3)30H7FH 为堆栈、数据缓冲区。5 单片机有哪几个特殊功能寄存器?各在单片机的哪些功能部件中?答:8051 单片机内部有 21 个特殊功能寄存器,在物理上是分散在片内各功能部件中,在数学上把它

19、们组织在内部数据存储器地址空间 80HFFH 中,以便能使用统一的直接寻址方式来访问。这些特殊功能寄存器颁在以下各个功能部件中:(1) CPU: ACC、B、PSW、SP、DPTR (由 DPL 和 DPH 两个 8 位寄存器组成) ;(2) 中断系统:IP、IE;(3) 定时器/计数器:TMOD 、TCOM 、TL0 、TH0 、TL1、TH1;(4) 并行 I/O 口:P0 、P1、P2、P3;(5) 串行口:SCON、SBUF、PCON。6 PC 是什么寄存器?是否属于特殊功能寄存器?它有什么作用?答:PC 是 16 位程序计数器(Program Counter) ,它不属于特殊功能寄存

20、器范畴,程序员不以像访问特殊功能寄存器那样来访问 PC。PC 是专门用于在 CPU 取指令期间寻址程序存储器。PC 总是保存着下一条要执行的指令的 16位地址。通常程序是顺序执行的,在一般情况下,当取出一个指令(更确切地说为一个指令字节)字节后,PC 自动加 1。如果在执行转移指令、子程序调用/返回指令或中断时,要把转向的地址赋给 PC。7 DPTR 是什么寄存器?它由哪些特殊功能寄存器组成?它的主要作用是什么?答:DPTR 是 16 位数据指针寄存器,它由两个 8 位特殊功能寄存器 DPL(数据指针低 8 位)和 DPH(数据指针高8 位)组成,DPTR 用于保存 16 位地址,作间址寄存器

21、用,可寻址外部数据存储器,也可寻址程序存储器。第三章3-1 选择题1、MOVX A,DPTR 指令中源操作数的寻址方式是(B)(A) 寄存器寻址 (B)寄存器间接寻址 (C )直接寻址 (D )立即寻址2 ORG 0003HLJMP 2000HORG 000BHLJMP 3000H 当 CPU 响应外部中断 0 后,PC 的值是(B)(A) 0003H (B)2000H (C )000BH (D)3000H3 执行 PUSH ACC 指令,MCS-51 完成的操作是(A)(A) SP+1 SP (ACC) (SP) (B) (ACC) (SP )SP-1 SP(B) (C)SP-1 SP (A

22、CC) (SP) (D) (ACC) (SP)SP+1 SP4、 LCALL 指令操作码地址是 2000H,执行完相子程序返回指令后,PC= (D)(C) 2000H (B)2001H (C )2002H (D )2003H5、51 执行完 MOV A,#08H 后,PSW 的一位被置位(D)(A) (A)C (B)F0 (C)OV (D)P6、下面条指令将 MCS-51 的工作寄存器置成 3 区(B)(A)MOV PSW,#13H (B)MOV PSW,#18H(B) SETB PSW.4 CLR PSW.3 (d) SETB PSW.3 CLR PSW.47、执行 MOVX A,DPTR

23、指令时,MCS-51 产生的控制信号是(C )(D) /PSEN (B)ALE (C)/RD (D)/WR8、MOV C,#00H 的寻址方式是(A )(A) 位寻址 (B)直接寻址 (C )立即寻址 (D )寄存器寻址9、ORG 0000HAJMP 0040HORG 0040HMOV SP,#00H 当执行完左边的程序后,PC 的值是(C)(A) 0040H (B)0041H (C )0042H (D )0043H10、对程序存储器的读操作,只能使用(D )(A) MOV 指令 (B)PUSH 指令 (C )MOVX 指令(D )MOVC 指令3-2 判断题。4 MCS-51 的相对转移指令

24、最大负跳距是 127B。 (错)128B5 当 MCS-51 上电复位时,堆栈指针 SP=00H。 (SP=07H) ( 错 )6 调用子程序指令(如:CALL)及返回指令(如:RET)与堆栈有关但与 PC 无关。 (错)子序的转返与 PC也有关(PC 入栈与出栈)7 MOV R1,#80H (对)5、INC DPTR (对)6、CLR R0 (错)指令系统中没有。7、MOV R1,#80H (对)8、ANL R1,#0FH (错)9、ADDC A,C (错)10、XOR P1,#31H (对)3-3 简答题1 简述 MCS-51 汇编语言指令格式。答:MCS-51 汇编语言格式如下:标号:

25、操作码助记符 操作数 1 操作数 2 操作数 3注释标号是用户定义的符号,其值代表这条指令的地址。操作码助记符是指令系统规定的代表特定指令功能的英文缩写符。每条指令都有操作码记符。指令的操作数最多有3 个,也有无操作数的指令。注释字段是用户对程序的说明,便于对程序的阅读和理解。简答2 MCS-51 指令系统主要有哪几种寻址方式?试举例说明。答:MCS-51 指令操作数主要有以下 7 种寻址方式:寻址方式 举例立即寻址 MOV A,#16直接寻址 MOV 20H,P1寄存器寻址 MOV A,R0寄存器间接寻址 MOVX A, DPTR变址寻址 MOVC A, A+DPRT相对寻址 SJMP LO

26、OP位寻址 ANL C,70H3 对访问内部 RAM 和外部 RAM,各应采用哪些寻址方式?答:对内部 RAM 的寻址方式有直接寻址、寄存器间接寻址和可对位寻址的位寻址。对外部 RAM 的寻址方式只能用寄存器 R0/R1(8 位地址)或 DPTR(16 位地址)间接寻址。4 设内部 RAM(30H)=5AH, (5AH)=40H , (40H)=00H,端口 P1=7FH,问执行下列指令后,各有关存储单元(即 R0,R1,A,B,P1,30H ,40H 及 5AH 单元)的内容如何?MOV R0,#30H ;R0=30HMOV A,R0 ;A=5AHMOV R1,A ;R1=5AHMOV B,

27、R1 ;B=5AHMOV R1,P1 ;(5AH)=7FHMOV A,P1 ;A=7FHMOV 40H,#20H ;(40H)=20HMOV 30H,40H ;(30H)=20H解:每一条指令执行后的结果如注释字段所标。最后结果为:R0=30H,R1=5AH,A=7FH,B=5AH,P1=7FH, (30H)=20H, (40H)=20H, (5AH)=7FH。5 SJMP(短转移)指令和 AJMP(绝对转移)指令的主要区别。前者提供了以 SJMP 的下一条指令的起始地址为中心的 256 字节范围的转移(-128+127) ,后者的转移目标地址必须在与 AJMP 的下一条指令的第一字节相同的

28、2KB 区的程序储存器中。短转移方便了可重定位编码。SJMP方便了 PC 可重定位编码,但转移范围小。而 ASJMP 转移范围大,但存在跳区的限制, AJMP 指令只能位于 2KB区的最后 2 个字节处时,才可跳到下一个区去。因此用 AJMP 指令来代替 SJMP 指令是有条件的,也就是目标地址必须与它下面的指令存放地址在同一个 2KB 区域内。3-4 编程题1 编程将片内 RAM30H 单元开始的B 的数据传送到片外 RAM3000H 开始的单元中去。解:STRAT:MOV R0,#30HMOV R7,#0FHMOV DPTR,#3000HLOOP: MOV A,R0MOVX DPTR,AI

29、NC R0INC DPTRDJNZ R7,LOOPRET2 片内 RAM30H 开始的单元中有 10B 的二进制数,请编程求它们之和(和256 ) 解 ADDIO:MOV R0,30HMOV R7,#9MOV A,R0LOOP: INC R0ADD A,R0DJNZ R7,LOOPMOV 30H,ARET3 编一个程序,将累加器中的一个字符从串行接口发送出去解 SOUT:MOV SCON,#40H ;设置串行接口为工作方式MOV TMOD,#20H ;定时器 T1 工作于模式MOV TL1,#0E8H; ;设置波特率为 1200b/sMOV TH1,#0E8HSETB TR1MOV SBUF,

30、AJNB T1,$CLB T1RET4 用查表法编一子程序,将 R3 中的 BCD 码转换成 ASCII 码.解 MAIN: MOV A,R3 ;待转换的数送 AMOV DPTR,#TAR ;表首地址送 DPTRMOVC A,A+DPTR ;查 ASCII 码表MOV R3,A ;查表结果送 R3RETTAR DB 30H,31H,32H,33H,34HDB 35H,36H,37H,38H,39H5 片内 RAM40H 开始的单元内有 10B 二进制数,编程找出其中最大值并存于 50H 单元中解 START: MOV R0,#40H ;数据块首地址送 R0MOV R7,#09H ;比较次数送M

31、OV A,R0 ;取数送LOOP: INC R0 MOV 30H,R0 ;取数送HCJNE A,30H,NEHT ;(A)与(30H)相比NEXT: JNC BIE1 (A)(30H)转 BIR1MOV A,30H ;(A)(30H),大数送 ABIE1: DJNZ R7,LOOP ;比较次数减 1,不为 0,继续比较MOV 50H,A ;比较结束,大数送 50HRET 6 编一子程序,从串行接口接受一个字符解: START: MOV TMOD,#20H ;定时器 T1 工作于模式 2MOV TH1,#0E8H ;设置波特率为 1 200b/sMOV TL1,#0E8H SETB TR1 ;启

32、动 T1MOV SCON,#50H ;串行接口工作于方式 1,充许接收L1: JNB RI,L1 ;等待接收数据,末接收到数据,继续等待 CLR RI ;接收到数据,清 RIMOV A,SBUF ;接收到数据送 ARET7 利用调子程序的方法,进行两个无符号数相加。请编主程序及子程序。解 用 R0 和 R1 作数据指针, R0 指向第一个加数,并兼作“和”的指针,指向另一个加数,字节存放到中作计数初值。主程序:JAFA: MOV R0,#20H ;指向加数最低字节MOV R1,#29H ;指向另一加数最低字节MOV R2,#04H ;字节数作计数值ACALL JASUB ;调用加法子程序AJM

33、P $RTE多字节加法子程序:JASUB: CLR CJASUB1: MOV A,R0 ;取出加数的一个字节(无符号数加数)ADDC A,R1 ;加上另一数的一个字节 MOV R0,A ;保存和数INC R0 ;指向加数的高位INC R1 ;指向另一加数的高位DJNZ R2,JASUB1 ;全部加完了吗?RET8 若图数据块是有符号数,求正数个数,编程并注释。解 ORG 0030HSTART: MOV 20H,#00H ;计正数个数计数器MOV DPTR,#0000H ;MOVX A,DPTR ;数据块长度 10HMOV 10H,A INC DPTR ;DPTR 指向第一个数的地址TWO: MOVX A,DPTR ;取数AJB ACC.7,ONE ;是负数转 ONE,准备取下一个数INC 20H ;是正数,正数计数器加ONE: INC DPTR ;地址指针加DJNZ 10H,TW ;数据块长度减不等于,继续寻找RET

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育教学资料库 > 课件讲义

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。