单片机考试题

时间:2024-03-11 07:33:37

一、填空题

1.单片机与普通计算机的不同之处在于其将_CPU__、 存储器 和__I/O_3部分集成于一块芯片之上。

2.CPU主要由  运算 器和 控制 器组成。CPU中的  布尔处理器 用来处理位操作。

3.MSC-51系列单片机中,片内无ROM的机型是 8031 ,有4KB ROM的机型是_8051_,而有4KB EPROM 的机型是 8751

4.     -32的补码为 11100000 B,补码11011010B代表的真值为_-38__D。

5.原码数BFH=_-63_D,原码数6EH=_110_D。

6.100的补码=_64_H,-100的补码= 9C H

7.在8031单片机内部,其RAM高端128个字节的地址空间称为 特殊功能寄存器或SFR 区,但其中仅有_21_个字节有实际意义。

8.通常单片机上电复位时PC=_0000_H,SP=_07_H,通用寄存器则采用第_0_组,这一组寄存器的地址范围是从_00 H~_07_H。

9.若PSW为18H,则选取的是第_3__组通用寄存器。

10.              8031单片机复位后R4所对应的存储单元地址为_04_H,因上电时PSW=_00_H。

11.              若A中数据为63H,那么PSW的最低位(即奇偶位P)为_0_

12.              在微机系统中,CPU是按照 程序计数器PC 来确定程序的执行顺序的。

13.              在8031单片机中,使用P2、P0口传送 地址 信号,且使用了P0口来传送 数据 信号,这里采用的是 总线复用 技术。  

14.              堆栈遵循 先进后出(或后进先出) 的数据存储原则,针对堆栈的两种操作为_PUSH__POP_

15.              当8051地RST端上保持 个机器周期以上低电平时,8051即发生复位。

16.              使用8031单片机时需将 引脚接___电平,因为其片内无 程序 存储器。

17.              8位机中的补码数80H和7EH的真值分别为_-128___127

18.              配合实现“程序存储自动执行”的寄存器是_PC_,对其操作的一个特别之处是 每取完一字节指令后PC内容会自动加1

19.              MCS-51单片机PC的长度为_16_位;SP的长度为_8_位,数据指针DPTR的长度为_16_位。

20.              8051单片机的RST引脚的作用是 对单片机实行复位操作 ,其操作方式有 上电自动复位 按键手动复位 两种方式。

21.              I/O端口与外部设备之间传送的信息可分为___类。

22.              8051片内有256B的RAM,可分为四个区,00H~1FH为 工作寄存器 区;20H~2FH为 位寻址 区;30H~7FH为 堆栈、数据缓冲 区;80H~FFH为 特殊功能寄存器 区。

23.              MCS-51单片机系列有_5__中断源。上电复位时,同级中断源的优先级别从高至低为 外部中断源0 定时器0 外部中断1  、 定时器1   串行口 ,若IP=00010100B,则优先级别最高者为 外部中断1 、最低者为 定时器1

24.              储存器的主要功能是存储 指令 数据

25.              若你正在编辑某个文件,突然断电,则计算机中 RAM 类型存储器中的信息全部丢失,且通电后也不能自动恢复。

26.              8051在物理结构上只有四存储空间,它们分别是 片内程序存储器 片外程序存储器 片内数据存储器 片外数据存储器  ;但在逻辑结构上只有三个存储空间,它们分别是 片内外统一编址的64KB程序存储器 片内256B的数据存储器 片外64KB的数据存储器 

27.              I/O端口作为通用输入输出口时,在该端口引脚输入数据时,应先向端口锁存器进行 “1”   操作。

28.              8051单片机其内部有 21 个特殊功能寄存器,其中 11 个可以位寻址。

29.              在一般情况下实现片选的方法有两种,分别是 线选法  译码法 

30.              起止范围是0000H~3FFFH的存储器的容量是 16 KB。

