单片机期末复习题

单片机期末复习题
单片机期末复习题

1 .89S51 单片机为用户提供的硬件的基本配置:8 位CPU 、存储器RAM 和SFR 、内部程序存储器、定时器、8 位可编程I/O 口、串行通信端口、终端控制系统、内部时钟电路。

2 .89S51 单片机的存储器按照物理地址空间的不同可以划分为以下四类:工作寄存区、位寻址区、用户RAM 区、SFR

3 .-112 的补码表示为10010000 ,反码表示为10001111 。

4.堆栈操作的典型特征是:后进先出

5、指令DJNZ Rn rel 中rel 表示的范围是:-128 ——+127

6、PSW 中的RS0 ,RS1=10B ,此时R3 的地址是:0BH

7.CPU 中程序计数器PC 的内容是:指令地址

8、MCS-51 指令系统的寻址方式有:直接寻址、寄存器寻址、寄存器间接寻址、基址寄存

器加复址寄存器间接寻址、立即数寻址。

9. 在扩展了 4 片6264 后,89C51 能够扩展的I/O 线最多可达32k

10TMOD 中的GATEx=1 时,表示由两个信号TRx 和外部中断引脚上的电平控制定时器的启停。

11 、假定(SP )=60H ,(A)=70H ,(B )=60H ,执行下列指令:

PUSH ACC

PUSH B

指令执行后,(SP )=62H ,(62H )=60H 。

12.89S51 在未扩展程序存储器的时候,EA 应接高电平

13.89S51 单片机的串口在0 工作方式下, 每帧传送数据位数是8。

14 、在R7 初值为00H 的情况下,DJNZ R7 ,rel 指令将循环执行256 次。

15 、欲使P1 口的低 4 位输出0,高 4 位不变,应执行一条ANL P1 ,#0F0H 命令。

16. 复位后,单片机片内主要寄存器的状态:

PC 0000H ;DPTR 0000H ; PSW 00H ;SP 07H ;P0~P3 OFFH 。

17 .PUSH A 命令之操作数的寻址方式是寄存器寻址。

18 、若A 中的内容为68H ,那么P 标志位为 1 。

19. 外部中断1(INT1) 的中断入口地址为0013H ;定时器 1 的中断入口地为001BH 。

20 .MOV 类传送指令为内部RAM 传送指令;MOVX 类传送指令为外部RAM 传送指令;

MOVC 类传送指令为查表类传送指令。

21 .利用单片机计数器对外部脉冲计数时,允许的最高计数频率为晶振频率的1/24

22 .实现片选的方法有线选法和地址编译法两种。

23. 89S51 单片机中断的入口地址分别为:0003H ;000BH ;0013H ;001BH ;0023H 。

24 .常用的LED 显示器的字段类型分为七段码和米字管两种。

25 、单片机位寻址区的单元地址是从20 单元到2FH 单元

26 、当单片机复位后,程序将自动转到程序存储器0000H 开始运行。

27 .采用方式0 工作的串口传送数据的波特率为B=fosc/12

28 .指令DJNZ Rn rel 中rel 表示的范围是–128~+127

29. 如果存储单元的数据位为8 位,当它存放无符号数时,则该数的范围为(0-255 )。

30 .89S51 单片机有 4 个并行输入/输出口,当系统扩展外部存储器或扩展I/O 口时,P0 口作地址低8 位和数据传送总线,P2 口作地址总线高8 位输出,P3 口的相应引脚会输出控制信号。

31. 数据指针DPTR 有16 位,程序计数器PC 有16 位。

32. E PROM27256 芯片的存储容量为32K ,它的地址线有15 根。

34 、MCS -51 指令系统中,ADD 与ADDC 指令的区别是是否带有进位标志位Cy 参与运算

35 、89S51 单片机有 2 个16 位定时/计数器。

36 、89S51 单片机,当CPU 响应某中断请求时,将会自动转向相应规定地址(即中断入口

地址)去执行,外部中断0 入口地址为:0003 H,T1 入口地址为;001B H 。

37 、特

殊功能寄存器中,单元地址字节地址0 和8 结尾的特殊功能寄存器,可以位寻址。

38 、计算机三大总线分别为控制、地址和数据总线。

39 、74LS138 是具有 3 个输入的译码器芯片,用其输出作片选信号,最多可在8 块芯片中选

