微控制器测试题及答案

C51单片机习题及答案第一章1-1选择1.计算机中最常用的字符信息编码是( A )A ASCII B BCD码 C 余3码 D 循环码2.要MCS-51系统中,

第一章

1-1选择

1、计算机中最常用的字符信息编码是(A)

A ASCII B BCD 码C 余数码D 循环码

2、在MCS-51系统中,如果晶振频率为8MHz,一个机器周期等于(A)s

A 1.5 B 3 C 1 D 0.5

3.MCS-51的最高时钟频率为(A)。

A 12MHz B 6MHz C 8MHz D 10MHz

4. 以下不是控制器(D) 的组件:

A 程序计数器、B 指令寄存器、C 指令译码器、D 存储器

5.以下不属于构成微控制器的元件(D)

A 微处理器(CPU) B 存储器C 接口适配器(IO 接口电路) D 打印机

6.以下不是单片机总线(D)

A 地址总线B 控制总线C 数据总线D 输出总线

7. -49D 的补码是。(B)

A 11101111 B 11101101 C 0001000 D 11101100

8、十进制29的二进制表示就是原码(C)

A 11100010 B 10101111 C 00011101 D 00001111

9、十进制数0.625转换成二进制数为(A)

A 0.101 B 0.111 C 0.110 D 0.100

10 选择计算机中不常用的编码系统(D)

A 原码B 补码C 补码D ASCII

1-2 填空

1、计算机常用的编码系统有原码、反码和补码。

2、十进制29的二进制表示为00011101

3、十进制数-29的8位补码表示为.11100011

4、由单片机CPU、存储器和I\\O接口三部分组成。

5. 如果不使用MCS-51 芯片存储器,则引脚EA 必须接地。

6、输入输出设备是计算机与外界交换信息的载体。

7、十进制数-47用8位二进制补码表示为.11010001

8. -49D 的补码是.11101101

9、计算机中最常用的字符信息编码是ASCII

10、计算机中的数字称为机器数,它们的实际值称为真值。

1-3判断

1、我们所说的计算机本质上是计算机硬件系统和软件系统的总称。 ()

2. MCS-51 上电复位时,SBUF=00H。 ()。 SBUF 是可变的。

3. 可编程接口必须初始化。 ()。

4、8155的复位引脚可以直接连接到89C51的复位引脚。 ()

5. MCS-51是微处理器。 () 号

6. MCS-51系统无需复位电路即可使用。 () 否。复位是单片机的初始化操作。

7. 在MCS-51系统中,一个机器周期等于1.5s。 ()如果晶振频率为8MHz,则可以为1.5s

8、计算机常用的编码系统有原码、反码和补码()

9. 如果不使用MCS-51 存储芯片,则引脚EA 必须接地。 ()

10、十进制数-29的8位补码表示为.11100010()

1-4简答

1什么是微控制器?微控制器与通用微型计算机相比有哪些特点?

答:微控制器是将CPU、存储器、定时器/计数器以及各种形式的I/O接口集成在一块集成电路上的微型计算机。与通用微型计算机相比,它具有以下特点:

(1)单片机的程序存储器和数据存储器分为两部分:前者为ROM,后者为RAM;

(2)采用控制型指挥系统,控制功能强;

(3)多样化的I/O接口和多功能I/O引脚;

(4)产品系列齐全,功能扩展性强;

(5)功能通用,可以像通用微处理器一样广泛应用于各个方面。

2 微控制器主要应用在哪些领域?

答:微控制器的应用领域非常广泛,如智能家电、仪器仪表、工业控制、计算机周边、智能机器人、电信导航等。

3 各系列单片机中,片内ROM配置有几种形式?用户选择时应遵循哪些原则?

答:各类单片机片上程序存储器的配置形式主要有以下几种形式:

(1) (Msak) ROM型微控制器:内部有工厂编程的ROM。 ROM中的程序只能由微控制器制造商利用技术来固化。用户不能修改ROM中的程序。例如:MCS-51系列的8051。

ROM微控制器适合大批量生产的产品。用户可以委托芯片制造商使用该方法在芯片的ROM中创建程序。

(2)EPROM型微控制器:其内部具有紫外线可擦除电可编程只读存储器。用户可以将程序写入芯片内部的EPROM中,或者擦除EPROM中的所有信息。信息被擦除的芯片还可以用新的程序重新写入,从而可以重复重写。例如:MCS-51系列的8751。

EPROM型单片机使用比较方便,但价格较高。适合开发结构要求简单的产品或小批量产品。

(3)无ROM微控制器:内部没有程序存储器,必须与程序存储器连接才能构成完整的应用系统。例如:MCS-51系列的8031。

无ROM微控制器价格便宜,用户可以根据程序的大小选择外部程序存储器的容量。这种单片机扩展灵活,但系统结构复杂。

(4)E2ROM型单片机:内部具有电可擦可编程程序存储器,使用更方便。例如:89C51单片机,MCS-51的衍生产品。

(5)OTP(One Time Programmable)ROM微控制器:内部具有一次性可编程程序存储器。用户可以将程序写入编程器上的片内程序存储器中。程序编写完成后,就不能再重写。例如:NEC的PD75P308GF-3B9。这些芯片也更便宜。

4、控制器的组成及功能

答:控制器:由程序计数器、指令寄存器、指令译码器、时序发生器和运算控制器组成。用于协调和指导计算机系统的操作。

