单片机原理与应用 试题库(1)

更新时间:2023-12-06 14:38:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

《单片机原理与应用》试题库

一.单项选择题

1.单片机复位后,SP、PC、I/O口的内容为( c )。 A.SP = 60H PC = 00H P0 = P1 = P2 = P3 = FFH B.SP = 00H PC = 0000H P0 = P1 = P2 = P3 = 00H C.SP = 07H PC = 0000H P0 = P1 = P2 = P3 = FFH D.SP = 00H PC = 00H P0 = P1 = P2 = P3 = 00H

2.80C51有四个工作寄存器区,由PSW状态字中的RS1和RS0两位的状态来决定,单片机复位后,若执行 SETB RS0 指令,此时只能使用( b )的工作寄存器。 A.0区 B.1区 C.2区 D.3区 3.ATMEL的AT89S51驱动能力最强的并行端口为( a )。 A.P0 B.P1 C.P2 D.P3 4.读片外部数据存储器时,不起作用的信号是( c )。 A./RD B./WE C./PSEN D.ALE 5.AT89S51单片机定时器工作方式0是指( c )工作方式。 A. 8位 B. 8位自动重装 C. 13位 D. 16位

6. AT89S51单片机外部中断0对应的中断入口地址是( a )。 A. 0003H B. 000BH C. 0013H D. 001BH 7.下面哪条指令是错误的?( a )。

A. MOVX @R0, #30H B. MOVC A, @A+PC C. PL A D. POP ACC

8. AT89S51单片机可分为两个中断优先级别,各中断源的优先级别设定是利用( c )寄存器。

A. IE B. PCON C. IP D. SCON

9.AT89S51单片机响应外部中断1的中断时,程序应转移到地址( c )。 A.0003H B. 000BH C. 0013H D. 001BH

10.AT89S51单片机的位寻址区位于内部RAM的( d )单元。 A. 00H~7FH B. 20H~7FH C. 00H~1FH D. 20H~2FH

11.AT89S51单片机在同一优先级的中断源同时申请中断时,CPU首先响应( a )。 A. 外部中断0 B. 外部中断1 C. 定时器0中断 D. 定时器1中断 12.利用KEIL软件进行仿真调试时,在执行调用指令时,( c )调试可跟踪到子程序内部并逐条执行子程序内部的各条指令。 A.暂停 B.调试 C.单步 D.连续运行 13.已知: MOV A,#28H MOV R0,#20H MOV @R0,A ANL A, #0FH ORL A, #80H XRL A, @R0 执行结果A的内容为( a )。 A.A0H B.28H C.08H D.88H

14.在进行BCD码运算时,紧跟加法运算指令后面的指令必须是( b )指令。

1

A.ADD B.DA A C.ADDC D.由实际程序确定 15.在80C51中,需要外加电路实现中断撤除的是:( d )。 A.定时中断 B.脉冲方式的外部中断 C.外部串行中断 D.电平方式的外部中断

16.80C51的定时器T0,若振荡频率为12 MHz,在方式1下最大定时时间为( b )。 A.8192ms B.65536 μs C.0.256μs D.16384ms 17.控制串行口工作方式的寄存器是( c )。

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

18.开机复位后,CPU使用的是第0组工作寄存器,地址范围是( d )。 A.00H-10H B.08H-0FH C.10H-1FH D.00H-07H 19.80C51单片机P0口用作输出时,应外接( a )。

A.上拉电阻 B.二极管 C.三极管 D.下拉电阻

20.在进行BCD码运算时,紧跟加法运算指令后面的指令必须是( b )指令。 A.ADD B.DA A C.ADDC D.由实际程序确定 21.进位标志CY在( c )中 。

A.累加器 B.算逻运算部件ALU C.程序状态字寄存器PSW D.DPTR 22.80C51单片机有七种寻址方式, MOVX A,@A+DPTR 属于( b )寻址。 A.间接 B.变址 C.相对 D.直接

23.有如下程序段:

MOV 31H ,#24H ; MOV A , 31H ; SWAP A ;

ANL A , #0F0H ; 执行结果是 ( c) A.(A)=24H B.(A)=42H C .(A)=40H D.(A)=00H

24.某种存储器芯片容量是8KB,那么它的地址线根线是( c )。 A.11根 B.12根 C.13根 D.14根 25.如果AT89S51单片机系统的T0中断服务程序放在程序存储区的0500H地址开始的一段空间内,此时跳转到T0中断服务程序的指令LJMP 0500H应放在( b )开始的中断地址区。 A.0003H B.0013H C.0023H D.000BH 26.8位 LED 显示器采用动态显示方式时(不加锁存器),至少需要提供的 I/O 线总数是( a )。 A.16 B.20 C.18 D.6 27.堆栈数据的进出原则是( D )

A.先进先出 B.进入不出 C.后进后出 D.先进后出 28.80C51单片机中,若晶振频率屡6MHz,一个机器周期等于( d )μs。 A .1.5 B .3 C .1 D .2 29.单片机复位后,累加器A、PC、PSW的内容为( b )。 A.A = FFH PC = 00H PSW = FFH B.A = 00H PC = 0000H PSW = 00H C.A = 07H PC = 0000H PSW = FFH D.A = 00H PC = 00H PSW = 00H 30.PC的值是( c )。

2

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

C. 当前正在执行指令的下一条指令的地址 D. 控制器中指令寄存器的地址 31.下列说法中错误的是( c )。

A. PC是一个不可寻址的特殊功能寄存器。 B. 单片机的主频越高,其运算速度越快。

C. 在80C51单片机中,一个机器周期等于1μS。

D. 特殊功能寄存器SP内装的是栈顶首地址单元的地址。 32.AT89S51单片机的字长是( c )。

A. 2位 B. 4位 C. 8位 D. 16位 33.假定A=38H,(R0)=17H,(17H)=34H,执行以下指令: ANL A,#17H ORL 17H,A XRL A,@R0 CPL A 后,A的内容为( d )。 A.CDH B.DCH C.BCH D.DBH