31.              11根地址线可选 2048(或2KB211个存储单元,16KB存储单元需要 14 根地址线。

32.              MCS-51机中扩展I/O口占用片外__数据__存储器地址空间。

33.              MCS-51 单片机访问片外存储器时利用通信 ALE_信号锁存来自_P0__口的低八位地址信号。

34.              半导体存储器的最重要的两个指标是 存储容量 存取速度

35.              32KB ROM的首地址若为2000H,则末地址是 9FFFH

36.              MOV  A,#30H是   立即  寻址方式。MOVX  A,@DPTR是 寄存器间接 寻址方式。(注:指原操作数的寻址方式)

37.              通过堆栈操作实现子程序调用,首先就要把 PC 的内容入栈,以进行断点保护。

38.              在基址加变址寻址方式中,以  A 作变址寄存器,以  PC DPTR 作基址寄存器。

39.              假定累加器A中的内容为30H,执行指令:

          1000H:MOVC  A,@A+PC

后,把程序存储器 1031H 单元的内容送入累加器A中。

40.              访问8031片外数据存储器采用的是  寄存器间址的 寻址方式。

41.              指令格式由  操作码   操作数  两部分组成。

42.              寻址方式分为对  指令 的寻址和对 数据 的寻址两大类。

43.              一个完整的中断过程可分为 中断请求 中断响应  中断处理  中断返回  四部分。

44.              中断请求信号有 电平 触发和__边沿__触发两种触发方式。

45.              MCS-51单片机8031中有_2_个_16_位的定时器/计数器,可以被设定的工作方式有_4_种。

46.              若系统晶振频率为12MHZ,则T0工作于方式0时的最大定时时间是 8.192 ms,工作于方式2时的最大计数脉冲个数是  256 个。

47.              欲对300个外部事件计数,可以选用定时/计数器T1的模式_0  或模式__1_

48.              若系统晶震频率为6MHZ,则时钟周期为__0.167_us,机器周期为_2_us,最短和最长指令周期分别为__2_us和__8_us。

49.              若单片机的晶振频率fosc=8MHZ,则执行一条MUL  AB指令所需时间为__6_us。

50.              RS-232C采用单端驱动,易受 干扰 影响,一般传输距离在 几十米  以内。

51.              三态缓冲寄存器的“三态”是指 低电平 态、 高电平 态和 高阻 态。

52.              74LS138是具有3个输入的译码器芯片,其输出作为片选信号时,最多可以选中_8_块芯片。

53.              74LS273通常用来作为简单 输出 接口扩展;而74LS244则常用来作简单 输入 接口扩展。

54.              计算机对输入/输出设备的控制方式主要有三种。其中,方式硬件设计最简单,但要占用不少CPU的运行时间; B方式的硬件线路最复杂,但可大大提高数据传送效率;而 C  则介于上述两者之间。

①先进先出     ②后进先出      ③直接存储器访问   ④程序查询

⑤高速缓存     ⑥系统总线      ⑦程序中断         ⑧逐行扫描

请选择并填写答案:A=____,B=    ,C=_ _

55.              若LED为共阳极接法(即负逻辑控制),则提示符P的七段代码值应当为_0C 8C_H。

56.              欲增加8KB*8位的RAM区,请问选用Intel2114(1KB*4位)需购_16_片;若改用Intel6116(2KB*8位)需购_4_片;若改用Intel6264(8KB*8位)需购_1_片。

57.              已知RAM芯片6116(2KB*8位)有24条外引脚,请问应分配 11 个引脚给地址线,分配_8__个引脚给数据线,再分配两个引脚给电源和地线外,剩余的_3_个引脚应该分配给 读写控制和片选信号线 

58.              在异步通信中若每个字符由11位组成,串行口每秒传送250个字符,则对应波特率为_2750bps_

59.              在串行通信中采用偶校验,若传送的数据为0A5H,则基本奇偶校验位应为_0_(用“0”“1”表示)。

60.              80C51的串行口控制寄存器中有2个中断标志位,它们是 RI TI 。 

61.              串行通信可以分成  异步 通信和 同步 通信两大类。

62.              LED显示器的显示控制方式有 静态 显示和 动态 显示两大类。

63.              LED显示器根据二极管的连接方式可以分为( 共阴极 )和(共阳极)两大类。

64.              CPU与内存或I/O接口相连的系统总线通常由 数据总线(DB 地址总线(AB 控制总线(CB 等三种信号线组成。

二、单选题

1.电子计算机技术在半个世纪中虽有很大的进步,但至今其运行仍遵循着一位科学家提出的基本原理。这位科学家是:(D)

(A) 牛顿           (B) 因斯坦       (C) 爱迪生        (D)  冯•诺伊曼

2.用晶体管作为电子器件制成的计算机属于:(B)

(A) 第一代       (B) 第二代     (C) 第三代      (D)  第四代

3.通常所说的主机是指:(C)

(A)    运算器和控制器                  (B)CPU和磁盘存储器

(C) CPU和主存                       (D)硬件和软件

4.(计算机能直接识别的语言是:(C)

(A) 汇编语言       (B) 自然语言      (C) 机器语言     (D) 高级语言

5.在CPU中,控制器的功能是:(C)

(A) 进行逻辑运算                    (B)进行算术运算

(C) 分析指令并发出相应的控制信号    (D) 只控制CPU的工作

6.PC是:(C)

(A)  一根硬件信号线

(B)  一个可由用户直接读写的8位PAM寄存器

(C)  一个能自动加1的16位的计数器

(D)一个能自动加1计数的ROM存储单元

7.CPU主要的组成部部分为( A ) 
(A)运算器、控制器   (B)加法器、寄存器   (C)运算器、寄存器    (D)运算器、指令译码器

8.在单片机中,通常将一些中间计算结果放在(   A  )中  

   (A)累加器        (B)控制器       (C)程序存储器        (D)数据存储器

9.PC的值是(C)

(A)当前正在执行指令的前一条指令的地址 (B)当前正在执行指令的地址

(C)当前正在执行指令的下一条指令的地址 (D)控制器中指令寄存器的地址

10.              CPU寻址外设端口地址的方法有两种,一种是统一编址,还有一种是( C)。

(A)  混合编址     (B)  动态编址   (C)  独立编址 (D) 变址编址

11.              在CPU内部,反映程序运行状态或反映运算结果的一些特征的寄存器是:(B)

(A) PC           (B)  PSW         (C)  A         (D)  SP

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

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

13.              区分片外程序存储器和数据存储器的最可靠方法是(D)。

(A)看其芯片型号是RAM还是ROM

(B)看其位于地址范围的低端还是商端

(C)看其离MCS-51芯片的远近

(D)看其是被RD信号连接还是被PSEN信号连接

14.              已知PSW=10H,通用寄存器R0~R7的地址分别为(  C  )。

(A)00H~07H;   (B)  08H~0FH;  (C)  10H~17H;   (D)  18H~1FH A  R7;         

15.关于MCS-51单片机堆栈操作,下列描述错误的是(  B    )。

(A)遵循先进后出,后进先出的原则      (B)出栈时栈顶地址自动加1   

(C)调用子程序及子程序返回与堆栈有关 (D) 堆栈指针是一个特殊功能寄存器

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

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

17. MCS-51单片机复位操作的主要功能是把PC初始化为(    C  )。

 (A)0100H             (B)2080H           (C)0000H            (D)8000H

18.当外部中断请求的信号方式为脉冲方式时,要求中断请求信号的高电平状态和低电平状态都应至少维持(  B  )。

  (A)1个机器周期       (B)2个机器周期

   (C)4个机器周期        (D)10个晶振周期

19.8051与8751的区别是(C)

(A)内部数据存储单元数目不同          (B)内部数据存储器的类型不同

(C)内部程序存储器的类型不同          (C)内部的寄存器的数目不同

20.访问片外数据存储器时,不起作用的信号是(C)

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

21.下列四条叙述中,有错误的一条是(A)

(A)16根地址线的寻址空间可达1MB

(B)内存器的存储单元是按字节编址的

 (C) CPU中用于存放地址的寄存器称为地址寄存器

(D)地址总线上传送到只能是地址信息

22.14根地址线的寻址范围可达(B)

(A) 8KB  (B)16KB  (C) 32KB (D)64KB

23.CPU寻址外设端口地址的方法有两种,一种是统一编址,还有一种是( C )。

(A)  混合编址     (B)  动态编址   (C)  独立编址 (D) 变址编址

24.MSC-51系列单片机外扩存储器芯片时,4个I/O口中用作数据总线的是( B)。

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

25.要用传送指令访问MCS-51片外RAM,它的指令操作码助记符应是( B )

(A)MOV   (B)MOVX   (C)MOVC   (D)以上都是 

26.指令ALMP的跳转范围是( C )

(A)256B   (B)1KB  (C)2KB  (D)64KB

27.下列可用作片内RAM间接寻址的寄存器是(D    )。

(A)RAM  (B)ROM  (C)磁盘  (D)磁带

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

(A)MOV P1,A   (B)ORL P1,#0FH   (C)MOV C,P1.5  (D)DJNZ P1,short-lable

29.指出以下指令中的错误指令( A   )。

(A)MOVC @R1,A     (B)MOV 20H,#01H     (C)ORL A,R5     (D)POP 30H 

30.下列程序段中使用了位操作指令的有( B    )。

(A)MOV DPTR,#1000H      (B)MOV C,45H  

MOVX A,@DPTR            CPL  ACC.7            

(C) MOV A, 45H           (D)MOV R0,23H

       XCH A,27H                MOV  A,@R0

31.MCS-51汇编语言源程序设计中,下列符号中不能用作标号的有(   B   )。

(A)LOOP       (B) MOV     (C)LD1     (D)ADDR  

32.MCS-51单片机在同一优先级的中断源同时申请中断时,CPU首先响应(   A  )。

 (A)外部中断0        (B)外部中断1

 (C)定时器0中断       (D)定时器1中断

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

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

34.定时器T1固定对应的中断入口地址为( D )

(A)0003H        (B)000BH       (C)0013H      (D)001BH

35.各中断源发出的中断请求信号,都会标记在MCS-51系统中的(  B )

(A)TMOD       (B)TCON/SCON  (C)IE           (D)IP

36.MCS-51单片机可分为两个优先级别。各中断源的优先级别设定是利用寄存器(  B )

(A)IE           (B)IP            (C)TCON       (D)SCON

37.( D )不属于微型机引入中断技术后的好处

 (A)分时操作    (B)实时操作       (C)故障处理    (D)高速传送数据

38.( C)并非单片机系统响应中断的必要条件。

(A) TCON或SCON寄存器内的有关中断标志位为1

(B) IE中断允许寄存器内的有关允许位置为1

(C) IP中断优先级寄存器内的有关位置为1

(D) 当前一条指令执行完

39.在单片机应用系统中,两线双向长距离(几百米)通信应采用( D)。

(A)TTL电平  (B)RS232C电平  (C)RS422电平 (D)RS485电平

40.在80C51单片机中,可变波特率的多机通信应采用(  D  )。

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

41.在80C51单片机中,不使用T1的多机通信应采用(  C  )。

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

42.在80C51单片机中,8位数据位可变波特率的双机通信应采用(  B  ) 。

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

43.在80C51单片机中,利用串行口进行并口扩展时应采用(  B  )。

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

44.在80C51单片机芯片的串行口电平采用的电平为(  A  )      。

(A)TTL电平   (B)RS232C电平   (C)RS422电平   (D)RS485电平

45.利用8155产生连续方波,其计数输出方式为(  B  )。

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

46.在80C51应用系统中,要求既扩展并口又扩展RAM时,应优先采用 (  A  ) 。

(A)8155   (B)8255   (C)8279   (D)8253

47.DAC0832可以实现两路模拟信号的同步输出,这是利用了该芯片的(  D  ) 特性。

(A)单极性   (B)双极性   (C)单缓冲   (D)双缓冲

三、判断说明题(注意其逆命题)

1.在微机性能指标中,CPU的主频越高,其运算速度越快。√

2.微型计算机与一般计算机的主要区别是体积小、重量轻、耗电少、价格便宜。╳

3.在MCS-51系统中,一个机器周期等于1μS。╳

4.PC可以看做是指令存储区的地址指针。√

5.SP内装的是栈顶首址的内容。╳

6.指令周期是执行一条指令的时间。╳

7.所有计算机系统的堆栈都是向地址高端逐渐生长的,即均为“向上生成”堆栈。╳

8.输入/输出设备必须通过I/O接口才能接到系统总路线上和主机进行信息交换。√

9.MCS-51中的P0口可以分时复用为数据口和地址输出口。 √

10.              当P2口的某些位用作地址线后,其它位不可以用作I/O口线使用。√

11.              为使准双向的I/O口工作在输入方式,必须保证它被预置为“1”。√

12.              若外设控制器中的寄存器和主存单元统一用主存地址编址,那么在计算机的指令系统中可以不设专门的I/O指令。√

13.              通常每个外设设备都有一个端口寄存器与主机交换信息,因此,主机只能用一个唯一地址来访问一个外部设备。╳

14.              8031单片机的有效复位电平是低电平。╳

15.              锁存器、三态缓冲寄存器等简单芯片中没有命令寄存和状态寄存等功能。√

16.              EPROM中存放的信息在计算机执行程序时只读,且断电后仍能保持原有的信息。√

17.              8031的CPU是由RAM和EPROM所组成。╳

18.              内部RAM的位寻址区,只能供位寻址使用,而不能供字节寻址使用。╳

19.              MCS-51系列单片机的内部特殊功能寄存器的数量是相同的。╳

20.              在8155芯片中,决定端口和RAM的单元编址的信号线是AD7~AD0和 信号。╳

21.              掩膜ROM的特点是既能写入又能读出。╳

22.              如果指令系统中不给用户提供PUSH、POP指令的话,则设立堆栈毫无意义。╳

23.              在MCS-51系统中,PUSH、POP动作每次仅处理一个字节。√

24.              已知8051单片机的振荡频率为12MHz,则执行MUL  AB指令所用的时间为2us。╳

25.              RLC  R0是非法指令。 √

26.              立即寻址方式是被操作的数据本身在指令中,而不是它的地址在指令中。√

27.              MOVC是用来访问外部数据存储器的指令助记符 。╳

28.              在一个完整的程序中伪指令END是可有可无的。  ╳

29.              调用子程序及返回与堆栈有关。╳

30.              RET和RETI两条指令不可以互换使用。√

31.              低优先级的中断请求不能中断高优先级的中断请求,但是高优先级中断请求能中断低优先级中断请求。√

32.              各中断源发出的中断请求信号,都会标记在MCS-51系统的IP寄存器中。╳

33.              当ITX=1时表示允许外部中断。 ╳

34.              8155中的定时/计数器是14位的加1计数器。╳

35.              定时/计数器可由TM0D设定四种工作方式。√

36.              由于8155不具有地址锁存功能,因此在与8031的接口电路中必须加地址锁存器。╳

四、简答题

1.  带符号的数在计算机中有哪些表示方法?特点如何?

答:带符号的数在计算机中可以用原码、反码和补码表示。采用原码和反码表示时,符号位不能同数值一道参加运算。补码表示可以将减法运算转换为加法运算,同时数值连同符号位可以一起参加运算,这非常有利于计算机的实现。

2.  单片机与其它常见微机(如PC机)有什么不同?它有什么独特优点?

答:(1)主要有三点不同:一是CPU、存储器和I/O接口这几部分集成在一片芯片上;二是存储器设计采用了哈佛结构,将程序存储器和数据存储器在物理上分开;三是供位处理和位控制的资源丰富、I/O接口完善。

    (2)优点:1)集成度高、价格低廉、性能/价格比高;2) 程序存储器和数据存储器在物理上分开,可使程序不受干扰,抗干扰能力强;3)布尔处理能力强,适于工业控制。

3.  堆栈区与一般的数据存储区有何异同?其重要作用是什么?

答:堆栈区与一般存储区相同之处是:它们都属于存储器的一部分,都能存放数据。

其主要不同之处是对数据的存取规则有异:一般存储区使用随机读/写规则,而堆栈 使用先进后出(或后进先出)规则。堆栈采用这种特殊规则后,可以圆满完成子程序调用或中断调用,多级子程序嵌套等功能。

当然,堆栈区内的存储单元也可以使用随机读/写指令,但在这种情况下已经不把该单元当做堆栈看待了。

4.  简述80C51单片机四个端口的带负载能力。

答:P0口的每一位口线可以驱动8个LSTTL负载。在作为通用I/O口时,由于输出驱动电路是开漏方式,由集电极开路(OC门)电路或漏极开路电路驱动时需外接上拉电阻;当作为地址/数据总线使用时,口线输出不是开漏的,无须外接上拉电阻。P1、P2、P3口的每一位能驱动4个LSTTL负载。它们的输出驱动电路设有内部上拉电阻,所以可以方便地由集电极开路(OC门)电路或漏极开路电路所驱动,而无须外接上拉电阻。

5.  MCS-51引线中有多少I/O引线?它们和单片机对外的地址总线和数据总线有什么关系?简述8031单片机中P0、P1、P2、P3口的主要作用。

答:共有32根I/O引线,其中部分引线在单片机有外扩对象时,将代替地址总线和数据总线的功能。这32根I/O引线均匀分布于P0.P1.P2.和P3口若没有单片机外扩要求,则4个并行口都时纯粹的I/O口;但是,当单片机有外扩任务时,则P0口将作为8位数据总线,P2和P0口将作为16位地址总线,P3口的一部分将作为读/写等控制总线信号,此时只有P1口保留作为单纯的I/O口。

6.  简叙80C51程序储存器的配置。

答:80C51内部有4KB的掩膜ROM;87C51内部有4KB的EPROM;而80C31内部没有程序存储器,80C51的 引脚为访问内部或外部程序存储器的选择端。接高电平时,CPU将首先访问内部存储器,当指令地址超过0FFFH时,自动转向片外ROM去取指令;接低电平时(接地),CPU只能访问外部程序存储器(对于80C31单片机,由于其内部无程序存储器,只能采用这种接法)。外部程序存储器的地址从0000H开始编址。程序存储器低端的一些地址被固定地用作特定的入口地址。

7.  什么是计算机的指令?什么是指令系统?什么是寻址方式?

答:(1)计算机的指令是规定计算机进行某种操作的命令。

(2)一台计算机所有指令的集合称为该机器的指令系统。

(3)寻址方式就是寻找指令中操作数或操作数所在地址。

8.  MCS-51系列单片机有哪7种寻址方式?各有什么特点?

答:(1)MCS-51的7种寻址方式分别是:直接寻址、寄存器寻址、寄存器间接寻址、立即寻址、变址寻址、相对寻址和位寻址。

(2)直接寻址方式中,指令的操作数部分是操作数所在的地址,其寻址空间是内部RAM的低128B及特殊功能寄存器;寄存器寻址方式中,被寻址的寄存器的内容即是操作数,其寻址空间为R0~R7、A、B、Cy、DPTR;寄存器间接寻址方式是把指定寄存器的内容作为地址,由该地址所指定的存储单元内容作为操作数,其前用“@”标示,其寻址空间为内容RAM的低128B和外部RAM;立即寻址是在该指令操作码后紧跟一字节或两字节操作数,操作数前用“#”标示,其寻址空间是ROM;变址寻址的操作数所在地址由基地址加上地址偏移量形成,其寻址空间是ROM;相对寻址级出现在相对转移指令中,其寻址空间是ROM的256B范围;位寻址是将8位二进制的某一位作为操作数,指令中给出的是位地址,寻址空间是内部RAM的20H~2FH单元位地址及可以进行位寻址的SFR。

9.  MCS-51系列中断系统包括几个中断源和几个中断优先级,写出所有的中断源的符号、名称及其入口地址。

答:MCS-51系列中断系统包括5个中断源2个中断优先级:

中断源符号        中断源名称        入口地址

               外部中断0          0003H

T0            T0溢出中断         000BH

          外部中断1         0013H

T1             T1溢出中断         001BH

TX/RX         串行口(接收/发送) 0023H

10.              MCS-51系列单片机中用于中断允许和中断优先级控制的寄存器分别是什么?写出中断允许控制寄存器的各控制位的符号及含义。

答:MCS-51系列单片机用于中断允许和中断优先级控制的寄存器分别是IE和IP;

                  AFH   AEH   ADH   ACH   ABH   AAH   A9H   A8H

EA                ES    ET1  EX1   ET0  EX0

IE(A8H)

 

EA——中断允许控制位;ES——串行口中断允许控制位;ET1定时器/计数器T1的溢出中断允许位;EX1——外部中断1中断允许位;ET0——定时器/计数器T0溢出中断允许位;

EX0——外部中断0中断允许位;当相应的位为“1”时允许中断,为“0”时禁示中断。

11.              简述并行通信和串行通信的特点。

答:并行通信的特点是:控制简单、传输速度快;由于传输线较多,长距离传送时成本高且接收方的各位同时接收存在困难。串行通信的特点是:传输线少,长距离传送时成本低,且可以利用电话网等现成的设备,但数据的传送控制比并行通信复杂。

12.              I/O寻址方式有哪几种,各有什么优缺点?MCS-51系列单片机采用哪种寻址方式?Intel       8086/8088采用哪种寻址方式?

答:(1)I/O寻址方式有两种,分别是标准的I/O寻址方式(独立编址)、存储器映射I/O寻址方式(统一编址);

(2)前者的优点是:处理速度较快,I/O端口地址不占用存储空间,各自都有完整的地址空间,而且访问存储器与访问I/O设备指令有别,程序清晰,其缺点是制造CPU时必须单独集成专门I/O指令所需要的那部分逻辑电路;

后者的优点是:程序设计灵活性好,I/O端口地址安排灵活,并且I/O端口数目不受限制,CPU无需专用的I/O指令和接口信号,处理能力强,其缺点是减少了存储空间,执行指令时间较长,在程序中较难区分是存储器操作还是I/O操作,硬件设计中所用的译码电路复杂。

(3)MCS-51系列单片机采用存储器映射I/O寻址方式;Intel8086/8088采用标准的I/O寻址方式。

五、程序分析题(请根据各题具体要求填写答案)。

1.设A=83H,R0=17H,(17H)=34H;写出下列程序中每条指令执行后的结果:

ANL    A,#17H;(A)=03H

ORL    17H,A ;(17H)=37H

XRL    A,@R0;(A)=34H

CPL     A ;     (A)=0CBH

2.以下程序执行后,(40H)= 5EH ,(41H)=  69H

CLR  C

MOV  A,#56H

SUBB  A,#0F8H

MOV  40H,A

MOV  A,#78H

SUBB  A,#0EH

MOV  41H,A

3.设内部RAM中59H单元的内容为50H,写出当执行下列程序段后寄存器A= 25H ,R0=  50H 

50H= 00H ,51H=  25H

MOV  A,59H;(A)=50H

MOV  R0,A ;(R0)=50H

MOV  A,#00H;(A)=00H

MOV  @R0,A;(50H)=00H

MOV  A,#25H;(A)=25H

MOV  51H,A;(51H)=25H

MOV  52H,#70H;(52H)=70H

4.设堆栈指针SP中的内容为60H,内部RAM中30H和31H单元的内容分别为24H和10H,执行下列程序段后,61H= 24H ,62H= 10H ,30H=  00H,31H= 0FFH,DPTR=  2410H 及SP= 60H 

PUSH  30H;(SP)=61H,(61H)=24H

PUSH  31H;(SP)=62H,(62H)=10H

POP    DPL;(DPL)=10H,(SP)=61H

POP    DPH;(DPH)=24H,(SP)=60H

MOV  30H,#00H;(30H)=00H

MOV  31H,#0FFH;(31H)=FFH

5.设A=40H,R1=23H,(40)=05H。执行下列两条指令后,累加器A和R1以及内部RAM中40H单元的内容各为何值?

XCH  A,R1;(A)=23H,(R1)=40H

XCHD A,@R1;(A)=25H,(40H)=03H

6.程序执行前有(40H)=88H,问:

①程序执行后(40H)= F8H

②归纳出该程序完成的是何种功能。答:对片内RAM 40H单元中的内容求补码。

MOV  A,  40H

JNB  ACC.7,  GO

CPL  A

INC  A

MOV  40H,  A

GO:RET

7.阅读程序并回答问题。设:R0=20H,R1=25H,(20H)=80H,(21H)=90H,(22H)=A0H,(25H)=A0H,

(26H)=6FH,(27H)=75H,程序如下:

      CLR  C

      MOV  R2,  #3

LOOP:MOV  A,  @R0;第一次循环完成20H单元中的内容80H与25H单元中的内容A0H相加,结果送入20H

      ADDC  A,  @R1;单元中,即(20H)=20H,(Cy)=1

      MOV  @R0,  A

      INC  R0

      INC  R1

      DJNZ  R2,  LOOP

      JNC  NEXT

      MOV  @R0,  A

      SJMP  $

NEXT:DEC  R0

      SJMP  $

程序执行后:

(20H)= 20H ,(21H)= 00H,(22H)=  16H ,(23H)= 16H

Cy= 1 ,A= 15H ,R0=  23H  ,R1= 28H

8.请填写程序执行结果。已知执行前有A=02H,SP=40H,(41H)=FFH,(42H)=FFH,程序如下:

POP  DPH

POP  DPL

MOV  DPTR,  #3000H

RL  A

MOV  B,  A

MOVC  A,  @A+DPTR

PUSH  ACC

MOV  A,  B

INC  A

MOVC  A,  @A+DPTR

PUSH  ACC

RET

ORG  3000H

DB  10H, 80H, 30H, 80H, 50H, 80H

程序执行后:A=____H,SP=_____H,(41H)=_____H,(42H)=_____H,PC=_____H

9.假定,SP=60H,A=30H,B=70H,执行下列指令:

PUSH  A

PUSH  B

后,(SP)    ,(61H)=    ,(62H)=    

11.(第三章)如果DPTR=507BH,SP=32H,(30H)=50H,(31H)=5FH,(32H)=3CH,则执行下列指令后:

POP  DPH

POP  DPL

POP  SP

则:DPH=     ,DPL=     ,SP==    

12.执行下列指令后,(A)=?(R0)=?(C)=?

CLR  A

MOV  R0,#03H

LOOP:ADD  A,R0

       DJNZ  R0,LOOP

       SJMP $

13.分析下列程序执行的结果和A与C的内容,如果取消DA   A指令,A和C为何值?

CLR     C

MOV    20H,#99H

MOV    A,20H

ADD    A,#01H

DA      A

MOV    20H,A

SJMP    $

14.试述下列程序执行结果,并逐条加以注释

(1) MOV     A,#10H            

MOV     P2,#30H

MOV     R0,#50H

JB        P1.0,LP1

MOVX    @R0,A

SJMP     LP2

LP1:MOV   @R0,A

LP2SJMP    $

(2)  MOV     R0,#14H             

MOV     DPTR,#1000H

CL: CLR      A

MOVX   @DPTR,A

INC      DPTR

DJNZ     R0,CL

SJMP     $

15.阅读下列程序并回答问题

ORG  0000H

     MOV  R0,#32H

     MOV  R2,#00H

 LOOP: MOV  A,@R0

     CJNE  A,#00H,DON

     INC  R2

  DON: INC  R0

     DJNZ  31H,LOOP

     MOV  30H,R2

     SJMP  $

     END

(1)说明该程序的功能。

(2)31H中存放的是              ,R2是用来存放          的计数器。

(3)执行程序后31H中的值为                。

六、程序设计题(按下面要求编写相应的程序)

1.  数据块传送:试编程将片内40H~60H单元中的内容传送到以2100H为起始地址的存储区。

2.  工作单元清零:将内部50H开始的连续30个单元的内容清零。

3.  设一字符串存放在内部RAM以20H为首址的连续单元中,字符串以回车符CR(‘CR’=0DH)作为结束标志。标示统计该字符串字符B(‘B’=42H)的个数,并将其存入外部RAM的40H单元中。

4.  有一变量存放在片内RAM的20H单元,其取值范围为:00H~05H,要求编制一段程序,根据变量值得到变量的平方值,并将其存入片内RAM的21H单元。

5.  设a存放在30H单元中,b存放在31H单元中,要求按下式计算Y值并将结果Y存入32H单元中。

 

6.  用定时器T1产生一个1000Hz的方波,由P1.1引脚输出,fosc=6MHz。

7.  设时钟频率为6MHz,试编写利用T0产生500μs定时的程序。

8.  根据下图的电路,把8155的PB口设置成输入方式,PA口设置成输出方式,并把PB口输入的数据与8031 P1口输入的数据相“异或”,结果从PA口输出。试写出满足此要求的程序。

(命令字格式:TM2  TM1  IEB  IEA  PC2  PC1  PB  PA)


解:根据题意要求,可得8155的命令字为:01H;根据硬件电路8155的I/O端口地址可选为: 7F00H~7F05H。

程序如下:

ORG 2000H

MOV DPTR,#7F00H        

MOV A,#01H              

MOVX @DPTR,A            

MOV DPTR,#7F02H        

MOVX  A,@ DPTR          

XRL  A,P1               

MOV DPTR,#7F01H        

MOVX  @DPTR,A           

SJMP $

END

七、综合题 

1.  采用线选法在8031单片机上扩展2片2764EPROM芯片,试连接三总线及根据连线确定两芯片的地址空间。

 

2.  采用线选法在8031单片机上扩展2片6264RAM芯片,试连接三总线及根据连线确定两芯片的地址空间。

 

3. ADC0809与8031单片机的硬件接口电路如下图所示。试编写程序查询法A/D转换程序,要求:

(1)与ADC0809无关的地址线状态全部取“1”。

(2)轮流巡检IN0~IN7一遍,A/D转换结果依次存入8031片内RAM30H开始的单元中。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

解:根据题意,ADC0809的IN0口地址为

1111111011111000B=0FEF8H

本程序用R0作为片内RAM的地址指针,R7为通道号计数器,按题中要求,程序查询法的A/D转换程序如下:

ORG  0000H

AJMP  AD_START

ORG  0030H

AD_START: MOV  R0,#30H;              结果地址指针R0赋初值,指向片内RAM 30H单元

MOV  R7,#08H;              通道计数器赋初值

MOV  DPTR,#0FEF8H;        通道号初值赋DPTR,指向IN0

AD: MOVX  @DPTR,A;           启动A/D转换

JNB  P1.0,$;                 转换未结束则继续查询

MOVX  A,@DPTR;           转换结束取结果

MOV  @R0,A;               转存至片内RAM对应结果单元

INC  R0;                    片内RAM结果单元指针增1

INC  DPTR;                 DPTR中的地址值增1,指向下一通道

DJNZ  R7,AD;               8个通道未巡检完则继续

SJMP  $

END

4. DAC0832与8031单片机的硬件接口电路如下图所示。已知8031的晶振频率为 6MHz,请按下述要求编写波形发生器程序(与DAC0832无关的地址线全部取“1”):

(1)       周期为1ms的锯齿波;

(2)       周期为1ms的三角波;

               Uo

     

 

 

                                               t

 

 

           T=1ms

 

 

解:

(1)齿波参考程序。

ORG 0000H

AJMP DACR

ORG 0030H

DACR:MOV  DPTR,#7FFFH    ;DPTR赋初值,指向DAC0832的口地址

CON:MOV  R0,#0           ;置波形起点

UP:MOV  A,R0

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

INC  R0                ;调整波形幅值

NOP                    ;微调4个机器周期

NOP

NOP

NOP

CJNE  R0,#50,UP     ;每循环一次,共需10个机器周期,合20 ,循环50次,为1ms。

SJMP  CON

END

(2)       三角波参考程序。

ORG 0000H

AJMP DACR

ORG 0030H

DACR:MOV  DPTR,#7FFFH         ;DPTR赋初值,指向DAC0832的口地址

      MOV      A,  #0FFH

UP: INC      A                  ;波形上升段

MOVX  @DPTR,A          ;启动D/A转换并参与延时

     CJNE      A,  #50,  UP     ;上升段未完则继续。每上升一次延时5个机器周期、合10 ,

                                  ;故半个波形周期需要循环50次,合500 =0.5ms

DOWN: DEC       A               ;上升段完成,立即转入波形下降段

MOVX  @DPTR,A          ;启动D/A转换并参与延时

      CJNE      A,  #0, DOWN    ;下降段未完继续  

      SJMP      UP               ;否则再次上升,不间断地输出三角波

      END

5. 下图给出了某4相步进电动机的驱动电路。已知8031的晶振频率为 6MHz,请按下述要求编写步进电动机驱动程序:

(1)1P法励磁,步间软件延时10ms,连续正转;

(2)2P法励磁,步间软件延时10ms,连续反转;

(3)1P法励磁,步间软件延时10ms,正转48步后停止;

(4)2P法励磁,步间软件延时10ms,反转96步后停止。

 

解:(1)1P法步间软延时10ms,连续正转。

ORG  0000H

AJMP  START

ORG  0030H

START:    MOV  A,#0EEH      ;对应P1=11101110B,A相开始

LOOP:     MOV  P1, A        ;送P1口

           ACALL  DELAY      ;调用延时10ms子程序

           RL  A               ;连续正转

           AJMP  LOOP

DELAY:  MOV  R6,#45

    DL2:  MOV  R5,#54

    DL1:  DJNZ  R5,  DL1

          DJNZ  R6,  DL2

          RET

          END

(2)2P法步间软延时10ms,连续反转。

ORG  0000H

AJMP  START

ORG  0030H

START:    MOV  A,#0CCH          ;对应P1=11001100B,A相开始

LOOP:     MOV  P1, A

           ACALL  DELAY

           RR  A                   ;连续反转

           AJMP  LOOP

DELAY:  MOV  R6,#45

    DL2:  MOV  R5,#54

    DL1:  DJNZ  R5,  DL1

          DJNZ  R6,  DL2

          RET

          END

(3)1P法步间软延时10ms,正转48步后停止。

ORG  0000H

AJMP  START

ORG  0030H

START: MOV  R4,#48           ;步进次数为48

         MOV  A,#0EEH     ;1P法励磁

 LOOP: MOV  P1,A

         ACALL  DELAY1         ;调用10ms延时子程序,若要求延时1s则调用DELAY2

         RL  A               ;正转

         DJNZ  R4,LOOP    ;不足48步继续

         SJMP  $

DELAY1: MOV  R6,#45                 

  DL2:   MOV  R5,#54

  DL1:   DJNZ  R5,DL1

           DJNZ  R6,DL1

           RET

           END

若要求步间延时1s,则延时子程序改为DELAY2:

   DELAY2:MOV  R7,#28

      DL23:MOV  R6,#19

      DL22:MOV  R5,#215

DL21:DJNZ  R5,DL21

DJNZ   R6,DL22

DJNZ   R7,DL23

RET

END

(4) 2P法,步间软件延时10ms,反转96步后停止。

ORG  0000H

AJMP  START

ORG  0030H

START: MOV  R4,#96             ;步进次数为96步

         MOV  A,#0CCH       ;2P法励磁

 LOOP: MOV  P1,A

         ACALL  DELAY1              ;调用10ms延时子程序,若延时1s则为DELAY2

         RR  A               ;反转

         DJNZ  R4,LOOP    ;不足96步继续

         SJMP  $

DELAY1: MOV  R6,#45                 

  DL2:   MOV  R5,#54

  DL1:   DJNZ  R5,DL1

           DJNZ  R6,DL1

           RET

           END

6. 设无关地址线全部取为“1”,请问下图所示电路中,8155A的命令口、PA口、PB口、PC口和片内RAM首、末字节地址各为多少?(分析结果用16进制数表示)

解:

按题意,8155A的命令口地址应当是

0111,1111,1111,1000B=7FF8H

PA口地址应当是

0111,1111,1111,1001B=7FF9H

PB口地址应当是

0111,1111,1111,1010B=7FFAH

PC口地址应当是

0111,1111,1111,1011B=7FFBH

片内RAM首字节地址应当是

0111,1110,0000,0000B=7E00H

片内RAM末字节地址应当是

0111,1110,1111,1111B=7EFFH