中其中任一块。

40 、在R7 初值为00H 的情况下,DJNZ R7 ,rel 指令将循环执行256 次。

41. 89S51 单片机片内共有128 字节单元的RAM.

42. 若M89S51 单片机的程序状态字PSW 中的RS1 ,RS0=11 ,那么工作寄存器R0-R7 的直

接地址为18-1FH.

42. 89S51 单片机的中断源有:INT0 、TO 、INT1 、T1 、串口

43. 当EA 接地时,89S51 单片机将从外部存储器的地址0000H 开始执行程序。

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

45. 假定(A )=55H ,(R3 )=0AAH ,在执行指令ANL A,R3 后,(A)=0 ,(R3 )=0AAH 。

46. 内部RAM 中,位地址为30H 的位,该位所在字节的字节地址为26H 。

47. 若A 中的内容为63H ,那么,P 标志位的值为0 。

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

PUSH A

PUSH B

SP 的内容为62H ,61H 单元的内容为30H ,62H 单元的内容为70H 。

49. 在89S51 中,PC 和DPTR 都用于提供地址,但PC 是为访问程序存储器提供地址,而DPTR 是为访问数据存储器提供地址。

50 .8051 的片内数据RAM 、片外数据RAM 和程序ROM 存储器空间配置地址依此为:

00H-FFH 、0000H-0FFFH 、0000H-FFFFH 。

51 .8051 复位后,PC= 0000H 。若希望从片内存储器开始执行程序,EA 脚应接高电平,PC 值超过0FFFH 时,8051 会自动转向片外存储器继续取指令执行。

52 .定时器/计数器T0 工作于方式 3 时,将定时器拆成两个独立的8 位计数器TL0 、TH0 ,此时,TH0 只可作为8 位定时器使用。

53 .8051 片内有4_ 组工作寄存器区,每组为8 个寄存器,每组寄存器均被命名为R0 ~R7 ,当前工作寄存器是通过对PSW 寄存器中RS1 、RS0 两位设置确定的。

54. 外部中断1(INT1) 的中断入口地址为0013H ;定时器 1 的中断入口地为001B 。

55 .89S51 内部有(128B )个RAM 、89S51 有4K 内部(flash 程序存储器)。

56 .MCS —51 单片机系列有( 5 )个中断源

57 .MCS-51 可分为六种不同的寻址方式。如:MOVC A,@A+PC 属于(基址寄存器加复址寄存器间接)寻址方式,SJMP rel 属于(相对)寻址方式。

58 .完成不同数制间的转换:(00100110 )二=(38)十;(10011010 )二=(9A )十六(01110111 )BCD = (77 )十;(28 )十= (00101000 )BCD ;

59 .单片机位寻址区的单元地址是从(20H )单元到(2FH )单元

60 .单片机内部与外部RAM 之间的查表指令是(MOVX )。

61 .当单片机CPU 响应中断后,程序将自动转移到该中断源所对应的入口地址处,并从该

地址开始继续执行程序,通常在该地址处存放转移指令以便转移到中断服务程序。其中INT0 的入口地址为(000BH ),T1 的入口地址为(001BH )。

62 .单片机常用两种复位方式,既(上电自动复位)和(按钮复位)。

63 .LED 数码显示有(米字管)和(七段码)两种显示形式。

64 .MCS-51 共有(111 )条指令,可分为几种不同的寻址方式。如:MOV A,@Ri

属于(寄存器间接)寻址方式,MOV C, bit 属于(位)寻址方式。

65 、单片机与普通计算机相比较,不同之处在于其将(CPU )、(I/O 口)和(存储器)三部分集成于一块芯片上。

66 、单片机的数据存储器和程序存储器是(基址寄存器加复址寄存器间接)寻址的,在89S51 单片机中,其片内共有128B 的(数据)存储器和4KB 的(flash )存储器。

67 、89S51 单片机的定时器/计数器实质是一个(计数器),不同在于定时器计数脉冲由(外部引脚)提供,计时器计数脉冲由(晶振的12 分频)提供,这两种工作模式通过对工作

方式控制寄存器TMOD 中的(C/T )位的设置进行确定。

1、当EA 脚接高电平时,对ROM 的读操作只访问片外程序存储器。(X)

