单片机复习题1

更新时间:2024-04-19 21:15:01 阅读量: 综合文库 文档下载

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

单片机模拟试卷001

一、选择题(每题1分,共10分)

1.8031单片机的( D )口的引脚,还具有外中断、串行通信等第二功能。 a)P0 b)P1 c)P2 d)P3

2.单片机应用程序一般存放在( B )

a) RAM b)ROM c)寄存器 d)CPU

3.已知某数的BCD码为0111 0101 0100 0010 则其表示的十进制数值为( B ) a) 7542H b) 7542 c) 75.42H d) 75.42 4.下列指令中不影响标志位CY的指令有( C )。

a)ADD A,20H b)CLR c)RRC A d)INC A 5.CPU主要的组成部部分为( A ) a)运算器、控制器 b)加法器、寄存器 c)运算器、寄存器 d)运算器、指令译码器

6.INTEL 8051 CPU是( C )位的单片机

a) 16 b)4 c)8 d)准16

7.8031复位后,PC与SP的值为( B )

a )0000H,00H b) 0000H,07H c) 0003H,07H d)0800H,00H 8.当需要从MCS-51单片机程序存储器取数据时,采用的指令为( B )。 a)MOV A, @R1 b)MOVC A, @A + DPTR c)MOVX A, @ R0 d)MOVX A, @ DPTR

9.8031单片机中既可位寻址又可字节寻址的单元是( A ) a)20H b)30H c)00H d)70H 10.下列哪条指令是正确的( D )

a) PUSH R2 b) ADD R0,A c) MOVX A @DPTR d) MOV @R0,A

二、填空题(每空1分,共30分)

1.一个完整的微机系统由软件系统 和硬件系统 两大部分组成。

2.8051 的引脚RST是__IN__(IN脚还是OUT脚),当其端出现__高__电平时,8051进入复位状态。8051一直维持这个值,直到RST脚收到__低__电平,8051才脱离复位状态,进入程序运行状态,从ROM 0000 H单元开始取指令并翻译和执行。

3.半导体存储器分成两大类 RAM 和 ROM ,其中 RAM 具有易失性,常用于存储 临时性数据 。 4.求十进制数-102的补码(以2位16进制数表示),该补码为9AH 。 5.PC存放_ CPU将要执行的指令所在的ROM单元的地址_,具有__自动加1___特性。在8051中决定程序执行顺序的是PC还是DPTR?PC 它是_16__位?不是 (是,不是)SFG? 6.123= 01010010 B= 52 H。

7.8051内部有 4 并行口,P0口直接作输出口时,必须外接 上拉电阻 ;并行口作输入口时,必须先 将口锁存器置1 ,才能读入外设的状态。

8.MCS-51的堆栈只可设置在 内RAM低128B区 ,其最大容量为128B ,存取数据的原则是 先进后出 。堆栈寄存器SP是 8 位寄存器,存放 堆栈栈顶的地址 。 9.中断处理的全过程分为以下3个段:中断请求 、 中断响应 、 中断服务 。

10.定时和计数都是对 脉冲 进行计数,定时与计数的区别是 定时是对周期已知的脉冲计数;计数是对周期未知的脉冲计数 。

1

三、判断题(对者打√,错者打×,并改正,每题1分,共10分) 1 中断服务程序的最后一条指令是RET。×

2 存储器分成内存和外存两大部分,其中外存可以直接与CPU交换信息。× 3 P2口既可以作为I/O使用,又可以作地址/数据复用口使用。× 4 在中断响应阶段CPU一定要做如下2件工作:保护断点和给出中断服务程序入口地址。√

5 RC A为循环左移指令。×

6 MOV A,30H的源操作数为立即寻址方式。× 7 MOV A,@A+DPTR是一条查表指令。×

8 MUL AB的执行结果是高8位在A中,低8 位在B中。× 9 AJMP跳转空间最大可达到64KB 。×

10 DPTR是由DPH和DPL两个8位特殊寄存器组成的。√

四、简答题(每题5分,共15分) 1.MCS51的中断系统有几个中断源?几个中断优先级?中断优先级是如何控制的?在出现同级中断申请时,CPU按什么顺序响应(按由高级到低级的顺序写出各个中断源)?各个中断源的入口地址是多少?

答:MCS51单片机有5个中断源,2个中断优先级,中断优先级由特殊功能寄存器IP控制,在出现同级中断申请时,CPU按如下顺序响应各个中断源的请求:INT0、T0、INT1、T1、串口,各个中断源的入口地址分别是0003H、000BH、0013H、001BH、0023H。

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

3.MCS51系列单片机的内部资源有哪些?说出8031、8051和8751的区别。

答:MCS51系列单片机上有1个8位CPU、128B的RAM、21个SFR、4个并行口、1个串行口、2个定时计数器和中断系统等资源。8031、8051和8751的区别是8031内无ROM;8051内有4KB的掩膜ROM;8751内有4KB的EPROM。

五、作图题(10分)

用6264(8K*8)构成16K的数据存储系统。要求采用线选法产生片选信号,并计算6264的地址范围。

答:WR接6264的WE RD接6264的OE

AB0---AB12接6264的A0---A12 DB0—DB7接6264的D0—D7

AB15、AB14分别接Y0和Y1

地址:0000H---1FFFH;2000H---3FFFH 六、设计题

1.某单片机控制系统有8个发光二极管。试画出89C51与外设的连接图并编程使它们由右向左轮流点亮。

答: 图 (5分) 构思 (3分) MOV A,#80H (1分) UP:MOV P1,A (1分) RR A (2分) SJMP UP (1分)

2

2.某控制系统有2个开关K1和K2,1个数码管,当K1按下时数码管加1,K2按下时数码管减1。试画出8051与外设的连接图并编程实现上述要求。 答:图 (5分) 构思 (3分) 程序(4分) ORG 0000H LJMP MAIN ORG 0003H LJMP AINT0 ORG 0013H LJMP BINT1

MAIN: MOV IE,#83H SETB IT0 SETB IT1 MOV R0,#00H MOV DPTR,#TAB UP: MOV A,R0

MOVC A,@A+DPTR MOV P1,A SJMP UP AINT0: INC R0 CJNE R0,#10,AINT01 MOV R0,#0 AINT01: RETI

BINT1: DEC R0

CJNE R0,#0FFH,BINT11 MOV R0,#9 BINT11: RETI

单片机模拟试卷002

一、填空题(每空格1分,共10分)

1.MCS—51布尔处理机的存储空间是00H~7FH _。

2.P2口通常用作__高8位地址线__,也可以作通用的I/O口使用。

3.若由程序设定RS1、RS0=01,则工作寄存器R0~R7的直接地址为08~0FH _。 4.8051的堆栈区一般开辟在_用户RAM区___。

5.所谓寻址,其实质就是如何确定操作数的单元地址_。 6.存储器映象是_存储器在整个存储空间的地址范围_。 7.定时器中断请求发生在_定时时间到_。

8.中断响应时间是指_从查询中断请求标志位到转向中断区入口地址所需的机器周期数。 9.通过CPU对I/O状态的测试,只有I/O已准备好时才能进行I/O传送,这种传送方式称为程序查询方式_。

10.在中断服务程序中现场保护和现场恢复期间,中断系统应处在_关中断 状态。

二、单项选择题(在每小题的四个备选 中,选出一个正确 ,并将正确 的序号填在题干的括号内。每小题1分,共10分)

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

A.0100H B.2080H C.0000H D.8000H

2.若单片机的振荡频率为6MHz,设定时器工作在方式1需要定时1ms,则定时器初值应为( C )。

A.500 B.1000 C.216-500 D.216-1000

3.定时器1工作在计数方式时,其外加的计数脉冲信号应连接到( D )引脚。

A.P3.2 B.P3.3 C.P3.4 D.P3.5

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

A.1个机器周期 B.2个机器周期

C.4个机器周期 D.10个晶振周期

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

3

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

6.定时器若工作在循环定时或循环计数场合,应选用( C )。

A.工作方式0 B.工作方式1 C.工作方式2 D.工作方式3 7.MCS-51单片机的外部中断1的中断请求标志是( D )。 A.ET1 B.TF1 C.IT1 D.IE1 8.下列标号中,正确的标号是( D )。

A.1BT: B.BEGIN: C.ADD: D.STAB31: 9.串行口每一次传送( A )字符。

A.1个 B.1串 C.1帧 D.1波特

10.要想把数字送入DAC0832的输入缓冲器,其控制信号应满足( B )。 A.ILE=1,CS=1,WR1=0 B.ILE=1, C.ILE=0,

CS=0, WR1=0 =1, WR1=0

CS D.ILE=0,CS=0, WR1=0 三、简答题(每小题4分,共20分) 1.如何正确使用P3口? 要点:

(1)说明P3口有第一功能和第二功能的使用。 (2)P3口的第二功能各位线的含义。

(3)使用时应先按需要选用第二功能信号,剩下的口线才作第一功能I/O线用。 (4)读引脚数据时,必需先给锁存器输出“1”。 2.简述累加器的ACC的作用。 (1)8位专用寄存器。

(2)运算时存放一个操作数。

(3)运算后存放运算结果,所以称它为累加器。 3.简述寄存器间接寻址方式及其寻址范围。

(1)寄存器中存放的是操作数的地址,操作数是通过寄存器间接得到,这种寻址方式称为寄存器间接寻址方式。

(2)寻址范围:

①内部RAM低128单位,形式@Ri(i=0,1)。

②外部RAM64K使用DPTR作间址寄存器,形式为@DPTR。 4.简述MCS-51单片机的中断入口地址。

中断入口地址为中断响应后PC的内容即中断服务的入口地址。 它们是:外部中断0 0003H 定时器T0中断 000BH 外部中断1 0013H 定时器T1中断 001BH 串行口中断 0023H 5.简述串行数据传送的特点。 (1)传送按位顺序进行,速度慢。

4

(2)传输线少,成本低。