34.在80C51单片机中,需要外加电路实现中断撤除的是:( d) A.定时中断 B.脉冲方式的外部中断 C.外部串行中断 D.电平方式的外部中断

35.AT89S51单片机外扩存储器芯片时,4个I/O口中用作地址总线的是( a )。A. P0口和P2 B. P0口 C. P1口和P3口 D. P2口 29.串行口的工作方式由( c )寄存器决定。

A.SBUF B.PCON C.SCON D.RI

36.某种存储器芯片是16KB,那么它的地址线根数是( d ) A.11根 B.12根 C.13根 D.14根

37.80C51单片机系统中,若晶振频率屡12MHz,一个机器周期等于( c )μs。A .1.5 B .3 C .1 D .2 38.单片机复位后,SP、PC、I/O口的内容为( c )

A.SP = 07H PC = 00H P0 = P1 = P2 = P3 = FFH B.SP = 00H PC = 0000H P0 = P1 = P2 = P3 = 00H C.SP = 07H PC = 0000H P0 = P1 = P2 = P3 = FFH D.SP = 00H PC = 00H P0 = P1 = P2 = P3 = 00H 39.80C51单片机乘法指令操作码助记符是( d )。 A.MOV B.MOVX C.MOVC D.MUL 40.80C51单片机响应中断矢量地址是( c )。

A.中断服务程序的首句地址 B.中断服务程序的出口地址

C.中断服务程序的入口地址 D.主程序等待中断指令的地址 41.单片机在与外部I/O口进行数据传送时,将使用( a )指令。

A .MOVX B .MOV C .MOVC D .视具体I/O口器件而定。 42.使用单片机开发系统调试程序时,对原程序进行汇编的目的是( a )。 A.将源程序转换成目标程序 B.将目标程序转换成源程序

3

C.将低级语言转换成高级语言 D.连续执行键

43.设内部RAM(30H)=40H,(40H)=10H,(10H)=00H,分析以下程序执行后( B ) =( a )。

MOV R0,#30H MOV A,@R0 MOV R1,A MOV B,@R1

A . 00H B .40H C .30H D . 10H 44.调用子程序.中断响应过程及转移指令的共同特点是( b )。 A.都能返回 B.都通过改变PC实现转移 C.都将返回地址压入堆栈 D.都必须保护现场

45.在进行串行通信时,若两机的发送与接收可以同时进行,则称为( d )。 A.半双工传送 B.单工传送 C.双工传送 D.全双工传送

46.AT89S51单片机复位后,从( c )单元开始取指令。 A. 0003H B. 000BH C. 0000H D. 0100H

47.51单片机执行MOVX写指令时,相关的信号状态是(b )。 A. PSEN无效为低电平,WR有效为低电平 B. PSEN无效为高电平,WR有效为低电平 C. PSEN有效为低电平,WR无效为高电平 D. PSEN有效为高电平,WR无效为高电平

48. 对片外数据 RAM 单元读写数据用( d )。

A.MOV 指令 B.MOVX 指令 C.WR指令 D.MOVC指令

49.AT89S51 的无条件转移指令中,其转移范围最大的是( a )。 A. LJMP B.AJMP C.SJMP C.GOTO

50.执行 MOV SP,#30H 指令后,压栈从片内 RAM 的( c )单元开始 A.2FH B.30H C.31H D.#30H

51.定时器/计数器T0工作于模式 2 ,在计数溢出时( b )。

A.计数从零重新开始 B.计数从初值重新开始 C.计数停止 D.由程序决定 52.按键的机械抖动时间通常是( c )。 A.0 B.5~10μs C.5~10ms D.1s 以上 53.下列计算机语言中,CPU能直接识别的是( d )。

A. 自然语言 B. 高级语言 C. 汇编语言 D. 机器语言 54.以下指令中,( c )指令执行后使标志位 CY 清 0。

A .MOV A ,#00H B.CLR A C. ADD A,#00H D.CLR 00H 55.当需要从AT89S51单片机程序存储器取数据时,采用的指令为( b )。 A.MOV A, @R1 B.MOVC A,@A + DPTR C.MOVX A, @ R0 D.MOVX A,@ DPTR

56.共阳数码管要显示字形“8”时,则对应的七段码值为( a )。 A.7FH B.77H C.08H D. 88H

57.80C51单片机时钟周期为T0,则机器周期为( d )。 A. 2T0 B. 4T0 C. 8T0 D. 12T0 58.单片机复位时,程序计数器PC的值为( a )。

A. 0000H B. 0030H C. 4000H D. 4100H

59.某存储器芯片有12根地址线,8根数据线,该芯片有( d )个存储单元。

4

A. 1 KB B. 2 KB C. 3 KB D. 4 KB 60.MOV A, R1的寻址方式为( c )。

A. 立即寻址 C. 直接寻址 C. 寄存器寻址 D. 寄存器间接寻址 61.串行口发送中断标志位为( a )。 A. TI B. RI C. IE0 D. IE1 62.T1中断允许控制位为( b )。

A. ET0 B. ET1 C. ES D. EX1 63.串行口工作在方式0时,作同步移位寄存器使用,此时串行数据输入输出端为( a )。 A. RXD引脚 B. TXD引脚 C. T0引脚 D. T1引脚 64.已知X的补码为10000010B,则X的真值是十进制( d )。 A. 127 B.-127 C.126 D.-126 65. 利用串行方式( a ),外接移位寄存器,能将串行接口扩展为并行输入、输出接口。 A. 0 B. 1 C. 2 D. 3 66. 有一位共阴极LED显示器,要使它显示“5”,它的字段码为( a )。 A. 6DH B. 92H C. FFH D. 00H

67.多字节加法运算,在进行最低字节相减前,应先将CY( a )。 A. 清0 B. 置1 C. 取反 D. 送入A

68.单片机的程序计数器PC是16位,其寻址范围为( d )。 A. 128 B B. 256 B C. 8 KB D. 64 KB 69.堆栈指针的作用是( b )。