2、读内部ROM 时使用的是“MOV ”指令,读外部RAM 时使用的是“MOVX ”指令。(X )

3、串行口方式0 的波特率仅与单片机的晶体振荡器有关,与定时器无关。(√)

4、89S51 单片机只能做控制用,不能完成算术运算。(X )

5、当89S51 执行MOVX A,@R0 指令时,伴随着WR。(X)

6、判断指令的正误,MOVX A,3124H 。(X)

7、单片机内部RAM 和外部RAM 是统一编址的,它们的访问指令相同。(x)

8、扩展I/O 口占用片外数据存储器的地址资源。(√)

9、指令AJMP 的跳转范围是1KB 。(x)

10 、指令AJMP 的跳转范围是1KB 。(x)

11 、89S51 有中断源 5 个。(√)

12 、A/D 转换器的作用是将模拟量转换数字量,D/A 转换器的作用是将数字量转为模拟量(√)

13 、MOVX A ,3057H (X )

14 、PC 存放的是即将执行的下一条指令。(X)

15 、内部RAM 的位寻址区,既能位寻址,又可字节寻址。(√)

16 、内部RAM 的位寻址区,既能位寻址,又可字节寻址。(√)

17 、89S51 单片机中的PC 是不可寻址的。(√)

18 、89S51 系统可以没有复位电路。(X )

19 、某特殊功能寄存器的字节地址为80H ,它即能字节寻址,也能位寻址。(√)

20 、PC 存放的是即将执行的下一条指令。(X)

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

22 、特殊功能寄存器SCON 与定时器/计数器的控制无关。(√)

23 、89S51 的程序存储器只是用来存放程序的。(√)

24 、89S51 的特殊功能寄存器分布在60H~80H 地址范围内。(x)

25 、89S51 的5 个中断源优先级相同。(X )

26 、MCS-51 中的基本型89S51 内部RAM 中地址00H 开始的32 个存储单元,即可以作

为通用寄存器使用,也可以作为直接存储单元使用。(√)

27 、当89S51 的EA 引脚接高电平时,CPU 只能访问片内的4KB 空间。(X)

28 、某特殊功能寄存器的字节地址为80H ,它即能字节寻址,也能位寻址。(√)

29 、扩展I/O 口占用片外数据存储器的地址资源。(√)

30 、特殊功能寄存器可以当作普通的RAM 单元来使用。(X )

31 、在89S51 中,当CPU 访问片内、外ROM 区时用MOVC 指令,访问片外RAM 区时用MOVX 指令,访问片内RAM 区时用MOV 指令。(√)

32 、DPTR 只能当作一个16 位的特殊功能寄存器来使用。(X)

33 、89S51 中的基本型89S51 共有五个中断源,这五个中断请求源全部来自外部引脚。(X )

34 、对89S51 系列芯片中,当使用内部RAM 时,EA 引线端应接高电平;而不使用内部RAM 时,EA 引线端则应接低电平。(√)

35 、寄存器DPTR 可拆开为两个独立的寄存器DPH 和DPL 使用。(√)

36 、MOV A ,@R0 ;表示将R0 的内容传送至 A 中。(X )

37 、89S51 中的89c51 单片机P3 口的各口线,必须作为第二功能使用。(X)

38 、单片机系统上电后,其内部RAM 的值是不确定的。(√)

39 、89S51 单片机中的PC 即可以用于对程序存储器寻址也可以用于对数据存储器寻址。

(X )

1、单片机开发系统一般应该具有哪些最基本的功能?

解:设计电路图→制作电路板→程序设计→硬软件联调→程序下载→产品测试或: 1. 确定任务,

完成总体设计; 2. 硬件、软件设计与调试; 3. 系统总调、性能测定

2、何谓汇编程序?汇编的主要任务是什么?

解:把汇编语言书写的程序翻译成与之等价的机器语言程序的翻译程序

把汇编语言编写的程序翻译成目标程序;检查程序的语法错误。

3. 何谓中断?中断与调用子程序有何异同?

解:中断:CPU 在执行一个程序时,对系统发生的某个事件(程序自身或外界的原因)作出的一种反应:CPU 暂停正在执行的程序,保留现场后自动转去处理相应的事件,处理完该事

件后,到适当的时候返回断点,继续完成被打断的程序。

异同:1.子程序调用是预先安排好的,程序中断是随机发生的; 2. 调用子程序,是为主程序