(3)传送距离远,可达几公尺到几千公里。 四、读程序题(每小题4分,共20分) 1.执行下列程序段后,(P1)=_ 9BH __。 MOV P1,#5DH CPL P1.1 CPL P1.2

CLR P1.6 SETB P1.7

2.执行下列程序段后,(A)=_ 8BH__,(CY)=_ 不影响_。 MOV A,#C5H

RL A

3.下列程序段执行后,(R0)=_ 7FH __,(7EH)=_ 00H _,(7FH)=__ 41H ___。 MOV R0,#7EH MOV 7EH,#0FFH MOV 7FH,#40H

1NC @R0 1NC R0 1NC @R0 4.已知(SP)=60H,子程序SUBTRN的首地址为0345H,现执行位于0123H的ACALL SUBTRN双字节指令后,(PC)= 0345H ,(61H)=_ 25H _,(62H)= _01H__。 5.阅读下列程序,说明其功能。

MOV R0,#data MOV A,@R0 RL A

MOV R1,A

RL A

ADD A,R1 MOV @R0,A RET

(data)×10操作

RL A

五、编程题(每小题4分,共20分)

1.已知在累加器A中存放一个BCD数(0~9),请编程实现一个查平方表的子程序。 SQR:INC A

MOVC A,@A+PC RET

TAB:DB 0,1,4,9,16 DB 25,36,49,64,81

2.请使用位操作指令实现下列逻辑操作: BIT=(10H∨P1.0)∧(11H∨CY) ORL C,11H

MOV 12H,C MOV C,P1.0 ORL C,/10H ANL C,12H MOV BIT,C RET

5

3.已知变量X存于VAR单元,函数值Y存于FUNC单元,按下式编程求Y值。

?1?0????1x?0x?0x?0Y=

MOV A,VAR

CJNE A,#0,COMP

SJMP RES ;x=0,Y=0 COMP:JNC POSI ;x>0,Y=1 MOV A,#0FFH ;x<0,Y=-1 SJMP RES

POSI:MOV A,#01H RES:MOV FUNC,A

RET

4.已知在R2中存放一个压缩的BCD码,请将它拆成二个BCD字节,结果存于SUM开始的单元中(低位在前)。 MOV R0,#SUM

MOV A,R2 ANL A,#OFH

MOV @R0,A ;存低字节BCD MOV A,R2 ANL A,#0F0H

SWAP A 1NC R0

MOV @R0,A ;存高字节BCD RET

5.将存于外部RAM 8000H开始的50H数据传送0010H的区域,请编程实现。 MOV DPTR,#8000H

MOV R0,#10H MOV R2,#50H

LOOP:MOVX A,@DPTR ;取数 MOVX @R0,A ;存数 1NC DPTR 1NC R0

DJNZ R2,LOOP

RET

六、综合应用题(每小题10分,共20分)

1.已知如图,8155的PA口用于输出,PB口用于输入,PC口用于输出,请: (1)写出8155的各I/O口的口地址和存储器的地址范围。 (2)编写出8155初始化程序。B155命令字格式:

6

1.(1)

(2)初始化程序:

MOV DPTR,#0100H MOV A,#0DH MOVX @DPTR,A

2.已知如图并给出下列程序,请在读图并理解程序后回答下列问题: (1)程序功能为_巡回采集8个通道的数据__。

(2)ADC0809的口地址为_ 7FF0H~7FF7H(或7FF8~7FFFH)。

(3)EOC的作用是A/D转换结束信号,用来引起中断或查询,以便读取A/D的转换结果。 (4)程序运行结果存于_RAM的A0H~A7H_。 ADC:MOV DPTR,#7FFOH MOV R0,#0A0H MOV R2,#8 MOV A,#0

LOOP:MOVX @DPTR,A JB P3.3,$ MOVX A,@DPTR MOVX @R0,A 1NC DPTR 1NC R0 DJNZ R2,LOOP AJMP ADC

7

单片机模拟试卷003

一、 填空

1.8051单片机的内部硬件结构包括了: 、 、 、和 以及并行I/O口、串行口、中断控制系统、时钟电路、位处理器等部件,这些部件通过 相连接。

2.MCS-51的堆栈只可设置在 ,堆栈寄存器sp是8位寄存器。

3.MCS-51单片机的P0~P4口均是 I/O口,其中的P0口和P2口除了可以进行数据的输入、输出外,通常还用来构建系统的 和 ,在P0~P4口中, P0 为真正的双向口, P1~P3 为准双向口; P3 口具有第二引脚功能。

4.定时器/计数器的工作方式3是指得将 拆成两个独立的8位计数器。而另一个定时器/计数器此时通常只可作为 使用。

5.假定(SP)=40H , (39H)=30H,(40H)=60H。执行下列指令: POP DPH

POP DPL

后,DPTR的内容为 ,SP的内容是 。

二、 选择

1.MCS-96单片机的片内A/D转换器是()的转换器件。

A.4通道8位 B.8通道8位 C.8通道10位 D.8通道16位 2.MCS-51单片机的堆栈区应建立在()。

A. 片内数据存储区的低128字节单元 B. 片内数据存储区

C.片内数据存储区的高128字节单元 D.程序存储区 3.MCS-51单片机定时器工作方式0是指的()工作方式。 A.8位 B.8位自动重装 C.13位 D.16位

4.当需要从MCS-51单片机程序存储器取数据时,采用的指令为()。 A.MOV A, @R1 B.MOVC A, @A + DPTR C.MOVX A, @ R0 D.MOVX A, @ DPTR

单片机模拟试卷004

一、填空题(15分,每空1分)

1.MCS—51单片机的P0—P4口均是 并行 I/O口,其中的P0口和P2口除了可以进行数据的输入、输出外,通常还用来构建系统的 数据总线 和 地址总线 ,在P0—P4口中, P0 为真正的双向口, P1—P3 为准双向口。

2.MCS—5l单片机的堆栈区只可设置在 片内数据存储区(器) ,堆栈寄存器SP是 8位寄存器。

3.MCS—51单片机外部中断请求信号有电平方式和 脉冲方式 ,在电平方式下,当采集到INT0、INT1的有效信号为 低电平 时,激活外部中断。

4.定时器/计数器的工作方式3是指的将 定时器/计数器0 拆成两个独立的8位计数器。而另一个定时器/计数器此时通常只可作为 串行口的波特率发生器 使用。 5.MCS—96单片机的最大寻址空间是 64K ,该空间的地址范围为 0000H—FFFFH ,系统上电及复位的程序入口地址为2080H ,芯片配置字节CCB的地址为 2018H 。 二、简答题(15分,每小题5分)

1.51系列单片机具有几个中断源,分别是如何定义的?其中哪些中断源可以被定义为高优先级中断,如何定义?

8

具有5个中断源,分别是外部中断INT0和外部中断INT1、定时器溢出中断0和定时器溢出中断1以及串行中断。通过对中断优先级寄存器IP的设置,每个中断源都可以被定义为高优先级中断。(6分)

2.各中断源对应的中断服务程序的入口地址是否能任意设定?

各中断源的入口地址已经在中断地址区中被定义了,不能任意设定。(3分) 3.如果想将中断服务程序放置在程序存储区的任意区域,在程序中应该作何种设置?请举例加以说明。

如果要将中断服务程序放置在程序存储区的任意区域,在程序中要通过在中断地址区的对应地址上设置跳转指令才可实现对中断服务程序的执行。 例如:外部中断O的中断服务程序INTOP放置在程序存储区的任意区域,此时,通过以下方式,可实现对中断服务程序的执行:(4分)

ORGO003H (2分)

JMP INTOP

列举其他中断跳转的例子也可,但叙述的中断源要与中断地址相对应才可得分,如外中断0对应0003H地址。

三、参数计算题(16分)

已知一单片机系统的外接晶体振荡器的振荡频率为11.059MHz,请计算该单片机系统的拍节P、状态S、机器周期所对应的时间是多少?指令周期中的单字节双周期指令的执行时间是多少?

P=1/f=(1/11.059×106)=0.09×10-6s =90ns

S=2P=2×90ns=180ns

机器周期=12P=12×90ns=1.08μs 双指令周期=2×机器周期=2.16μs 四、改错题(共5分,每小题1分)

以给出的指令操作码为依据,请判断MCS—5l单片机的下列各条指令的书写格式是否有错误,如有请说明错误原因。

1.MUL R0Rl 乘法指令应使用A、B寄存器操作

2.MOV A,@R7 间接寄存器使用R7有误,间址寄存器只能使用R0、R1 3.MOV A, #3000H 8位累加器A不能接受16位数据

4.MOVC @A+DPTR,A MOVC指令为对程序存储区操作指令,累加器的内容不可通过变址方式送入程序存储器,两操作数写反了。

5.LJMP #1000H 长转移指令中的操作数为16位转移地址,不能用立即数的形式来表达。

五、寻址方式(5分,每问1分)

说明MCS—51单片机的下列各条指令中源操作数的寻址方式(可直接在每条指令后面书写)

1.ANL A,20H 直接寻址

2.ADDC A, #20H 立即寻址 3.JZ rel 相对寻址 4.CLR C 位寻址

5.RR A 寄存器寻址

六、使用简单指令序列完成以下操作(12分)

9

1.请将片外RAM 20H—25H单元清零 MOV R0,#20H MOV R7,#06H CLR A

LOOP:MOVX @R0,A INC R0

DJNZ R7,LOOP

2.请将ROM 3000H单元内容送R7 MOV DPTR, #3000H CLR A

MOVC A,@A+DPTR MOV R7,A

七、编程题(18分)

已知一MCS—51单片机系统的片内RAM 20H单元存放了一个8位无符号数7AH,片外扩展RAM的8000H存放了一个8位无符号数86H,试编程完成以上两个单元中的无符号数相加,并将和值送往片外RAM的01H、00H单元中,同时将所编写程序运行完成后的数据和状态添入下表中给出的PSW的有关位以及寄存器A、DPTR和RAM单元中。 CY 0 A 01H DPTR 8000H 片外01H 0lH 片外00H 00H 片外8000H 86H MOV DPTR,#8000H ;加数单元地址送DPTR MOVX A,@DPTR ;取加数之一

