最全的单片机习题库

 

 

 

 

 

 

 

《单片机原理及应用》

习题库

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

    位: 广东松山职业技术学院

电气工程系自动化教研室

    者:  田亚娟等 

    核:《单片机原理及应用》精品课程项目组

适用专业: 电气自动化技术等专业

 

 

一、填空题

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_HSP=_07_H,通用寄存器则采用第_0_组,这一组寄存器的地址范围是从_00 H~_07_H

9.PSW18H,则选取的是第_3__组通用寄存器。

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

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

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

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

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

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

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

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

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

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

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

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

22.              8051片内有256BRAM,可分为四个区,00H1FH 工作寄存器 区;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.              起止范围是0000H3FFFH的存储器的容量是 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,执行指令:

          1000HMOVC  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.              若单片机的晶振频率fosc8MHZ,则执行一条MUL  AB指令所需时间为__6_us

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

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

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

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

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

先进先出     后进先出      直接存储器访问   程序查询

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

请选择并填写答案:A=____B=    C=_ _

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

56.              欲增加8KB*8位的RAM区,请问选用Intel21141KB*4位)需购_16_片;若改用Intel61162KB*8位)需购_4_片;若改用Intel62648KB*8位)需购_1_片。

57.              已知RAM芯片61162KB*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)  一个可由用户直接读写的8PAM寄存器

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

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

A00H07H   B  08H0FH  C  10H17H   D  18H1FH 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  )

 A0100H             B2080H           C0000H            D8000H

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

  A1个机器周期       B2个机器周期

   (C)4个机器周期        D10个晶振周期

1980518751的区别是(C

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

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

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

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

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

A16根地址线的寻址空间可达1MB

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

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

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

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

A 8KB  B16KB  (C) 32KB D64KB

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

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

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

AP0口和P2  BP0  CP2口和P3  DP2

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

AMOV   BMOVX   CMOVC   D)以上都是 

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

A256B   B1KB  C2KB  D64KB

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

ARAM  BROM  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 @R1A     BMOV 20H#01H     CORL AR5     DPOP 30H 

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

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

MOVX A@DPTR            CPL  ACC.7            

C MOV A, 45H           DMOV R023H

       XCH A27H                MOV  A@R0

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

ALOOP       B MOV     CLD1     DADDR  

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

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

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

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

A98H   B84H   C42H    D22H

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

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

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

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

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

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

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

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

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

(A) TCONSCON寄存器内的有关中断标志位为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

47DAC0832可以实现两路模拟信号的同步输出,这是利用了该芯片的(  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.              8031CPU是由RAMEPROM所组成。

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

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

20.              8155芯片中,决定端口和RAM的单元编址的信号线是AD7AD0 信号。

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

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

23.              MCS-51系统中,PUSHPOP动作每次仅处理一个字节。

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

25.              RLC  R0是非法指令。

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

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

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

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

30.              RETRETI两条指令不可以互换使用。

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

5.  MCS51引线中有多少I/O引线?它们和单片机对外的地址总线和数据总线有什么关系?简述8031单片机中P0P1P2P3口的主要作用。

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

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

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

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

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

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

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

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

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

2)直接寻址方式中,指令的操作数部分是操作数所在的地址,其寻址空间是内部RAM的低128B及特殊功能寄存器;寄存器寻址方式中,被寻址的寄存器的内容即是操作数,其寻址空间为R0R7ABCyDPTR;寄存器间接寻址方式是把指定寄存器的内容作为地址,由该地址所指定的存储单元内容作为操作数,其前用标示,其寻址空间为内容RAM的低128B和外部RAM;立即寻址是在该指令操作码后紧跟一字节或两字节操作数,操作数前用标示,其寻址空间是ROM;变址寻址的操作数所在地址由基地址加上地址偏移量形成,其寻址空间是ROM;相对寻址级出现在相对转移指令中,其寻址空间是ROM256B范围;位寻址是将8位二进制的某一位作为操作数,指令中给出的是位地址,寻址空间是内部RAM20H~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系列单片机用于中断允许和中断优先级控制的寄存器分别是IEIP

                  AFH   AEH   ADH   ACH   ABH   AAH   A9H   A8H

EA                ES    ET1  EX1   ET0  EX0

IEA8H

 

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

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

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

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

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

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

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

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

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

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

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

ANL    A#17H;(A=03H