A. 指明栈底的位置 B. 指明栈顶的位置 C. 操作数地址 D. 指令的地址 70.指令MOV PSW, #00H对源操作数而言,属于( b )方式。 A. 直接寻址 B. 立即寻址 C. 寄存器寻址 D. 相对寻址 71.AT89S51单片机的串行中断入口地址为( c )。 A.0003H B.0013H C.0023H D.0033H- 72.以下哪一条指令的写法是错误的( c )。

A. MOV DPTR,#3F98H B. MOV R0,#0FEH C. MOV 50H,#0FC3DH D. INC R0 73.AT89S5l单片机的堆栈区是设置在( c )中。

A. 片内ROM区 B. 片外ROM区 C. 片内RAM区 D. 片外RAM区 74.以下哪一条是位操作指令( b )。

A. MOV P0,#0FFH B.CLR P1.0 C.CPL A D.POP PSW 75. 下列指令不是变址寻址方式的是( c )。 A. JMP @A+DPTR B. MOVC A,@A+PC C. MOVX A,@DPTR D. MOVC A,@A+DPTR 76. 以下哪一条是位操作指令( b )。

A. MOV P1,#0FFH B. MOV C,ACC.1 C. CPL A D. POP PSW 77. 以下哪一条指令的写法是错误的( a )。

A. MOV A,@A+DPTR B. MOV R0,#FEH C. CPL A D. PUSH ACC 78.( a )属于单片机系统前向通道的器件。

A. A/D转换 B. D/A转换 C. LED数码管 D. 继电器

79.T0 设置成计数方式时,外部引脚计数脉冲的最高频率应是晶振频率的( b )。 A.1/12 B.1/24 C.1/48 D.1/100

80.外部中断 INT0 的触发方式控制位 IT0 置 1 后,其有效的中断触发信号是( d )。 A. 高电平 B. 低电平 C. 上升沿 D. 下降沿

5

程序。掩膜ROM单片机适合于大批量生产的产品。用户可委托芯片生产厂家采用掩膜方法将程序制作在芯片的ROM。

EPROM型单片机:内部具有紫外线可擦除电可编程的只读存储器,用户可以自行将程序写入到芯片内部的EPROM中,也可以将EPROM中的信息全部擦除。擦去信息的芯片还可以再次写入新的程序,允许反复改写。

无ROM型单片机:内部没有程序存储器,它必须连接程序存储器才能组成完整的应用系统。

无ROM型单片机价格低廉,用户可根据程序的大小来选择外接程序存储器的容量。这种单片机扩展灵活,但系统结构较复杂。 E2ROM型单片机:内部具有电可擦除叫可编程的程序存储器,使用更为方便。该类型目前比较常用

OTP(One Time Programmable)ROM单片机:内部具有一次可编程的程序存储器,用户可以在编程器上将程序写入片内程序存储器中,程序写入后不能再改写。这种芯片的价格也较低。

4.什么是单片机的机器周期、状态周期、振荡周期和指令周期?它们之间是什么关系?

答:某条指令的执行周期由若干个机器周期(简称M周期)构成,一个机器周期包含6个状态周期(又称时钟周期,简称S周期),而一个状态周期又包含两个振荡周期(P1和P2,简称P周期)。也就是说,指令执行周期有长有短,但一个机器周期恒等于6个状态周期或12个振荡周期,即1M=6S=12P。

5.80C51单片机通常内部包含哪些主要逻辑功能部件?

答: 51单片机通常由下列部件组成:一个8位CPU、一个片内振荡器及时钟电路、内部Flash Rom程序存储器、256B的RAM、2个16位的定时/计数器、可寻址64KB片外数据存储器和64KB片外数据存储器和64KB片外程序存储器空间的控制电路、4个8位并行I/O端口及一个可编程全双工串行接口。

6.80C51单片机的存储器从物理结构上可划分几个空间?

答:80C51系列单片机的存储器配置从物理结构上可分为:片内程序存储器、片外程序存储器、片内数据存储器、片外数据存储器。从逻辑上可分为:片内外统一编址的64KB的程序存储器、片内256B的数据存储器以及片外64KB的数据存储器。

7.存储器中有几个保留特殊功能的单元用做入口地址?分别作什么作用?

答:80C51系列单片机的存储器中有6个保留特殊功能单元,其中0000H为复位入口、0003H为外部中断0入口、000BH为T0溢出中断入口、0013H为外部中断1入口、001BH为T1溢出中断入口、0023H为串行接口中断入口。

8.80C51单片机片内256B的数据存储器可分为几个区?分别起什么作用?

答:80C51单片机片内数据存储器可分为二个区:00H~7FH单元组成的低128B的片内RAM区、80H~FFH单元组成的高128B的专用寄存器区。其中低128B的RAM区又分为:00H~1FH单元为工作寄存器区、20H~2FH单元为位寻址区、30H~7FH单元为用户RAM区。工作寄存器区可作通用寄存器用,用户RAM区可作堆栈和数据缓冲用。专用寄存器区又称特殊功能寄存器,使用80H~FFH单元。

9.80C51单片机的P0~P3四个I/O端口在结构上有何异同?使用时应注意的事项?

答:80C51单片机的四个端口在结构上相同之处:P0~P3都是准双向I/O口,作输入时,必须先向相应端口的锁存器写入“1”。不同之处;P0口的输出级与P1~P3口不相同,它无内部上拉电阻,不能提供拉电流输出,而P1~P3则带内部上拉电阻,可以提供拉电流输出。

当P0口作通用I/O口输出使用时,需外接上拉电阻才可输出高电平;但作地址/数据总线时,不需要外接上拉电阻。P1~P3口I/O输出时,均无需外接上拉电阻。

10.简述累加器的ACC的作用

答:(1)8位专用寄存器。 (2)运算时存放一个操作数。 (3)运算后存放运算结果,所以称它为累加器。

11.存储器空间在物理结构上可划分为几个部分?

答:80C51存储器是采用将程序存储器和数据存储器分开寻址的结构,其存储器空间在物理结构上可划分为如下四个空间:片内程序存储器、片外程序存储器、片内数据存储器、片外数据存储器。