5、微机组成

答:微型计算机由微处理器(CPU)、存储器、接口适配器(IO接口电路)和输入/输出设备组成。它们通过系统总线连接起来,完成某些特定的操作和控制。

6、什么是寻址方式?

答:寻址方式:寻址方式是在指令中查找操作数或操作数地址的方式。即如何找到操作数存放的地址以及如何提取操作数。

7.什么是栈:

答:堆栈是片内RAM中专门开辟的区域,数据访问采用“后进先出”的结构。本质上,堆栈是按照“后进先出”原则组织的内存区域。

8.什么是汇编语言?什么是指令周期?

答:汇编:汇编语言源程序在交付给计算机执行之前,需要翻译成目标程序。这个翻译过程称为汇编。

指令周期:指执行一条指令所花费的总时间。通常一个指令周期包含1到4个机器周期。

9. 什么是进位和溢出

答:如果二数运算的结果不超过字长的表示范围,则结果进位为自然进位;如果二数运算的结果超出了字长的表示范围(即结果不合理),则称为溢出。例如,正数3FH与负数D0H相加,结果不会超出8位字长的表示范围,因此结果10FH中的进位为普通进位(即取模)。但是,如果将正数3FH 与正数70H 相加,结果为AFH,最高位为“1”,即变为负数。这是不合理的。这种情况称为溢出。

第2章

2-1 填空

1微处理器由三部分组成:寄存器、控制器和运算器。

2. 当MCS-51 引脚ALE 信号有效时,表示低8 位地址已稳定地从Po 口发送。

3. MCS-51 的堆栈是通过软件填充堆栈指针而在片内数据存储器中临时开辟的区域。

4. MCS-51 中所有字节地址可被_8 整除的特殊功能寄存器均可寻址。

5.MCS-51有4组工作寄存器,地址范围为00H~1FH。

6、MCS-51芯片内20H~2FH范围内的数据存储器既可以按字节寻址,也可以按位寻址。

7、计算机系统总线包括地址总线、控制总线和数据总线。

8.80C51包含4KB ROM。

9.80C51物理上有4个独立的存储空间。

10. 1个机器周期等于6个状态周期。将振荡脉冲除以2后产生的时钟信号的周期定义为状态周期。

2-2 判断

1、我们所说的计算机本质上是计算机硬件系统和软件系统的总称。 ()

2、MCS-51 相对传送指令最大负跳转距离为127B。 ( )

3. MCS-51 的程序存储器仅用于存储程序。 () 存储程序和表常量。

4.MCS-51的最大时钟频率为18MHz。 ()。 12兆赫。

5. 必须对可编程接口进行初始化。 ()。

6. MCS-51 上电复位时,堆栈指针SP=00H。 ()。 SP=07H

7.MCS-51外部扩展I/O口和外部RAM统一编址。 ()。

8、使用8751且=1时,仍可外部扩展64KB程序存储器。 ()60KB。

9、8155的复位引脚可以直接连接到89C51的复位引脚。 ()

10. MCS-51是微处理器。 () 号

11. MCS-51 的串行接口是全双工的。 ()

12、PC存储当前执行的指令。 ()是下一条要执行的指令的地址。

13 MCS-51的特殊功能寄存器分布在60H~80H地址范围内。 ()80H~FFH。

14. MCS-51系统无需复位电路即可使用。 () 否。复位是单片机的初始化操作。

15. 在MCS-51系统中,一个机器周期等于1.5s。 ()如果晶振频率为8MHz,则可以为1.5s

2-3个选择

1. 要测量INT0 引脚上的正脉冲宽度,特殊功能寄存器TMOD 的内容应为(B)。

(A)09H (B)87H (C)00H (D)80H

2、当PSW=18H时,当前工作寄存器为(D)

(A) 第0 组(B) 第1 组(C) 第2 组(D) 第3 组

3、控制串口工作模式的寄存器为(C)

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

4. P1口每一位均可驱动(B)

(A) 2 个TTL 低电平负载(B) 4 个TTL 低电平负载

(C) 8 个TTL 低电平负载(D) 10 个TTL 低电平负载

5、MCS-51的中断使能触发内容为83H,CPU将响应的中断请求为(B)

(A) T1,(B)T0,T1 (C)T1,串行接口(D),T0

2-4 问题与解答

1 8051单片机包含哪些主要逻辑功能组件?

答:8051单片机是一个完整的单片机。该芯片包含以下硬件资源:

(1)8位CPU;

(2) 4KB片内程序存储器ROM。可寻址64KB程序存储器和64KB外部数据存储器;

(3) 128B内部RAM;

(4) 21 个SFR;

(5)4个8位并行I/O口(共32位I/O线);

(6) 一个全双工异步串口;

(7) 两个16位定时器/计数器;

(8)5个中断源,2个中断优先级;

(9) 内部时钟发生器。

2 EA/VPP 引脚的功能是什么? 8031的引脚应该如何处理?为什么?

答:EA/VPP是双功能引脚,具有以下功能:

(1)

当EA接高电平时,在低4KB程序地址空间(0000H~0FFFH)中,CPU执行片内程序存储器的指令。当程序地址超过低4KB空间(1000H~FFFFH)时,CPU将自动执行片外程序存储器的指令。操作说明。

(2)

当EA接低电平时,CPU只能执行外部程序存储器中的指令。