ADD A,20H ;两数相加

MOV R0,#00H ;和值的低位送片外00H单元 MOVx @R0,A INC R0

CLR A ;计算和值的高位

ADDC A,#00H

MOVx @R0,A ;高位送片外01H单元 RET

八、判读电路题(14分)

下图为MCS—51单片机系统中混合扩展多片存储器2764、6264芯片部分连线电路图。 试分析电路并回答下列问题:

1.请简单叙述2764芯片的功能、容量,在电路中起什么作用?(3分)

2764为EPROM型存储器,其容量为8K,在电路中通常是作为程序存储器使用。 2.请简单叙述6264芯片的功能、容量,在电路中起什么作用?(3分) 6264为随机存储器,其容量为8K,在电路中通常是作为数据存储器使用。

3.请分析各片2764、6264所占用的单片机数据存储空间的地址范围是多少? U3:0000H—1FFFH (8分,各2分) U4:2000H—3FFFFH U5:Co00H—DFFFH U6:E000H—FFFFH

10

单片机模拟试卷005

一、填空题(每空1分,共10分)

1.单片机内有组成微机的主要功能部件 CPU 、 存储器 和 I/O接口 。

2.堆栈的特性是 先进后出 ,8051的堆栈一般开辟在 内部RAM30H~7FH的范围内 ,其堆栈指针是 SP 。

3.RS232C是串行通信 总线标准。

4.8255是 通用的可编程并行 接口。

5.MCS-51有一个全双工的 异 步串行口,有 4 种工作方式。 二、简述题(每题5分,共25分) 1.单片机的特性主要有哪些?

.单片机具有体积小、可靠性高、控制功能强、使用方便、性能价格比高、容易产品化等特点。

2.8031、8051、8751有何异同?

8051、8751和8031均为8位单片机,其内部结构是基本相同的。

不同点为:8051内部有4KBROM,8751内部有4KBEPROM,而8031内部无程序存储器。 3.MCS-51的位存储区在哪里?寻址范围是多少?

内部RAM的20~2FH为位寻址区域,位地址范围00~7FH;特殊功能寄存器中地址能被8整除的字节地址单元也可以位寻址,位地址范围80~FFH;位存储区共256个位。 4.8051的定时器/计数器有几个?是多少位的?有几种工作方式?其工作原理如何? 8051有2个16位的定时器/计数器,有4种工作方式。

定时器与计数器的工作原理是相同的,8051的定时器/计数器是根据输入的脉冲进行加1计数,当计数器溢出时,将溢出标志位置1,表示计数到预定值。 5.8051有哪几个中断源?哪些是内部中断源?哪些是外部中断源?

8051有5个中断源,分别是定时器/计数器T0、T1的溢出中断TF0、TF1,串行口的收/发中断RI/TI,外部中断INT0、INT1;其中定时器/计数器T0、T1的溢出中断TF0、TF1、串行口的收/发中断RI/TI是内部中断源,外部中断INT0、INT1是外部中断源。 三、判断题(20分)

1.判断以下各条指令是否正确(LL1和PROC为标号)(10分) (1)MOVX @R0,B × (2)MOV A,30H √ (3)MOVX A,30H (4)ADDC A,R7

× √

(5)SUB A,R2 × (6)ANL #99H ,36H × (7)MOV C,ACC.0 (8)ORL P1.0,P3.1 (9)JBC P0,LL1

√ ×

×

(10)ACALL PROC √

2.判断以下说法是否正确,不正确予以改正。(10分)

(1)单片机是面向数据处理的。× 单片机是面向控制的。 (2)定时器与计数器的工作原理均是对输入脉冲进行计数。√

(3)由于MCS-51的串行口的数据发送和接收缓冲器都是SBUF,所以其串行口不能同时

11

发送和接收数据,即不是全双工的串行口。× 由于MCS-51的串行口的数据发送和接收缓冲器都是SBUF,但在物理上,实际上是两个缓冲器,其串行口可以同时发送和接收数据,是全双工的串行口。

(4)END表示指令执行到此结束。× END表示指令汇编到此结束。 (5)ADC0809是8位逐次逼近式模/数转换接口。√

四、阅读程序(20分)

1.下列各条指令其源操作数的寻址方式是什么?各条指令单独执行后,A中的结果是什么?(5分)设(60H)=35H,(A)=19H,(R0)=30H,(30H)=0FH。 (1)MOV A,#48H ;寻址方式: 立即寻址 (A)= 48H (2)ADD

A,60H

;寻址方式: 直接寻址 ;寻址方式:寄存器间接寻址

(A)= 4EH (3)ANL A,@R0 (A)= 09H

2.阅读下列程序段,写出每条指令执行后的结果,并说明此程序段完成什么功能?(15分) MOV R1,#30H ;(R1)= 30H MOV A,#64H ADD A,#47H (AC)= 0 DA A (AC)= 1

;(A)= 64H ;(A)= ABH ,(CY)= 0 , ;(A)= 11H ,(CY)= 1 ,

MOV @R1,A ;(R1)= 30H ,(30H)= 11H

此程序段完成的功能:

五、计算(画图)题(10分)

若8051的晶振频率fosc为6MHz,定时器/计数器T0工作在工作方式1,要求产生10ms定时,写出定时器的方式控制字和计数初值(分别写出TH0与TL0值)。 (1)(5分)T0:定时方式,工作在方式1。

方式字TMOD=01H (2)(5分)fosc=6MHz,16位计数器,10ms定时,设计数初值为a, t=12/ fosc*(216 - a) 10*103=12/6 *(216 - a) a=60536=EC78H 即TH0=ECH TL0=78H 所以:TMOD=01H TH0=ECH TL0=78H 六、编程题(15分)

1.阅读程序并填空,形成完整的程序以实现如下功能。(5分)

有一长度为10字节的字符串存放在8031单片机内部RAM中,其首地址为40H。要求将该字符串中每一个字符加偶校验位。(以调用子程序的方法来实现。) 源程序如下:

ORG MOV MOV

1000H R0,#40H R7,#10 A, ①@R0 NEXT: MOV

ACALL SEPA MOV @R0,A INC

R0

12

DJNZ

② R7 ,NEXT $

A,#00H

SJMP SEPA: ADD

③ JNB PSW.0,SRET ORL A,④ #80H

SRET: ⑤ RET

2.从内部RAM30H单元开始,有10个单字节数据。试编一个程序,把其中的正数、负数分别送40H和50H开始的内部RAM单元。(10分)

从内部RAM30H单元开始,有10个单字节数据。试编一个程序,把其中的正数、负数分别送40H和50H开始的内部RAM单元。(10分)

MOV MOV MOV MOV

R0,#30H R1,#40H A,#50H R7,#10 20H,@R0 20H.7,FSHU @ R1,20H R1 NEXT A,R1 @R1,A A,R1 A

R7,LOOP $

LOOP: MOV JB ZSHU: MOV INC SJMP FSHU: XCH

MOV

XCH

INC

NEXT: DJNZ SJMP

机模拟试卷006及

一、填空(每题2分,共10分)

1、MCS-51单片机片内有 5 个中断源,其中 2 个外部中断源。

2、设定T1为计数器方式,工作方式2,则TMOD中的值为 60H(高位为6即可) 。 3、若IT1=0,当引脚 P3.2 为低电平的时候,INT0的中断标志位 IE0 才能复位。 4、在接口电路中,把已经编址并能进行读写操作的寄存器称为 端口 。

5、在单片机中,为实现数据的I/O传送,可使用三种控制方式,即 无条件传送 方式、查询 方式和 中断 方式

二、选择题(每小题2分,共10分)

1、寻址空间为数据程序存储器所用的指令是( A ): A. MOVX B.MOV C.MOVC D.ADDC

2、执行中断返回指令,从堆栈弹出地址送给( C ). A. A B. CY C. PC D. DPTR

3、七段共阴极发光两极管显示字符‘H’,段码应为(E ) A.67H B. 6EH C. 91H D. 76H E.90H

4、在串行通信中, 8031中发送和接收的寄存器是( B) 。

13

A.TMOD B. SBUF C. SCON D. DPTR

5、波特的单位是(B )

A. 字符/秒 B. 位/秒 C. 帧/秒 D. 字节/秒 三、指令题(每小题4分,共16分) 1、将20H单元清零 MOV 20H,#00H 或 CLR A

MOV 20H, A

2、将片外RAM2000H中的低字节与片内20H中的低字节交换。 MOV DPTR,#2000H XCHD A,@R0 MOV R0,#20H MOVX @DPTR,A

MOVX @DPTR,A

3、已知某端口地址为2FFFH,将片内RAM20H的内容写到该端口中。 MOV A, 20H MOVX DPTR, #2FFFH MOVX @DPTR, A

4、把DPTR的内容压入堆栈

PUSH DPH PUSH DPL

四、填写下表(每空2分,共10分) 指令 CLR 40H PUSH ACC MOVC A,@A+PC SJMP $ MOVX @DPTR, A 寻址空间 位寻址区 片内RAM(数据存储器) (ROM)程序存储器 (ROM)程序存储器 外部RAM(数据存储器) 五、读程序(每小题5分,共10分) 1、设(A)=38H,R0=28H,(28H)=18H,执行下列程序后,(A)= 0E7H ORL A,#27H ANL A,28H XCHD A,@R0

CPL A

2、设(A)=38H,(20H)=49H,PSW=00H,(B)=02H,填写以下中间结果。 SETB C

ADDC A, 20H (A)= 82H (CY)= 0 (AC)= 1 RLC A (A)= 04H (CY)= 1 (P)= 1 MUL AB (A)= 08H (B)= 00H (OV)= 0 六、简答题(共14分)

1、简述子程序调用和执行中断服务程序的异同点。(8分)

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

14