16

12.开机复位后,CPU使用是的哪组工作寄存器?它们的地址是什么?CPU如何确定和改变当前工作寄存器组?

答:开机复位后,CPU使用的是第0组工作寄存器。它们的地址是00H~07H。CPU通过对程序状态字PSW中RS1、RS0的设置来确定和改变当前工作寄存器组。如:RS1、RS0为00则指向第0组;为01则指向第1组;为10则指向第2组;为11则指向第3组。

13.80C51的时钟周期、机器周期、指令周期的如何分配的?当振荡频率为8MHz时,一个单片机时钟周期为多少微秒?

答:80C51的时钟周期是最小的定时单位,也称为振荡周期或节拍。一个机器周期包含12个时钟周期或节拍。不同的指令其指令周期一般是不同的,可包含有1~4个机器周期。当振荡频率为8MHz时,一个单片机时钟周期为0.125μs 。

14.程序状态存储器PSW的作用是什么?常用状态标志有哪几位?作用是什么?

答:PSW是8位寄存器,用于作为程序运行状态的标志,其格式如下:

PSW位地址 D7H D6H D5H D4H D3H D2H D1H D0H 字节地址D0H C AC F0 RS1 RS0 OV F1 P

当CPU进行各种逻辑操作或算术运算时,为反映操作或运算结果的状态,把相应的标志位置1或清0。这些标志的状态,可由专门的指令来测试,也可通过指令来读出。它为计算机确定程序的下一步运行方向提供依据。PSW寄存器中各位的名称及文职如上所示,下面说明各标志的作用。

P:奇偶标志。该位始终跟踪累加器A内容的奇偶性。如果有奇数个“1”,则置P为1,否则置0。在80C51的指令系统中,凡是改变累加器A中内容的指令均影响奇偶标志位P。

F1:用户标志。由用户置位或复位。

OV:溢出标志。有符号数运算时,如果发生溢出时,OV置1,否则清0。对于一个字节的有符号数,如果用最高位表示正、负号,则只有7位有效位,能表示—128~~+127之间的数;如果运算结果超出了这个数值范围,就会发生溢出,此时,OV=1,否则OV=0。此外,在乘法运算中,OV=1表示乘积超过255;在除法运算中,OV=1表示除数为0。

RS0、RS1:工作寄存器组选择位,用以选择指令当前工作的寄存器组。由用户用软件改变RS0和RS1的组合,以切换当前选用的工作寄存器组,其组合关系如下。

RS1 RS0 寄存器组 片内RAM地址 0 0 第0组 00H~07H 0 1 第1组 08H~0FH 1 0 第2组 10H~17H 1 1 第3组 18H~1FH

15.EA/VPP引脚有何功用?80C31的引脚应如何处理?为什么?

答:EA/VPP是双功能引脚,功能如下:

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

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

80C31单片机内部无ROM,必须外接程序存储器。因此,80C31的EA引脚必须接低电平。

16.单片机有哪几个特殊功能寄存器?各在单片机的哪些功能部件中?

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

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

17

17.什么是指令?什么是程序?简述程序在计算机中的执行过程。

答:指令是控制计算机进行某种指令的命令。CPU就是根据指令来指挥和控制计算机各部分协调地动作,完成规定的操作。指令是由二进制代码表示的。通常指令氛围操作码和操作数两部分:操作码规定操作的类型,操作数给出参加操作的数据或存放数据的地址。

为完成某项规定任务,把计算机指令按一定次序进行编排组合所行成的指令集称为程序。

程序在计算机中的执行过程实质就是执行人们所编制程序的过程,即逐条执行指令的过程。计算机每执行一条指令都可氛围三个简短进行,即取指令,分析指令和执行指令。

取指令简短的任务是:根据程序计数器PC中的植从程序存储器读出现行指令,送到指令寄存器。

分析指令阶段的任务是:将指令操作码取出后进行译码,分析其指令性质。如指令要求操作数,则寻找操作数地址。 执行指令阶段的任务是:取出操作数,然后按照操作码的性质对操作数进行操作,即执行指令。 计算机执行程序的过程实际上就是逐条指令地重复上述操作过程,直至等待指令或循环等待指令。

18.简述80C51汇编指令格式。

答:操作码 [目的操纵数][,源操作数]。

19.什么叫寻址方式?MCS51有几种寻址方式?

答:寻址方式:寻址方式就是寻找指令中操作数或操作数所在地址的方式。也就是如何找到存放操作数的地址,把操作数提取出来的方法。MCS51的寻址方式有:立即数寻址、直接寻址、寄存器寻址、寄存器间接寻址、变址寻址、相对对址、位寻址。

20.简述80C51的寻址方式和所能涉及的寻址空间。

答:立即数寻址:程序存储器ROM。

直接寻址:片内RAM低128B和特殊功能寄存器。 寄存器寻址:R0~R7,A,AB,Cy,DPTR。 寄存器间接寻址:片内RAM低128B,片外RAM。 变址寻址:程序存储器64KB。 相对寻址:程序存储器256B范围。

位寻址:片内RAM的20H~2FH字节地址,部分特殊功能寄存器。

21.要访问特殊功能寄存器和片外数据存储器,应采用哪些寻址方式?

答:SFR:直接寻址,位寻址,寄存器寻址;片外RAM:寄存器间接寻址。

22.如何访问片内RAM单元,可使用哪些寻址方式?

答:低128B.直接寻址,位寻址,寄存器间接寻址,寄存器寻址(R0~R7)。 高128B.直接寻址,位寻址,寄存器寻址。

23.简述寄存器间接寻址方式及其寻址范围。

答:(1)寄存器中存放的是操作数的地址,操作数是通过寄存器间接得到,这种寻址方式称为寄存器间接寻址方式。 (2)寻址范围:① 内部RAM低128单位,形式@Ri(i=0,1)。② 外部RAM64K使用DPTR作间址寄存器,形式为@DPTR。

24.说明十进制调整的原因和方法。