服务的,而中断程序与主程序无关; 3. 子程序是由调用指令给出目标地址,中断是通过隐指

令获得中断服务程序的入口地址。

4. 试述键盘处理程序一般流程。

解:单片机检测到有键闭合时,先延时 5 —10ms, 然后再检测按键的状态,若仍是闭合状态,则认为真正有键按下,当需要检测到键释放时,做同样的处理。即是“按下——按键抖

动——稳定闭合——释放抖动——松开”。

5、中断服务子程序与普通子程序有何异同之处?

解:共同点:都是让CPU 从主程序转去执行子程序,执行完毕又返回主程序。

不同点:中断服务程序是随机的,而普通子程序是预先安排好的;中断服务子程序以RETI 结束,而一般子程序以RET 结束。RETI 除将断点弹回PC 动作外,还要清除对应的中断优

先标志位。以便新的中断请求能被响应。

6、89S51 单片机片内256 B 的数据存储器可分为几个区?分别作什么用?

解:工作寄存器区,位寻址区,用户RAM 区。

P2. P2. P2. P2. 5

P2.

5

5

5

Q0-Q

D0-D7

8 8 8 74LS373

A0-A7

A8-A12

A0-A7

A8-A12

A0-A7

A8-A12

ALE

G

OE

2764

CE

1#- 6264

CE 2#- 6264

CE 8 89S51

P0. D0-D7

OE D0-D7

WR

OE D0-D7

W OE

R OE

8

8

8

8

P0. 工作寄存器区: ( 地址为 30H —7FH 的 16 个单元 128 位,能字节寻址、可寻址 )暂时存放数据,以便后面数据的处理。

位寻址区: (地址为 20H — 2FH 的单元, 只能进行字节寻址 ) 存放程序运行中的数据用位存储某个开关量,将位地址数值做逻辑运算,或传递给特殊功能寄存器等。 用户 RAM 区: (地址为 30H —7FH 的单元,只能进行字节寻址

)用于存放数据以及作为堆栈

区使用。

一.下图中外部扩展的程序存储器和数据存储器容量各是多少? : 2764:8K 626:8K 2 .两片存储器芯片的地址范围分别是多少 ? ① A000H-BFFFH

② 6000H-7FFFH

3 .请编写子程序,要求:

( 1 )将内部 RAM 30H~3FH 中的内容送入 1# 6264 的前 16 个单元中;

( 2)将 2# 6264 的前 4 个单元的内容送入 40H~43 中;

3、(1 )MOV DPTR #8000H (2)MOV DPTR #4000H LOOP:MOV R0 ,#30H MOV R0 ,#40H MOV A,@R0 MOVX A,@DPTR MOVX @DPTR,A MOV @R0 ,A INC R0 INC R0

INC DPTR INC DPTR

MOV R7 ,D PL CJNE R7 ,#04H

RET

CJNE R7 ,#40H,LOOP

RET

P1.7

+5V

RET P2

AB8-15 P2.0-P2.4

P2.6

P2.0 +5V

P2.7 ALE

G Q K

EA

8282 D CE 6264 D OE WE

I/M 8155 D 8

CE ALE

A0~A14 CE

27256

D

OE

8

P0 PSEN RD WD

8

RD RD WD WD

三、 图是四片 8K * 8 位存储器芯片的连接图。请确定每片存储器芯片的地址范围。

0:0000H-1FFFH 1 : 2000H-3FFFH 2: 4000H-5FFFH

二、请将扩展的 27256 连接到单片机系统中, 要求只用外部 EPROM ,请正确设定 EA 选择。根据系统的接线情况确定 6264 和 27256 外部存储器的地址范围。 (2)6264 : 8K

地址范围 :0000H-BFFFH 27256: 地址范围:

3: 6OOOH-7FFFH

四、利用单片机的P1.0 、P1.1 、P1.2 控制 3 个LED 指示灯,试编程实现红灯亮 4 秒;黄灯亮 2 秒;黄灯、绿灯同时亮 1 秒;绿灯亮 4 秒循环点亮

#include

sbit Red=P1^0;

sbit Yellow=P1^1;

sbit Green=P1^2;

void delayms(unsigned int x)

{

unsigned char j;

while(x--)

{

for(j=1;j<123;j++){;}

}

}

void main(void)