ORL    17HA ;(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  40HA

MOV  A#78H

SUBB  A#0EH

MOV  41HA

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

50H= 00H 51H=  25H

MOV  A59H;(A=50H

MOV  R0A ;(R0=50H

MOV  A#00H;(A=00H

MOV  @R0A;(50H=00H

MOV  A#25H;(A=25H

MOV  51HA;(51H=25H

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

4.设堆栈指针SP中的内容为60H,内部RAM30H31H单元的内容分别为24H10H,执行下列程序段后,61H= 24H 62H= 10H 30H=  00H31H= 0FFHDPTR=  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=40HR1=23H,(40=05H。执行下列两条指令后,累加器AR1以及内部RAM40H单元的内容各为何值?

XCH  AR1;(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单元中的内容80H25H单元中的内容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=____HSP=_____H(41H)=_____H(42H)=_____HPC=_____H

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

PUSH  A

PUSH  B

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

11.(第三章)如果DPTR=507BHSP=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

LOOPADD  AR0

       DJNZ  R0LOOP

       SJMP $

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

CLR     C

MOV    20H#99H

MOV    A20H

ADD    A#01H

DA      A

MOV    20HA

SJMP    $

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

1 MOV     A#10H            

MOV     P2#30H

MOV     R0#50H

JB        P1.0LP1

MOVX    @R0A

SJMP     LP2

LP1MOV   @R0A

LP2SJMP    $

2  MOV     R0#14H             

MOV     DPTR#1000H

CL CLR      A

MOVX   @DPTRA

INC      DPTR

DJNZ     R0CL

SJMP     $

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

ORG  0000H

     MOV  R0#32H

     MOV  R2#00H

 LOOP MOV  A@R0

     CJNE  A#00HDON

     INC  R2

  DON INC  R0

     DJNZ  31HLOOP

     MOV  30HR2

     SJMP  $

     END

1)说明该程序的功能。

231H中存放的是              R2是用来存放          的计数器。

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

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

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

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

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

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

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

 

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

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

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

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


解:根据题意要求,可得8155的命令字为:01H;根据硬件电路8155I/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单片机上扩展22764EPROM芯片,试连接三总线及根据连线确定两芯片的地址空间。

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

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

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

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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

解:根据题意,ADC0809IN0口地址为

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

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

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

               Uo

     

 

 

                                               t

 


           T=1ms

 

解:

1)齿波参考程序。

ORG 0000H

AJMP DACR

ORG 0030H

DACRMOV  DPTR#7FFFH    DPTR赋初值,指向DAC0832的口地址

CONMOV  R0#0           ;置波形起点

UPMOV  AR0

MOVX  @DPTRA      ;启动D/A转换

INC  R0                ;调整波形幅值

NOP                    ;微调4个机器周期

NOP

NOP

NOP

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

SJMP  CON

END

(2)       三角波参考程序。

ORG 0000H

AJMP DACR

ORG 0030H

DACRMOV  DPTR#7FFFH         DPTR赋初值,指向DAC0832的口地址

      MOV      A,  #0FFH

UP: INC      A                  ;波形上升段

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

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

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

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

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

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

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

      END

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

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

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

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

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

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

ORG  0000H

AJMP  START

ORG  0030H

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

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

22P法步间软延时10ms,连续反转。

ORG  0000H

AJMP  START

ORG  0030H

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

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

31P法步间软延时10ms,正转48步后停止。

ORG  0000H

AJMP  START

ORG  0030H

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

         MOV  A#0EEH     1P法励磁

 LOOP MOV  P1A

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

         RL  A               ;正转

         DJNZ  R4LOOP    ;不足48步继续

         SJMP  $

DELAY1 MOV  R6#45                 

  DL2   MOV  R5#54

  DL1   DJNZ  R5DL1

           DJNZ  R6DL1

           RET

           END

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

   DELAY2MOV  R7#28

      DL23MOV  R6#19

      DL22MOV  R5#215

DL21DJNZ  R5DL21

DJNZ   R6DL22

DJNZ   R7DL23

RET

END

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

ORG  0000H

AJMP  START

ORG  0030H

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

         MOV  A#0CCH       2P法励磁

 LOOP MOV  P1A

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

         RR  A               ;反转

         DJNZ  R4LOOP    ;不足96步继续

         SJMP  $

DELAY1 MOV  R6#45                 

  DL2   MOV  R5#54

  DL1   DJNZ  R5DL1

           DJNZ  R6DL1

           RET

           END

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

解:

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

0111111111111000B=7FF8H

PA口地址应当是

0111111111111001B=7FF9H

PB口地址应当是

0111111111111010B=7FFAH

PC口地址应当是

0111111111111011B=7FFBH

片内RAM首字节地址应当是

0111111000000000B=7E00H

片内RAM末字节地址应当是

0111111011111111B=7EFFH

  • 17
    点赞
  • 124
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值