答:压缩BCD码在进行加法运算时本应逢十进一,而计算机只将其当作十六进制数处理,此时得到的结果不正确。用DAA指令调整(加06H,60H,66H)。

25. SJMP(短转移)指令和AJMP(绝对转移)指令的主要区别。

18

答:SJMP提供了以SJMP的下一条指令的起始地址为中心的256字节范围的转移(-128~+127),AJMP的转移目标地址必须在与AJMP的下一条指令的第一字节相同的2KB区的程序储存器中。短转移方便了可重定位编码。SJMP方便了PC可重定位编码,但转移范围小。而ASJMP转移范围大,但存在跳区的限制,AJMP指令只能位于2KB区的最后2个字节处时,才可跳到下一个区去。因此用AJMP指令来代替SJMP指令是有条件的,也就是目标地址必须与它下面的指令存放地址在同一个2KB区域内。

26.中断服务子程序与普通子程序有哪些异同之处?

答:相同点:都是让CPU从主程序转去实行子程序,执行完毕后又返回主程序。不同点:中断服务子程序是随机执行的,而普通子程序是预先安排好的;中断服务子程序以RETI结束,而一般子程序以RET结束。RETI除了将短点弹回PC动作之外,还要清除对应的中断优先标志位(片内不可寻址的触发器),以便新的中断请求能被响应。

27.80C51响应中断的条件是什么?CPU响应中断后,CPU要进行哪些操作?不同的中断源的中断入口地址是什么?

答: CPU响应中断的条件如下: ①首先要有中断源发出有效的中断申请;

②CPU中断是开放的,即中断总允许位EA=1,允许所有中断源申请中断。 ③申请中断的中断源的中断允许位为1,即此中断源可以向CPU申请中断。

以上是CPU响应中断的基本条件。如果上述条件不足,则CPU一般会影响中断。但是,若有下列任何一种情况存在,则中断响应会被阻止。 ①CPU正处在为一个同级或高级的中断服务中。

②现行机器周期不 所执行的指令的最后一个机器周期。作此限制的目的在与使当前指令执行完毕后,才能进行中断响应,以确保当前指令的完整执行。

③当前指令是返回指令(RET、RETI)或访问IE、IP的指令。因为按80C51中断系统的特性规定,在执行完这些指令之后,还应在继续执行一条指令,然后才能影响中断。

若存在任何一种情况,CPU将丢弃中断查询结果;否则,将在紧接着的下一个机器周期内执行中断查询结果,响应中断。

CPU响应中断后,保护断点,硬件自动将(PC)→堆栈,寻找中断源,中断矢量→PC,程序转向中断服务程序入口地址。其中,INT0=0003H,T0=000BH,INT1=0013H,T1=001BH,串行接口=0023H。

28.单片机对中断优先级的处理原则是什么?

答:⑴低级不能打断高级,高级能够打断低级; ⑵一个中断以被响应,同级的被禁止;

⑶同级,按查询顺序,INT0→T0→INT1→T1→串行接口

29.什么是中断和中断系统?其主要功能是什么?

答:当CPU正在处理某件事情的时候,外部发生的某一事件请求CPU迅速去处理,于是,CPU暂时中止当前的工作,转去处理所发生的事件,中断服务处理完该事件以后,再回到原来被终止的地方,继续原来的工作。这种过程称为中断,实现这种功能的部件称为中断系统。

功能1;使计算机具有实时处理功能,能对外界异步发生的事件作出及时的处理。 功能2:完全消除了CPU在查询方式中的等待现象,大大提高了CPU的工作效率。 功能3:实现实时控制。

30.80C51的外部中断有哪两种触发方式?他们对触发脉冲或电平有什么要求?

答:有电平触发和脉冲触发。电平方式是低电平有效。只要单片机在中断要求引入端INT0和INT1上采样到低电平时,就激活外部中断。脉冲方式则是脉冲的下条沿有效。这种方式下,在两个相邻机器周期对中断请求引入端进行采样中,如前一次为高,后一次为低,即为有效中断请求。因此在这两种中断请求信号方式下,中断请求信号的高电平状态和低电平状态都应至少维持一个周期以保电平变化能被单片机采样用。

19

31.什么是中断和中断系统?其主要功能是什么?

答:当CPU正在处理某件事情的时候,外部发生的某一件事情请求CPU迅速去处理,于是,CPU暂时终止当前的工作,转去处理发生的事情,中断处理完该事件以后,再回到原来被终止的地方,继续原来的工作。这种过程称为中断,实现这种功能的部件称为中断系统。

功能:(1)使计算机具有实时处理功能,能对外界异步发生的事件作出及时的处理。(2)完全消除了CPU在查询方式中的等待现象,大大提高了CPU的工作效率。(3)实现实时控制。

32.80C51有哪些中断源?

答: 80C51有如下中断源:INTO:外部中断0请求,低电平有效(由P3.2输入);INT1:外部中断1请求,低点平有效(由P3.3输入);TO:定时器/计数器0溢出中断请求;T1:定时器/计数器1溢出中断请求;TX/RX:串行借口中断请求。通过对特殊功能积存器TCON、SCON、IE、IP的个位进行置位或复位等操作,可实现各种中断控制功能。

33.说明外部中断请求的查询和响应过程。

答:当CPU执行主程序第K条指令时,外设向CPU发出中断请求,CPU接到中断请求信号并在本条指令执行完后,中断主程序的执行并保存断点地址,然后转去响应中断。CPU在每一个S5P2期间顺序采样每个中断源,CPU在下一个机器周期S6期间按优先级顺序查询中断标志,如查询到某个中断标记为1,将在接下来的机器周期S1期间按优先级进行中断处理,中断系统通过硬件自动将相应的中断矢量地址装入PC,以便进入相应的中断服务程序。中断服务完毕后,CPU返回到主程序第K+1条指令继续执行。

34.80C51响应中断的条件?

答:(1)有中断源发出中断请求。 (2)中断总允许位EA=1,即CPU开中断。

(3)申请中断的中断源的中断允许位为1,即中断没有被屏蔽。 (4)无同级或更高级中断正在服务。 (5)当前指令周期已经结束。