8031微控制器没有内部ROM,必须有外部程序存储器。因此8031的EA引脚必须接低电平。

当对8751单片机内部的EPROM进行编程时,该引脚VPP连接外部+12V电压,用于固化EPROM程序。

3、8051单片机存储器的组织结构是怎样的?

答:8051存储器包括程序存储器和数据存储器。从逻辑结构上看,可以分为三个不同的空间:

(1) 64KB程序存储器地址空间:0000H~FFFFH,其中0000H~0FFFH为片内4KB ROM地址空间,1000H~FFFFH为外部ROM地址空间;

(2)256B内部数据存储器地址空间00H~FFH分为两部分,其中00H~7FH(共128B单元)是内部静态RAM的地址空间,80H~FFH是地址特殊功能寄存器空间,21个特殊功能寄存器离散分布在该区域;

(3) 64KB外部数据存储器地址空间:0000H~FFFFH,包括扩展I/O地址空间。

4. 片内数据存储器有哪些不同特性和用途的区域?

答:8051内部的128B数据RAM区包括工作寄存器组区、直接位寻址区和数据缓冲区。各区域的特点如下:

(1) 00H~1FH 为工作寄存器组区,分为4 组。每组占用8个RAM字节单元。每个单元都用作工作寄存器。每组8个单元分别定义为8个工作寄存器R0R7。当前工作寄存器组的选择由程序状态字PSW的RS1和RS0位决定。如果实际应用不需要使用工作寄存器或者不需要使用4组工作寄存器,则未使用的工作寄存器组的区域仍然可以作为通用数据缓冲区,可以通过直接寻址或使用Ri 进行寄存器间接寻址。

(2) 20H~2FH 为位寻址区域。这16个字节的每一位都有一个地址,地址为00H~7FH。

当然,位寻址区域也可以用作字节寻址的通用数据缓冲区。

(3) 30H~7FH 为堆栈和数据缓冲区。

5、单片机有哪些特殊功能寄存器?它们分别位于微控制器的哪些功能部件中?

答:8051单片机内部有21个特殊功能寄存器。它们在物理上分散在芯片上的功能组件中。从数学上讲,它们被组织在内部数据存储器地址空间80H~FFH中,以便可以使用统一的直接寻址。访问方式。这些特殊功能寄存器位于以下功能组件中:

(1)CPU:ACC、B、PSW、SP、DPTR(由两个8位寄存器DPL和DPH组成);

(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)。它不属于特殊功能寄存器的范畴。程序员不像特殊功能寄存器那样访问PC。 PC专门用于在CPU取指令期间对程序存储器进行寻址。 PC 始终保存下一条要执行的指令的16 位地址。通常程序是按顺序执行的。一般情况下,当取指令(更准确地说是指令字节)字节时,PC自动加1。如果执行传输指令、子程序调用/返回指令或中断,则必须将重定向地址分配给个人电脑。

7 DPTR 是什么寄存器?它由哪些特殊功能寄存器组成?它的主要作用是什么?

答:DPTR是一个16位数据指针寄存器。它由两个8位特殊功能寄存器DPL(数据指针低8位)和DPH(数据指针高8位)组成。 DPTR用于保存16位地址,用作间接地址寄存器。用于寻址外部数据存储器和程序存储器。

第三章

3-1多项选择题

1、MOVX A、@DPTR指令中源操作数的寻址方式为(B)

(A) 寄存器寻址(B) 寄存器间接寻址(C) 直接寻址(D) 立即数寻址

1组织0003H

力杰MP 2000H

组织000BH

LJMP 3000H 当CPU响应外部中断0时,PC的值为(B)

(A) 0003H (B) 2000H (C) 000BH (D) 3000H

2、执行PUSH ACC指令,MCS-51完成的操作为(A)

(一个)

SP+1 SP (ACC) (SP) (B) (ACC) (SP) SP-1 SP

(二)

(C) SP-1 SP (ACC) (SP) (D) (ACC) (SP) SP+1 SP

4. LCALL 指令的操作码地址为2000H。执行阶段子程序并返回指令后,PC=(D)

(C) 2000H (B) 2001H (C) 2002H (D) 2003H

5. 51 执行MOV A,#08H 后,PSW 的一位被置位(D)

(A) (A) C (B) F0 (C) OV (D) P

6. 以下指令将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.4

7、执行MOVX A、@DPTR指令时,MCS-51产生的控制信号为(C)

(D) /PSEN (B)ALE (C)/RD (D)/WR

8. MOV C,#00H 的寻址方式为(A)

(A) 位寻址(B) 直接寻址(C) 立即数寻址(D) 寄存器寻址

9. 组织0000H

AJMP 0040H

组织0040H

MOV SP, #00H 执行左边的程序后,PC 的值为(C)

(A) 0040H (B) 0041H (C) 0042H (D) 0043H

10. 只有(D)可用于读取程序存储器。

(A) MOV 指令(B) PUSH 指令(C) MOVX 指令(D) MOVC 指令

3-2 对或错问题。

3、MCS-51相对传送指令最大负跳转距离为127B。 (错)128B

4. 当MCS-51 上电复位时,堆栈指针SP=00H。 (SP=07H)(错误)

5. 调用子程序指令(如CALL)和返回指令(如RET)与堆栈有关,但与PC 无关。 (错误)子序列返回也和PC有关(PC的push和pop)

