单片机模拟试卷001
一、选择题(每题1分,共10分)
1.8031单片机的( )口的引脚,还具有外中断、串行通信等第二功能。
a)P0 b)P1 c)P2 d)P3 2.单片机应用程序一般存放在( )
a) RAM b)ROM c)寄存器 d)CPU 3.已知某数的BCD码为0111 0101 0100 0010 则其表示的十进制数值为( )
a) 7542H b) 7542 c) 75.42H d) 75.42 4.下列指令中不影响标志位CY的指令有( )。
a)ADD A,20H b)CLR c)RRC A d)INC A 5.CPU主要的组成部部分为( )
a)运算器、控制器 b)加法器、寄存器
c)运算器、寄存器 d)运算器、指令译码器
6.INTEL 8051 CPU是( )位的单片机
a) 16 b)4 c)8 d)准16 7.8031复位后,PC与SP的值为( )
a )0000H,00H b) 0000H,07H c) 0003H,07H d)0800H,00H 8.当需要从MCS-51单片机程序存储器取数据时,采用的指令为( )。
a)MOV A, @R1 b)MOVC A, @A + DPTR
c)MOVX A, @ R0 d)MOVX A, @ DPTR 9.8031单片机中既可位寻址又可字节寻址的单元是( )
a)20H b)30H c)00H d)70H 10.下列哪条指令是正确的( )
a) PUSH R2 b) ADD
R0,A
c) MOVX A @DPTR d) MOV @R0,A 二、填空题(每空1分,共30分)
1.一个完整的微机系统由 和 两大部分组成。
2.8051 的引脚RST是____(IN脚还是OUT脚),当其端出现____电平时,8051进入复位状态。8051一直维持这个值,直到RST脚收到____电平,8051才脱离复位状态,进入程序运行状态,从ROM H单元开始取指令并翻译和执行。
3.半导体存储器分成两大类 和 ,其中 具有易失性,常用于存储 。 4.求十进制数-102的补码(以2位16进制数表示),该补码为 。
5.PC存放_______________,具有___________特性。在8051中决定程序执行顺序的是PC还是DPTR? 它是______位? (是,不是)SFG?
6.123= B= H。
7.8051内部有 并行口,P0口直接作输出口时,必须外接 ;并行口作输入口时,必须先 ,才能读入外设的状态。 8.MCS-51的堆栈只可设置在 ,其最大容量为 ,存取数据的原则是 。堆栈寄存器SP是 位寄存器,存放 。
9.中断处理的全过程分为以下3个段: 、 、 。
10.定时和计数都是对 进行计数,定时与计数的区别是 。
三、判断题(对者打√,错者打×,并改正,每题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按什么顺序响应(按由高级到低级的顺序写出各个中断源)?各个中断源的入口地址是多少?
2.已知单片机系统晶振频率为6MHz,若要求定时值为10ms时,定时器T0工作在方式1时,定时器T0对应的初值是多少?TMOD的值是多少?TH0=?TL0=?(写出步骤)
3.MCS51系列单片机的内部资源有哪些?说出8031、8051和8751的区别。 五、作图题(10分)
用6264(8K*8)构成16K的数据存储系统。要求采用线选法产生片选信号,并计算6264的地址范围。 六、设计题(1题13分;2题12分,共25分)
1.某单片机控制系统有8个发光二极管。试画出89C51与外设的连接图并编程使它们由左向右轮流点亮。
2.某控制系统有2个开关K1和K2,1个数码管,当K1按下时数码管加1,K2按下时数码管减1。试画出8051与外设的连接图并编程实现上述要求。
单片机模拟试卷001答案
一、选择题(每题1分,共10分)
1. D 2. B 3. B 4. D 5. A 6. C 7. B 8. B 9. A 10. D 二、填空题(每空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分,共10分) 1 中断服务程序的最后一条指令是RETRETI。×
2 存储器分成内存和外存两大部分,其中外内存可以直接与CPU交换信息。× 3 P2口既可以作为I/O使用,又可以作地址/数据复用口使用。√
4 在中断响应阶段CPU一定要做如下2件工作:保护断点和给出中断服务程序入口地址。√ 5 LCRL A为循环左移指令。×
6 MOV A,30H的源操作数为立即直接寻址方式。 7 MOVMOVC A,@A+DPTR是一条查表指令。×
8 MUL AB的执行结果是高低8位在A中,低高8 位在B中。× 9 AJMP跳转空间最大可达到642KB 。
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分) 答: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个开关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布尔处理机的存储空间是_______。
2.P2口通常用作_______,也可以作通用的I/O口使用。
3.若由程序设定RS1、RS0=01,则工作寄存器R0~R7的直接地址为______。 4.8051的堆栈区一般开辟在_______。 5.所谓寻址,其实质就是_______。 6.存储器映象是_______。
7.定时器中断请求发生在_______。 8.中断响应时间是指______。
9.通过CPU对I/O状态的测试,只有I/O已准备好时才能进行I/O传送,这种传送方式称为_______。 10.在中断服务程序中现场保护和现场恢复期间,中断系统应处在____状态。
二、单项选择题(在每小题的四个备选答案中,选出一个正确答案,并将正确答案的序号填在题干的括号内。每小题1分,共10分) 1.MCS-51单片机复位操作的主要功能是把PC初始化为( )。
A.0100H B.2080H C.0000H D.8000H
2.若单片机的振荡频率为6MHz,设定时器工作在方式1需要定时1ms,则定时器初值应为( )。 A.500 B.1000 C.2-500 D.2-1000
3.定时器1工作在计数方式时,其外加的计数脉冲信号应连接到( )引脚。 A.P3.2 B.P3.3 C.P3.4 D.P3.5
4.当外部中断请求的信号方式为脉冲方式时,要求中断请求信号的高电平状态和低电平状态都应至少维持( )。 A.1个机器周期 B.2个机器周期 C.4个机器周期 D.10个晶振周期
5.MCS-51单片机在同一优先级的中断源同时申请中断时,CPU首先响应( )。 A.外部中断0 B.外部中断1 C.定时器0中断 D.定时器1中断
6.定时器若工作在循环定时或循环计数场合,应选用( )。 A.工作方式0 B.工作方式1 C.工作方式2 D.工作方式3 7.MCS-51单片机的外部中断1的中断请求标志是( )。 A.ET1 B.TF1 C.IT1 D.IE1 8.下列标号中,正确的标号是( )。
A.1BT: B.BEGIN: C.ADD: D.STAB31: 9.串行口每一次传送( )字符。
A.1个 B.1串 C.1帧 D.1波特
10.要想把数字送入DAC0832的输入缓冲器,其控制信号应满足( )。 A.ILE=1,CS=1,
16
16
WR1=0 WR1=0 WR1=0
B.ILE=1, CS=0, C.ILE=0, CS=1, D.ILE=0,CS=0,
WR1=0
三、简答题(每小题4分,共20分) 1.如何正确使用P3口?
2.简述累加器的ACC的作用。
3.简述寄存器间接寻址方式及其寻址范围。 4.简述MCS-51单片机的中断入口地址。 5.简述串行数据传送的特点。
四、读程序题(每小题4分,共20分) 1.执行下列程序段后,(P1)=_______。 MOV P1,#5DH CPL P1.1 CPL P1.2 CLR P1.6 SETB P1.7
2.执行下列程序段后,(A)=_______,(CY)=____。 MOV A,#C5H RL A
3.下列程序段执行后,(R0)=_______,(7EH)=____,(7FH)=_______。 MOV R0,#7EH MOV 7EH,#0FFH MOV 7FH,#40H 1NC @R0 1NC R0 1NC @R0
4.已知(SP)=60H,子程序SUBTRN的首地址为0345H,现执行位于0123H的ACALL SUBTRN双字节指令后,(PC)=___,(61H)=_______,(62H)= ____。 5.阅读下列程序,说明其功能。 MOV R0,#data MOV A,@R0 RL A MOV R1,A RL A RL A ADD A,R1 MOV @R0,A RET
五、编程题(每小题4分,共20分)
1.已知在累加器A中存放一个BCD数(0~9),请编程实现一个查平方表的子程序。 2.请使用位操作指令实现下列逻辑操作: BIT=(10H∨P1.0)∧(11H∨CY)
3.已知变量X存于VAR单元,函数值Y存于FUNC单元,按下式编程求Y值。
1x00x0
1x0Y=
4.已知在R2中存放一个压缩的BCD码,请将它拆成二个BCD字节,结果存于SUM开始的单元中(低位在前)。 5.将存于外部RAM 8000H开始的50H数据传送0010H的区域,请编程实现。 六、综合应用题(每小题10分,共20分)
1.已知如图,8155的PA口用于输出,PB口用于输入,PC口用于输出,请: (1)写出8155的各I/O口的口地址和存储器的地址范围。 (2)编写出8155初始化程序。B155命令字格式:
2.已知如图并给出下列程序,请在读图并理解程序后回答下列问题: (1)程序功能为_______。 (2)ADC0809的口地址为_______。 (3)EOC的作用是_______。 (4)程序运行结果存于_______。 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
单片机模拟试卷002参考答案
一、填空题(每空1分,共10分) 1.00H~7FH 2.高8位地址线 3.08~0FH 4.用户RAM区
5.如何确定操作数的单元地址 6.存储器在整个存储空间的地址范围 7.定时时间到
8.从查询中断请求标志位到转向中断区入口地址所需的机器周期数 9.程序查询方式 10.关中断
二、单项选择题(每小题1分,共10分)
1.C 2.C 3.D 4.A 5.A 6.C 7.D 8.D 9.A 10.B 三、简答题(每小题4分,共20分
)
1.要点:
(1)说明P3口有第一功能和第二功能的使用。 (2)P3口的第二功能各位线的含义。
(3)使用时应先按需要选用第二功能信号,剩下的口线才作第一功能I/O线用。 (4)读引脚数据时,必需先给锁存器输出“1”。 2.(1)8位专用寄存器。 (2)运算时存放一个操作数。
(3)运算后存放运算结果,所以称它为累加器。
3.(1)寄存器中存放的是操作数的地址,操作数是通过寄存器间接得到,这种寻址方式称为寄存器间接寻址方式。 (2)寻址范围:
①内部RAM低128单位,形式@Ri(i=0,1)。
②外部RAM64K使用DPTR作间址寄存器,形式为@DPTR。 4.中断入口地址为中断响应后PC的内容即中断服务的入口地址。
它们是:外部中断0 0003H 定时器T0中断 000BH 外部中断1 0013H 定时器T1中断 001BH 串行口中断 0023H
5.(1)传送按位顺序进行,速度慢。
(2)传输线少,成本低。
(3)传送距离远,可达几公尺到几千公里。
四、读程序题(每小题4分,共20分) 1.(P1)=9BH
2.(A)=8BH(或10001011B) (CY)=不影响 3.(R0)=7FH (7EH)=00H (7FH)=41H 4.(PC)=0345H (61H)=25H (62H)=01H 5.(data)×10操作
五、编程题(每小题4分,共20分) 1.SQR:1NC A MOVC A,@A+PC RET
TAB:DB 0,1,4,9,16 DB 25,36,49,64,81 2.ORL C,11H MOV 12H,C MOV C,P1.0 ORL C,/10H ANL C,12H MOV BIT,C RET
3. MOV A,VAR CJNE A,#0,COMP
SJMP RES ;x=0,Y=0 COMP:JNC POSI ;x>0,Y=1 MOV A,#0FFH ;x
POSI:MOV A,#01H RES:MOV FUNC,A RET
4.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. 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.(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。
单片机模拟试卷004
一、填空题(15分,每空1分)
1.MCS—51单片机的P0—P4口均是 I/O口,其中的P0口和P2口除了可以进行数据的输入、输出外,通常还用来构建系统的 和 ,在P0—P4口中, 为真正的双向口, 为准双向口。
2.MCS—5l单片机的堆栈区只可设置在 ,堆栈寄存器5P是 位寄存器。
3.MCS—51单片机外部中断请求信号有电平方式和 ,在电平方式下,当采集到INT0、INT1的有效信号为 时,激活外部中断。
4.定时器/计数器的工作方式3是指的将 拆成两个独立的8位计数器。而另一个定时器/计数器此时通常只可作为 使用。
5.MCS—96单片机的最大寻址空间是 ,该空间的地址范围为 ,系统上电及复位的程序入口地址为 ,芯片配置字节CCB的地址为 。
二、简答题(15分,每小题5分)
1.51系列单片机具有几个中断源,分别是如何定义的?其中哪些中断源可以被定义为高优先级中断,如何定义? 2.各中断源对应的中断服务程序的入口地址是否能任意设定?
3.如果想将中断服务程序放置在程序存储区的任意区域,在程序中应该作何种设置?请举例加以说明。
三、参数计算题(16分)
已知一单片机系统的外接晶体振荡器的振荡频率为11.059MHz,请计算该单片机系统的拍节P、状态S、机器周期所对应的时间是多少?指令周期中的单字节双周期指令的执行时间是多少?
四、改错题(共5分,每小题1分)
以给出的指令操作码为依据,请判断MCS—5l单片机的下列各条指令的书写格式是否有错误,如有请说明错误原因。 1.MUL R0R1 2.MOV A,@R7 3.MOV A,#3000H 4.MOVC @A+DPTR,A
5.LJMP #1000H 五、寻址方式(5分,每问1分)
说明MCS—51单片机的下列各条指令中源操作数的寻址方式(可直接在每条指令后面书写) 1.ANL A,20H 2.ADDC A,#20H 3.JZ rel 4.CLR C
5.RRA
六、使用简单指令序列完成以下操作(12分) 1.请将片外RAM20H—25H单元清零
2.请将ROM3000H单元内容送R7 七、编程题(18分)
已知一MCS—51单片机系统的片内RAM 20H单元存放了一个8位无符号数7AH,片外扩展RAM的8000H存放了一个8位无符号数86H,试编程完成以上两个单元中的无符号数相加,并将和值送往片外RAM的01H、00H单元中,同时将所编写程序运行完成后的数据和状态添入下表中给出的PSW的有关位以及寄存器A、DPTR和RAM单元中。
八、判读电路题(14分)
下图为MCS—51单片机系统中混合扩展多片存储器2764、6264芯片部分连线电路图。 试分析电路并回答下列问题:
1.请简单叙述2764芯片的功能、容量,在电路中起什么作用? 2.请简单叙述6264芯片的功能、容量,在电路中起什么作用?
3.请分析各片2764、6264所占用的单片机数据存储空间的地址范围是多少?
单片机模拟试卷004参考答案 一、填空题(15分,每空1分)
1.并行 数据总线 地址总线 P0 P1—P3 2.片内数据存储区(器) 3.脉冲方式 低电平
4.定时器/计数器0 串行口的波特率发生器
5.64K 0000H—FFFFH 2080H 2018H 二、简答题(15分,每小题5分)
1.具有5个中断源,分别是外部中断INT0和外部中断INT1、定时器溢出中断0和定时器溢出中断1以及串行中断。通过对中断优先级寄存器IP的设置,每个中断源都可以被定义为高优先级中断。(6分)
2.各中断源的入口地址已经在中断地址区中被定义了,不能任意设定。(3分)
3.如果要将中断服务程序放置在程序存储区的任意区域,在程序中要通过在中断地址区的对应地址上设置跳转指令才可实现对中断服务程序的执行。
例如:外部中断O的中断服务程序INTOP放置在程序存储区的任意区域,此时,通过以下方式,可实现对中断服务程序的执行:(4分) ORGO003H (2分) JMP INTOP
列举其他中断跳转的例子也可,但叙述的中断源要与中断地址相对应才可得分,如外中断0对应0003H地址。 三、参数计算题(16分)
P=1/f=(1/11.059×10)=0.09×10s =90ns
S=2P=2×90ns=180ns
机器周期=12P=12×90ns=1.08μs
6
-6
双指令周期=2×机器周期=2.16μs
判题标准:每问4分,结果错,分值全扣;结果正确,量纲错或 四、改错题:(共5分,每小题1分)
以给出的指令操作码为依据,请判断MCS—51单片机的下列各条指令的书写格式是否有错误,如有请说明错误原因。 1.MUL RoRl 乘法指令应使用A、B寄存器操作
2.MOV A,@R7 间接寄存器使用R7有误,间址寄存器只能使用R0、R1 3.MOV A, #3000H 8位累加器A不能接受16位数据
4.MOVC @A+DPTR,A MOVC指令为对程序存储区操作指令,累加器的内容不可通过变址方式送入程序存储器,两操作数写反了。 5.UMP #1000H 长转移指令中的操作数为16位转移地址,不能用立即数的形式来表达。 五、寻址方式(5分,每问1分)
说明MCS—51单片机的下列各条指令中源操作数的寻址方式(可直接在每条指令后面书写) 1.ANL A,20H 直接寻址 2.ADDC A, #20H 立即寻址 3.JZ rel 相对寻址 4.CLR C 位寻址
5.RRA 寄存器寻址
六、使用简单指令序列完成以下操作(12分,每小题6分) 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分,其中编程12分,表中每一空1分)
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
编程要考虑将进位位的值作为结果的一部分取出来。采用其他编程方式也可以,但结果是不会改变的,和值=100H
八、判读电路题(14分)
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 单片机模拟试卷005
一、填空题(每空1分,共10分)
1.单片机内有组成微机的主要功能部件 、 和 。
2.堆栈的特性是 ,8051的堆栈一般开辟在 ,其堆栈指针是 。 3.RS232C是 总线标准。 4.8255是 接口。
5.MCS-51有一个全双工的 步串行口,有 种工作方式。 二、简述题(每题5分,共25分) 1.单片机的特性主要有哪些? 2.8031、8051、8751有何异同?
3.MCS-51的位存储区在哪里?寻址范围是多少?
4.8051的定时器/计数器有几个?是多少位的?有几种工作方式?其工作原理如何? 5.8051有哪几个中断源?哪些是内部中断源?哪些是外部中断源? 三、判断题(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,所以其串行口不能同时发送和接收数据,即不是全双工的串行口。 (4)END表示指令执行到此结束。
(5)ADC0809是8位逐次逼近式模/数转换接口。 四、阅读程序(20分)
1.下列各条指令其源操作数的寻址方式是什么?各条指令单独执行后,A中的结果是什么?(5分)设(60H)=35H,(A)=19H,(R0)=30H,(30H)=0FH。
(1)MOV A,#48H ;寻址方式: (A)=
(2)ADD A,60H ;寻址方式: (A)=
(3)ANL A,@R0 ;寻址方式:
(A)=
2.阅读下列程序段,写出每条指令执行后的结果,并说明此程序段完成什么功能?(15分) MOV R1,#30H ;(R1)=
MOV A,#64H ;(A)= ADD A,#47H ;(A)= ,(CY)= , (AC)=
DA A ;(A)= ,(CY)= , (AC)= MOV @R1,A ;(R1)= ,(30H)= 此程序段完成的功能:
五、计算(画图)题(10分)
若8051的晶振频率fosc为6MHz,定时器/计数器T0工作在工作方式1,要求产生10ms定时,写出定时器的方式控制字和计数初值(分别写出TH0与TL0值)。
六、编程题(15分)
1.阅读程序并填空,形成完整的程序以实现如下功能。(5分)
有一长度为10字节的字符串存放在8031单片机内部RAM中,其首地址为40H。要求将该字符串中每一个字符加偶校验位。(以调用子程序的方法来实现。)
源程序如下: ORG 1000H MOV R0,#40H MOV R7,#10 NEXT: MOV A, ① ACALL SEPA MOV @R0,A INC R0 DJNZ ② ,NEXT SJMP $ SEPA: ADD A,#00H ③ PSW.0,SRET ORL A, ④ SRET: ⑤
2.从内部RAM30H单元开始,有10个单字节数据。试编一个程序,把其中的正数、负数分别送40H和50H开始的内部RAM单元。(10分)
单片机模拟试卷005参考答案
一、填空题(每空1分,共10分) 1.CPU;存储器;I/O接口
2.先进后出;内部RAM30H~7FH的范围内;SP 3.串行通信
4.通用的可编程并行 5.异;4
二、简述题(每题5分,共25分)
1.单片机具有体积小、可靠性高、控制功能强、使用方便、性能价格比高、容易产品化等特点。 2.8051、8751和8031均为8位单片机,其内部结构是基本相同的。
不同点为:8051内部有4KBROM,8751内部有4KBEPROM,而8031内部无程序存储器。
3.内部RAM的20~2FH为位寻址区域,位地址范围00~7FH;特殊功能寄存器中地址能被8整除的字节地址单元也可以位寻址,位地址范围80~FFH;位存储区共256个位。
4.8051有2个16位的定时器/计数器,有4种工作方式。
定时器与计数器的工作原理是相同的,8051的定时器/计数器是根据输入的脉冲进行加1计数,当计数器溢出时,将溢出标志位置1,表示计数到预定值。
5.8051有5个中断源,分别是定时器/计数器T0、T1的溢出中断TF0、TF1,串行口的收/发中断RI/TI,外部中断
、
;其中定时器
/计数器T0、T1的溢出中断TF0、TF1、串行口的收/发中断RI/TI是内部中断源,外部中断、是外部中断源。
三、判断题(20分)
1.判断以下各条指令是否正确(LL1和PROC为标号)(10分) (1)× (2)○ (3)× (4)○ (5)× (6)× (7)○ (8)× (9)× (10)○
2.判断以说法是否正确:(10分) (1)× 单片机是面向控制的。 (2)○
(3)× 由于MCS-51的串行口的数据发送和接收缓冲器都是SBUF,但在物理上,实际上是两个缓冲器,其串行口可以同时发送和接收数据,是全双工的串行口。
(4)× END表示指令汇编到此结束。 (5)○
四、阅读程序(20分) 1.(5分)(60H)=35H,(A)=19H,(R0)=30H,(30H)=0FH。 (1) 立即寻址 ; 48H (2) 直接寻址 ; 4EH (3) 寄存器间接寻址 ; 09H
2.阅读下列程序段,写出每条指令执行后的结果,并说明此程序段完成什么功能?(15分) MOV R1,#30H ;(R1)= 30H
MOV A,#64H ;(A)= 64H ADD A,#47H ;(A)= ABH (CY)= 0 (AC)= 0
DA A ;(A)= 11H ,(CY)= 1 (AC)= 1 MOV @R1,A ;(R1)= 30H ,(30H)= 11H 此程序段完成的功能:(5分)求两个BCD码数(64H和47H)的和,并将结果放在内部RAM的30H单元。
五、计算(画图)题(10分) (1)(5分)T0:定时方式,工作在方式1。 方式字TMOD=01H
(2)(5分)fosc=6MHz,16位计数器,10ms定时,设计数初值为a,
16316
t=12/ fosc*(2 - a) 10*10=12/6 *(2 - a) a=60536=EC78H 即TH0=ECH TL0=78H 所以:TMOD=01H TH0=ECH TL0=78H
六、编程题(15分) 1.(5分) ① @R0 ② R7 ③ JNB ④ #80H ⑤ RET
2.从内部RAM30H单元开始,有10个单字节数据。试编一个程序,把其中的正数、负数分别送40H和50H开始的内部RAM单元。(10分) MOV R0,#30H MOV R1,#40H MOV A,#50H MOV R7,#10 LOOP: MOV 20H,@R0 JB 20H.7,FSHU ZSHU: MOV @ R1,20H INC R1 SJMP NEXT FSHU: XCH A,R1 MOV @R1,A XCH A,R1
INC A
NEXT: DJNZ R7,LOOP SJMP $
机模拟试卷006及答案
一、填空题(每空1分,共10分)
一、填空(每题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) 。 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分)
五、读程序(每小题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分)
相同点:均能中断主程序执行本程序,然后再返回断点地址继续执行主程序。 不同点:
(1)中断服务程序入口地址是固定的,子程序调用入口地址是用户自己设定的。
(2)中断服务子程序返回指令除具有子程序返回指令所具有的全部功能之外,还有清除中断响应时被置位的优先级状态、开放较低级中断和恢复中断逻辑等功能。
(3)中断服务子程序是在满足中断申请的条件下,随机发生的;而子程序调用是用户主程序事先安排好的。
2、已知晶振频率为6MHz,在P1.0引脚上输出周期为500微秒的等宽矩形波,若采用T1中断,工作方式2,试写出中断初始化程序(6分) MOV TMOD, #20H SETB ET1 MOV TL1, #06H SETB TR1 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分):
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四个均是___位的____口(填“串行”还是“并行”),其中P0的功能是______________________;P2口的功能是___________;
而_________是双功能口;______是专门的用户口。
5. _________。
6. MCS—51指令共有六种寻址方式,分别是立即数寻址、_________、_________、寄存器间接寻址、__________、相对寻址。 7. MOV DPTR,#data16的作用是用来设定_________。
8. 片内RAM可进行位寻址的空间位地址范围是______________。
9. MCS—51的存储器空间配置从功能上可分为四种类型:__________、内部数据存储器、__________、外部程序存储器。 10. MCS-51的指令按其功能可分为五大类:_________、________、逻辑运算类指令、位操作指令、控制转移指令。
11. 输入输出设备与主机的连接部分称为输入输出接口,接口有三大作用:_________作用、_________作用和信号电平与形式的变换作用。 12. MCS—51内部的SFR共有______个。
13. CJNE ,,rel属于五大类指令中的_________类指令,其操作码助记符含义是_____________。 14. 8051单片机有________个中断源,________级中断优先级别。 15. 8255A属于可编程的________ I
接口芯片,8255A的A通道有________种作方式。
二、 选择题:(共15题,每题1分)
1. 10101.101B转换成十进制数是( )。
(A)46.625 (B)23.625 (C) 23.62 (D) 21.625 2. 存储器的地址范围是0000H~0FFFH,它的容量为( )。
(A)1KB (B) 2KB (C) 3KB (D) 4KB 3. 3D.0AH转换成二进制数是( )。
(A)111101.0000101B (B) 111100.0000101B (C) 111101.101B (D) 111100.101B 4. 73.5转换成十六进制数是( )。
(A)94.8H (B) 49.8H (C) 111H (D) 49H
5. MOVX A , @R0指令中,源操作数采用( )寻址方式,指令作用在( )区间。 (A)寄存器,外部数据存储器 (B)直接,程序存储器
(C)寄存器间接 ,内部数据存储器 (D)寄存器间接,外部数据存储器 6. A7H和5BH两个立即数相加后,和为( ),(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)=( )
(A)61H (B) 75H (C) 71H (D) 17H
9. ( )指令是MCS-51指令系统中执行时间最长且长达4 us的。
(A)比较转移 (B)循环转移 (C)增减量 (D)乘除法
10. 8031单片机中,将累加器A中的数送入外RAM的40H单元,可执行的指令( )。
(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
11. 已知累加器A的数值为98H,它与0FAH相加,相加后会影响标志位CY、AC和OV位。各个位的值是( )。 (A) 0、0、0 (B) 1、0、1 (C) 1、1、1 (D) 1、1、0 12.不属于单片机与输入输出设备进行信息交换的方式是( )。
(A) 无条件传送方式 (B) 查询方式 (C) 中断方式 (D) 存储器直接存取方式
13.8051与8255A的硬件连接如图P110图6-7,其中规定未用的地址线取0。则8255A的控制字寄存器的地址是( ) (A) 0000H (B) 0001H (C) 0002H (D) 0003H
14.A/D转换方法有以下四种,ADC0809是一种采用( )进行A/D转换的8位接口芯片。 (A) 计数式 (B) 双积分式 (C) 逐次逼近式 (D) 并行式
15.8051单片机内有( )个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
2. 已知 ( R0 )=20H, (20H )=36H, (21H) =17H, (36H) =34H, 执行过程如下: MOV A , @R0
MOV R0 , A MOV A , @R0 ADD A , 21H ORL A , #21H RL A MOV R2 , A RET
则执行结束(R0)= (R2)= 3. 执行下面一段程序; MOV SP, #60H MOV A, #10H MOV B, #01H PUSH A PUSH B POP A POP B
A , B的内容是:(A)= (B)= 4. 设在31H单元存有#23H,执行下面程序: MOV A, 31H ANL A, #0FH MOV 41H, A MOV A, 31H ANL A, #0F0H SWAP A MOV 42H, A
则(41H)= (42H)=
五、简答及做图题:(共2题、每题5分)
1.用图示形式画出MCS—51内部数据存储器(即内 RAM含特殊功能寄存器)的组成结构,并简单说明各部分对应用途。
2. 要在8051单片机片外扩展16K数据存储器,选择其地址为0000H~3FFFH。如果选用6264芯片为存储芯片,74LS138为译码器,试画出它的硬
件连接图。
六、编程题:(共2题,每题5分)
1. 将字节地址30H~3FH单元的内容逐一取出减1,然后再放回原处,如果取出的内容为00H,则不要减1,仍将0放回原处。
2. 按以下要求编写8051单片机定时器的初始化程序:
(1) T0作为定时,定时时间为10ms. (2) T1作为计数,记满1000溢出。
机模拟试卷007参考答案 一。填空题
1. 存储器、 控制器、 输出部分。 2. 补
3. 片内存储器地址。
4. 8, 并行, 地址/数据分时复口, 高8位地址口, P1。 5. 循环。
6. 直接寻址, 寄存器寻址, 变址寻址。 7. 地址指针。 8. 00H~FFH。
9. 片内程序存储器, 外部数据存储器。 10. 数据传送类, 算术运算类。 11. 隔离与寻址作用, 所存与缓冲作用 12. 21 13. 5, 2 14. 并行, 3 二。 选择题 1~5 DDABD 6~10 CACDD 7~15 DDDCB 三。判断题
⑴√ ⑵× ⑶√ ⑷× ⑸√ (6)× ⑺× ⑻× ⑼× ⑽× ⑾× ⑿× ⒀× ⒁× ⒂× 四。分析程序并写出结果。
1.(20H)←11H (A)←20H
(A)←(A)+(20) (CY)=1
(A)-(P0)-(CY)→(A)即(A)←00H (A)+45H→(A)即(A)←45H (40H)←45H
2.(A)←((R0)) (A)=36H (R0)←(A) (R0)←36H (A)←((R0)) (A)←34H (A)←(A)+(21H) 34H+17H=4BH (A)←(A)21H 4BH21H=6BH (A)←D6H (R2)←D6H
(R0)=36H (R2)=D6H 3.(A)=01H (B)=10H
4. (41H)=03H (42H)=02H 五。1.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.(1) ① T0的工作方式0时: t13
13
max=2× =2×2us=16.384ms 定时10ms可达要求,则X=213
-10us
=213
-100002us =3192=C78H=6318H
②T0工作在方式1时: t16
16
max=2×=2×2us=131.072ms
定时10ms也可达要求,则X=216
-10us
=EC78H
③T0工作在方式2或3时: t8=28
max=2××2us=512us
定时500us,循环20次,X=28
-500us
2us=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
LP1: JBC TF0 ,CLOSE SJMP LP1 CLOSE: SJMP $ RET 五.
简答及做图题
机模拟试卷008
一. 单项选择题(30分)
1. 在中断服务程序中至少应有一条( )
A.传送指令 B.转移指令 C.加法指令 D.中断返回指令 2.当MCS-51复位时,下面说法准确的是( )
A.PC=0000H B.SP=00H C.SBUF=00H D.(30H)=00H
3.要用传送指令访问MCS-51片外RAM,它的指令操作码助记符是( ) A.MOV B.MOVX C.MOVC D.以上都行 4.ORG 2000H LACLL 3000H ORG 3000H RET
上边程序执行完RET指令后,PC=( )
A.2000H B.3000H C.2003H D.3003H
5.要使MCS-51能响应定时器T1中断,串行接口中断,它的中断允许寄存器IE的内容应是( ) A.98H B.84H C.42H D.22H 6.JNZ REL指令的寻址方式是( )
A.立即寻址 B.寄存器寻址 C.相对寻址 D.位寻址 7.执行LACLL 4000H指令时, MCS-51所完成的操作是( )
A保护PC B.4000HPC C.保护现场 D.PC+3入栈, 4000HPC 8.下面哪条指令产生WR信号( )
A.MOVX A,@DPTR B.MOVC A,@A+PC C.MOVC A,@A+DPTR D.MOVX @DPTR,A 9.若某存储器芯片地址线为12根,那么它的存储容量为( ) A. 1KB B. 2KB C.4KB D.8KB
10.要想测量INT0引脚上的一个正脉冲宽度,则TMOD的内容应为( ) A.09H B.87H C.00H D.80H 11.PSW=18H时,则当前工作寄存器是( )
A.0组 B. 1组 C. 2组 D. 3组 12.MOVX A,@DPTR指令中源操作数的寻址方式是( )
A. 寄存器寻址 B. 寄存器间接寻址 C.直接寻址 D. 立即寻址 13. MCS-51有中断源( )
A.5 B. 2 C. 3 D. 6 14. MCS-51上电复位后,SP的内容应为( ) A.00H B.07H C.60H D.70H 15.ORG 0003H LJMP 2000H ORG 000BH LJMP 3000H
当CPU响应外部中断0后,PC的值是( ) A.0003H B.2000H C.000BH D.3000H 16.控制串行口工作方式的寄存器是( ) A.TCON B.PCON C.SCON D.TMOD 17.执行PUSH ACC指令, MCS-51完成的操作是( ) A.SP+1SP, ACCSP B. ACCSP, SP-1SP C. SP-1SP, ACCSP D. ACCSP, SP+1SP 18.P1口的每一位能驱动( )
A.2个TTL低电平负载 B. 4个TTL低电平负载 C.8个TTL低电平负载 D.10个TTL低电平负载 19.PC中存放的是( )
A.下一条指令的地址 B. 当前正在执行的指令 C.当前正在执行指令的地址 D.下一条要执行的指令 20.8031是( )
A.CPU B.微处理器 C.单片微机 D.控制器 21.要把P0口高4位变0,低4位不变,应使用指令( )
A.ORL P0,#0FH B.ORL P0,#0F0H C.ANL P0,#0F0H D.ANL P0,#0FH 22.下面哪种外设是输出设备( )
A.打印机 B.纸带读出机 C.键盘 D.A/D转换器 23.所谓CPU是指( )
A.运算器和控制器 B.运算器和存储器 C.输入输出设备 D. 控制器和存储器 24.LCALL指令操作码地址是2000H,执行完响应子程序返回指令后,PC=( ) A.2000H B.2001H C.2002H D.2003H
25. MCS-51执行完MOV A,#08H后,PSW的哪一位被置位( ) A.C B. F0 C.OV D.P
26.计算机在使用中断方式与外界交换信息时,保护现场的工作应该是( )
A.由CPU自动完成 B.在中断响应中完成 C.应由中断服务程序完成 D.在主程序中完成 27.关于MCS-51的堆栈操作,正确的说法是( )
A.先入栈,再修改栈指针 B.先修改栈指针,再出栈 C. 先修改栈指针,在入栈 D.以上都不对 28.某种存储器芯片是8KB*4/片,那么它的地址线根数是( ) A.11根 B.12根 C. 13根 D. 14根
29.若MCS-51中断源都编程为同级,当他们同时申请中断时CPU首先响应( ) A.INT1 B. INT0 C.T1 D.T0 30. MCS-51的相对转移指令的最大负跳变距离( ) A.2KB B. 128B C. 127B D. 256B
二.判断题(10分)
1.我们所说的计算机实质上是计算机的硬件系统和软件系统的总称。 ( ) 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)= (CY)=
2.JNZ REL为2B指令,放于1308H,转移目标地址是134AH,求偏移量REL= 3.若(A)=C3H,(R0)=AAH,执行ADD A,R0后,(A)= (CY)= (OV)= (AC)=
4.若(A)=50H,(B)=A0H,执行MUL AB后,(A)= (B)= (CY)= (OV)=
5.SJMP 0E7H为2B指令,放于F010H,目标地址= 四.阅读并分析程序(28分) 1.2506H M5:MOV SP,#58H 2509H MOV 10H,#0FH 250CH MOV 11H,#0BH
250FH ACALL XHD ;PC+2PC ,
SP1SP,PC7~0SP
SP1SP,PC15~8SPaddrPC
10~0
MOV 20H,11H
2514H M5A:SJMP M5A XHD:PUSH 10H PUSH 11H POP 10H POP 11H RET
问:(1)执行POP 10H后堆栈内容?
(2)执行M5A:SJMP M5A后,(SP)= (20H)= 2.A程序存储空间表格如下:
已知:片内RAM的20H中为01H,执行下列程序后(30H)= MOV A,20H INC A
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= A= 4BH= 40H=
4.若PSW=00, 执行下列程序后,PSW的各位状态如何?
MOV A,#0FBH MOV PSW,#10H ADD A,#7FH
五. 程序填空(10分)
1.数据块传送,将RAM从30H开始的连续32个单元的内容传递给片内RAM从60H开始的连续32个单元。 ORG 1000H MOV R7,_____
MOV R0, #30H MOV R1,#60H
LOOP:MOV A,@R0 MOV _____,A INC R0 INC R1 DJNZ R7, _____ 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 _____
NEXT:INC _____
DJNZ R7,LOOP MOV 40H,A SJMP $ END
3. RAM中40H单元内存有一个十六进制数,把这个数转换为BCD码的十进制数,BCD码的十位和个位放在累加器A中,百位放在R2中。
ORG 2200H MOV A,_____ MOV B,#64H DIV AB MOV R2,A MOV A,_____ XCH A,B DIV AB SWAP _____ ORL A,B SJMP $ END
4. 编程序将片内40H-46H单元内容的高4位清零,保持低4位不变。 ORG 1000H MOV R7,#07H
MOV R0,_____
LOOP:MOV A,@R0 ANL A,_____ MOV @R0,A INC R0 DJNZ R7,LOOP SJMP $
END
机模拟试卷008参考答案 一:单选题:(30分)
二.判断题:(10分)
三.计算题:(22分)
(1)(A)=1AH (CY)=不受影响 (2)REL=40H
(3)(A)= 6DH (CY)= 1 (OV)=1 (AC)=0 (4)(A)=00H (B)=32H (CY)= 总为0 (OV)=1 (5)目标地址=EFF9H 四:阅读并分析程序(28分)
(1)1)执行POP 10H后堆栈内容?(SP)=5AH
2)执行M5A:SJMP M5A后,(SP)=58H (20H)=0FH (2)(30H)=5BH
(3)R0=35H A=7FH 4BH=20H 40H=7FH (4)
五、 程序填空(10分)
1._#20H_ __R1___ _LOOP____ 2.__41H___ __R0___
3.__40H___ _#0AH____ __A___ 4._#40H____ __#0FH___
机模拟试卷009
一、 填空题(共20分,每题4分)
1、 单片机试验系统与微机是通过 相连。
2、 若想进入全屏幕编辑界面,按下 功能键,按ALT+F建立新文件,即可开始输入源文件。 3、 当程序输入错误或需要调整时,使用 命令完成。 4、 将立即数#33H送20H单元使用 指令。 5、 入栈指令使用 指令。 二、 程序分析题(共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)
ORL CY ; MOV Y,C 求程序功能表达式:
2、阅读下列程序并回答问题
CLR C MOV A,#9AH SUBB A,60H ADD A,61H, DA A MOV 62H,A
(1) 请问该程序执行何种操作?
(2) 已知初值:(60H)=23H,(61H)=61H,请问运行程序后:(62H)=( )? 三、
编程题(共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~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单元的置数,
《单片机原理与应用》试题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)
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
(3) 请问该程序执行何种操作?
(4) 已知初值:(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) 32H31H、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~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、我们使用的单片机试验箱型号是 。
2、输入文件后,按F2保存程序,此时文件扩展名是 。
3、提示装载完毕后,使用 命令进行反汇编 ,检查程序是否正确装入。 4、将30H单元的内容#67H送R1,用最少的指令实现,指令为: 。 5、弹出操作,使用 指令。 二、程序分析题(共20分,每题10分) 1、程序如下
2506H M5: MOV SP,#58H; 2509H MOV 10H,0FH; 250CH MOV 11H,#0BH; 250FH ACALL XHD; 2511H MOV 20H,11H 2514H M5A: SJMP M5A XHD: PUSH 10H PUSH 11H POP 10H POP 11H
RET
问:(1)执行POP10H后堆栈内容?
(2)执行M5A:SJMP M5A后,(SP)=? (20H)=?
2、解读下列程序,然后填写有关寄存器内容
(1) MOV R1,#48H MOV 48H,#51H CJNE @R1,#51H,00H JNC NEXT1
MOV A,#0FFH SJMP NEXT2 NEXT: MOV A,#0AAH NEXT2: SJMP NEXT2 累加器 A=( )
(2) MOV A,#0FBH MOV PSW,#10H ADD A,#7FH
若PSW=00,当执行完上述程序段后,将PSW各位状态填入下表:
PSW
三、编程题(共60分,每题30分)
1、 将片内RAM-2单元(如20H)的内容分成两段,并将它们分别存入2单元和3单元。(高位清零)。
(1) 输入程序。
参考程序: MOV R0,#21H MOV A,20H ANL A,#0FH MOV @R0,A INC R0 MOV A,20H SWAP A ANL A,#0FH MOV @R0
(2) 在某单元(如20H)存入待分字的某数(如5BH)。 (3) 单步或带断点运行该段程序。
(4) 运行过程中注意检查程序的变化,并在最后检查(21H)= , (5) (22H)= 。
2、编程实现字符串长度统计:设在单片机内RAM中从STR单元开始有一字符串《以ASC II码存放》,该字符串以$结束,试统计该字符串的长度,其结果存于LON单元。 (1)输入所编程序
START: CLR A ;计数单元清零 MOV R0,#STR
LOOP: CJNE R0,#24H,NEXT ;判断字符串是否结束 SJMP COMP NEXT: INT A INC R0 SJMP LOOP
COMP: MOV LON,A ;将长度存入LON单元 SJMP $
(2)在以STR为首的地址内部RAM单元开始存放待统计长度的数据块(自设),并以#24作为数据块的结束标志。 (3)单步或断点运行所编程序,注意观察每次转移后PC及统计长度单元LON的变化,并做好记录。 (4)验证运行结果。 (5)改变数据块长度,重做。
《单片机原理与应用》试题010答案
二、 填空题(共20分,每题4分)
1、我们使用的单片机试验箱型号是 TDN-MI 。
2、输入文件后,按F2保存程序,此时文件扩展名是 .ASM。
3、提示装载完毕后,使用U000命令进行反汇编 ,检查程序是否正确装入。
4、将30H单元的内容#67H送R1,用最少的指令实现,指令为:MOV 30H,#67H; MOV R1,30H。 5、弹出操作,使用POP ACC指令。 二、程序分析题(共20分,每题10分) 1、程序如下
2506H M5: MOV SP,#58H; 2509H MOV 10H,0FH; 250CH MOV 11H,#0BH; 250FH ACALL XHD; 2511H MOV 20H,11H
2514H M5A: SJMP M5A XHD: PUSH 10H PUSH 11H POP 10H POP 11H
RET
问:(1)执行POP10H后堆栈内容?
(2)执行M5A:SJMP M5A后,(SP)=? (20H)=? 解
1) 执行ACALL指令时:PC+2➞PC:
(SP)+1➞SP PC0~PC7➞(SP) (SP)+1➞SP PC8~PC15➞(SP)
2) 子程序返回时,点地址弹出,SP=58H
所以 (1)执行POP 10H后,堆栈内容如左图所示.
58
(2)执行M5A:SJMP M5A后,(SP)=58H, (20H)=0FH
2、解读下列程序,然后填写有关寄存器内容
(1) MOV R1,#48H MOV 48H,#51H CJNE @R1,#51H,00H JNC NEXT1 MOV A,#0FFH SJMP NEXT2 NEXT: MOV A,#0AAH
NEXT2: SJMP NEXT2
累加器 A=( )
(2) MOV A,#0FBH
MOV PSW,#10H
ADD A,#7FH
解
(1) MOV R1,#48H ;48H 送 R1
MOV 48H,#51H ;51H送➞(48H)
CJNE @R1,#51H,00H ;(R1)GN #51相比,相等,顺序执行
JNC NEXT1 ;没借位转,NEXT1
MOV A,#0FFH ;有借位,FFH送A
SJMP NEXT2
NEXT1 MOV A,#0AAH ;0AAH送A
NEXT2 SJMP NEXT2
累加器 A=(0AAH)
(2) MOV A,#0FBH
MOV PSW,#10H 00010000送PSW
ADD A,#7FH
由 11111011
+ 01111111
____________
1 01111010
所以,有进位CY=1,C ♁ C=1♁1=0,OV=0; A中有奇数个1,P=1; 67
有辅助进位位AC=1
若PSW=00,当执行完上述程序段后,将PSW各位状态填入下表:
PSW
三、编程题(共60分,每题30分)
2、 将片内RAM-2单元(如20H)的内容分成两段,并将它们分别存入2单元和3单元。(高位清零)。
(1) 输入程序。
参考程序:
MOV R0,#21H
MOV A,20H
ANL A,#0FH
MOV @R0,A
INC R0
MOV A,20H
SWAP A
ANL A,#0FH
MOV @R0
(2) 在某单元(如20H)存入待分字的某数(如5BH)。
(3) 单步或带断点运行该段程序。
(4) 运行过程中注意检查程序的变化,并在最后检查(21H)= ,
(5) (22H)= 。
2、编程实现字符串长度统计:设在单片机内RAM中从STR单元开始有一字符串《以ASC II码存放》,该字符串以$结束,试统计该字符串的长度,其结果存于LON单元。
(1)输入所编程序
START: CLR A ;计数单元清零
MOV R0,#STR
LOOP: CJNE R0,#24H,NEXT ;判断字符串是否结束
SJMP COMP
NEXT: INT A
INC R0
SJMP LOOP
COMP: MOV LON,A ;将长度存入LON单元
SJMP $
(2)在以STR为首的地址内部RAM单元开始存放待统计长度的数据块(自设),并以#24作为数据块的结束标志。
(3)单步或断点运行所编程序,注意观察每次转移后PC及统计长度单元LON的变化,并做好记录。
(4)验证运行结果。
(5)改变数据块长度,重做。
单片机模拟试卷001
一、选择题(每题1分,共10分)
1.8031单片机的( )口的引脚,还具有外中断、串行通信等第二功能。
a)P0 b)P1 c)P2 d)P3 2.单片机应用程序一般存放在( )
a) RAM b)ROM c)寄存器 d)CPU 3.已知某数的BCD码为0111 0101 0100 0010 则其表示的十进制数值为( )
a) 7542H b) 7542 c) 75.42H d) 75.42 4.下列指令中不影响标志位CY的指令有( )。
a)ADD A,20H b)CLR c)RRC A d)INC A 5.CPU主要的组成部部分为( )
a)运算器、控制器 b)加法器、寄存器
c)运算器、寄存器 d)运算器、指令译码器
6.INTEL 8051 CPU是( )位的单片机
a) 16 b)4 c)8 d)准16 7.8031复位后,PC与SP的值为( )
a )0000H,00H b) 0000H,07H c) 0003H,07H d)0800H,00H 8.当需要从MCS-51单片机程序存储器取数据时,采用的指令为( )。
a)MOV A, @R1 b)MOVC A, @A + DPTR
c)MOVX A, @ R0 d)MOVX A, @ DPTR 9.8031单片机中既可位寻址又可字节寻址的单元是( )
a)20H b)30H c)00H d)70H 10.下列哪条指令是正确的( )
a) PUSH R2 b) ADD
R0,A
c) MOVX A @DPTR d) MOV @R0,A 二、填空题(每空1分,共30分)
1.一个完整的微机系统由 和 两大部分组成。
2.8051 的引脚RST是____(IN脚还是OUT脚),当其端出现____电平时,8051进入复位状态。8051一直维持这个值,直到RST脚收到____电平,8051才脱离复位状态,进入程序运行状态,从ROM H单元开始取指令并翻译和执行。
3.半导体存储器分成两大类 和 ,其中 具有易失性,常用于存储 。 4.求十进制数-102的补码(以2位16进制数表示),该补码为 。
5.PC存放_______________,具有___________特性。在8051中决定程序执行顺序的是PC还是DPTR? 它是______位? (是,不是)SFG?
6.123= B= H。
7.8051内部有 并行口,P0口直接作输出口时,必须外接 ;并行口作输入口时,必须先 ,才能读入外设的状态。 8.MCS-51的堆栈只可设置在 ,其最大容量为 ,存取数据的原则是 。堆栈寄存器SP是 位寄存器,存放 。
9.中断处理的全过程分为以下3个段: 、 、 。
10.定时和计数都是对 进行计数,定时与计数的区别是 。
三、判断题(对者打√,错者打×,并改正,每题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按什么顺序响应(按由高级到低级的顺序写出各个中断源)?各个中断源的入口地址是多少?
2.已知单片机系统晶振频率为6MHz,若要求定时值为10ms时,定时器T0工作在方式1时,定时器T0对应的初值是多少?TMOD的值是多少?TH0=?TL0=?(写出步骤)
3.MCS51系列单片机的内部资源有哪些?说出8031、8051和8751的区别。 五、作图题(10分)
用6264(8K*8)构成16K的数据存储系统。要求采用线选法产生片选信号,并计算6264的地址范围。 六、设计题(1题13分;2题12分,共25分)
1.某单片机控制系统有8个发光二极管。试画出89C51与外设的连接图并编程使它们由左向右轮流点亮。
2.某控制系统有2个开关K1和K2,1个数码管,当K1按下时数码管加1,K2按下时数码管减1。试画出8051与外设的连接图并编程实现上述要求。
单片机模拟试卷001答案
一、选择题(每题1分,共10分)
1. D 2. B 3. B 4. D 5. A 6. C 7. B 8. B 9. A 10. D 二、填空题(每空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分,共10分) 1 中断服务程序的最后一条指令是RETRETI。×
2 存储器分成内存和外存两大部分,其中外内存可以直接与CPU交换信息。× 3 P2口既可以作为I/O使用,又可以作地址/数据复用口使用。√
4 在中断响应阶段CPU一定要做如下2件工作:保护断点和给出中断服务程序入口地址。√ 5 LCRL A为循环左移指令。×
6 MOV A,30H的源操作数为立即直接寻址方式。 7 MOVMOVC A,@A+DPTR是一条查表指令。×
8 MUL AB的执行结果是高低8位在A中,低高8 位在B中。× 9 AJMP跳转空间最大可达到642KB 。
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分) 答: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个开关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布尔处理机的存储空间是_______。
2.P2口通常用作_______,也可以作通用的I/O口使用。
3.若由程序设定RS1、RS0=01,则工作寄存器R0~R7的直接地址为______。 4.8051的堆栈区一般开辟在_______。 5.所谓寻址,其实质就是_______。 6.存储器映象是_______。
7.定时器中断请求发生在_______。 8.中断响应时间是指______。
9.通过CPU对I/O状态的测试,只有I/O已准备好时才能进行I/O传送,这种传送方式称为_______。 10.在中断服务程序中现场保护和现场恢复期间,中断系统应处在____状态。
二、单项选择题(在每小题的四个备选答案中,选出一个正确答案,并将正确答案的序号填在题干的括号内。每小题1分,共10分) 1.MCS-51单片机复位操作的主要功能是把PC初始化为( )。
A.0100H B.2080H C.0000H D.8000H
2.若单片机的振荡频率为6MHz,设定时器工作在方式1需要定时1ms,则定时器初值应为( )。 A.500 B.1000 C.2-500 D.2-1000
3.定时器1工作在计数方式时,其外加的计数脉冲信号应连接到( )引脚。 A.P3.2 B.P3.3 C.P3.4 D.P3.5
4.当外部中断请求的信号方式为脉冲方式时,要求中断请求信号的高电平状态和低电平状态都应至少维持( )。 A.1个机器周期 B.2个机器周期 C.4个机器周期 D.10个晶振周期
5.MCS-51单片机在同一优先级的中断源同时申请中断时,CPU首先响应( )。 A.外部中断0 B.外部中断1 C.定时器0中断 D.定时器1中断
6.定时器若工作在循环定时或循环计数场合,应选用( )。 A.工作方式0 B.工作方式1 C.工作方式2 D.工作方式3 7.MCS-51单片机的外部中断1的中断请求标志是( )。 A.ET1 B.TF1 C.IT1 D.IE1 8.下列标号中,正确的标号是( )。
A.1BT: B.BEGIN: C.ADD: D.STAB31: 9.串行口每一次传送( )字符。
A.1个 B.1串 C.1帧 D.1波特
10.要想把数字送入DAC0832的输入缓冲器,其控制信号应满足( )。 A.ILE=1,CS=1,
16
16
WR1=0 WR1=0 WR1=0
B.ILE=1, CS=0, C.ILE=0, CS=1, D.ILE=0,CS=0,
WR1=0
三、简答题(每小题4分,共20分) 1.如何正确使用P3口?
2.简述累加器的ACC的作用。
3.简述寄存器间接寻址方式及其寻址范围。 4.简述MCS-51单片机的中断入口地址。 5.简述串行数据传送的特点。
四、读程序题(每小题4分,共20分) 1.执行下列程序段后,(P1)=_______。 MOV P1,#5DH CPL P1.1 CPL P1.2 CLR P1.6 SETB P1.7
2.执行下列程序段后,(A)=_______,(CY)=____。 MOV A,#C5H RL A
3.下列程序段执行后,(R0)=_______,(7EH)=____,(7FH)=_______。 MOV R0,#7EH MOV 7EH,#0FFH MOV 7FH,#40H 1NC @R0 1NC R0 1NC @R0
4.已知(SP)=60H,子程序SUBTRN的首地址为0345H,现执行位于0123H的ACALL SUBTRN双字节指令后,(PC)=___,(61H)=_______,(62H)= ____。 5.阅读下列程序,说明其功能。 MOV R0,#data MOV A,@R0 RL A MOV R1,A RL A RL A ADD A,R1 MOV @R0,A RET
五、编程题(每小题4分,共20分)
1.已知在累加器A中存放一个BCD数(0~9),请编程实现一个查平方表的子程序。 2.请使用位操作指令实现下列逻辑操作: BIT=(10H∨P1.0)∧(11H∨CY)
3.已知变量X存于VAR单元,函数值Y存于FUNC单元,按下式编程求Y值。
1x00x0
1x0Y=
4.已知在R2中存放一个压缩的BCD码,请将它拆成二个BCD字节,结果存于SUM开始的单元中(低位在前)。 5.将存于外部RAM 8000H开始的50H数据传送0010H的区域,请编程实现。 六、综合应用题(每小题10分,共20分)
1.已知如图,8155的PA口用于输出,PB口用于输入,PC口用于输出,请: (1)写出8155的各I/O口的口地址和存储器的地址范围。 (2)编写出8155初始化程序。B155命令字格式:
2.已知如图并给出下列程序,请在读图并理解程序后回答下列问题: (1)程序功能为_______。 (2)ADC0809的口地址为_______。 (3)EOC的作用是_______。 (4)程序运行结果存于_______。 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
单片机模拟试卷002参考答案
一、填空题(每空1分,共10分) 1.00H~7FH 2.高8位地址线 3.08~0FH 4.用户RAM区
5.如何确定操作数的单元地址 6.存储器在整个存储空间的地址范围 7.定时时间到
8.从查询中断请求标志位到转向中断区入口地址所需的机器周期数 9.程序查询方式 10.关中断
二、单项选择题(每小题1分,共10分)
1.C 2.C 3.D 4.A 5.A 6.C 7.D 8.D 9.A 10.B 三、简答题(每小题4分,共20分
)
1.要点:
(1)说明P3口有第一功能和第二功能的使用。 (2)P3口的第二功能各位线的含义。
(3)使用时应先按需要选用第二功能信号,剩下的口线才作第一功能I/O线用。 (4)读引脚数据时,必需先给锁存器输出“1”。 2.(1)8位专用寄存器。 (2)运算时存放一个操作数。
(3)运算后存放运算结果,所以称它为累加器。
3.(1)寄存器中存放的是操作数的地址,操作数是通过寄存器间接得到,这种寻址方式称为寄存器间接寻址方式。 (2)寻址范围:
①内部RAM低128单位,形式@Ri(i=0,1)。
②外部RAM64K使用DPTR作间址寄存器,形式为@DPTR。 4.中断入口地址为中断响应后PC的内容即中断服务的入口地址。
它们是:外部中断0 0003H 定时器T0中断 000BH 外部中断1 0013H 定时器T1中断 001BH 串行口中断 0023H
5.(1)传送按位顺序进行,速度慢。
(2)传输线少,成本低。
(3)传送距离远,可达几公尺到几千公里。
四、读程序题(每小题4分,共20分) 1.(P1)=9BH
2.(A)=8BH(或10001011B) (CY)=不影响 3.(R0)=7FH (7EH)=00H (7FH)=41H 4.(PC)=0345H (61H)=25H (62H)=01H 5.(data)×10操作
五、编程题(每小题4分,共20分) 1.SQR:1NC A MOVC A,@A+PC RET
TAB:DB 0,1,4,9,16 DB 25,36,49,64,81 2.ORL C,11H MOV 12H,C MOV C,P1.0 ORL C,/10H ANL C,12H MOV BIT,C RET
3. MOV A,VAR CJNE A,#0,COMP
SJMP RES ;x=0,Y=0 COMP:JNC POSI ;x>0,Y=1 MOV A,#0FFH ;x
POSI:MOV A,#01H RES:MOV FUNC,A RET
4.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. 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.(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。
单片机模拟试卷004
一、填空题(15分,每空1分)
1.MCS—51单片机的P0—P4口均是 I/O口,其中的P0口和P2口除了可以进行数据的输入、输出外,通常还用来构建系统的 和 ,在P0—P4口中, 为真正的双向口, 为准双向口。
2.MCS—5l单片机的堆栈区只可设置在 ,堆栈寄存器5P是 位寄存器。
3.MCS—51单片机外部中断请求信号有电平方式和 ,在电平方式下,当采集到INT0、INT1的有效信号为 时,激活外部中断。
4.定时器/计数器的工作方式3是指的将 拆成两个独立的8位计数器。而另一个定时器/计数器此时通常只可作为 使用。
5.MCS—96单片机的最大寻址空间是 ,该空间的地址范围为 ,系统上电及复位的程序入口地址为 ,芯片配置字节CCB的地址为 。
二、简答题(15分,每小题5分)
1.51系列单片机具有几个中断源,分别是如何定义的?其中哪些中断源可以被定义为高优先级中断,如何定义? 2.各中断源对应的中断服务程序的入口地址是否能任意设定?
3.如果想将中断服务程序放置在程序存储区的任意区域,在程序中应该作何种设置?请举例加以说明。
三、参数计算题(16分)
已知一单片机系统的外接晶体振荡器的振荡频率为11.059MHz,请计算该单片机系统的拍节P、状态S、机器周期所对应的时间是多少?指令周期中的单字节双周期指令的执行时间是多少?
四、改错题(共5分,每小题1分)
以给出的指令操作码为依据,请判断MCS—5l单片机的下列各条指令的书写格式是否有错误,如有请说明错误原因。 1.MUL R0R1 2.MOV A,@R7 3.MOV A,#3000H 4.MOVC @A+DPTR,A
5.LJMP #1000H 五、寻址方式(5分,每问1分)
说明MCS—51单片机的下列各条指令中源操作数的寻址方式(可直接在每条指令后面书写) 1.ANL A,20H 2.ADDC A,#20H 3.JZ rel 4.CLR C
5.RRA
六、使用简单指令序列完成以下操作(12分) 1.请将片外RAM20H—25H单元清零
2.请将ROM3000H单元内容送R7 七、编程题(18分)
已知一MCS—51单片机系统的片内RAM 20H单元存放了一个8位无符号数7AH,片外扩展RAM的8000H存放了一个8位无符号数86H,试编程完成以上两个单元中的无符号数相加,并将和值送往片外RAM的01H、00H单元中,同时将所编写程序运行完成后的数据和状态添入下表中给出的PSW的有关位以及寄存器A、DPTR和RAM单元中。
八、判读电路题(14分)
下图为MCS—51单片机系统中混合扩展多片存储器2764、6264芯片部分连线电路图。 试分析电路并回答下列问题:
1.请简单叙述2764芯片的功能、容量,在电路中起什么作用? 2.请简单叙述6264芯片的功能、容量,在电路中起什么作用?
3.请分析各片2764、6264所占用的单片机数据存储空间的地址范围是多少?
单片机模拟试卷004参考答案 一、填空题(15分,每空1分)
1.并行 数据总线 地址总线 P0 P1—P3 2.片内数据存储区(器) 3.脉冲方式 低电平
4.定时器/计数器0 串行口的波特率发生器
5.64K 0000H—FFFFH 2080H 2018H 二、简答题(15分,每小题5分)
1.具有5个中断源,分别是外部中断INT0和外部中断INT1、定时器溢出中断0和定时器溢出中断1以及串行中断。通过对中断优先级寄存器IP的设置,每个中断源都可以被定义为高优先级中断。(6分)
2.各中断源的入口地址已经在中断地址区中被定义了,不能任意设定。(3分)
3.如果要将中断服务程序放置在程序存储区的任意区域,在程序中要通过在中断地址区的对应地址上设置跳转指令才可实现对中断服务程序的执行。
例如:外部中断O的中断服务程序INTOP放置在程序存储区的任意区域,此时,通过以下方式,可实现对中断服务程序的执行:(4分) ORGO003H (2分) JMP INTOP
列举其他中断跳转的例子也可,但叙述的中断源要与中断地址相对应才可得分,如外中断0对应0003H地址。 三、参数计算题(16分)
P=1/f=(1/11.059×10)=0.09×10s =90ns
S=2P=2×90ns=180ns
机器周期=12P=12×90ns=1.08μs
6
-6
双指令周期=2×机器周期=2.16μs
判题标准:每问4分,结果错,分值全扣;结果正确,量纲错或 四、改错题:(共5分,每小题1分)
以给出的指令操作码为依据,请判断MCS—51单片机的下列各条指令的书写格式是否有错误,如有请说明错误原因。 1.MUL RoRl 乘法指令应使用A、B寄存器操作
2.MOV A,@R7 间接寄存器使用R7有误,间址寄存器只能使用R0、R1 3.MOV A, #3000H 8位累加器A不能接受16位数据
4.MOVC @A+DPTR,A MOVC指令为对程序存储区操作指令,累加器的内容不可通过变址方式送入程序存储器,两操作数写反了。 5.UMP #1000H 长转移指令中的操作数为16位转移地址,不能用立即数的形式来表达。 五、寻址方式(5分,每问1分)
说明MCS—51单片机的下列各条指令中源操作数的寻址方式(可直接在每条指令后面书写) 1.ANL A,20H 直接寻址 2.ADDC A, #20H 立即寻址 3.JZ rel 相对寻址 4.CLR C 位寻址
5.RRA 寄存器寻址
六、使用简单指令序列完成以下操作(12分,每小题6分) 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分,其中编程12分,表中每一空1分)
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
编程要考虑将进位位的值作为结果的一部分取出来。采用其他编程方式也可以,但结果是不会改变的,和值=100H
八、判读电路题(14分)
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 单片机模拟试卷005
一、填空题(每空1分,共10分)
1.单片机内有组成微机的主要功能部件 、 和 。
2.堆栈的特性是 ,8051的堆栈一般开辟在 ,其堆栈指针是 。 3.RS232C是 总线标准。 4.8255是 接口。
5.MCS-51有一个全双工的 步串行口,有 种工作方式。 二、简述题(每题5分,共25分) 1.单片机的特性主要有哪些? 2.8031、8051、8751有何异同?
3.MCS-51的位存储区在哪里?寻址范围是多少?
4.8051的定时器/计数器有几个?是多少位的?有几种工作方式?其工作原理如何? 5.8051有哪几个中断源?哪些是内部中断源?哪些是外部中断源? 三、判断题(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,所以其串行口不能同时发送和接收数据,即不是全双工的串行口。 (4)END表示指令执行到此结束。
(5)ADC0809是8位逐次逼近式模/数转换接口。 四、阅读程序(20分)
1.下列各条指令其源操作数的寻址方式是什么?各条指令单独执行后,A中的结果是什么?(5分)设(60H)=35H,(A)=19H,(R0)=30H,(30H)=0FH。
(1)MOV A,#48H ;寻址方式: (A)=
(2)ADD A,60H ;寻址方式: (A)=
(3)ANL A,@R0 ;寻址方式:
(A)=
2.阅读下列程序段,写出每条指令执行后的结果,并说明此程序段完成什么功能?(15分) MOV R1,#30H ;(R1)=
MOV A,#64H ;(A)= ADD A,#47H ;(A)= ,(CY)= , (AC)=
DA A ;(A)= ,(CY)= , (AC)= MOV @R1,A ;(R1)= ,(30H)= 此程序段完成的功能:
五、计算(画图)题(10分)
若8051的晶振频率fosc为6MHz,定时器/计数器T0工作在工作方式1,要求产生10ms定时,写出定时器的方式控制字和计数初值(分别写出TH0与TL0值)。
六、编程题(15分)
1.阅读程序并填空,形成完整的程序以实现如下功能。(5分)
有一长度为10字节的字符串存放在8031单片机内部RAM中,其首地址为40H。要求将该字符串中每一个字符加偶校验位。(以调用子程序的方法来实现。)
源程序如下: ORG 1000H MOV R0,#40H MOV R7,#10 NEXT: MOV A, ① ACALL SEPA MOV @R0,A INC R0 DJNZ ② ,NEXT SJMP $ SEPA: ADD A,#00H ③ PSW.0,SRET ORL A, ④ SRET: ⑤
2.从内部RAM30H单元开始,有10个单字节数据。试编一个程序,把其中的正数、负数分别送40H和50H开始的内部RAM单元。(10分)
单片机模拟试卷005参考答案
一、填空题(每空1分,共10分) 1.CPU;存储器;I/O接口
2.先进后出;内部RAM30H~7FH的范围内;SP 3.串行通信
4.通用的可编程并行 5.异;4
二、简述题(每题5分,共25分)
1.单片机具有体积小、可靠性高、控制功能强、使用方便、性能价格比高、容易产品化等特点。 2.8051、8751和8031均为8位单片机,其内部结构是基本相同的。
不同点为:8051内部有4KBROM,8751内部有4KBEPROM,而8031内部无程序存储器。
3.内部RAM的20~2FH为位寻址区域,位地址范围00~7FH;特殊功能寄存器中地址能被8整除的字节地址单元也可以位寻址,位地址范围80~FFH;位存储区共256个位。
4.8051有2个16位的定时器/计数器,有4种工作方式。
定时器与计数器的工作原理是相同的,8051的定时器/计数器是根据输入的脉冲进行加1计数,当计数器溢出时,将溢出标志位置1,表示计数到预定值。
5.8051有5个中断源,分别是定时器/计数器T0、T1的溢出中断TF0、TF1,串行口的收/发中断RI/TI,外部中断
、
;其中定时器
/计数器T0、T1的溢出中断TF0、TF1、串行口的收/发中断RI/TI是内部中断源,外部中断、是外部中断源。
三、判断题(20分)
1.判断以下各条指令是否正确(LL1和PROC为标号)(10分) (1)× (2)○ (3)× (4)○ (5)× (6)× (7)○ (8)× (9)× (10)○
2.判断以说法是否正确:(10分) (1)× 单片机是面向控制的。 (2)○
(3)× 由于MCS-51的串行口的数据发送和接收缓冲器都是SBUF,但在物理上,实际上是两个缓冲器,其串行口可以同时发送和接收数据,是全双工的串行口。
(4)× END表示指令汇编到此结束。 (5)○
四、阅读程序(20分) 1.(5分)(60H)=35H,(A)=19H,(R0)=30H,(30H)=0FH。 (1) 立即寻址 ; 48H (2) 直接寻址 ; 4EH (3) 寄存器间接寻址 ; 09H
2.阅读下列程序段,写出每条指令执行后的结果,并说明此程序段完成什么功能?(15分) MOV R1,#30H ;(R1)= 30H
MOV A,#64H ;(A)= 64H ADD A,#47H ;(A)= ABH (CY)= 0 (AC)= 0
DA A ;(A)= 11H ,(CY)= 1 (AC)= 1 MOV @R1,A ;(R1)= 30H ,(30H)= 11H 此程序段完成的功能:(5分)求两个BCD码数(64H和47H)的和,并将结果放在内部RAM的30H单元。
五、计算(画图)题(10分) (1)(5分)T0:定时方式,工作在方式1。 方式字TMOD=01H
(2)(5分)fosc=6MHz,16位计数器,10ms定时,设计数初值为a,
16316
t=12/ fosc*(2 - a) 10*10=12/6 *(2 - a) a=60536=EC78H 即TH0=ECH TL0=78H 所以:TMOD=01H TH0=ECH TL0=78H
六、编程题(15分) 1.(5分) ① @R0 ② R7 ③ JNB ④ #80H ⑤ RET
2.从内部RAM30H单元开始,有10个单字节数据。试编一个程序,把其中的正数、负数分别送40H和50H开始的内部RAM单元。(10分) MOV R0,#30H MOV R1,#40H MOV A,#50H MOV R7,#10 LOOP: MOV 20H,@R0 JB 20H.7,FSHU ZSHU: MOV @ R1,20H INC R1 SJMP NEXT FSHU: XCH A,R1 MOV @R1,A XCH A,R1
INC A
NEXT: DJNZ R7,LOOP SJMP $
机模拟试卷006及答案
一、填空题(每空1分,共10分)
一、填空(每题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) 。 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分)
五、读程序(每小题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分)
相同点:均能中断主程序执行本程序,然后再返回断点地址继续执行主程序。 不同点:
(1)中断服务程序入口地址是固定的,子程序调用入口地址是用户自己设定的。
(2)中断服务子程序返回指令除具有子程序返回指令所具有的全部功能之外,还有清除中断响应时被置位的优先级状态、开放较低级中断和恢复中断逻辑等功能。
(3)中断服务子程序是在满足中断申请的条件下,随机发生的;而子程序调用是用户主程序事先安排好的。
2、已知晶振频率为6MHz,在P1.0引脚上输出周期为500微秒的等宽矩形波,若采用T1中断,工作方式2,试写出中断初始化程序(6分) MOV TMOD, #20H SETB ET1 MOV TL1, #06H SETB TR1 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分):
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四个均是___位的____口(填“串行”还是“并行”),其中P0的功能是______________________;P2口的功能是___________;
而_________是双功能口;______是专门的用户口。
5. _________。
6. MCS—51指令共有六种寻址方式,分别是立即数寻址、_________、_________、寄存器间接寻址、__________、相对寻址。 7. MOV DPTR,#data16的作用是用来设定_________。
8. 片内RAM可进行位寻址的空间位地址范围是______________。
9. MCS—51的存储器空间配置从功能上可分为四种类型:__________、内部数据存储器、__________、外部程序存储器。 10. MCS-51的指令按其功能可分为五大类:_________、________、逻辑运算类指令、位操作指令、控制转移指令。
11. 输入输出设备与主机的连接部分称为输入输出接口,接口有三大作用:_________作用、_________作用和信号电平与形式的变换作用。 12. MCS—51内部的SFR共有______个。
13. CJNE ,,rel属于五大类指令中的_________类指令,其操作码助记符含义是_____________。 14. 8051单片机有________个中断源,________级中断优先级别。 15. 8255A属于可编程的________ I
接口芯片,8255A的A通道有________种作方式。
二、 选择题:(共15题,每题1分)
1. 10101.101B转换成十进制数是( )。
(A)46.625 (B)23.625 (C) 23.62 (D) 21.625 2. 存储器的地址范围是0000H~0FFFH,它的容量为( )。
(A)1KB (B) 2KB (C) 3KB (D) 4KB 3. 3D.0AH转换成二进制数是( )。
(A)111101.0000101B (B) 111100.0000101B (C) 111101.101B (D) 111100.101B 4. 73.5转换成十六进制数是( )。
(A)94.8H (B) 49.8H (C) 111H (D) 49H
5. MOVX A , @R0指令中,源操作数采用( )寻址方式,指令作用在( )区间。 (A)寄存器,外部数据存储器 (B)直接,程序存储器
(C)寄存器间接 ,内部数据存储器 (D)寄存器间接,外部数据存储器 6. A7H和5BH两个立即数相加后,和为( ),(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)=( )
(A)61H (B) 75H (C) 71H (D) 17H
9. ( )指令是MCS-51指令系统中执行时间最长且长达4 us的。
(A)比较转移 (B)循环转移 (C)增减量 (D)乘除法
10. 8031单片机中,将累加器A中的数送入外RAM的40H单元,可执行的指令( )。
(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
11. 已知累加器A的数值为98H,它与0FAH相加,相加后会影响标志位CY、AC和OV位。各个位的值是( )。 (A) 0、0、0 (B) 1、0、1 (C) 1、1、1 (D) 1、1、0 12.不属于单片机与输入输出设备进行信息交换的方式是( )。
(A) 无条件传送方式 (B) 查询方式 (C) 中断方式 (D) 存储器直接存取方式
13.8051与8255A的硬件连接如图P110图6-7,其中规定未用的地址线取0。则8255A的控制字寄存器的地址是( ) (A) 0000H (B) 0001H (C) 0002H (D) 0003H
14.A/D转换方法有以下四种,ADC0809是一种采用( )进行A/D转换的8位接口芯片。 (A) 计数式 (B) 双积分式 (C) 逐次逼近式 (D) 并行式
15.8051单片机内有( )个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
2. 已知 ( R0 )=20H, (20H )=36H, (21H) =17H, (36H) =34H, 执行过程如下: MOV A , @R0
MOV R0 , A MOV A , @R0 ADD A , 21H ORL A , #21H RL A MOV R2 , A RET
则执行结束(R0)= (R2)= 3. 执行下面一段程序; MOV SP, #60H MOV A, #10H MOV B, #01H PUSH A PUSH B POP A POP B
A , B的内容是:(A)= (B)= 4. 设在31H单元存有#23H,执行下面程序: MOV A, 31H ANL A, #0FH MOV 41H, A MOV A, 31H ANL A, #0F0H SWAP A MOV 42H, A
则(41H)= (42H)=
五、简答及做图题:(共2题、每题5分)
1.用图示形式画出MCS—51内部数据存储器(即内 RAM含特殊功能寄存器)的组成结构,并简单说明各部分对应用途。
2. 要在8051单片机片外扩展16K数据存储器,选择其地址为0000H~3FFFH。如果选用6264芯片为存储芯片,74LS138为译码器,试画出它的硬
件连接图。
六、编程题:(共2题,每题5分)
1. 将字节地址30H~3FH单元的内容逐一取出减1,然后再放回原处,如果取出的内容为00H,则不要减1,仍将0放回原处。
2. 按以下要求编写8051单片机定时器的初始化程序:
(1) T0作为定时,定时时间为10ms. (2) T1作为计数,记满1000溢出。
机模拟试卷007参考答案 一。填空题
1. 存储器、 控制器、 输出部分。 2. 补
3. 片内存储器地址。
4. 8, 并行, 地址/数据分时复口, 高8位地址口, P1。 5. 循环。
6. 直接寻址, 寄存器寻址, 变址寻址。 7. 地址指针。 8. 00H~FFH。
9. 片内程序存储器, 外部数据存储器。 10. 数据传送类, 算术运算类。 11. 隔离与寻址作用, 所存与缓冲作用 12. 21 13. 5, 2 14. 并行, 3 二。 选择题 1~5 DDABD 6~10 CACDD 7~15 DDDCB 三。判断题
⑴√ ⑵× ⑶√ ⑷× ⑸√ (6)× ⑺× ⑻× ⑼× ⑽× ⑾× ⑿× ⒀× ⒁× ⒂× 四。分析程序并写出结果。
1.(20H)←11H (A)←20H
(A)←(A)+(20) (CY)=1
(A)-(P0)-(CY)→(A)即(A)←00H (A)+45H→(A)即(A)←45H (40H)←45H
2.(A)←((R0)) (A)=36H (R0)←(A) (R0)←36H (A)←((R0)) (A)←34H (A)←(A)+(21H) 34H+17H=4BH (A)←(A)21H 4BH21H=6BH (A)←D6H (R2)←D6H
(R0)=36H (R2)=D6H 3.(A)=01H (B)=10H
4. (41H)=03H (42H)=02H 五。1.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.(1) ① T0的工作方式0时: t13
13
max=2× =2×2us=16.384ms 定时10ms可达要求,则X=213
-10us
=213
-100002us =3192=C78H=6318H
②T0工作在方式1时: t16
16
max=2×=2×2us=131.072ms
定时10ms也可达要求,则X=216
-10us
=EC78H
③T0工作在方式2或3时: t8=28
max=2××2us=512us
定时500us,循环20次,X=28
-500us
2us=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
LP1: JBC TF0 ,CLOSE SJMP LP1 CLOSE: SJMP $ RET 五.
简答及做图题
机模拟试卷008
一. 单项选择题(30分)
1. 在中断服务程序中至少应有一条( )
A.传送指令 B.转移指令 C.加法指令 D.中断返回指令 2.当MCS-51复位时,下面说法准确的是( )
A.PC=0000H B.SP=00H C.SBUF=00H D.(30H)=00H
3.要用传送指令访问MCS-51片外RAM,它的指令操作码助记符是( ) A.MOV B.MOVX C.MOVC D.以上都行 4.ORG 2000H LACLL 3000H ORG 3000H RET
上边程序执行完RET指令后,PC=( )
A.2000H B.3000H C.2003H D.3003H
5.要使MCS-51能响应定时器T1中断,串行接口中断,它的中断允许寄存器IE的内容应是( ) A.98H B.84H C.42H D.22H 6.JNZ REL指令的寻址方式是( )
A.立即寻址 B.寄存器寻址 C.相对寻址 D.位寻址 7.执行LACLL 4000H指令时, MCS-51所完成的操作是( )
A保护PC B.4000HPC C.保护现场 D.PC+3入栈, 4000HPC 8.下面哪条指令产生WR信号( )
A.MOVX A,@DPTR B.MOVC A,@A+PC C.MOVC A,@A+DPTR D.MOVX @DPTR,A 9.若某存储器芯片地址线为12根,那么它的存储容量为( ) A. 1KB B. 2KB C.4KB D.8KB
10.要想测量INT0引脚上的一个正脉冲宽度,则TMOD的内容应为( ) A.09H B.87H C.00H D.80H 11.PSW=18H时,则当前工作寄存器是( )
A.0组 B. 1组 C. 2组 D. 3组 12.MOVX A,@DPTR指令中源操作数的寻址方式是( )
A. 寄存器寻址 B. 寄存器间接寻址 C.直接寻址 D. 立即寻址 13. MCS-51有中断源( )
A.5 B. 2 C. 3 D. 6 14. MCS-51上电复位后,SP的内容应为( ) A.00H B.07H C.60H D.70H 15.ORG 0003H LJMP 2000H ORG 000BH LJMP 3000H
当CPU响应外部中断0后,PC的值是( ) A.0003H B.2000H C.000BH D.3000H 16.控制串行口工作方式的寄存器是( ) A.TCON B.PCON C.SCON D.TMOD 17.执行PUSH ACC指令, MCS-51完成的操作是( ) A.SP+1SP, ACCSP B. ACCSP, SP-1SP C. SP-1SP, ACCSP D. ACCSP, SP+1SP 18.P1口的每一位能驱动( )
A.2个TTL低电平负载 B. 4个TTL低电平负载 C.8个TTL低电平负载 D.10个TTL低电平负载 19.PC中存放的是( )
A.下一条指令的地址 B. 当前正在执行的指令 C.当前正在执行指令的地址 D.下一条要执行的指令 20.8031是( )
A.CPU B.微处理器 C.单片微机 D.控制器 21.要把P0口高4位变0,低4位不变,应使用指令( )
A.ORL P0,#0FH B.ORL P0,#0F0H C.ANL P0,#0F0H D.ANL P0,#0FH 22.下面哪种外设是输出设备( )
A.打印机 B.纸带读出机 C.键盘 D.A/D转换器 23.所谓CPU是指( )
A.运算器和控制器 B.运算器和存储器 C.输入输出设备 D. 控制器和存储器 24.LCALL指令操作码地址是2000H,执行完响应子程序返回指令后,PC=( ) A.2000H B.2001H C.2002H D.2003H
25. MCS-51执行完MOV A,#08H后,PSW的哪一位被置位( ) A.C B. F0 C.OV D.P
26.计算机在使用中断方式与外界交换信息时,保护现场的工作应该是( )
A.由CPU自动完成 B.在中断响应中完成 C.应由中断服务程序完成 D.在主程序中完成 27.关于MCS-51的堆栈操作,正确的说法是( )
A.先入栈,再修改栈指针 B.先修改栈指针,再出栈 C. 先修改栈指针,在入栈 D.以上都不对 28.某种存储器芯片是8KB*4/片,那么它的地址线根数是( ) A.11根 B.12根 C. 13根 D. 14根
29.若MCS-51中断源都编程为同级,当他们同时申请中断时CPU首先响应( ) A.INT1 B. INT0 C.T1 D.T0 30. MCS-51的相对转移指令的最大负跳变距离( ) A.2KB B. 128B C. 127B D. 256B
二.判断题(10分)
1.我们所说的计算机实质上是计算机的硬件系统和软件系统的总称。 ( ) 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)= (CY)=
2.JNZ REL为2B指令,放于1308H,转移目标地址是134AH,求偏移量REL= 3.若(A)=C3H,(R0)=AAH,执行ADD A,R0后,(A)= (CY)= (OV)= (AC)=
4.若(A)=50H,(B)=A0H,执行MUL AB后,(A)= (B)= (CY)= (OV)=
5.SJMP 0E7H为2B指令,放于F010H,目标地址= 四.阅读并分析程序(28分) 1.2506H M5:MOV SP,#58H 2509H MOV 10H,#0FH 250CH MOV 11H,#0BH
250FH ACALL XHD ;PC+2PC ,
SP1SP,PC7~0SP
SP1SP,PC15~8SPaddrPC
10~0
MOV 20H,11H
2514H M5A:SJMP M5A XHD:PUSH 10H PUSH 11H POP 10H POP 11H RET
问:(1)执行POP 10H后堆栈内容?
(2)执行M5A:SJMP M5A后,(SP)= (20H)= 2.A程序存储空间表格如下:
已知:片内RAM的20H中为01H,执行下列程序后(30H)= MOV A,20H INC A
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= A= 4BH= 40H=
4.若PSW=00, 执行下列程序后,PSW的各位状态如何?
MOV A,#0FBH MOV PSW,#10H ADD A,#7FH
五. 程序填空(10分)
1.数据块传送,将RAM从30H开始的连续32个单元的内容传递给片内RAM从60H开始的连续32个单元。 ORG 1000H MOV R7,_____
MOV R0, #30H MOV R1,#60H
LOOP:MOV A,@R0 MOV _____,A INC R0 INC R1 DJNZ R7, _____ 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 _____
NEXT:INC _____
DJNZ R7,LOOP MOV 40H,A SJMP $ END
3. RAM中40H单元内存有一个十六进制数,把这个数转换为BCD码的十进制数,BCD码的十位和个位放在累加器A中,百位放在R2中。
ORG 2200H MOV A,_____ MOV B,#64H DIV AB MOV R2,A MOV A,_____ XCH A,B DIV AB SWAP _____ ORL A,B SJMP $ END
4. 编程序将片内40H-46H单元内容的高4位清零,保持低4位不变。 ORG 1000H MOV R7,#07H
MOV R0,_____
LOOP:MOV A,@R0 ANL A,_____ MOV @R0,A INC R0 DJNZ R7,LOOP SJMP $
END
机模拟试卷008参考答案 一:单选题:(30分)
二.判断题:(10分)
三.计算题:(22分)
(1)(A)=1AH (CY)=不受影响 (2)REL=40H
(3)(A)= 6DH (CY)= 1 (OV)=1 (AC)=0 (4)(A)=00H (B)=32H (CY)= 总为0 (OV)=1 (5)目标地址=EFF9H 四:阅读并分析程序(28分)
(1)1)执行POP 10H后堆栈内容?(SP)=5AH
2)执行M5A:SJMP M5A后,(SP)=58H (20H)=0FH (2)(30H)=5BH
(3)R0=35H A=7FH 4BH=20H 40H=7FH (4)
五、 程序填空(10分)
1._#20H_ __R1___ _LOOP____ 2.__41H___ __R0___
3.__40H___ _#0AH____ __A___ 4._#40H____ __#0FH___
机模拟试卷009
一、 填空题(共20分,每题4分)
1、 单片机试验系统与微机是通过 相连。
2、 若想进入全屏幕编辑界面,按下 功能键,按ALT+F建立新文件,即可开始输入源文件。 3、 当程序输入错误或需要调整时,使用 命令完成。 4、 将立即数#33H送20H单元使用 指令。 5、 入栈指令使用 指令。 二、 程序分析题(共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)
ORL CY ; MOV Y,C 求程序功能表达式:
2、阅读下列程序并回答问题
CLR C MOV A,#9AH SUBB A,60H ADD A,61H, DA A MOV 62H,A
(1) 请问该程序执行何种操作?
(2) 已知初值:(60H)=23H,(61H)=61H,请问运行程序后:(62H)=( )? 三、
编程题(共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~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单元的置数,
《单片机原理与应用》试题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)
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
(3) 请问该程序执行何种操作?
(4) 已知初值:(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) 32H31H、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~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、我们使用的单片机试验箱型号是 。
2、输入文件后,按F2保存程序,此时文件扩展名是 。
3、提示装载完毕后,使用 命令进行反汇编 ,检查程序是否正确装入。 4、将30H单元的内容#67H送R1,用最少的指令实现,指令为: 。 5、弹出操作,使用 指令。 二、程序分析题(共20分,每题10分) 1、程序如下
2506H M5: MOV SP,#58H; 2509H MOV 10H,0FH; 250CH MOV 11H,#0BH; 250FH ACALL XHD; 2511H MOV 20H,11H 2514H M5A: SJMP M5A XHD: PUSH 10H PUSH 11H POP 10H POP 11H
RET
问:(1)执行POP10H后堆栈内容?
(2)执行M5A:SJMP M5A后,(SP)=? (20H)=?
2、解读下列程序,然后填写有关寄存器内容
(1) MOV R1,#48H MOV 48H,#51H CJNE @R1,#51H,00H JNC NEXT1
MOV A,#0FFH SJMP NEXT2 NEXT: MOV A,#0AAH NEXT2: SJMP NEXT2 累加器 A=( )
(2) MOV A,#0FBH MOV PSW,#10H ADD A,#7FH
若PSW=00,当执行完上述程序段后,将PSW各位状态填入下表:
PSW
三、编程题(共60分,每题30分)
1、 将片内RAM-2单元(如20H)的内容分成两段,并将它们分别存入2单元和3单元。(高位清零)。
(1) 输入程序。
参考程序: MOV R0,#21H MOV A,20H ANL A,#0FH MOV @R0,A INC R0 MOV A,20H SWAP A ANL A,#0FH MOV @R0
(2) 在某单元(如20H)存入待分字的某数(如5BH)。 (3) 单步或带断点运行该段程序。
(4) 运行过程中注意检查程序的变化,并在最后检查(21H)= , (5) (22H)= 。
2、编程实现字符串长度统计:设在单片机内RAM中从STR单元开始有一字符串《以ASC II码存放》,该字符串以$结束,试统计该字符串的长度,其结果存于LON单元。 (1)输入所编程序
START: CLR A ;计数单元清零 MOV R0,#STR
LOOP: CJNE R0,#24H,NEXT ;判断字符串是否结束 SJMP COMP NEXT: INT A INC R0 SJMP LOOP
COMP: MOV LON,A ;将长度存入LON单元 SJMP $
(2)在以STR为首的地址内部RAM单元开始存放待统计长度的数据块(自设),并以#24作为数据块的结束标志。 (3)单步或断点运行所编程序,注意观察每次转移后PC及统计长度单元LON的变化,并做好记录。 (4)验证运行结果。 (5)改变数据块长度,重做。
《单片机原理与应用》试题010答案
二、 填空题(共20分,每题4分)
1、我们使用的单片机试验箱型号是 TDN-MI 。
2、输入文件后,按F2保存程序,此时文件扩展名是 .ASM。
3、提示装载完毕后,使用U000命令进行反汇编 ,检查程序是否正确装入。
4、将30H单元的内容#67H送R1,用最少的指令实现,指令为:MOV 30H,#67H; MOV R1,30H。 5、弹出操作,使用POP ACC指令。 二、程序分析题(共20分,每题10分) 1、程序如下
2506H M5: MOV SP,#58H; 2509H MOV 10H,0FH; 250CH MOV 11H,#0BH; 250FH ACALL XHD; 2511H MOV 20H,11H
2514H M5A: SJMP M5A XHD: PUSH 10H PUSH 11H POP 10H POP 11H
RET
问:(1)执行POP10H后堆栈内容?
(2)执行M5A:SJMP M5A后,(SP)=? (20H)=? 解
1) 执行ACALL指令时:PC+2➞PC:
(SP)+1➞SP PC0~PC7➞(SP) (SP)+1➞SP PC8~PC15➞(SP)
2) 子程序返回时,点地址弹出,SP=58H
所以 (1)执行POP 10H后,堆栈内容如左图所示.
58
(2)执行M5A:SJMP M5A后,(SP)=58H, (20H)=0FH
2、解读下列程序,然后填写有关寄存器内容
(1) MOV R1,#48H MOV 48H,#51H CJNE @R1,#51H,00H JNC NEXT1 MOV A,#0FFH SJMP NEXT2 NEXT: MOV A,#0AAH
NEXT2: SJMP NEXT2
累加器 A=( )
(2) MOV A,#0FBH
MOV PSW,#10H
ADD A,#7FH
解
(1) MOV R1,#48H ;48H 送 R1
MOV 48H,#51H ;51H送➞(48H)
CJNE @R1,#51H,00H ;(R1)GN #51相比,相等,顺序执行
JNC NEXT1 ;没借位转,NEXT1
MOV A,#0FFH ;有借位,FFH送A
SJMP NEXT2
NEXT1 MOV A,#0AAH ;0AAH送A
NEXT2 SJMP NEXT2
累加器 A=(0AAH)
(2) MOV A,#0FBH
MOV PSW,#10H 00010000送PSW
ADD A,#7FH
由 11111011
+ 01111111
____________
1 01111010
所以,有进位CY=1,C ♁ C=1♁1=0,OV=0; A中有奇数个1,P=1; 67
有辅助进位位AC=1
若PSW=00,当执行完上述程序段后,将PSW各位状态填入下表:
PSW
三、编程题(共60分,每题30分)
2、 将片内RAM-2单元(如20H)的内容分成两段,并将它们分别存入2单元和3单元。(高位清零)。
(1) 输入程序。
参考程序:
MOV R0,#21H
MOV A,20H
ANL A,#0FH
MOV @R0,A
INC R0
MOV A,20H
SWAP A
ANL A,#0FH
MOV @R0
(2) 在某单元(如20H)存入待分字的某数(如5BH)。
(3) 单步或带断点运行该段程序。
(4) 运行过程中注意检查程序的变化,并在最后检查(21H)= ,
(5) (22H)= 。
2、编程实现字符串长度统计:设在单片机内RAM中从STR单元开始有一字符串《以ASC II码存放》,该字符串以$结束,试统计该字符串的长度,其结果存于LON单元。
(1)输入所编程序
START: CLR A ;计数单元清零
MOV R0,#STR
LOOP: CJNE R0,#24H,NEXT ;判断字符串是否结束
SJMP COMP
NEXT: INT A
INC R0
SJMP LOOP
COMP: MOV LON,A ;将长度存入LON单元
SJMP $
(2)在以STR为首的地址内部RAM单元开始存放待统计长度的数据块(自设),并以#24作为数据块的结束标志。
(3)单步或断点运行所编程序,注意观察每次转移后PC及统计长度单元LON的变化,并做好记录。
(4)验证运行结果。
(5)改变数据块长度,重做。