(6)若现行指令为RETI或访问IE或IP指令时,该指令以及紧接着的另一条指令已执行完毕。

35.简述80C51单片机的中断响应过程。

答:CPU在每个机器周期S5P2期间顺序采用每个中断源,CPU在下一个机器周期S6期间按优先级顺序查询中断标志,如查询到某个中断标志为1,将在接下来的机器周期S1期间按优先级进行中断处理,中断系统通过硬件自动将相应的中断矢量地址装入PC,以便进入相应的中断服务程序。一旦响应中断,80C51首先置位相应的中断“优先级生效”触发器,然后由硬件执行一条长调用指令,把当前的PC值压入堆栈,以保护断点,再将相应的中断服务的入口地址送入PC,于是CPU接着从中断服务程序的入口处开始执行。对于有些中断源,CPU在响应中断后会自动清除中断标志。

36.在执行某一中断源的中断服务程序时,如果有新的中断请求出现,试问在什么情况下可响应新的中断请求?在什么情况下不能响应新的中断请求?

答:符合以下6个条件可响应新的中断请求:有中断源发出中断请求、中断总允许位EA=1,即CPU开中断、申请中断的中断源的中断允许位为1,即中断没有被屏蔽、无同级或更高级中断正在被服务、当前的指令周期已结束、若现行指令为RETI或访问IE或IP指令时,该指令以及紧接着的另一条指令已执行完。

如果新的中断请求“优先级”低于正在执行的中断请求或与其同级,则不能被响应。

37.80C51单片机外部中断源有几种触发中断请求的方法?如何实现中断请求?

答:有两种方式:电平触发和沿触发。电平触发方式:CPU在每个机器周期的S5P2期间采样外部中断引脚的输入电平。若为低电平,使IE1(IE0)置“1”,申请中断;若为高电平,则IE1(IE0)清零。边沿触发方式:CPU在每个机器周期的S5P2期间采样外部中断请求引脚的输入电平。如果在相继的两个机器周期采样过程中,一个机器周期采样到外部中断请求为高水平,接着下一个机器周期采样到外部中断请求为低水平,则使IE1(IE0)置1,申请中断;否则,IE1(IE0)置0。

20

38.什么是中断优先级?中断优先级处理的原则是什么?

答:通常,在系统中有多个中断源,有时会出现两个或更多个中断源同时提出中断请求的情况。这就要求计算机既能区分各个中断源的请求,又能确定首先为哪一个中断源服务。为了解决这一问题,通常给各中断源规定了优先级别,称为优先权或中断优先级。

中断优先级处理的原则是:当两个或者两个以上的中断源同时提出中断请求时,计算机首先为优先权最高的中断源服务,服务结束后,再响应级别较低的中断源。

39.中断响应过程中,为什么通常要保护现场?如何保护?

答:因为一般主程序和中断服务程序都可能会用到累加器、PSW寄存器和其他一些寄存器。CPU在进入中断服务程序后,用到上述寄存器时,就会破坏它原来存在寄存器中的内容;一旦中断返回,将会造成主程序的混乱。因而在进入中断服务程序后,一般要先保护现场,然后再执行中断处理程序,在返回主程序前再恢复现场。

保护现场的一般方法是把累加器、PSW寄存器及其他一些与主程序有关的寄存器压入堆栈。在保护现场和恢复现场时,为了不使现场数据受到破坏或者造成混乱,一般规定此时CPU不响应新的中断请求。这就要求在编写中断服务程序时,注意在保护现场前要关中断,在恢复现场后要开中断。如果在中断处理时允许有更高级的中断打断它,在保护现场之后要再开中断,恢复现场之前关中断。

40.在80C51的ROM中,应如何安排程序区?

答:主程序一般从0030H开始,主程序后一般是子程序及中断服务程序。 中断源 中断矢量地址 INT0 0003H T0 000BH INT1 0013H T1 001BH 串行接口 0023H

41.如果想将中断服务程序放置在程序存储区的任意区域,在程序中应该作何种设置?请举例加以说明。

答:如果要将中断服务程序放置在程序存储区的任意区域,在程序中要通过在中断地址区的对应地址上设置跳转指令才可实现对中断服务程序的执行。

例如:外部中断0的中断服务程序INTOP放置在程序存储区的任意区域,此时,通过以下方式,可实现对中断服务程序的执行: ORG 0003H LJMP INTOP

42.简述子程序调用和执行中断服务程序的异同点。

答:相同点:均能中断主程序执行本程序,然后再返回断点地址继续执行主程序。 不同点:

(1)中断服务程序入口地址是固定的,子程序调用入口地址是用户自己设定的。

(2)中断服务子程序返回指令除具有子程序返回指令所具有的全部功能之外,还有清除中断响应时被置位的优先级状态、开放较低级中断和恢复中断逻辑等功能。

(3)中断服务子程序是在满足中断申请的条件下,随机发生的;而子程序调用是用户主程序事先安排好的。

43.80C51定时器有哪几种工作模式?有何区别?

答:有模式0,模式1,模式2,模式3。

(1)模式0:选择定时器(T0或T1)的高8位和低5位组成的一个13位定时器/计数器。TL低5位溢出时向TH进位,TH溢出时向中断标志位TF0进位,并申请中断。

定时时间t=(213-初值)*振荡周期*12;计数长度为213=8192个外部脉冲。 (2)模式1:与模式0的唯一区别是寄存器TH与TL以全部16位参与操作。

21

定时时间t=(216-初值)*振荡周期*12;计数长度为216=65536个外部脉冲。

(3)模式2:把TL0与TL1配置成一个可以自动重装载的8位定时器/计数器。TL用作8位计数器,TH用以保存初值。TL计数器溢出是不仅使TF0置1,而且还自动将TH中的内容装载到TL中。

定时时间t=(28-初值)*振荡周期*12;计数长度为256个外部脉冲。 (4)模式3:对T0和T1不大相同。