(1)中断服务程序入口地址是固定的,子程序调用入口地址是用户自己设定的。 (2)中断服务子程序返回指令除具有子程序返回指令所具有的全部功能之外,还有清除中断响应时被置位的优先级状态、开放较低级中断和恢复中断逻辑等功能。

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

2、已知晶振频率为6MHz,在P1.0引脚上输出周期为500微秒的等宽矩形波,若采用T1中断,工作方式2,试写出中断初始化程序(6分) MOV TMOD, #20H SETB ET1 MOV TL1, #06H SETB TR0 MOV TH1, #06H SJMP $

SETB EA 七、编程题(10分)

将内部RAM20H为首的16个单元的8位无符号数排序写出程序,并作适当注释 SORT: MOV R0, #20H MOV R7,#07H

CLR TR0 ;交换标志位复位 LOOP: MOV A,@R0

MOV 2BH, A INC R0 MOV 2AH, @R0

CLR C

SUBB A, @R0;比较前后两个数 JC NEXT ; MOV @R0, 2BH DEC R0

MOV @R0, 2AH

INC R0

SETB TR0 ;置交换标志位有效 NEXT: DJNZ R7, LOOP

JB TR0, SORT;若交换标志位有效,继续进行 HERE: SJMP $

八、读图题(20分)

阅读下列硬件图,补齐连接线(5分),并回答问题(各5分):

15

1、 ALE、PSEN、WR、RD的功能

ALE作地址锁存的选通信号,以实现低八位地址的锁存,PSEN信号作扩展程序存储器的读选通信号

WR、RD作为扩展数据存储器和I/O端口的读写选通信号。 2、 图中各芯片的功能

74LS373:地址锁存器,用来锁存P0口发送的地址低8位 2764 :容量为8KB的程序存储器(EPROM)用来存储程序 6264 :容量为8KB的数据存储器(RAM)用来存储数据

8031:不含程序存储器的8位单片机芯片,是不带I/O设备的微型计算机。 3、2764、6264的地址范围(P2.5取”0”)

2764:8000H~9FFFH 6264: 4000H~5FFFH

机模拟试卷007

一、 填空题:(共30空,每空1分)

1. 单片机即一个芯片的计算机,此芯片上包括五部分:运算器、__存储器______、__控制器__、输入部分、_输出部分__。 2. 只有在__补____码表示中0的表示是唯一的。 3. MCS—51指令系统中 direct表示的含义是:___片内存储器地址_______。 4.

P0、P1、P2、P3四个均是_8_位的_并行_口(填“串行”还是“并行”),其中P0的

功能是____地址/数据分时复口_____;P2口的功能是__高8位地址口____;而____P3___是双功能口;__P1____是专门的用户口。 5. 任何程序总是由三种基本结构组成:顺序、分支和__循环____。 6. MCS—51指令共有六种寻址方式,分别是立即数寻址、_直接寻址、寄存器寻址、寄存器间接寻址、__变址寻址__、相对寻址。 7. MOV DPTR,#data16的作用是用来设定_地址指针___。

8. 片内RAM可进行位寻址的空间位地址范围是_00H~FFH。 9. MCS—51的存储器空间配置从功能上可分为四种类型:片内程序存储器___、内部数据存储器、__外部数据存储器__、外部程序存储器。

16

10. MCS-51的指令按其功能可分为五大类:__数据传送类___、_算术运算类__、逻辑运算类指令、位操作指令、控制转移指令。

11. 输入输出设备与主机的连接部分称为输入输出接口,接口有三大作用:_隔离与寻址___作用、___锁存与缓冲__作用和信号电平与形式的变换作用。 12. MCS—51内部的SFR共有__21__个。 13. CJNE <目的字节>,<源字节>,rel属于五大类指令中的____类指令,其操作码助记符含义是_________。 14. 15.

8051单片机有__5__个中断源,____2_级中断优先级别。

8255A属于可编程的___并行_____ IO接口芯片,8255A的A通道有_3_____种

作方式。

二、 选择题:(共15题,每题1分)

1. 10101.101B转换成十进制数是( D )。

(A)46.625 (B)23.625 (C) 23.62 (D) 21.625 2. 存储器的地址范围是0000H~0FFFH,它的容量为( D )。 (A)1KB (B) 2KB (C) 3KB (D) 4KB 3. 3D.0AH转换成二进制数是( A )。

(A)111101.0000101B (B) 111100.0000101B (C) 111101.101B (D) 111100.101B 4. 73.5转换成十六进制数是( B )。

(A)94.8H (B) 49.8H (C) 111H (D) 49H

5. MOVX A , @R0指令中,源操作数采用( D )寻址方式,指令作用在( )区间。

(A)寄存器,外部数据存储器 (B)直接,程序存储器

(C)寄存器间接 ,内部数据存储器 (D)寄存器间接,外部数据存储器 6. A7H和5BH两个立即数相加后,和为( C ),(CY)是( )。 (A)1CH,0 (B) C1H,0 (C) 02H,1 (D) C1H,1 7. 若(A)=86H,(PSW)=80H,则执行RRC A指令后(A) (A)C3H (B) B3H (C) 0DH (D) 56H 8.如果(P0)=65H ,则当 CPL P0.2 SETB C

MOV P0.4 ,C

执行后(P0)=( C )

(A)61H (B) 75H (C) 71H (D) 17H 9. ( D )指令是MCS-51指令系统中执行时间最长且长达4 us的。

(A)比较转移 (B)循环转移 (C)增减量 (D)乘除法

10. 8031单片机中,将累加器A中的数送入外RAM的40H单元,可执行的指令( D )。 (A) MOV R1 ,40H (B) MOV R1 ,#40H MOVX @R1 , A MOVX R1 , A (C) MOVX 40H , A (D) MOV R1, #40H MOVX @R1 , A

17

11. 已知累加器A的数值为98H,它与0FAH相加,相加后会影响标志位CY、AC和OV位。各个位的值是( D )。

(A) 0、0、0 (B) 1、0、1 (C) 1、1、1 (D) 1、1、0 12.不属于单片机与输入输出设备进行信息交换的方式是( D )。

(A) 无条件传送方式 (B) 查询方式 (C) 中断方式 (D) 存储器直接存取方式

13.8051与8255A的硬件连接如图P110图6-7,其中规定未用的地址线取0。则8255A的控制字寄存器的地址是( D )

(A) 0000H (B) 0001H (C) 0002H (D) 0003H

14.A/D转换方法有以下四种,ADC0809是一种采用( C )进行A/D转换的8位接口芯片。

(A) 计数式 (B) 双积分式 (C) 逐次逼近式 (D) 并行式

15.8051单片机内有( B )个16位的定时/计数器 ,每个定时/计数器都有( )种工作方式。

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

三、 判断指令(或伪指令)正误 (共15题,每题1分)

(1). MOV 20H , R1 (√) (2). ADDC A , 2030H (×) (3). CLR A (√) (4). MOVX 40H , #30H(×) (5). ORG 3000H (√) (6). MOVC @A+PC , A(× ) (7). MOVX A ,2000H (×) (8). DJNZ #data , rel (× ) (9). INC @R5 (×) (10). DEC DPTR (×) (11). MOV R1 ,@ R2 (×) (12). SWAP R1 (×) (13). SETB 2000H (× ) (14). JZ A , LOOP (×) (15) DA R2 (× )

四、分析程序并写出结果:(共4题,每题5分)

1. 已知(R0)=20H, (20H ) =10H, (P0) =30H, (R2) =20H, 执行如下程序段后( 40H ) = MOV @R0 , #11H MOV A , R2 ADD A , 20H

MOV PSW , #80H SUBB A , P0 XRL A , #45H MOV 40H , A (20H)←11H

(A)←20H

(A)←(A)+(20) (CY)=1

(A)-(P0)-(CY)→(A)即(A)←00H (A)+45H→(A)即(A)←45H

(40H)←45H

2. 已知 ( R0 )=20H, (20H )=36H, (21H) =17H, (36H) =34H, 执行过程如下: MOV A , @R0 MOV R0 , A MOV A , @R0

18

ADD A , 21H

ORL A , #21H RL A MOV R2 , A RET

则执行结束(R0)= (R2)= (A)←((R0)) (A)=36H (R0)←(A) (R0)←36H (A)←((R0)) (A)←34H (A)←(A)+(21H) 34H+17H=4BH (A)←(A)?21H 4BH?21H=6BH (A)←D6H

(R2)←D6H

(R0)=36H (R2)=D6H 3. 执行下面一段程序; MOV SP, #60H MOV A, #10H MOV B, #01H PUSH A PUSH B POP A

POP B A , B的内容是:(A)=01H (B)=10H 4. 设在31H单元存有#23H,执行下面程序: MOV A, 31H ANL A, #0FH MOV 41H, A MOV A, 31H ANL A, #0F0H SWAP A

MOV 42H, A

则(41H)=03H (42H)=02H

五、简答及做图题:(共2题、每题5分)

1.用图示形式画出MCS—51内部数据存储器(即内 RAM含特殊功能寄存器)的组成结构,并简单说明各部分对应用途。 21个SFR 堆栈及数据缓冲区 128个位寻址区 工作寄存器 19

2. 要在8051单片机片外扩展16K数据存储器,选择其地址为0000H~3FFFH。如果选用6264芯片为存储芯片,74LS138为译码器,试画出它的硬件连接图。

六、编程题:(共2题,每题5分)

1. 将字节地址30H~3FH单元的内容逐一取出减1,然后再放回原处,如果取出的内容为00H,则不要减1,仍将0放回原处。 MOV R7,#10H MOV R1,#30H

LOOP:CJNE @R1,#00H,NEXT MOV @R1,#00H SJMP NEXT1 NEXT: DEC @R1 NEXT1: INC R1 DJNZ R7,LOOP SJMP $ END

2. 按以下要求编写8051单片机定时器的初始化程序: (1) T0作为定时,定时时间为10ms. (2)

T1作为计数,记满1000溢出。

fc13

(1) ① T0的工作方式0时: tmax=213×12 定时10ms可达要求,则X=2-10ms13

=213×2us=16.384ms