6. MOV @R1,#80H(右)

5.INC DPTR(右)

6.命令系统中不存在CLR R0(错误)。

7. MOV @R1,#80H(右)

8. ANL R1,#0FH(错误)

9. ADDC A,C(错误)

10. 异或P1,#31H(右)

3-3道简答题

1 简述MCS-51汇编语言指令格式。

答:MCS-51汇编语言格式如下:

[标签:] 操作码助记符[操作数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 循环

位寻址ANL C,70H

3. 访问内部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=30H

MOV A,@R0 ;A=5AH

MOV R1,A ;R1=5AH

MOV B,R1 ;B=5AH

MOV @R1,P1 ;(5AH)=7FH

MOV A,P1 ;A=7FH

MOV 40H,#20H ;(40H)=20H

MOV 30H,40H ;(30H)=20H

解决办法:每条指令执行后的结果如注释栏所示。最终结果为:R0=30H、R1=5AH、A=7FH、B=5AH、P1=7FH、(30H)=20H、(40H)=20H、(5AH)=7FH。

5 SJMP(短跳转)指令与AJMP(绝对跳转)指令的主要区别。

前者提供以SJMP下一条指令的起始地址(-128 ~ +127)为中心的256字节范围内的传输。后者的传输目标地址必须与AJMP下一条指令的第一个字节相同。程序存储器2KB区域。短传输有利于可重定位编码。 SJMP有利于PC可重定位编码,但传输范围较小。 ASJMP转移范围较大,但区域跳跃有限制。 AJMP指令只有位于2KB区域的最后2个字节时才能跳转到下一个区域。因此,用AJMP指令替代SJMP指令是有条件的,即目标地址必须与其下面的指令存储地址在同一2KB区域内。

3-4 编程问题

1 将从片内RAM单元30H开始的15B数据传送到从片外RAM单元3000H开始的单元的程序。

解决方案: STRAT:MOV R0,#30H

MOV R7,#0FH

MOV DPTR,#3000H

循环:MOV A,@R0

MOVX @DPTR,A

INC R0

INC DPTR

DJNZ R7,循环

视网膜色素变性

2 片内RAM单元从30H开始有10B个二进制数。请编程找出它们的总和(总和

ACALL JASUB ;调用加法子程序

AJMP$

即时通讯

多字节加法子程序:

JASUB: CLR C

JASUB1: MOV A,@R0;取出一个字节的加数(4B无符号加数)

阿迪达克A

,@R1 ;加上另一数的一个字节 

    MOV @R0,A ;保存和数

    INC R0 ;指向加数的高位

    INC R1 ;指向另一加数的高位

    DJNZ R2,JASUB1 ;全部加完了吗?

    RET

8 若图数据块是有符号数,求正数个数,编程并注释。

解 ORG 0030H

START: MOV 20H,#00H ;计正数个数计数器

       MOV DPTR,#0000H ;

MOVX A,@DPTR ;数据块长度→10H

MOV 10H,A

INC DPTR ;DPTR指向第一个数的地址

   TWO: MOVX A,@DPTR ;取数→A

JB ACC.7,ONE ;是负数转ONE,准备取下一个数

INC 20H ;是正数,正数计数器加1

   ONE: INC DPTR ;地址指针加1

      DJNZ 10H,TW ;数据块长度减1不等于0,继续寻找

       RET

9 编制一个循环闪烁灯的程序。有8个发光二极管,每次其中某个灯闪烁点亮10次后,转到下一个闪烁10次,循环不止。画出电路图。

P1.0

8013

P1.7

D0 Q0

74LS240

D7 Q7

本程序的硬件连接如图所示。当P1.0输出高电平时,LED灯亮,否则不亮。

其程序如下:

MOV A,#01H ;灯亮初值

SHIFT: LCAIL FLASH ;调闪亮10次子程序

RR A ;右移一位

SJMP SHIFT ;循环

FLASH: MOV R2,#0AH 闪烁10次计数

FLASH1; MOV P1,A ;点亮

LCALL DELAY ;延时

MOV P1,#00H ;熄灭

LCALL DELAY ;延时

DJNZ R2,FLASH1 ;循环

RET

第四章

4-1填空

1.MCS-51的Po口作为输出端口时,每位能驱动 8 个SL型TTL负载.

2.MCS-51有 4个并行I\\O口,其中P0~P3是准双向口,所以由输出转输入时必须先写入\”1\”

3.设计8031系统时,_P0、P2 口不能用作一般I\\O口.

4.MCS-51串行接口有4种工作方式,这可在初始化程序中用软件填写特殊功能寄存器__SCON _加以选择.

5.当使用慢速外设时,最佳的传输方式是 中 断 .

6.当定时器To工作在方式3 时,要占定时器T1的TR1和TF1_两个控制位.

7.MCS-51有 5 个中断源,有2 个中断优先级,优先级由软件填写特殊功能寄存器 IP 加以选择..

8.用串口扩并口时,串行接口工作方式应选为方式 0 .

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

10.外部中断 入口地址为_ 0013H

4-2判断

1.MCS-51的5个中断源优先级相同。 ( × )

2.要进行多机通信,MCS-51串行接口的工作方式应为方式1。 ( × )

3.MCS-51上电复位时,SBUF=00H。 ( × )。

4.MCS-51有3个中断源,优先级由软件填写特殊功能寄存器IP加以选择.. ( × )

5.用串口扩并口时,串行接口工作方式应选为方式1. ( × )

6.外部中断INTO 入口地址为_0013H( × )

7.MCS-51外部中断0的入口地址是0003H。 (√ ).

8.TMOD中的GATE=1时,表示由两个信号控制定时器的启停。 ( √ )。

9.使用8751且 =1时,仍可外扩64KB的程序存储器。( × )

10.PC存放的是当前执行的指令。( × )

微控制器测试题及答案

11.MCS-51的特殊功能寄存器分布在60H~80H地址范围内。(× )

12.MCS-51有4个并行I\\O口,其中P0~P3是准双向口,所以由输出转输入时必须先写入\”0\”( × )

4-3选择

1.在中断服务程序中,至少应有一条( D )

(A)传送指令(B)转移指令(C)加法指法(D)中断返回指令

2.要使MCS-51能够响应定时器T1中断、串行接口中断,它的中断允许寄存器IE的内容应是( A )

(A)98H (B)84H (C)42 (D)22H

3.D MCS-51在响应中断时,下列哪种操作不会发生( D ).

(A)保护现场 (B)保护PC (C)找到中断入口 (D)保护PC转入中断入口

4.用MCS-51串行接口扩展并行I\\O口时,串行接口工作方式应选择( C )

(A)方式0 (B)方式1 (C)方式2 (D)方式3

5.MCS-51有中断源( A )

(A)5个   (B)2个   (C)3个   (D)6个

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

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

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

7.使用定时器T1时,有几种工作模式( C )

(A)1种   (B)2种   (C)3种     (D)4种

8.计算机在使用中断方式与外界交换信息时,保护现场的工作方式应该是 ( B )

(A)由CPU自动完成 (B)在中断响应中完成

(C)应由中断服务程序完成 (D)在主程序中完成

9.下面哪一种传送方式适用于处理外部事件( C )

(A)DMA (B)无条件传递进 (C)中断 (D)条件传递

1、2、4章的编程

1. 8225A控制字地址为300FH,请按:A口方式0输入,B口方式1输出,C口高位输出,C口低位输入,确定8225A控制字并编初始化程序.

解:控制字为 10010101=95H

初始化程序:MOV DPTR ,#300FH

MOV A, #95H

MOVX @DPTR, A

2. 编定一个软件延时1S和1min的子程序.设fosc=6Hz,则一个机器周期1μs。

解:(1)1S=2US*5*100000

5*100000=250*200*10

(2) ORG 1000H

TIME: MOV R7, #10

T3: MOV R6, #200

T2: MOV R6, #250

T1: DJNZ R5, T1

DJNZ R6, T2

DJNZ R7, T3

RET

(2)1min=60,调用上面1s子程序60次

ORG 0030H

MOV R0, #60

LOOP: LCALL TIME

DJNZ R0, LOOP

RET

3. 请编制串行通信的数据发送程序,发送片内RAM50H~5FH的16B数据,串行接口设定为方式2,采用偶校验方式。设晶振频率为6MHz。

解:查询方式发送程序如下

MOV SCON, #8OH

M OV PCON, #80H

MOV R0, #50H

MOV R7, #16H

LOOP: MOV A,@R0

MOV C, P

MOV TB8, C

MOV SBUF, A

JNB T1, $

CLR T1

INC R0

DJNZ R7, LOOP

RET

4.应用单片机内部定时器T0工作在方式1下,从P1.0输出周期为2ms的方波脉冲信号,已知单片机的晶振频率为6MHZ。

请(1)计算时间常数X,应用公式X=216-t(f/12)

(2)写出程序清单

解:X=216-t(F/12)

=216-1*10-3*6*106/12

=OFEOCH

ORG 3000H

START: MOV TMOD, #01H

MOV TL0, #OCH

MOV THO, #OFEH

SETB TR0

LOOP: JBC TFO, DONE

SJMP LOOP

DONE: MOV TL0, #OCH

MOV THO, #OFEH

CPL P1.0

SJMP LOOP

5.应用单片机内部定时器T0工作在方式1下,从P1.0输出周期为1ms的方波脉冲信号,已知单片机的晶振频率为6MHZ。

请(1)计算时间常数X,应用公式X=216-t(f/12)

(2)写出程序清单

解:解:X=216-t(F/12)

=216-0.5*10-3*6*106/12

=FF06H

ORG 3000H

START: MOV TMOD, #01H

MOV TL0, #06H

MOV THO, #FFH

SETB TR0

LOOP: JBC TFO, DONE

SJMP LOOP

DONE: MOV TL0, #06H

MOV THO, #FFH

CPL P1.0

SJMP LOOP

6、 用89C51的P1口,监测某一按键开关,使每按键一次,输出一个正脉冲(脉宽随意)。编出汇编语言程序。

解: ORG 0100H

ABC: SETB P1.0

SETB P1.7

JB PI.7, $

JNB P1.7, $

CLR P1.0

MOV R2, #0

DAY: NOP

NOP

DJNZ R2, DAY

SJMP ABC

7、设计一个4位数码显示电路,并用汇编语言编程使\”8\”从右到左显示一遍。

解: ORG 0100H

MOV A, #08H

MOV R2, #01H

MOV DPTR, #TAB

MOVC A,@A+DPTR

MOV P1, A

NEXT: MOV A, R2

MOV P3, A

ACALL DAY

JB ACC.4, LPD

RL A

MOV R2, A

AJMP NEXT

LPD: RET

TAB: DB

8. 编制一个循环闪烁的程序。有8个发光二极管,每次其中某个灯闪烁点亮10次后,转到下一个闪烁10次,循环不止。画出电路图。

解: MOV A,#01H

SHIFT: LCALL FLASH

RR

SJMP SHIFT

FLAH: MOV R2, #0AH

FLAH1: MOV P1, A

LCALL DELAY

MOV P, #00H

LCALL DELAY

DJNZ R2, FLASH1

RET

9.在8051单片机的INTO引脚外接脉冲信号,要求每送来一个脉冲,把30H单元值加1,若30H单元记满则进位31H单元。试利用中断结构,编制一个脉冲计数程序。

解: ORG 0000H

AJMP MAIN

ORG 0003H

AJMP SUBG

MAIN: MOV A, #OOH

MOV 30H, A

MOV 31H, A

MOV SP, #70H

SETB INT0

SETB EA

SETB EX0

AJMP $

ORG 0200H

SUBG: PUSH ACC

INC 30H

MOV A, 30H

JNZ BACK

INC 31H

BACK: POP

RET1

10.利用89C51的P1口控制8个发光俄二极管LED。相邻的4个LED为一组,使2组每隔0。5S 交替发亮一次,周尔复始。试编写程序。

解: ORG 0100H

MOV A, #0FH

ABC: MOV P1, A

ACALL D05

SWAP A

SJMP ABC

D05: MOV R6, 250

DY: MOV R7, 250

DAY: NOP

NOP

DJNZ R6, DAY

DJNZ R7, DAY

RET

11.设计89C51和ADC0809的接口,采集2通道10个数据,存入内部RAM的50H~59H单元,画出电路图,编出:

(1)延时方式;

(2)查询方式;

(3)中断方式中的一种程序。

解:IN2的地址为7FFAH,P1.0查询转换结束信号,查询程序如下:

ORG 0100H

MOV R7, #0AH

MOV R0, #50H

MOV DPTR, #7FFAH

NEXT: MOVX @DPTR, A

JB P1.0, $

MOVX A,@DPTR

MOV @R0, A

INC R0

DJNZ NEXT

SJMP $

第五章

5-1选择题

1、6264芯片是(B)

(A) EEPROM (B)RAM(C)FLASH ROM (D)EPROM

2、用MCS-51用串行扩展并行I/O口时,串行接口工作方式选择(A)

微控制器测试题及答案

(A) 方式0 (B)方式1 (C)方式2 (D)方式3

3、使用8255可以扩展出的I/O口线是(B)

(A) 16根 (B)24根 (C)22根 (D)32根

4、当8031外出扩程序存储器8KB时,需使用EPROM 2716(C)

(A) 2片 (B)3片 (C)4片 (D)5片

5、某种存储器芯片是8KB*4/片,那么它的地址线根线是(C)

(A) 11根 (B)12根 (C)13根 (D)14根

6、MCS-51外扩ROM,RAM和I/O口时,它的数据总线是(A)

(A) P0 (B)P1 (C)P2 (D)P3

7、当使用快速外部设备时,最好使用的输入/输出方式是(C)

(A)中断 (B)条件传送 (C)DMA (D)无条件传送

8、MCS-51的中断源全部编程为同级时,优先级最高的是(D)

(A) INT1 (B)TI (C)串行接口 (D)INT0

9、MCS-51的并行I/O口信息有两种读取方法:一种是读引脚,还有一种是(A)

(A)读锁存器具 (B)读数据库 (C)读A累加器具 (D)读CPU

10、MCS-51的并行I/O口读-改-写操作,是针对该口的(D)

(A)引脚 (B)片选信号 (C)地址线 (D)内部锁存器

5-2判断题1、MCS-51外扩I/O口与外RAM是统一编址的。(对)

2、使用8751且EA=1时,仍可外扩64KB的程序存储器。(错)60KB

3、8155的复位引脚可与89C51的复位引脚直接相连。(对)

4、片内RAM与外部设备统一编址时,需要专门的输入/输出指令。(错)统一编址的

特点正是无需专门的输入输出指令。

5、8031片内有程序存储器和数据存储器。(错)无程序存储器

6、EPROM的地址线为11条时,能访问的存储空间有4K。(错)2K.

7、8255A内部有3个8位并行口,即A口,B口,C口。(对)

8、8155芯片内具有256B的静态RAM,2个8位和1个6位的可编程并行I/O口,1个14位定时期等常用部件及地址锁存器。(对)

9、在单片机应用系统中,外部设备与外部数据存储器传送数据时,使用MOV指令。(错)用MOVX指令。

10、为了消除按键的抖动,常用的方法有硬件和软件两种方法。(对)

5-3简答题

1 8031的扩展储存器系统中,为什么P0口要接一个8位锁存器,而P2口却不接?

答:这是因为P0口是扩展储存器系统的多路低8位地址和数据总线,在访问外部存储器时,P0口分时用作输出外部储存器低8位地址和传送数据,为了在整个访问外部存储器期间,对外部存储器存在着有效的低8位地址信号,所以P0口需要外接一个地址锁存器。ALE信号就是用来把P0口输出的地址字节锁存在这个外接的锁存器中,再从锁存器输出外部存储器的低8位地址。而P2口只用作扩展存储器系统的高8位地址线,并在整个访问外部存储器期间不变,所以不必外接地址锁存器。

2 在8031扩展系统中,外部程序存储器和数据存储器共用16位地址线和8位数据线,为什么两个存储空间不会发生冲突?

答:这是因为外部程序存储器和外部数据存储器所使用的控制信号不同。对外部程序存储器的选读通是用PSEN控制线,而对外部数据存储器的读/写控制是用RD和WR读、写控制线,所以不会发生地址冲突。

3 8031单片机需要外接程序存储器,实际上它还有多少条I/O线可以用?当使用外部存储器时,还剩下多少条I/O线可用?

答:8031系统必须外接程序促成器,原则上说,P0和P2口要用作数据和地址总线,所以只有P1和P3口可用作I/O口,共16条I/O线。在使用外部存储器时,除了占用P0和P2口外,还需要用P3口RD(P3.7)和WR(P3.6)两条控制线,所以这种情况下就只剩下14条I/O线可用了。

4 试将8031单片机外接一片2716 EPROM和一片6116 RAM组成一个应用系统,请画出硬件连线图,并指出扩展存储器的地址范围。

答:2716是2K×8位的EPROM,6116是2K×8位的静态RAM,两者都仅需要11根地址线。由于没有规定地址范围,故可按最简单的方式来连接,即省去地址译码器,程序存储器的地址必须从0开始,基本地址为0000H—07FFH。数据存储器的地址为0000H—07FFH。控制线的连接为/PSEN控制EPROM的读出,/RD和/WR控制RAM的读写,两个芯片的片选端都固定接地,连线图如图所示。

P2.2

P2.1

P2.0

P0

8031

ALE

/PSEN

/EA

/RD

/WE

5 简述可编程并行接口8255 A的内部结构?

答:8255 A的内部结构由三部分组成:总线接口部分,内部逻辑部分,外部接口部分。

(1) 总线接口部分 其中有数据总线驱动器,读/写控制逻辑

(2) 内部逻辑部分 由A组和B组控制电路。

(3) 外部接口部分 该部分有3个8位并行I/O端口,即A口、B口和C口。

5-4编程题

1 试编程对8155进行初始化,设A口为选通输出,B口为选通输入,C口作为控制联络口,并启动定时器/记数器按方式1工作,工作时间为10ms,定时器计数脉冲频率为单片机的时钟频率24分频,fosc=12MHz。

解:算得初值=5000 =1388H

MOV DPTR,#7F04 ;定时器低八位寄存器地址 DPTR

MOV A,#88H ;低8位初值 A

MOVX @DPTR,A ; 低8位初值 低8位寄存器

INC DPTR ;DPTR指向定时器高8位

MOV A,#13H ;高8位初值 A

MOVX @DPTR,A ;高8位初值 高8位寄存器

MOV DPTR,#7F00H ;8155命令寄存器地址 DPTR

MOV A,0C5H ;命令字 A

MOVX @DPTR,A ;命令字 命令寄存器

2 设单片机采用8051,未扩展片外ROM,片外RAM采用一片6116,编程将其片内ROM从0100H单元开始的10B得内容依次外接到片外RAM从100H单元开始得10B中去。

解: MOV R2,#00H ;源数据缓冲器地址偏移量00H A

MOV R3,#0AH ;字节长度 R3

MOV DPTR,#0100H ;源数据缓冲区首地址 DPTR

MOV A,R2 ;源地址偏移量 A

MOVC A,@A+DPTR ;传送一个数据

MOVX @DPTR,A

INC DPTR ;源地址(目的地址)加1

DJNZ R3,L1 ;数据全部传送完?没传送完,转L1继续传送

SJMP $ ;结束

3 8031扩展8255A,将PA口设置成输入方式,PB口设置成输出方式,PC口设置成输出方式,给出初始化程序。

解: 根据题目要求,A口输入,B口输出,二者均采用工作方式0,则控制字为98H。编程如下:

MOV A,#98H ;方式控制字 A

MOV DPTR,#7FFFH ;选通控制寄存器

MOVX @TPTR,A ;方式控制字送入8255A

MOV DPTR,#7FFCH

MOVX A,@DPTR ;读PA口数据

MOV DPTR,#7FFDH ;

MOVX @DPTR,A ;送PB口数据

4 设计一个2×2行列式键盘电路并编写键盘扫描子程序。

解: (1)2×2行列式键盘电路如图所示。

(2)键盘扫描子程序:

KEY1: ACALL KS1 ;调用判断有无键按下子程序

JNZ LK1 ;有键按下,转LK1

AJMP KEY1 ;无键按下,返回

LK1: ACALL T12MS ;调延时12ms子程序

ACALL KS1 ;查有无键按下

JNZ LK2 ;若有,则为键确实按下,转逐列扫描

AJMP KEY1 ;无键按下,返回

LK2: MOV R4,#00H ;首列号 R4

MOV R2,#FEH ;首列扫描字 R2

LK4: MOV A,R2 ;列扫描字 P1口

MOV P1,A ;使第一列线为0

MOV A,P1 ;读入行状态

JB ACC.0,LONE;第0行无键按下,转查第一行

MOV A,#00H ;第0行有键按下,该行首键号#00H A

AJMP LKP ;转求键号

LONE: JB ACC.1,NEXT ;第一行无键按下,转查下一列

MOV A,#02 ;第一行有键按下,该行首键号#02 A

LKP: ADD A,R4 ;键号=首行号+列号

PUSH ACC ;键号进栈保护

LK3: ACALL KS1 ;等待键释放

JNZ LK3 ;未释放,等待

POP AC ;键释放,键号 A

RET ;键扫描结束

NEXT: INC R4 ;列号加1,指向下一列

MOV A,R2 ;列扫描字 A

JNB ACC.1,KND ;判断2列全扫描完?扫描完,转KND

RL A ;没扫描完,扫描字左移一位,形成下一列扫描字

MOV R2,A ;扫描字 R2

AJMP LK4 ;扫描下一列

AJMP KEY1 ;全扫描完,返回

MOV A,#FCH ;全扫描字11111100B A

MOV P1,A ;全扫描字 所有行

MOV A,P1 ;读取列值

CPL A ;取正逻辑,高电平表示有键按下

ANL A,#0C0H ;屏蔽低6位,取高2位

RET ;出口状态(A)!=0,有键按下

5 要求将存放在8031单片机内部RAM中30H—33H单元的4字节数据,按十六进制(8位)从做到右显示,试编制程序。

ORG 1000H ;指向显示缓冲区

MOV R0,#30H ;显示字节数

MOV R2,#04 ;初始显示位置(最高位)

MOV P1,#08H ;取1B

SDLAY: MOV A,@R0 ;备份

MOV B,A ;截取字节高位

ANL A,#0F0H ;装入P1.4—P1.7

ORL P1,A ;准备显示右一位

INC P1 ;取备份

MOV A,B ;截取字节低位

SWAP A ;

ANL A,#0F0H

ORL P1,A ;装入并显示

INC P1 ;准备显示下一字节

INC R0

DJNZ R2,SDLAY ;4B未显示完循环

RET ;显示完成

START:MOV DPTR,#7FFFH

MOV A,#00

LOOP :MOVX @DPTR,A

INC A

MOV R0,#data ;data为延时常数

DJNZ R0,$ ;延时,改变data可改变锯齿波周期T值

SJMP LOOP

例2:产生矩形波

START: MOV DPTR, #7FFFH

STEP: MOV A , #dataH ;置矩形波上限

MOVX @DPTR , A ;D/A转换

ACALL DELH ;调输出“1”时延时

MOV A , #00H ;置矩形波下限

MOVX @DPTR, A

ACALL DELL ;调输出“0”时延时

SJMP STEP ;重复执行

例3: 产生三角波

START: MOV DPTR, #7FFFH

STEP1: MOV A, #00H

STEP2: MOVX @DPTR, A

INC A

CJNE A , #data , STEP2

STEP3: DEC A

MOVX @DPTR , A

用户评论

微控制器测试题及答案
终究会走-

终于找到靠谱的微控制器测试题了!答案详细,学习效率upup!

    有20位网友表示赞同!

微控制器测试题及答案
病态的妖孽

收藏了!这套题太棒了,涵盖了各个知识点,还有答案解析,简直是学习神器!

    有8位网友表示赞同!

微控制器测试题及答案
泪湿青衫

感谢分享!这套题帮我巩固了微控制器基础,考试前突击复习必备!

    有17位网友表示赞同!

微控制器测试题及答案
孤者何惧

质量不错,题型多样,难度适中,适合各种水平的学习者。

    有17位网友表示赞同!

微控制器测试题及答案
念旧是个瘾。

挺实用的,做完题发现自己对微控制器理解更深了。

    有14位网友表示赞同!

微控制器测试题及答案
爱情的过失

希望有更多类似的测试题,学习起来更有针对性。

    有5位网友表示赞同!

微控制器测试题及答案
凝残月

不错不错,很适合用来测试自己对微控制器的掌握程度。

    有5位网友表示赞同!

微控制器测试题及答案
雁過藍天

答案解析很详细,对理解题目帮助很大。

    有19位网友表示赞同!

微控制器测试题及答案
幸好是你

简直是宝藏资源!

    有12位网友表示赞同!

微控制器测试题及答案
还未走i

强烈推荐!

    有19位网友表示赞同!

微控制器测试题及答案
日久见人心

好东西!

    有9位网友表示赞同!

微控制器测试题及答案
把孤独喂饱

学习微控制器必备!

    有7位网友表示赞同!

微控制器测试题及答案
米兰

很实用,推荐给大家!

    有14位网友表示赞同!

微控制器测试题及答案
墨城烟柳

赞!

    有6位网友表示赞同!

微控制器测试题及答案
一点一点把你清空

不错!

    有17位网友表示赞同!

微控制器测试题及答案
青袂婉约

感谢分享!

    有5位网友表示赞同!

微控制器测试题及答案
别悲哀

学习了!

    有16位网友表示赞同!

微控制器测试题及答案
我绝版了i

太棒了!

    有13位网友表示赞同!

微控制器测试题及答案
疲倦了

收藏!

    有5位网友表示赞同!

微控制器测试题及答案
青山暮雪

有用!

    有20位网友表示赞同!

原创文章,作者:xiaobian,如若转载,请注明出处:https://www.xinyuspace.com/5776.html

(0)
xiaobianxiaobian
上一篇 2024年8月30日
下一篇 2024年8月30日

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注