若T0设为模式3,TL0和TH0被分为两个相互独立的8位计数器。TL0为8位计数器,功能与模式0和模式1相同,可定时可计数。 TH0仅用于作简单的内部定时功能,它占用了定时器T1的控制位TR1和中断标志位TF1,启动和关闭仅受TR1的控制。 定时器T1无工作模式3,但T0在工作模式3时T1仍可设置为模式0~2。

44.定时器方式2有什么特点?适用于什么应用场合?

答:(1) 方式2把TL0(或TL1)配置成一个可以自动重装载的8位定时器/计数器。TL0计数溢出时不仅使溢出中断标志位TF0置1,而且还自动把TH0中的内容重新装载到TL0中。TL0用作8位计数器,TH0用以保存初值。

(2) 用于定时工作方式时间(TF0溢出周期)为T=(28-TH0初值)×振荡周期×12,用于计数工作方式时,最大记数长度(TH0初值=0)为28=256个外部脉冲。这种工作模式可省去用户软件重装初值的语句,并可产生相当精确定时时间,特别适于作串行波特率发生器。

45.定时器用作定时器时,其定时时间与哪些因素有关?作计数器时,对外界计数频率有何限制?

答:定时时间与定时器的工作模式,初值及振荡周期有关。作计数器时对外界计数频率要求最高为机器振荡频率的1/24。

46.已知单片机系统晶振频率为6MHz,若要求定时值为10ms时,定时器T0工作在方式1时,定时器T0对应的初值是多少?TMOD的值是多少?TH0=?TL0=?(写出步骤)

答:定时值为10ms时,定时器T0工作在方式1时,定时器T0对应的初值是1388H,TMOD的值是00000001B,TH0=13H;TL0=88H。

47.串行数据传送的主要优点和用途是什么?

答:串行数据传送是将数据按位进行传送的方式。其主要优点是所需的传送线根数少,对于远距离数据传送的情况,采用串行方式是比较经济的。所以窜行方式主要用于计算机与远程终端之间的数据传送。

48.简述80C51串行接口接收和发送数据的过程。

答:串行接口的接收和发送是对同一地址(99H)两个物理空间的特殊功能寄存器SBUF进行读或写的。当向SBUF发“写”命令时(执行“MOV SBUF,A“指令),即向发送缓冲器SBUF装载并开始由TXD引脚向外发送一帧数据,发送完便使发送中断标志位T1=1。在满足串行接口接收中断标志位RI(SCON。)=0的条件下,置允许接收位REN(SCON.4)=1,就会接收一帧数据进入移位寄存器,并装载到接收SBUF中,同时使RI=1。当发读SBUF命令时(执行“MOV A,SBUF”指令),便由接收缓冲器SBUF取出信息通过80C51内部总线送CPU。

49.80C51串行接口有几种工作方式?

答:80C51串行接口有四种工作方式;方式0(8位同步移位寄存器),方式1(10位异步收发),方式2(11位异步收发),方式3(11位异步收发)。

50.简述80C51串行接口接收和发送数据的过程。

答:串行接口的接收和发送是对同一地址(99H)两个物理空间的特殊功能寄存器SBUF进行读或写的。当向SBUF发“写”命令时(执行“MOV SBUF,A”指令),即向发送缓冲器SBUF装载并开始由TXD引脚向外发送一帧数据,发送完便使发送中断标志位TI=1。

在满足串行接口接收中断标志位RI(SCON.0)=0的条件下,置允许接收位REN(SCON.4) =1,就会接收一帧数据进入移位寄存器,并装载到接收SBUF中,同时使RI=1。当发读SBUF命令时(执行“MOV A,SBUF”指令),便由接收缓冲器SBUF取出信息通过80C51内部总线送CPU。

51.80C51中SCON的SM2、TB8、RB8有何作用?

答:80C51中SCON的SM2是多机通信控制位,主要用于方式2和方式3。若置SM2=1,则允许多机通信。

22

TB8是发送数据的第9位,在方式2或方式3中,根据发送数据的需求有软件置位或复位。它在许多通信协议中可用作奇偶校验位;在多机通信中作为发送地址帧或数据帧的标志位。

RB8是接收数据的第9位,在方式2或方式3中,接收到的第9位数据放在RB8位。它或是约定的奇/偶校验位,或是约定的地址/数据标识位。

52.简述单片机多机通信的原理。

答:当一片80C51主机与多片从机通信时,所有从机的SM2位置1。主机首先发送的一帧数据为地址,即某从机机号,其中第9位1,所有的接收到数据后,将其中第9位装入RB8中。各个从机根据收到的第9位数据(RB8中)的值来决定从机可否再接收主机的信息。若(RB8)=0,说明是数据帧,则使接收中断标志位RI=0,信息丢失;若(RB8)=1,说明是地址帧,数据装入SBUF并置RI=1,中断所有从机,只有被寻址的目标从机清除SM2(SM2=0),以接收主机发来的一帧数据(点对点通信)。其他从机仍然保持SM2=1。

53.串行通信的总线标准是什么?有哪些内容?

答:美国电子工业协会(EIA)正式公布的串行总线接口标准有RS—232C、RS—422、RS—423和RS—485等。在异步串行通信中应用最广的标准总线是RS—232C。它包括了按位串行传输的电气和机械方面的规定,如适用范围、信号特性、接口信号及引脚说明等,适用于短距离(<15m)或带调制解调器的通信场合。采用RS—422、RS—485标准时,通信距离可达1000m。

54.简述单片机系统扩展的基本原则和实现方法。

答:(1)以P0口作地址/数据总线,此地址总线是系统的低8位地址线。(2)以P2口的口线作高位地址线。(不固定为8位,需要几位就从P2口引出几条口线。)(3)控制信号线:

①、使用ALE作为地址锁存的选通信号,以实现低8位地址线。 ②、以 PSEN信号作为扩展程序存储器的读选通信号。 ③、以EA信号作为外程序存储器的选择信号。

④、以RD和WR作为扩展数据存储器和I/O端口的读写选通信号,执行MOVX指令时,这两个信号分别自动有效。