2us=2-10000us2us =3192=C78H=6318H

②T0工作在方式1时: tmax=216×12fc=216×2us=131.072ms

2us=EC78H

10ms 定时10ms也可达要求,则X=216-12 ③T0工作在方式2或3时: tmax=28×

fc=28×2us=512us

定时500us,循环20次,X=28-500us2us=06H (2) 方式0:213-100=8092=1F9CH=FC1CH X=M-计数值 方式1:216-100=FF9CH 方式2或3:28-100=9CH

① DELAY: MOV TMOD #00H(#01H / #10H / #11H) (MOV R3 ,#14H) MOV TH0 , #63H MOV TL0, #18H SETB TR0

20

LP1: JBC TF0 ,CLOSE SJMP LP1 CLOSE: SJMP $ RET

机模拟试卷008

一.单项选择题(30分)

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

A.传送指令 B.转移指令 C.加法指令 D.中断返回指令 2.当MCS-51复位时,下面说法准确的是(A )

A.PC=0000H B.SP=00H C.SBUF=00H D.(30H)=00H

3.要用传送指令访问MCS-51片外RAM,它的指令操作码助记符是(B ) A.MOV B.MOVX C.MOVC D.以上都行 4.ORG 2000H LACLL 3000H ORG 3000H

RET

上边程序执行完RET指令后,PC=(C )

A.2000H B.3000H C.2003H D.3003H

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

A.98H B.84H C.42H D.22H 6.JNZ REL指令的寻址方式是( C )

A.立即寻址 B.寄存器寻址 C.相对寻址 D.位寻址

7.执行LACLL 4000H指令时, MCS-51所完成的操作是( D )

A保护PC B.4000H?PC C.保护现场 D.PC+3入栈, 4000H?PC 8.下面哪条指令产生WR信号( D )

A.MOVX A,@DPTR B.MOVC A,@A+PC C.MOVC A,@A+DPTR D.MOVX @DPTR,A 9.若某存储器芯片地址线为12根,那么它的存储容量为( C) A. 1KB B. 2KB C.4KB D.8KB

10.要想测量INT0引脚上的一个正脉冲宽度,则TMOD的内容应为(A ) A.09H B.87H C.00H D.80H 11.PSW=18H时,则当前工作寄存器是( D )

A.0组 B. 1组 C. 2组 D. 3组

12.MOVX A,@DPTR指令中源操作数的寻址方式是( B )

A. 寄存器寻址 B. 寄存器间接寻址 C.直接寻址 D. 立即寻址 13. MCS-51有中断源( A )

A.5 B. 2 C. 3 D. 6

14. MCS-51上电复位后,SP的内容应为( B )

21

A.00H B.07H C.60H D.70H 15.ORG 0003H LJMP 2000H ORG 000BH LJMP 3000H

当CPU响应外部中断0后,PC的值是( B )

A.0003H B.2000H C.000BH D.3000H 16.控制串行口工作方式的寄存器是( C )

A.TCON B.PCON C.SCON D.TMOD 17.执行PUSH ACC指令, MCS-51完成的操作是( A ) A.SP+1?SP, ACC?SP B. ACC?SP, SP-1?SP C. SP-1?SP, ACC?SP D. ACC?SP, SP+1?SP 18.P1口的每一位能驱动( B )

A.2个TTL低电平负载 B. 4个TTL低电平负载 C.8个TTL低电平负载 D.10个TTL低电平负载 19.PC中存放的是( A )

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

C.当前正在执行指令的地址 D.下一条要执行的指令 20.8031是( C )

A.CPU B.微处理器 C.单片微机 D.控制器 21.要把P0口高4位变0,低4位不变,应使用指令( D )

A.ORL P0,#0FH B.ORL P0,#0F0H C.ANL P0,#0F0H D.ANL P0,#0FH 22.下面哪种外设是输出设备( A )

A.打印机 B.纸带读出机 C.键盘 D.A/D转换器 23.所谓CPU是指( A )

A.运算器和控制器 B.运算器和存储器 C.输入输出设备 D. 控制器和存储器 24.LCALL指令操作码地址是2000H,执行完响应子程序返回指令后,PC=( D ) A.2000H B.2001H C.2002H D.2003H

25. MCS-51执行完MOV A,#08H后,PSW的哪一位被置位( D )

A.C B. F0 C.OV D.P

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

A.由CPU自动完成 B.在中断响应中完成 C.应由中断服务程序完成 D.在主程序中完成 27.关于MCS-51的堆栈操作,正确的说法是( C )

A.先入栈,再修改栈指针 B.先修改栈指针,再出栈 C. 先修改栈指针,在入栈 D.以上都不对 28.某种存储器芯片是8KB*4/片,那么它的地址线根数是(C ) A.11根 B.12根 C. 13根 D. 14根

29.若MCS-51中断源都编程为同级,当他们同时申请中断时CPU首先响应( B ) A.INT1 B. INT0 C.T1 D.T0 30. MCS-51的相对转移指令的最大负跳变距离(B ) A.2KB B. 128B C. 127B D. 256B

二.判断题(10分)

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

22

2.MCS-51的程序存储器只能用来存放程序。 (×) 3.TMOD中GATE=1时,表示由两个信号控制定时器的启停。 ( √ ) 4.当MCS-51上电复位时,堆栈指针SP=00H。 (×) 5.MCS-51的串口是全双工的。 (√) 6.MCS-51的特殊功能寄存器分布在60H~80H地址范围内。 (×) 7.相对寻址方式中,“相对”两字是相对于当前指令的首地址。 (×) 8.各中断源发出的中断请求信号,都会标记在MCS-51系统中的TCON中。 (×) 9.必须进行十进制调整的十进制运算只有加法和减法。 (×) 10.执行返回指令时,返回的断点是调用指令的首地址。 (×)

三.计算题(22分)

1.(A)=3BH,执行ANL A,#9EH指令后,(A)=1AH (CY)=不受影响

2.JNZ REL为2B指令,放于1308H,转移目标地址是134AH,求偏移量REL=40H 3.若(A)=C3H,(R0)=AAH,执行ADD A,R0后,(A)= 6DH (CY)= 1 (OV)=1 (AC)=0 4.若(A)=50H,(B)=A0H,执行MUL AB后,(A)=00H (B)=32H (CY)= 总为0 (OV)=1

5.SJMP 0E7H为2B指令,放于F010H,目标地址=EFF9H 四.阅读并分析程序(28分) 1.2506H M5:MOV SP,#58H 2509H MOV 10H,#0FH 250CH MOV 11H,#0BH

?SP?1?SP,PC7~0?SP?250FH ACALL XHD ;PC+2?PC , ??

SP?1?SP,PC?SP??15~8?addr??PC10~0??MOV 20H,11H

2514H M5A:SJMP M5A XHD:PUSH 10H PUSH 11H POP 10H POP 11H

RET 问:(1)执行POP 10H后堆栈内容?(SP)=5AH

(2)执行M5A:SJMP M5A后,(SP)=58H (20H)=0FH 2.A程序存储空间表格如下: 地址 。。。。。 2000H 2001H 2002H 2003H 内容

已知:片内RAM的20H中为01H,执行下列程序后(30H)=5BH MOV A,20H INC A

23

3FH 06H 5BH 4FH 。。。。。

MOV DPTR,#2000H MOVC A,@A+DPTR

CPL A

MOV 30H,A SJMP $

3.(R0)=4BH,(A)=84H,片内RAM(4BH)=7FH,(40)=20H MOV A,@R0 MOV @R0,40H MOV 40H,A MOV R0,#35H

问执行程序后, R0=35H A=7FH 4BH=20H 40H=7FH 4.若PSW=00, 执行下列程序后,PSW的各位状态如何? MOV A,#0FBH MOV PSW,#10H ADD A,#7FH CY AC OV P OF RS1 1 1 0 1 0 1 五.程序填空(10分) 1.数据块传送,将RAM从30H开始的连续32个单元的内容传递给片内RAM从60H开始的连续32个单元。 ORG 1000H MOV R7,#20H__ MOV R0, #30H MOV R1,#60H

LOOP:MOV A,@R0 MOV __R1____,A

INC R0 INC R1

DJNZ R7, _LOOP___ SJMP $

END

2. 将4个单字节数放片内30H~~33H,它们求和结果放在片内40H,41H单元。 ORG 1000H

MOV R7,#04H MOV R0,30H CLR A

MOV 41H,A

LOOP: ADD A,@R0 JNC NEXT INC __41H___

NEXT:INC ___R0___ DJNZ R7,LOOP MOV 40H,A SJMP $

24

END

3. RAM中40H单元内存有一个十六进制数,把这个数转换为BCD码的十进制数,BCD码的十位和个位放在累加器A中,百位放在R2中。 ORG 2200H MOV A,__40H____ MOV B,#64H DIV AB

MOV R2,A

MOV A,__#0AH____ XCH A,B DIV AB SWAP __A___ ORL A,B

SJMP $ END

4. 编程序将片内40H-46H单元内容的高4位清零,保持低4位不变。 ORG 1000H MOV R7,#07H MOV R0,__#40H___ LOOP:MOV A,@R0 ANL A,__#0FH____ MOV @R0,A INC R0

DJNZ R7,LOOP SJMP $ END

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

一、 填空题(共20分,每题4分)

1、 单片机试验系统与微机是通过 串行通讯电缆 相连。

2、 若想进入全屏幕编辑界面,按下F1功能键,按ALT+F建立新文件,即可开始输入源文件。

3、 当程序输入错误或需要调整时,使用A命令完成。

4、 将立即数#33H送20H单元使用MOV 20H,#33H指令。 5、 入栈指令使用PUSH ACC指令。 二、 程序分析题(共20分,每题10分) 1、位地址为M、N、Y,程序如下: MOV C,M ;(M) ?C ANL C, ;(M) MOV Y,C ;(Y)=(M) MOV C,M ;(M) ?C ANL C,N ;(M)

25

ORL CY ; MOV Y,C 程序功能表达式:

(Y)=(M)*(/N)+(M)*(N) 2、阅读下列程序并回答问题 CLR C

MOV A,#9AH SUBB A,60H ADD A,61H, DA A MOV 62H,A (1) 请问该程序执行何种操作? (2) 已知初值:(60H)=23H,(61H)=61H,请问运行程序后:(62H)=( )? 解 (1) 操作是单字节BCD码运算,是将 (61H)-(60H)?62H (2)(62H)=38H

三、 编程题(共60分,每题30分)

1、将31H、32H单元与41 H、40H单元的双字节十进制无符号数相加,结果存入32H,31H,30H单元。即(31H)(30H)+(41H)(40H) 32H、31H、30H。 (1) 输入程序 参考程序

MOV R0,#30H MOV R1,#40H MOV R2,#02H CLR C

L1: MOV A,@R0 ADDC A,@R1 DA A

MOV @R0,A INC R0 INC R1 DJNZ R2,L1 CLR A

MOV ACC.0,C MOV @R0,A (2) 在31H、30H单元存入加数如3018,在41H,40H单元存入被加数如8975。

(3)输入程序首地址,(从处为2000H),然后开始单步或断点运行该段程序。 (4)运行过程中检查数据的变化,并在最后检查(32H)= ,(31H)= , (30H)= 。

2、 编程实现逻辑运算:Q=(U *(V+W))+X.Y)+Z。设U~Z的位地址为00H~

26

05H.Q的位地址为07H。《实际中U~Z可以是外部输入端口信号或软件设定的一些控制位》。 实习步骤:

(1)输入所编程序。

MOV C,01H O RL C,02H ANL C,00H

MOV F0,C ;暂存U*(V+W)的值 MOV C,03H ANL C,/04H ORL C,F0 ORL C,/05H

MOV 07H,C ; 保存结果

(2)部RAM20H单元(位地址00H~07H的位在20H单元)输入某个数据(注意此时各位的状态并做好记录)。

(3)单步或断点运行所编程序,逐步检查Cy及个数据的变化情况(注意检查时也按字节读出,再观察其相应位)。 (4)验证运行结果

(5)改变20H单元的置数,重做。

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

一、 填空题(共20分,每题4分)

1、开启微机电源,在软件所在目录键入MD51命令,选择对应串口号,进入集成操作软件环境,如果光标不响应回车命令,按 复位键即可。 2、对源文件汇编无误后,自动生成相应的 .LST文件。 3、用GB命令来连续运行程序。

4、外部RAM与 累加器A间数据传送,使用MOVX @DPTR,A指令。 5、两寄存器交换数据,使用 swap 命令。

二、 程序分析题(共20分,每题10分)

1、(R0)=4BH,(A)=84H,片内RAM(4BH)=7FH,(4BH)=20H MOV A,@R0 ;7FH?A MOV @R0,40,40H ;20H?4BH MOV 40H,A ;7FH?40H MOV R0,#35H

问执行和程序后,R0、A和4BH、40H单元内容的变化如何? 答 程序执行后(R0)=35H,(A)7FH,(4BH)=20H,(40H)=7FH.

2、设(R0)=7EH,DPTR=10FEH,片内RAM 7FH和7FH两单元的内容分别是FFH和38H,请写出下列程序段的每条指令的执行结果。

INC @R0 INC R0 INC @R0

27

INC DPTR INC DPTR INC DPTR 解 (1)(7EH)=00H (2)R0=7FH (3)7FH=39H

(4)DPTR=10FFH (5)DPTR=1100H (6)DPTR=1101H

三、编程题(共60分,每题30分)

1、 比较存放在ONE,TWO,TRE三个单元的无符号数,并将小数存放在20H单元中。 (1) 输入程序 参考程序

MOV A,ONE CJNE A,TWO,RR RR: JC SS MOV A,TWO CJNE A,TRE,TT TT: JC WW SJMP UU

SS: CJNE A,TRE,VV VV: JC WW UU: MOV A,TRE WW: MOV 20H,A

(2) 在ONE,TWO,和TRE三个内部RAM (3) 单步运行,注意PC变化情况,同时检查Cy (4) 检查20H单元的内容,验 是否最小值 (5) 修改ONE

2、 设在单片机内部RAM中从STR单元开始存放有一数据块,该数据块以#00H结束,试统计其中为#0FFH的单元个数并存入NUM单元。 (1)输入所编程序。

COUNT: CLR A ;清计数单元 MOV R0,#STR ;置地址指针

LOOP: CJNE #0FFH,LOOP1;数据为#0FFH则计数单元加1 INC A LOOP1: INC R0

CJNE @R0,#000H,LOOP;数据块取完? MOV NUM A ;存统计结果 SJMP $ (2)确定好数据块的起始地址,同时在相应的内部RAM单元建立好数据块(此数据块以#00H结束,并使其中若干个单元的内容为#0FFH),同时作好记录。

28

(3)单步或断点运行程序,注意循环跳出循环时刻。 (4)观察并记录PC,A和计数单元的变化情况。 (5)验证运行结果。

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

一、 填空题(共20分,每题4分)

1、开启微机电源,在软件所在目录键入MD51命令,选择对应串口号,进入集成操作软件环境,如果光标不响应回车命令,按 复位键即可。若想进入全屏幕编辑界面,按下F1功能键。

2、汇编完成后,按F3输入文件名回车,对汇编生成的.r03文件进行连接,生成相应的 .HEX 文件。

3、按RESET复位键可清除断点。

4、程序存储器中数据送累加器A,使用指令为MOVC A,@A+DPTR指令。 5、寄存器高4位和低4位交换数据,使用SWAP A指令。

二、程序分析题(共20分,每题10分)

1、设R0=20H,R1=25H,(20H)=80H,(21H)=90H,(22H)=A0H,(25H)=A0H, (26H)=6 FH,(27H)=76H,下列程序执行程序后,结果如何? CLR C MOV R2,#3 LOOP: MOV A,@R0 ADDC A,@R1 MOV @R0,A INC R0 INC R1

DJNZ R2,LOOP JNC NEXT1 MOV @R0,#01H SJMP $ NEXT: DEC R0 SJMP $

答 (20H)=(20H)、(21H)=00H、(22H)=17H、(23H)=01H、 CY=1、A=17H、R0=23H、R1=28H

2、设片内RAM中(59H)=50H,执行下列程序段 MOV A,59H MOV R0,A MOV @R0,A MOV A,#25H MOV 51H,A

MOV 52H,#70H 解 A=25H,(50H)=0,(51H)=25H,(52H)=70H.

三、编程题(共60分,每题30分) 1、根据Rn单元内容(00H—7FH),分别转向程序ROUT00—ROUT7FH

29

参考程序 (1) 输入程序 MOV A,Rn RL A

MOV DPTR,#JMPTAB JMP @A+DPTR

JMPTAB:AJMP PROG00 AJMP PROG01 …

AJMP PROGnn

PROG00:MOV 20H,# SJMP $ …

PROGnn:MOV 20H,#nH SJMP $

(2) 为便于实习,可缩小散转范围,运行前在Rn 中装入的数限定为00H—03H中的某一个。 (3) 确定JMPBAB及PROG00—PROG03的地址,并在PROGn处写人处理程序。 (4) 单步或断点运行,观察并记录A,DPTR以及PC变化情况。 (5) 修改Rn中数据,重做。

2、求平方子程序计算X=a^2+b^2 先建立0~9的平方表(十进制),TAB为表首地址指针。子程序所完成

的功能是用查表的方式求出平方值。计算X=a^2+b^2时只要两次调用子程序分别求出a^2和b^2,然后相加即可。(设X,a,b分别存于内部RAM的ONE,TWO和TRE三个单元中)。 子程序入口:(A)=待查表的数 子程序入口:(A)=平方值 实习步骤

(1)在选定的存区中建立好平方表。

MAIN: MOV A;ONE ;调求平方子程序 ACALL SQR MOV R1,A MOV A,TWO ACALL SQR

ADD A,R1 ;求平方和 MOV TRE,A SJMP $

SQR: INC A ;修正查表偏移量(入口A)

MOVC A, @A+PC ;查表求平方值(出口A )

RET ;返回

TAB: DB: 0,1,4,9,16 ;平方表

30

DB: 25,36,49,64,81

(2)输入并调试已编好的子程序,按要求准备如口即在A中装如待查平方的数,独立运行子程序后,检查A中的内容是否为平方值.

(3)输入并调试已遍好的主程序,注意观察子程序的调用和返回情况.

(4)观察并记录运行过程中的子程序的入口,出口及PC和各积存器的变化情况.

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

填空(每空1分,共12分)

1.MCS-51的Po口作为输出端口时,每位能驱动8个SL型TTL负载. 2.当定时器To工作在方式3时,要占定时器T1的TR1和TF1_两个控制位. 3.在串行通信中,有数据传送方向单工、半双工、全双工三种方式.

4. 微处理器本身不是计算机,它是微型计算机的核心部件,又称它为中央处理单元CPU。它包括两个主要部分:运算器、控制器。

5.当MCS-51引脚ALE信号有效时,表示从Po口稳定地送出了低8位地址. 6.MCS-51中凡字节地址能被_ 8 整除的特殊功能寄存器均能寻址.

7.一个机器周期等于 6 个状态周期,振荡脉冲2分频后产生的时钏信号的周期定义为状态 周期。

8.MCS-51的定时器用作定时时,其定时时间与时钟频率和计数初值有关。用作计数时,最高计数频率的2/24。

二、判断题(每题2分共10分)

1.我们所说的计算机实质上是计算机的硬件系统与软件系统的总称。 ( √ ) 2.MCS-51的相对转移指令最大负跳距是127B。 ( × ) 3.MCS-51的特殊功能寄存器分布在60H~80H地址范围内。(× )80H~FFH。 4.要MCS-51系统中,一个机器周期等于1.5μs。( × ) 5、片内RAM与外部设备统一编址时,需要专门的输入/输出指令。(错) 三、选择题(每题

2分共18分)