1. 编制一段程序,要求使用计数器T0 中断,工作于方式 1 ,在端口P1.7 上产生周期为1ms 的连续方波。(晶振频率为12MHz )。

解:1. 计算初值X

(2^16-X)*12/12*10^(-6)=0.5*10^(-3) X=65036s=1111 1110 0000 1100=FEOCH

THO=FEN TLO=OCH

2. 程序设计

ORG 0000H

RESET:AJMP MAIN

ORG 000BN

AJMP ITOP

ORG 0100N

MAIN:MOV SP,#60H

MOV TMOD,#01H

ACALL PT0M0

HERE:AJMP HERE

PT0M0 :MOV

THO,#OFEH

MOV TLV,#OCN

SETB ETV

SETB EA

SETB TRO

RET

ITOP:MOV

7HO,#OFEN

CPL P1.7

RETI

END

2 编写程序,统计外部RAM 中从地址2000H 开始存放的100 个有符号数中为正数的个数,结果放在内部RAM 的30H 存储单元中。

ORG 0000H

AJMP MAIN

ORG 0030H

MAIN:MOV DPTR,2000H MOV R2,#100 MOV R3,#00H

ITOP:MOVX A,@DPTR

JB ACC.7,NEXT

INC R3

NEXT:INC DPTR

DJNZ R2,LOOP

MOV 30H,R3

END

3 利用89S51 单片机内部定时中断T0 在P1.7 口产生频率为10KHz 的等宽矩形波,假定单片机的晶振频率为12MHz ,请编程实现。

ORG 0000H RESET:AJMP MAIN ORG 00BH

AJMP ITOP ORG 0100H

MAIN:MOV SP,#60H

MOV TMOD,#01H

ACALL PTOMO

HERE:AJMP HERE

PTOMO:MOV

TLO,#OCEH

MOV THO,#CFFH

SETB ETO SETB EA SETB T RO RET

ITOP:MOV TL0,#OCEH

MOV THO,#OFFH

CPL P1.7

RETI

END

4. 已知内部RAM 30H 单元开始存放20H 个数据,将其传送到外部RAM 的0000H 单元开始的存储区,请编程实现。

MOV R1,#20H

MOV R0 ,#30H

MOV DPTR ,#0000H LOOP :MOV A,@R0

MOVX @DPTR,A

INC R0

INC DPTR

DJNZ R1,LOOP

END

5 设系统时钟频率为12MHZ ,利用定时器/计数器T0 编程实现从P1.1 输出周期1s 的波形,采用定时器溢出中断方式,试编程实现。

ORG 0000H SETB TR0 CPL P1.1

LJMP MAIN SETB ET0 T0E:

ORG 000BH SETB EA RETI

LJMP T0ISR MOV R2,#4 END

ORG 0030H

MAIN:MOV TMOD,#02

SJMP $ T0ISR:

MOV TH0,#6 DJNZ R2,T0E

MOV TL0,#6 MOV R2,#4

6 设计LED 节日彩灯程序,要求完成以下功能:(设晶振频率为12MHZ ,P1 口采用共阳接法,1 熄灭,0 点亮)。 1 彩灯能向某个方向流动 2 要求看到的是一个LED 的流动ORG 0000H

LJMP

START

ORG

START:

30H

MOV

A,#0FEH

CLR

C

;进位标志清零

DELAY:

MOV

R7,#250

D1: MOV R6,#250 D2: DJNZ

R6,D2

7 已知一 89S51 单片机系统的片内 RAM 20H 单元存放了一个 8 位无符号数 7AH ,片外扩展 RAM 的 8000H 存放了一个 8 位无符号数 86H ,试编程完成以上两个单元中的无符号数相加,并将和值送往片外

RAM 的 01H 、00H 单元中。

LOOP: MOV P1,A

RL A ;左移指令实现流水灯 LCALL DELAY LJMP LOOP ;以下子程序为延时子程序

8、写出完成下列传输指令(1)、从片内30H 到片内50H (2)、从片内60H 到片外0200H (3 )、从片外020H 到片内50H (4 )、从单元到片内

1 、MOV 50H,30H

2 、MOV A,50H

MOV DPTR #0200H

MOVX @DPTR,A

Welcome To Download !!!

欢迎您的下载,资料仅供参考!

相关主题
相关文档
最新文档