55.简述80C51单片机的片内并行接口的作用。

答:1、连接负载;2、做通用I/O口;3、做数据/地址总线使用;4、对接口进行位操作。

56.写出TCON、TM0D、SCON、PSW、IE 等特殊功能寄存器的名称。

答:TCON 定时/计数器 控制寄存器 TM0D 定时/计数器方式控制寄存 SCON 串行通信控制寄存器 PSW 程序状态字寄存器 IE 中断允许寄存器

57.80C51单片机有哪几个并行I/O端口?各I/O口有什么特性?

答:80C51单片机有4个8位双向的并行I/O口P0~P3,每一个口都由口锁存器(D触发器)、输出驱动器(FET)和输入缓冲器(3态门)组成。各口每一位I/O线都能独立地用作输入或输出,CPU对口的读操作有两种,一种是读取口锁存器的状态,另一种是读取口引脚状态。但这4个并行I/O口的结构和功能却完全不同,它们各自的特性如下:

P0口为三态双向I/O口(开漏输出,内部无上拉电阻)。P0口可以作为一般I/O口,也可作为系统扩展的地址/数据总线口。 P1口为准双向I/O口(内部有上拉电阻)。用作外部引脚输入时,相应位的口锁存器必须为“1”,使输出驱动器FET截止。 P2口为准双向I/O口(内部有上拉电阻)。P2口可以像P1口一样用作一般I/O口使用,也可以作为系统扩展的地址总线口, P3口也是准双向I/O口(内部有上拉电阻),且具有两个功能。作为第一功能使用时,与P1口一样用作一般I/O口。

58.试说明非编码键盘的工作原理。如何去键抖动?如何判断是否释放?

答:(1)非编码键盘是靠软件识别的键盘。根据系统中按键数目的多少来选择不同的键盘结构。键数少时,可采用独立式按键结构;当键数多时

23

可采用行列式按键结构。无论采用什么结构,都是通过单片机对它控制,因此可有三种控制方式:程序控制扫描方式、定时扫描方式及中断扫描方式。以行列式非编码键盘,采用程序控制扫描方式为例,其工作原理为:首先判断键盘上有无键按下,若有键按下则去键的机械抖动影响,然后逐列(行)扫描,判别闭合键的键号,再判别键是否释放,如果键释放则按键号处理相应程序。

(2)当判断有键按下时,执行5ms~10ms的延时程序后再判断键盘的状态。如果仍为键按下状态,则认为确实有一个键按下;否则按照键抖动处理。

(3)判断键是否释放时,先判断键是否仍为闭合状态,如果为是,则执行5ms~10ms延时程序后再判断键直到键释放,以便达到对键的一次闭合仅作一次处理。

59.什么是D/A转换器?简述T形电阻网络转换器的工作原理。

答:在计算机控制的实时控制系统中,有时被控对象需要用模拟量来控制,模拟量是连续变化的电量。此时,就需要将数字量转换为相应的模拟量,以便操纵控制对象。这一过程即为“数/模转换”D/A(Digit to Analog)。能实现D/A转换的期间称为D/A转换器或DAC。

一个二进制数是由各位代码组合起来的,每位代码都有一定的权。为了将数字量转换成模拟量,应将每一位代码按权大小转换成响应的模拟输出分量,然后根据叠加原理将各代码对应的模拟输出分量相加,其综合就是与数字量成正比的模拟量,由此完成D/A转换。

为实现上述D/A转换,需要使用解码网络。解码网络的主要形式有二进制权电阻解码网络和T形电阻解码网络。

T形电阻网络整个电路是有相同的电路环节所组成的,每节有二个电阻(R和2R)、一个开关,相当于二进制数的一位,开关由该位的代码所控制。由于电阻接成T形解码网络。此电路采用了分流原理实现对输入为数字量的转换。

60.波特率、比特率和数据传送速率的含意各是什么?

答:在数据通信中,描述数据传送速度的方式有3种:

(1)波特率——每秒传送多少个信号码元(或每秒信号码元变换的总个数),单位是波特(Bd)。 (2)比特率——每秒传送多少个二进制位(或每秒传送二进制码元的个数),单位是b/s。

(3)数据传送速率(或字符传送速率)——每秒传送多少个字符(或单位时间内平均数据传移速率),单位是字符/秒。

五.编程题

3.内部RAM 40H和41H单元中存放着2个0-9的ASCII码(高位字节在前),请将其转换为压缩BCD码(高位在前)并存入外部RAM 2000H单元中。

参考答案:

ORG 0000H

LJMP START ORG 30H

START: MOV A,40H ANL A,#0FH SWAP A

MOV R0,A MOV A,41H ANL A,#0FH ORL A,R0

MOV DPTR,#2000H MOVX @DPTR,A END

4.将存放在内部RAM 20H-2FH单元的压缩型BCD码(高位在前)转换成相应的ASCII码,依次存放到外部RAM 1000H开始的单元区中。

参考答案:

24

ORG 0000H LJMP START ORG 30H

START: MOV R0,#20H MOV R2,#10H

MOV DPTR,#1000H LOOP: MOV A,@R0 SWAP A

ANL A,#0FH

ORL A,#30H (或 ADD A,#30H) MOVX @DPTR,A INC DPTR MOV A,@R0 ANL A,#0FH

ORL A,#30H (或 ADD A,#30H) MOVX @DPTR,A INC DPTR INC R0

DJNZ R2,LOOP SJMP $ END

5.内部RAM 30H和38H开始的单元分别存放着8个压缩BCD码,请将对应单元的内容相加(不考虑溢出),并将和存入外部RAM 1000H开始的单元中。

参考答案:

ORG 0000H

LJMP START ORG 30H START: MOV R0,#30H MOV R1,#38H

MOV DPTR,#1000H MOV R2,#08 LOOP: MOV A,@R0 ADD A,@R1 DA A

MOVX @DPTR,A INC R0 INC R1 INC DPTR DJNZ R2,LOOP SJMP $ END

25

本文来源:https://www.bwwdw.com/article/pdpt.html

Top