1.要MCS-51系统中,若晶振频率屡8MHz,一个机器周期等于(A ) μs A 1.5 B 3 C 1 D 0.5

2.十进制29的二进制表示为原码( C )

A 11100010 B 10101111 C 00011101 D 00001111 3、6264芯片是(B)

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

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

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

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、MCS-51的并行I/O口信息有两种读取方法:一种是读引脚,还有一种是(A) (A)读锁存器具 (B)读数据库 (C)读A累加器具 (D)读CPU 8.执行PUSH ACC指令,MCS-51完成的操作是(A)

31

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

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

9.对程序存储器的读操作,只能使用(D)

(A)MOV指令 (B)PUSH指令 (C)MOVX指令(D)MOVC指令 四、简答题(共30分)

1. MCS-51指令系统主要有哪几种寻址方式?试举例说明。(8分) 答:MCS-51指令操作数主要有以下7种寻址方式: 寻址方式 举例

立即寻址 MOV A,#16 直接寻址 MOV 20H,P1 寄存器寻址 MOV A,R0 寄存器间接寻址 MOVX A, @DPTR 变址寻址 MOVC A, @A+DPRT 相对寻址 SJMP LOOP 位寻址 ANL C,70H

2 定时器T0和T1各有几种工作方式?(8分)

答:T0有4种工作方式,T1有3种工作方式,见表面4.4所述。 表4.4 定时器的工作方式 工作方式 方式0 方式1 方式2 方式3 适用定时器 T0、T1 T0、T1 T0、T1 T0 功 能 说 明 13位的定时器/计数器 16位的定时器/计数器 自动重新装入计数初值的8位的定时器/计数器 分为两个8位计数器TL0和TH0。TL0可工作于定时或计数状态,TH0则固定为定时状态。方式3对T1则停止计数

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

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

4. 8051的振荡周期、机器周期、指令周期是如何分配的?当晶振频率为6MHz时,一个机器周期为多少微秒?(7分)

答:8051单片机每条指令的执行时间(即指令周期)为1~4个机器周期,有单字节单周期指令、两字节单周期指令、单字节两周期指令、两字节两周期指令、三字节两周期指令以及单字节四周期指令。一个机器周期有6个状态:S1~S6每个状态又包含两个振荡周期,分为两拍:P1和P2。因此,一个机器周期包含12个振荡周期,表示为:S1P1、S1P2、S2P1、??S6P1、S6P2。

当FOSC=MHz时,机器周期为:(1/6)×12=2(μs)

五、编程题(共30分)

1.(8分)片内RAM30H开始的单元中有10B的二进制数,请编程求它们之和(和<256 ). 解 ADDIO:MOV R0,30H

32

MOV R7,#9 MOV A,@R0 LOOP: INC R0 ADD A,@R0 DJNZ R7,LOOP MOV 30H,A RET

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

MOV DPTR,#7F04 ;定时器低八位寄存器地址→DPTR MOV A,#88H ;低8位初值

MOVX @DPTR,A ; 低8位初值→低8位寄存器 INC DPTR ;DPTR指向定时器高8位 MOV A,#13H ;高8位初值

MOVX @DPTR,A ;高8位初值→高8位寄存器 MOV DPTR,#7F00H ;8155命令寄存器地址 MOV A,0C5H ;命令字

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

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

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

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

填空(每空1分,共24分)

1、单片机汇编语言程序有三种基本结构,分别是: 循环 、 分支 和 顺序 。

2、MCS—51单片机内部有 2 个位加1定时 / 计数器,可通过编程决定它们的工作方式,其中,可进行13位定时 / 计数的是方式是 方式0 。

3、真值-0000000B的反码为 111111111 ;其补码为 00000000 。

4、单片机是一种将 cpu 、 存储器 和 输入输出接口 集成在一个芯片

中的微型计算机。 5、MCS—51单片机指令系统中共有111条指令,有五种指令类型,分别是:数据传送指令,

算术 指令、 逻辑运算 指令、 位运算 指令、及 控制转移

33

指令。

6、单片机中断系统中共有 INTO 、 INT1 、 T0 、

T1 、 串行口 五个中断源,其中优先级最高的是 INTO 、优先级最低的是 串行口 。 7、CPU 和外设进行数据交换时常用的方式有 无条件转换 、 查询方式 、 中断方式 三种。

二、判断题(每题1分,共5分)

1、MOV A, R0, 这是寄存器寻址方式。 ( 对 ) 2、8051单片机的P0口既可以做数据口线又可以做为地址口线 。 (对 ) 3、.CPU和外设之间的数据传送方式主要有查询方式和中断方式,两者相比 后者的效率更高。 (对 ) 4、 051内部有4K的程序存储器 5、 CS-51单片机共有两个时钟XTAL1 和XTAL2

(对 ) (错 )

三、简答题(共35分)

1、 8051单片机的片内并行接口的作用(6分) 答:1。连接负载 2、做通用i/o口

3、做数据/地址总线使用 4、对冰口进行位操作 5.P3口作第二功能使用

2、单片机中断方式的流程图(6分)

答: 主程序 中断服务程序 设置中断入口 保护现场 中断优先级 恢复现场 执行主程序 返回 3、写出下列特殊功能寄存器的名称(5分) TCON 定时/计数器 控制寄存器 TM0D 定时/计数器方式控制寄存 SCON 串行通信控制寄存器 PSW 程序状态字寄存器

IE 中断允许寄存器

4、简述8051单片机的内部组成结构(9分)

答: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个中断源,两个中断优先级; 内部时钟发生器。

34

5、单片机的内部存储器的种类,并写出各自的寻址范围和容量?

单片机外部RAM的分类又哪几种?外部ROM的分类有哪几种?(9分) 答 :各种类型的单片机片内程序存储器的配置形式主要有以下几种形式:

(1) 掩膜(Msak)ROM型单片机:内部具有工厂掩膜编程的ROM,ROM中的程序只能由单片机制造厂家用掩膜工艺固化,用户不能修改ROM中的程序。例如:MCS—51系列的8051。

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

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

(3) 无ROM型单片机:内部没有程序存储器,它必须连接程序存储器才能组成完整的应用系统。例如:MCS—51系列的8031。

无ROM型单片机价格低廉,用户可根据程序的大小来选择外接程序存储器的容量。这种单片机扩展灵活,但系统结构较复杂。

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

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

四、分析下面程序并填空(共25分)

1. MOV A,#10H (A)= 10H MOV B,A (B)= 10H MOV A,B (A)= 20H ADD A,B (A)= 20H MOV 20H,A (20H)= 21H INC A (A)= 21H MOV 21H,A (21H)= 22H INC A (A)= 22H MOV 22H,A (22H)= 22H

2.MOV DPTR,#2000H (DPTR)= 2000H MOV A,#80H (A)= 80H

MOVX @DPTR,A (2000H)= 80H INC DPTR (DPTR)= 2001H MOV A,#90H (A)= 90H MOVX @DPTR,A (2001H)= 90H MOV DPTR,#2000H (DPTR)= 2000H MOVX A,@DPTR (A)= 80H MOV B,A (B)= 80H INC DPTR (DPTR)= 2001H MOVX A,@DPTR (A)= 90H 3、改正下列指令

MOV @R3,A MOV @R1,A

35

MOV DPTR,A MOVX DPTR,A INC @R3 INC A DEC DPTR DEC R0 ADDC #30H,A ADDC A,#30H 五、编程题(共14分)

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

请(1)计算时间常数X,应用公式X=216-t(f/12) (2)写出程序清单

1616-36

解:X=2-t(F/12)=2-1*10*6*10/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

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

填空(每空1分,共24分)

1、MCS-51单片机内有两个 2 位加1定时 / 计数器,可通过编程实现 4 种工作方式。

2.在MCS—51单片机内部RAM中,字节地址范围是20H ~ 2FH的区域

称为 位寻址 而字节地址范围是30H ~ 7FH的一段区域称为 字节寻址 。 3、MCS—51单片机指令系统中共有111条指令,有六种寻址方式,

分别是: 立即 寻址、 寄存器 寻址、 直接 寻址、 变址寻址、 寄存器间接 寻址及 相对 寻址。

4、+1000110B的反码是 01000110 ;-0110011B的补码是 11001100 。 5、一般的计算机系统都是由__控制总线________、__地址总线________、____数据总线___________三总线结构组成。

6、MCS-51系列单片机内部数据存储器,即内RAM中位寻址区的地址范围是

256B 工作寄存器区的地址范围是 00—1FH 。内R0M中寻址区的地址范围是 00--FF 。

7、单片机汇编语言程序有三种基本结构,分别是: 顺序 、 分支 和 循环 。

8、单片机是一种将 CPU 、 存储器 和 I/O接口 集成在一个芯片中的微型计算机。

36

二、判断题(每题1分,共5分)

1.五个中断源中优先级是高的是外部中断0,优先级是低的是串行口中断 ( 对 )

2. 工作寄存器工作在0区,则R2 所对应的内部数据存储器的地址是03H 。(对 ) 3. MOVC A @A +DPTR ,这是条相对寻址指令 4. 8051单片机的P2口只能用作通用I/O 口

(错 ) (错 )

5.程序存储器和数据存储器的作用不同,程序存储器一般用存放数据表格和程序,而数据存储器一般用来存放数据 ( 错 )

三、简答题(共35分)

1. MCS-51单片机有哪几个并行I/O端口?各I/O口有什么特性?(10分)

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

P0口为三态双向I/O口(开漏输出,内部无上拉电阻)。对于8051/8751/8052,P0口可以作为一般I/O口,也可作为系统扩展的地址/数据总线口。P0口用作外部引脚输入时,口锁存器必须为“1”,关断输出驱动器的FET;作总线口时,分时用作输出外部存储器的低8为地址A0~A7和传送数据D0~D7。对于8032/8052,P1.0和P1.1还有另一种功能:P1.0—定时器T2的外部计数脉冲输入端,P1.1—定时器T2的捕捉/重装触发脉冲输入端。对于8031,P0口只能用作地址/数据总线口。

