资源描述
4.将下列二进制数转换为十进制数:
10111101B 110111101B
111011010.101B 11110111101110.111011111B
5.将下列十进制数转换为二进制数,对于小数,可以仅取4位
130 123.47 99
0.6 256 11.11
6.计算下列二进制算式:
10100110B-101B 11011110B+1101B
1110B×1011B 10111010B÷110B
7.将第4题转换为十六进制数。
8.将下列数转换成十六进制和二进制数,对于小数,可以仅取二位十六进制数。
12767 60000 123.143
65535 32767 4096.3
9.计算下列算式,结果仍用十六进制数表示,仅取二位小数。
123H+0EFDH 1010011011B-0FDH
0EAH×0CDH 666÷66H
练习二
一、计算题1:
0DCH OR 65H 0E9H AND 7CH 0BAH EOR 5DH
6DH AND 7EH OR 0ABH EOR 0D6H
6DH AND (7EH OR (0ABH EOR 0D6H))
二、计算题2:
123 AND 10100101B 222 EOR 200
11010110B OR 97 1DH EOR 11111111B
三、应用题1:
某计算机有一个8位并口,读入的数据存在A寄存器中,问:
(1) 判断0、2、6、7位是否全为0,A才变为全0,用什么运算?
(2) 判断1、3、4、5位中是否有任何一位为1,就使得A非0,用什么运算?
四、应用题2:
在Apple计算机中,磁盘存储信息中采用了“4-4编码”,即把一个字节的8 位
D7 D6 D5 D4 D3 D2 D1 D0变成二个编码字节:
1 D7 1 D5 1 D3 1 D1和 1 D6 1 D4 1 D2 1 D0
请给出一种简便方法,将编码后的两两字节还原成原来的一字节(解码)。
五、应用题3:
为了破解一个用异或串连运算加密的加密程序,让一段全为00H字节的程序让其加密,结果形成以8字节为周期的被加密文: 3DH 0E6H 7CH 0ABH 0FH 27H 0EDH 41H 。请利用密文破解以下一段被加密的密文:0FFH 37H 0C2H 66H 00H 0FAH 27H 69H 。
练习三
一、 请在一字节补码表示的带符号数范围中写出以下数值代码:
-96 37 -150 -100
二、 请写出以下补码表示的带符号数表示的数值:
0FDH 0CDH 0FF00H 1234H
三、 在二字节补码表示的带符号范围内计算以下各式结果,并判断结果的正确性:
006CH+00FAH 006CH-00FAH
2E04H-7EDCH 67DCH+1E74H
3C06H-6D9EH 9005H+0EF5EH
四、 应用题:
已知某大学有男、女大学生名额共2000人,如果要在计算机人事档案管理系统中给每一个大学生一个唯一的代码,并用该代码包含性别信息,请问最少要多少二进制位才能构成该代码?
六、正、误判断题:
1、计算机内存中存放的信息是程序代码。
2、计算机程序存储区存放的必都为程序代码。
3、8051程序存储区的开头几个字节必为程序代码。
4、8051数据存储区不能存放程序代码。
5、计算机内存中至少有一部分信息是程序代码。
6、8051程序存储区中存放的是程序代码或常数。
7、程序代码在传送过程中是作为无意义的数据。
8、数据代码与程序代码的区别在于数据代码不能被CPU所识别而程序代码却能。
9、浮点数的用途是表达小数点位置可以变化的小数。
10、浮点数的用途是表达实数。
11、浮点数的精度比多字节整数高。
12、浮点数所能表达的数的范围比同样多字节的多字节整数来得广。
13、定点数中的小数点是用“0”或“1”来代表的。
14、BCD码是十进制数。
15、“二—十进制调整”是将十六进制数转变成十进制数。
16、BCD码将十六进制数作为十进制数看待。
17、BCD码间的算术运算通过“二—十进制调整” 将十六进制运算转换为十进制运算。
18、与美国敌对的国家的计算机中不使用美国发明的ASCII码。
19、ASCII码发明的主要目的是表示字符代码。
20、计算机中的字节代表什么代码由使用该程序的人来解释。
21、同样的一些字节,交由CPU执行时变为指令代码而交由通讯程序时变为数据代码。
22、补码用于表示负数。
23、没有补码就无法表示负数。
24、补码也可以表示正数。
25、最高位为1的补码表示的带符号数必为负数。
26、同样的字节,如0E6H,既可以表示正数,又可以表示负数。
27、带符号数相加、减时结果与被运算数异号表明发生了溢出。
28、不带符号数运算不会产生溢出现象。
29、“溢出”是指运算中产生了进位或借位。
30、二个数相减产生借位,表明这两数互为补数。
一、说明以下芯片的异同点:
8051 ,8031, 8751 ,8052 ,80C51
二、8051/8031芯片内部具有哪些主要结构?
三、8051的引脚分成几种功能?
四、用万用电表5伏直流量程档量正在工作的8031芯片的以下引脚时,写出可能的电压值(或范围):
黑表笔 红表笔 电压值
20 40
20 31
20 39
20 9
五、画出使用8031的最小系统图
七、简单解释以下名词、并说明它们的联系:
晶振时钟、机器周期、指令周期
八、如果采用8MHZ晶振,问执行以下指令需要多少时间?
指令 消耗时间
JMP @A+DPTR
SWAP A
MUL AB
一、举一个例子说明中断的工作方式。8051有哪些中断源?
二、中断子程序入口为什么采用固定的入口?该入口又称为什么?当中断服务子程序存于别处时是否可以在中断时进入该子程序?如何办到?
三、中断子程序的开始与结尾各有什么特殊操作,为什么要这样?
四、主程序中如果在某部分程序中不允许响应中断,那么如何处理?
*七、请按要求设置中断:
用、,分别检测外部事件,设置为:电平触发,低优先级;设置为:跳变沿触发,高优先级。并在设置后开启这两中断。
一、对MCS-51家族器件,0E0H,0FFH作为地址分别可以对应那些存储单元?
二、对MCS-51家族器件, 0F00H和2000H作为地址分别可以对应那些存储单元?
三、8051单片机又外接了一片2764 EPROM芯片。
问:脚接高电平与接低电平时,2764的首个存储单元地址各为多少?
四、在什么条件下,改变R3等效于改变1BH内部RAM单元?
五、 正误判断,并简述判断论点:
1、8051地址的低8位可以访问内部RAM和特殊功能寄存器区。
2、A与ACC的差别是ACC有地址而A却无地址。
3、改变R0等于改变0组工作寄存器区首个存储单元。
4、当RS0=0,RS1=0时,改变03H内部RAM单元等效于改变R3单元。
5、从指令的角度看,8051的程序存储区是“只读”的,即使用RAM器件作程序存储区也一样。
6、位单元与内部RAM的字节单元或SFR映象单元的区别在于其地址不同。
7、8051中的内部RAM字节单元,除了20H~2FH外其余单元均不可以位寻址。
8、不可以位寻址的字节单元是不可以逐位操作的。
9、进入中断子程序,在开头用PUSH PSW 和 SETB RS0 后可以随意使用R0~R7,而不用担心改变主程序的R0~R7。
10、退出中断子程序前,用POP PSW 就可以自动恢复主程序中的所有工作寄存器。
11、对于8051,其外部程序存储区地址从1000H开始,而对于8031,从0000H开始。
12、在P1悬空时,可以将其作为存储单元使用。
13、F0既可以看作B寄存器、B的0位位单元以可以作为PSW中的用户标志0。
14、SFR中凡地址不能被8除尽的寄存器都不能位寻址理因为这些寄存器不允许逐位改变。
15、MCS-51元件将程序存储区与数据存储区分开是为了加密程序。
一、写出以下指令中“源”与“的”的寻址方式:
MOV A,#00H MOV 0,A
MOV 30H,ACC ADD A,30H
SUBB A,B MOV A,R0
MOV @R0,A MOV DPTR,#1234H
MOVC A,@A+PC MOVX @DPTR,A
JNZ LOOP SJMP stsrt
AJMP start LJMP start
CLR A SETB C
INC DPTR PUSH ACC
JMP @A+DPTR CLR 30H
三、在以下程序中,数3FH最终传到了什么单元中?
Mov A,#3FH
Mov R0,A
Mov @R0,A
四、为什么说“立即寻址方式只能用于传送常数”?
六、解释“指令地址”与“指令当前PC值”的区别?二者间的联系?
九、正、误判断,并简述判断论点:
1、LJMP指令从含义上说可视为立即寻址方式,而与SJMP指令对比,又可以说它是绝对寻址方式。
2、相对寻址方式即以该指令地址加上指令字节数作为坐标原点。
3、凡用SFR映象地址进行寻址的均为直接寻址而不是寄存器寻址方式。
4、用工作寄存器R0~R7寻址的其实就是直接寻址方式。
5、间变址寻址是将寄存器内容作为单元地址。(JMP @A+DPTR 除外)
6、二字节地址寻址的,如A,@DPTR均不能寻址内部RAM。
7、一字节地址寻址的,如A,@R0均不能寻址外部RAM。
8、在指令中只有R0、R1可以用作间址寄存器。
9、只有R0、R1的间址才能访问8052的80H~0FFH的内部RAM。
10、MOV A,@R0 当(R0)=40H时,该指令执行的效果等于MOV A,40H。
11、MOV @R0,A 当R0内容为HEX(HEX代表任一个单字节数)时,该指令执行的效果等于MOV HEX,A。
12、PC的值决定了在CPU内正要执行的指令的地址。
13、PC值永远指向下一条待执行指令的首地址上。
14、间变址寻址中,变址寄存器A中存的是单字节带符号数。
15、用同一条指令取到不同的数可以用直接寻址方式,而要取到不同单元中的数却要用到R间址方式。
一、按要求写出指令:
1、 将数7FH传给由R1寻址的内部RAM单元中。
2、 交换A和B内容。
3、 将R2内容传给B。
4、 将4CH单元的内容与5CH单元的内容交换。
5、 将数6CH传给外部RAM的2C63H单元。
6、 将外部RAM的2000H单元内容传给R0所指的内部RAM单元中。
二、写出执行以下程序后A,B的值:
1、 Mov A,#3CH
Mov B,#4CH
Mov R0,B
XCH A,@R0
XCH A,B
Mov A,@R0
2、 MOV DPTR,#2000H
MOV 20H,#3CH
MOV R1,#20H
MOV A,20H
MOVX @DPTR,A
CXH A,R1
MOVX A,@DPTR
XCH A,B
一、按要求写出指令:
1、 将A中的数减去B中的数,结果存入A中。
2、 将B中的数减去A中的数,结果存入A中。
3、 用加法指令完成将R0所指单元中的数乘2。
4、 将B中的数乘以A中的数。
5、 将B中的数除以A中的数。
6、 将R1所指单元内容增1。
二 、写出以下程序执行后A、C、OV、的值:
1、 MOV A,#7FH
ADD A,#9CH
2、 SETB C
MOV A,#80H
SUBB A,#80H、、、
3、 MOV A,#40H
MOV B,#10H
DIV AB
4、 MOV A,#0C0H
MOV B,A
MUL AB
5、 MOV A,#0FFH
MOV B,A
INC A
DEC B
ADD A,B
一、按要求写出指令:
1、 R1或上R2。
2、 R1与上R0所指单元。
3、 用移位指令实现将R0所指单元乘2。
4、 用移位指令实现将R2R3除以2。
5、 取R5的补数,仍存于R5中。
6、 取反由A所指的内部RAM单元。
7、 A异或上R1R0所指的外部RAM单元。
二、写出以下程序执行后A中的值:
1、 MOV B,#3EH
MOV A,#0A5H
CPL A
XRL A,B
2、 CLR C
MOV A,#75H
RRC A
RR A
3、 ORL A,#5AH
RL A
ANL A,#94H
二、按要求写出小程序:
1、 比较B与数7FH,不相等时转到LNT。
2、 将R0所指的20个单元清0,R0指在最低地址单元上。
3、 将A异或上B,并且如果A低半字节为0,则转移到L0,否则转到L1。
4、 利用堆栈将A、B值传给R2、R3。
5、 按R0所指的单元中的第6位(从0算起)如果为1,则转到LK。
*6、利用RET指令跳转到1234H。
三、正、误判断,并简述判断论点:
1、用MOV SP,#40H 指令后,即将堆栈起始单元地址定为40H。
2、PUSH Acc后,SP内容为存放Acc值的栈地址。
3、POP Acc后,SP内容为存入Acc值的栈地址。
4、CJNE M1,M2,Lable执行后M1,M2都不改变,只是将C按M1-M2是否产生借位而取值,且当M1M2时转到Lable处。
5、JZ是按运算结果为0时转移。
6、Ajmp是在该指令所在区域转移指令。
7、JMP及CALL类指令的“当前PC值”仍然是下一条指令的首地址。
8、CALL类指令所作的操作是将转移目的地址传送给PC。
9、RET及RETI执行后之所以会返回主程序CALL指令或中断处的下一条指令执行,是因为CALL指令或中断操作执行时将“当前PC值”入栈。
10、由CALL类指令入栈的高8位地址先入栈,位于低地址,低8位地址后入栈,位于高地址。
11、每做一次堆栈操作后,堆栈指针SP就会自动加1。
*12、在子程序的RET之前用了1条POP指令,将产生严重的运行混乱。(子程序中没有PUSH指令,并除了末条POP外也没有改变SP指针)。
*13、监控系统初始化子程序中用MOV SP,# 指令设置堆栈是不允许的。
*14、堆栈指针SP设置为00是不适宜的。
*15、在子程序中不想回到原主程序去而直接跳向某程序可以用二条POP指令之后用LJMP实现。
*16、子程序可以被多个主程序在不同处调用,因此子程序自身无法了解是哪个主程序调用了它。
*17、只有相对转移而没有绝对转移指令的程序指令码可以移到别的地址处执行。
1、单片机应用程序一般存放在( )。
A、RAM B、ROM C、寄存器 D、CPU
2.在单片机中,通常将一些中间计算结果放在( )中
A、累加器 B、控制器 C、程序存储器 D、数据存储器
3.89C51单片机有片内ROM容量( )。
A 4KB B. 8KB C. 128B D. 256B
4、CPU主要的组成部部分为( ) 。
A、运算器、控制器 B、加法器、寄存器
C、运算器、寄存器 D、运算器、指令译码器
5.INTEL 8051 CPU是( )位的单片机 。
A、16 B、4 C、8 D、准16
6.CPU由__________和控制器构成。
1、PC存放_______________,具有___________特性。在8051中决定程序执行顺序的是PC还是DPTR?它是______位?(是,不是)SFR?
2、PSW用于存放_______________,在8051中PSW是_______ 位,当8051执行94H+4BH后,PSW的CY、AC、OV、P的值是多少?
3、什么是堆栈?8051的堆栈设在何处?哪个寄存器是堆栈指针?堆栈存取数据的原则是什么?
4.单片机的堆栈指针SP始终是( )。
A、指示堆栈底 B、指示堆栈顶 C、指示堆栈地址 D、指示堆栈长度
5、进位标志CY在( )中 。
A、累加器 B、算逻运算部件ALU C、程序状态字寄存PSW D、DPTR
6、 8031单片机中的SP和PC分别是( )的寄存器。
A.8位和8位 B.16位和16位 C.8位和16位 D.16位和8位
7、DPTR是什么寄存器?它的作用是什么?它由哪几个特殊功能寄存器组成?
1、8051单片机的内部RAM可以分为几个不同的区域?各区的地址范围及其特点?
2.为了使10H—17H作为工作寄存器使用,应该采用什么办法实现?写出相关指令。CPU复位后,R0---R7的单元地址是多少?
3、8051的位寻址区在哪里?位寻址空间是多少?
4.MCS-51中有4组工作寄存器,它们的地址范围是 。
5.MCS-51单片机的堆栈区应建立在( )。
A. 片内数据存储区的低128字节单元 B. 片内数据存储区
C.片内数据存储区的高128字节单元 D.程序存储区
6.8031单片机中既可位寻址又可字节寻址的单元是( )。
A、20H B、30H C、00H D、70H
1、8051单片机对外有几条专用控制线?其功能是什么?
2、8051的片内ROM容量为_____,最大外扩ROM容量为___________,8051
访问片外ROM时,读选通信号由______引脚送出,地址码由 ___________
__ 送出,数据由__________ 送出。8051的EA应接__ 电平。
3、8051可以外扩的RAM容量为___________,8051访问片外RAM时,读选
通信号由______引脚送出,写选通信号由______引脚送出,8051中___ _____寄存器存放片外RAM单元的地址。
4. 8031单片机的( )口的引脚,还具有外中断、串行通信等第二功能。
A.P0 B.P1 C.P2 D.P3
5、当MCS-51引脚ALE信号有效时,表示从P0口稳定地送出了 地址信号。
6.对于INTEL 8031来说,EA脚总是( )。
A、接地 B、接电源 C、悬空 D、不用
一、选择题
1、在8051单片机中,PC存放的是( )。
a)正在执行的这条指令的地址 b)将要执行的下一条指令的地址
c)正在执行的这条指令的操作码 d)对已经执行过的指令条数进行计数
2、为了使10H—17H作工作寄存器使用RS1, RS0的取值为( )。
a ) 0 ,0 b) 0 ,1 c) 1, 0 d) 1, 1
3.下述哪条引脚为输入脚( )。
a) RST b) ALE c) RD d) PSEN
4、在8051单片机中,SP存放的是( )。
a)堆栈栈底的地址 b)堆栈栈顶的地址 c)堆栈栈底的内容 d)堆栈栈底的内容
5.数据指针DPTR在( )中 。
A、CPU控制器 B、CPU运算器 C、外部程序存储器 D、外部数据存储器
6.单片机上电后或复位后,工作寄存器R0是在( )。
A、0区00H单元 B、0区01H单元 C、0区09H单元 D、SFR
7、8051的内部RAM中,可以进行位寻址的地址空间为( )。
A、00H∽2FH B、20H∽2FH C 、00H∽FFH D、20H∽FFH
8、在堆栈操作中,当进栈数据全部弹出后,这时S P应指向( )。
A、栈底单元 B、7FH单元 C 、栈底单元地址加1 D、栈底单元地址减1
9、关于指针DPTR,下列说法正确的是( )。
A.DPTR是一个8位寄存器 B.DPTR不可寻址
C.DPTR是由DPH和DPL两个8位寄存器组成的 D.DPTR的地址83H
10.8051的程序计数器P C为16位计数器,其寻址范围是( 。)
A、8K B、16 K C 、32 K D、64 K
11.8031单片机在片外扩展程序存储器,当取程序存储器的内容时,要用单片机的( )信号。
A. RD B. PSEN C.ALE D WR
二、填空题
1.若不使用MCS-51片内的存储器,EA引脚必须接 。
2.MCS-51中21个特殊功能寄存器,其地址凡是能被8整除的都有 寻址功能。
3.MCS-51系统中,当信号 有效时,表示CPU要从 程序存储器中读取信息。
4.当使用8751且EA=1时访问的是片 ROM。
5.MCS-51片内20H~2FH范围内的数据存储器,既可以 寻址又可以 寻址。
6、微处理器就是集成在一片大规模集成电路的________________和_______________。
7.______________用来存放下一条要执行的指令的地址。
8、MCS-51的堆栈只可设置在 ,其最大容量为 ,堆栈寄存器SP是 位寄存器。
三、简答题
1.决定程序执行顺序的寄存器是哪个?它是几位的?它是不是特殊功能寄存器?
2.什么叫堆栈?堆栈指示器SP的作用是什么?8051单片机堆栈的最大容量不能超过多少字节?
3.MCS51单片机的寻址范围是多少?8051单片机可以配置的存储器的最多容量是多少?
4.8051内部RAM有几组工作寄存器?每组工作寄存器有几个工作寄存器?寄存器组的选择由什么决定?
1、 8051 的引脚RST是____(IN脚还是OUT脚),当其端出现____电平时,8051进入复位状态;复位后PC=_____。8051一直维持这个值,直到RST脚收到____电平,8051才脱离复位状态,进入程序运行状态。
2、 MCS—51单片机的CPU每取一个指令字节,立即使( )。
A.堆栈指针SP自动加1 B.数据指针DPTR自动加1
C.程序计数器PC自动加1 D.累加器A自动加1
3.MCS51单片机的主程序应该从哪个单元开始存放?为什么?
4、单片机上电后或复位后,工作寄存器R2是在( )。
A、0区01H单元 B、0区02H单元 C、0区0BH单元 D、SFR
5.8031复位后,PC与SP的值为( )。
A、0000H,00H B、0000H,07H
C、0003H,07H寄存器 D、0800H,00H
当采用奇校验时,ASCII码1000100和1000110的校验位D7应为何值?这2个代码所代表的字符是什么?
展开阅读全文