P1口为准双向I/O口(内部有上拉电阻)。用作外部引脚输入时,相应位的口锁存器必须为“1”,使输出驱动器FET截止。

P2口为准双向I/O口(内部有上拉电阻)。对于8051/8751/8052,P2口可以像P1口一样用作一般I/O口使用,也可以作为系统扩展的地址总线口,输出高8位地址A8~A15。对于8031,P2口只能用作地址总线口。

P3口也是准双向I/O口(内部有上拉电阻),且具有两个功能。作为第一功能使用时,与P1口一样用作一般I/O口。P3口的第二功能定义如下:

2.(15分) 8051单片机提供了几个中断源?有几级中断优先级别?各中断标志是如何产生的?又如何清除这些中断标志?各中断源所对应的中断矢量地址是多少? 答:8051单片机提供了5个中断源:两个外部INTO和INT1中断源,两个定时片内定时器T0和T1溢出中断源,一个片内全双工串行口中断源.提供了高、低两个中断优先级、能实现两级中断服务程序嵌套,同一个优先级里,由硬件查询来确定优先序列。各中断源请求中断的标志分别由特殊功能寄存器TCON、SCON的相应位锁存,这些标志位的产生和清除方式如下: IE0(TCON.1)外部中断0请求标志.当INTO出现有效的中断请求信号时,硬件使IE0置位.在边沿触发方式时,当CPU响应IE0中断后,由硬件清除IE0。 IE1(TCON.3)外部中断1请求标志.置位复位方式与IE0相同。

TF0(TCON.5)T0溢出中断请求标志。每当T0计数器加1计数到溢出时,TF0=1。CPU响应TF0中断,硬件清除TF0。也可以由查询软件清除TF0。 TF1(TCON.7)T1溢出中断请求标志。置位复位方式与TF0相同。 R1(SCON.0)串行口接收中断请求标志。当串行口接收器收到一个串行帧,

37

R1=1。CPU响应R1中断,硬件并不清除R1,R1必须由软件清0。

T1(SCON.1)串行口发送中断请求标志.将8位数据写入SBUF后,发送完一个串行帧,T1=1.CPU响应T1中断,硬件并不清除T1,T1必须由软件清0. 各中断源对应的矢量地址如下: 外部中断0:0003H 定时器 T0:000BH 外部中断:0013H 定时器 T1:001BH

串行口接收和发送:001BH

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

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

四、分析下面程序并填空(共25分)

2. 若(10H)=0FFH,(11H)=00H,(12H)=0FFH,(13H)=00H,写出每一步指令运行结果 MOV A,10H (A)= 0FFH , ANL A,#01H (A)= 01H , MOV A,11H (A)= 00H , ORL A,#01H (A)= 01H , MOV A,12H (A)= FFH , XRL A,#01H (A)= 01H , MOV A,13H (A)= 00H , XRL A,#0AA (A)= 0A ,

(10H)= FFH , (11H)= 00H , (12H)= FFH , (13H)= 00H 2.MOV 30H,#60H MOV R0,#60H MOV A,30H MOV B,A

MOV @R0,B

(A)= ,(R0)= ,(B)= , 3.MOV SP,#60H

MOV A,#01H (A)= 01H , MOV B,#02H (B)= 02H , PUSH A (SP)= 61H , PUSH B (SP)= 62H , POP A

POP B (60H)= 01H , 4.改正下列指令

MOV A,DPTR MOVX A,@DPTR MOV DPTR,10H MOV A,10H

38

MOV DPTR,40H MOV A,40H MOVX 40H,#30H MOV 40H,#30H ADD 20H,#10H ADD A,#10H

五、编程题(共14分)

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

请(1)计算时间常数X,应用公式X=2(2)写出程序清单

16

-t(f/12)

解: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

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

填空(每空1分,共12分)

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

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

3.运算器是由算术逻辑单元ALU、累加器A和寄存器等几部分组成,用来执行各种算术运算和逻辑运算。

4.MCS-51的堆栈是软件填写堆栈指针临时在_片内数据存储器内开辟的区域. 5.MCS-51有 4组工作寄存器,它们的地址范围是00H~1FH. 6.MCS-51片内20H~2FH范围内的数据存储器,既可以字节寻址又可以位寻址.

7.MCS-51的相对转移指令最大负跳距是127B。

8、在单片机应用系统中,外部设备与外部数据存储器传送数据时,使用MOVX指令。 9、执行读I/O端口锁存器的指令(“读—改—写”指令),读入口的锁存器状态,可能改变其值,然后把它重新写入口锁存器,这种操作称作读—改—写操作。

二、判断题(每题2分共10分)

1.要进行多机通信,MCS-51串行接口的工作方式应为方式1。 ( × )方式2和方式3。 2.TMOD中的GATE=1时,表示由两个信号控制定时器的启停。 ( √ )。 3.MCS-51外扩I/O口与外RAM是统一编址的。 ( √ )。 4.使用8751且 =1时,仍可外扩64KB的程序存储器。( × )

39

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

2分,共18分)

1..MCS-51的时钟最高频率是 ( A ). A 12MHz B 6 MHz C 8 MHz D 10 MHz 2. 以下不是构成单片机的部件( D )

A 微处理器(CPU)、B存储器 C接口适配器(I\O接口电路) D 打印机 3.-49D的二进制补码为.( B )

A 11101111 B 11101101 C 0001000 D 11101100 4、用MCS-51用串行扩展并行I/O口时,串行接口工作方式选择(A)

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

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

(A)2片 (B)3片 (C)4片 (D)5片 6、使用8255可以扩展出的I/O口线是(B)

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

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

(A)中断 (B)条件传送 (C)DMA (D)无条件传送 8、MCS-51的并行I/O口读-改-写操作,是针对该口的(D)

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

9.LCALL指令操作码地址是2000H,执行完相子程序返回指令后,PC=(D)

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

四、简答题(每题5分,共20分)

1.单片机有哪几个特殊功能寄存器?各在单片机的哪些功能部件中?(8分)

答:8051单片机内部有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。

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

3.简述可编程并行接口8255 A的内部结构?(7分)

答:8255 A的内部结构由三部分组成:总线接口部分,内部逻辑部分,外部接口部分。 (1) 总线接口部分 其中有数据总线驱动器,读/写控制逻辑

40

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

(3) 外部接口部分 该部分有3个8位并行I/O端口,即A口、B口和C口。 4设内部RAM(30H)=5AH,(5AH)=40H,(40H)=00H,端口P1=7FH,问执行下列指令后,各有关存储单元(即R0,R1,A,B,P1,30H,40H及5AH单元)的内容如何?(8分)

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。

五、编程题(共30分)

1.片内RAM40H开始的单元内有10B二进制数,编程找出其中最大值并存于50H单元中.(10分)

解 START: MOV R0,#40H ;数据块首地址送R0 MOV R7,#09H ;比较次数送R7 MOV A,@R0 ;取数送A

LOOP: INC R0

MOV 30H,@R0 ;取数送30H

CJNE A,30H,NEHT ;(A)与(30H)相比 NEXT: JNC BIE1 (A)≥(30H)转BIR1 MOV A,30H ;(A)<(30H),大数送A

BIE1: DJNZ R7,LOOP ;比较次数减1,不为0,继续比较 MOV 50H,A ;比较结束,大数送50H RET

2 设计一个2×2行列式键盘电路并编写键盘扫描子程序。(20分) 解: (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

41

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,有键按下

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

填空题(每空2分,共30分)

1、真值1001001B的反码为01001001 ;其补码为 01001001 。

2、MCS-51系列单片机内部数据存储器,即内RAM中位寻址区的地址范围是 128 B 工作寄存器区的地址范围是 00—1FH 。

3、程序状态标志字寄存器PSW中的PSW.7的含义是 奇偶标志 ;PSW.0的含义是 进位/借位标志 。 6、单片机汇编语言程序有三种基本结构,分别是: 顺序 、 分支 和 循环 。 7、MCS—51单片机内部有 2 个 16 位加1定时 / 计数器,可通过编程决定它们的工作方式,其中,可进行13位定时 / 计数的是方式是 0 。 8、存储器EPROM 27128的地址线有 14 根,容量为 128 KB。

9、可编程并行I / O接口芯片8255A有 4 个8位并行I / O端口,可通过编程决定它们的功能。

二、单项选择题(每小题3分,共15分)

1、MCS—51单片机外部有40个引脚,其中,地址锁存允许控制信号引脚是 (A ) (A)ALE

(B)PSEN

(C)EA

(D)RST

2、下列指令写法正确的是(B)

42

(A)MOV #20H,A (B)ADD R2,#30H 3、ORG 0003H

LJMP 2000H ORG 000BH

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

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

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

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

5、MCS-51的并行I/O口信息有两种读取方法:一种是读引脚,还有一种是(A) (A)读锁存器具 (B)读数据库 (C)读A累加器具 (D)读CPU 三、简答题(每小题10分,共20分)

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

答:8255 A的内部结构由三部分组成:总线接口部分,内部逻辑部分,外部接口部分。 (1)总线接口部分 其中有数据总线驱动器,读/写控制逻辑

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

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

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

答:8051单片机内部有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。

四、编程题(共35分)

1 编程将片内RAM30H单元开始的15B的数据传送到片外RAM3000H开始的单元中去。(15分) 解:STRAT:MOV R0,#30H MOV R7,#0FH MOV DPTR,#3000H LOOP: MOV A,@R0 MOVX @DPTR,A INC R0 INC DPTR DJNZ R7,LOOP RET

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

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

MOV A,#01H ;灯亮初值

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

43

(C)PUSH R0 (D)RRC A

RR A ;右移一位 SJMP SHIFT ;循环

FLASH: MOV R2,#0AH 闪烁10次计数 FLASH1; MOV P1,A ;点亮 LCALL DELAY ;延时 MOV P1,#00H ;熄灭 LCALL DELAY ;延时 DJNZ R2,FLASH1 ;循环

RET

44

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

Top