40题征服单片机考试.docx
- 文档编号:9573599
- 上传时间:2023-02-05
- 格式:DOCX
- 页数:23
- 大小:813.99KB
40题征服单片机考试.docx
《40题征服单片机考试.docx》由会员分享,可在线阅读,更多相关《40题征服单片机考试.docx(23页珍藏版)》请在冰豆网上搜索。
40题征服单片机考试
40题征服单片机考试
第一章(选择题)
1、何谓奇偶校验它有什么用途请说明其具体方法。
2、
答:
①奇偶校验是根据被传输的一组二进制代码的数位中“1”的个数是奇数或偶数来进行校验;②它能判断传输数据的正确性;③具体方法是:
通常专门设置一个奇偶校验位,用它使这组代码中“1”的个数为奇数或偶数。
若用奇校验,则当接收端收到这组代码时,校验“1”的个数是否为奇数,从而确定传输代码的正确性。
3、何谓堆栈为什么要设置堆栈栈区是怎样确定的数据进栈、出栈按照何种规律进栈用什么指令出栈用什么指令进栈、出栈时栈针将怎样变化通常栈底所指是什么内容栈顶所指又是什么内容
答:
①堆栈是RAM中的一个特殊的区域,是一组按照“先进后出”的方式工作的,用于暂存信息的存储单元;②设置堆栈的目的是保存断点地址和现场信息;③通过对数据指针SP赋值来确定栈区;④数据进栈、出栈按照“先进后出”的规律;⑤进栈用PUSH指令,出栈用POP指令;⑥进栈时(SP)←(SP)+1,出栈时(SP)←(SP)-1;⑦栈底所指为最先推入堆栈的内容,栈顶所指为最后推入堆栈的内容。
4、为什么要采用总线结构芯片为什么要通过缓冲器才能挂在总线上
5、
答:
总线,是在微型计算机各芯片之间或芯片内部各部件之间传输信息的一组公共通信线。
①因为采用总线结构,可以减少机器中信息传送线的根数,从而提高机器的可靠性;可以方便地对存储器芯片及I/O接口芯片进行扩展。
②总线是由诸多挂在总线上的器件共享的,设缓冲器是为了控制芯片向总线发送信息的时间,保证可靠读写。
或②挂在总线上的芯片不能同时发送信息,否则多个信息同时出现在总线上将发生冲突而造成出错。
故如果有几块芯片需要输出信息,就必须分时传送。
为了实现这个要求,挂在总线上的各芯片必须通过缓冲器与总线相连。
扩展:
总线的特点是串行发送,并行接收;
三总线结构:
数据总线DB:
传送数据信息
地址总线AB:
传送地址信息
控制总线CB:
传送控制命令
6、CPU与外围设备间传送数据有哪几种方式?
试根据每种方式的特征,分析其适用的场合。
答:
①无条件传送方式、查询传送方式、直接数据通道传送方式、中断传送方式;②无条件传送方式适用于接口电路与外设之间只传送数据信息的场合;查询传送方式适用于需交换数据、状态、控制三种信息,不需处理掉电、设备故障等突发事件的场合;直接数据通道传送方式适用于不通过CPU,数据可以在高速的外设与内存之间直接进行批量传送的场合;中断传送方式适用于需传送数据、实时控制、故障自动处理、实现人机联系等的场合。
7、讲清中断的概念、用途和优越性。
说明CPU响应中断的条件。
答:
①中断是指当机器正在执行程序的过程中,一旦遇到异常情况或特殊请求时,就暂时停止正在执行的程序,而转入必要的处理,并且在处理完毕后,立即回到原来被停止程序的间断处继续执行;②中断的用途:
传送数据、实时控制、故障自动处理、实现人机联系等;③中断的优越性:
提高了CPU工作效率并且使其可以同时为多个外设服务;实现实时控制;可以处理设备故障、掉电等突发事件;④CPU响应中断的条件:
接口电路和CPU处在允许中断状态。
8、何谓中断优先权它是怎样规定的讲清中断嵌套的概念。
9、
答:
多个中断源同时申请中断时,CPU先响应优先权高的;可以中断嵌套,即若有级别高的中断请求则CPU暂时中断已在进行的级别低的中断服务程序,响应高级别中断请求执行完后再返回原低级别中断服务程序继续执行;同或低级中断请求,CPU要在处理的中断服务程序执行完毕返回主程序,并执行了主程序一条指令后才接着响应。
10、下列程序存放在64K×8位的EPROM中:
000FH7408MOVA,#08H
0011H75F076MOVB,#76H
0014H25E0ADDA,A
0016H25F0ADDA,B
0018H022000LJMP2000H
试分析该程序,并回答以下问题:
1)如该段程序自000FH单元开始存放,请在程序段中写明每条指令的首址。
2)该程序段共占用内存多少单元?
3)在执行指令ADDA,A时,程序计数器PC的内容是什么?
4)执行完指令ADDA,B后,累加器A、寄存器B及程序计数器PC的内容各是什么?
5)在CPU取回指令LJMP2000H并执行该指令时,(PC)=;该指令执行后,(PC)=。
6)
答:
⑴见程序段;⑵12个单元;⑶0016H;⑷(A)=86H,(B)=76H,(PC)=0018H;⑸(PC)=001BH;(PC)=2000H
11、有程序段如下,试画出堆栈图,在图上注明各有关单元的内容。
MOVSP,#0E0H
MOVA,#24H
MOVB,#0F1H
PUSHA
PUSHB
12、某存储器芯片有12根地址线、8根数据线,请回答:
1)该芯片有多少个存储单元?
2)每个存储单元存放多少位二进制数?
3)用十六进制数写出它的首地址和末地址。
答:
⑴4K个存储单元(2^12=4K);⑵8位(存储容量=字数×字长(位数));⑶首地址为000H,末地址为FFFH
10、某存储器芯片的存储容量为16K×8位,它应有几根地址线若其首址为1000H,则末址是多少
答:
⑴14根地址线(16K=2^14)⑵4FFFH(16K=4000H=16384D)
11、用8位二进制数写出下列各数的原码、反码和补码。
1)+212)-213)+1204)-120
答:
(1)[+21]原=00010101B,[+21]反=00010101B,[+21]补=00010101B
(2)[-21]原=10010101B,[-21]反=11101010B,[-21]补=11101011B
(3)[+120]原=01111000B,[+120]反=01111000B,[+120]补=01111000B
(4)[-120]原=11111000B,[-120]反=10000111B,[-120]补=10001000B
扩展:
原码正数原码与原值同;负数原码符号位置1,数值位不变。
例[46]原=00101110B
[-46]原=10101110B
8位二进制原码表示的数的范围:
-127—+127
反码正数的反码与原码相同;负数的反码由其绝对值按位求反后得到。
例:
[46]反=00101110B
[-46]反=11010001B
8位二进制反码表示的数的范围:
-127—+127
补码正数补码与原码同;负数的补码为其反码加1
8位二进制补码表示的数的范围:
-128—+127
对负数补码求反后加1,回复为该数的绝对值。
[+0]补=[-0]补=00000000B
A-B=A+[-B]补
12、求出下列算式的值:
1)(100100.1)2+(110110.1000)BCD+(36.8)16+(36.4)8
2)(01010010)2+(01010010)BCD+48+(48)16
3)00111100B+(10010110)BCD+24+24H
4)111011.1B-(100010.0101)BCD-19.8H+75.1Q
5)00100110B+00100110BCD+74H+74
以上1)、2)、3)题答案以十进制数表示,4)题答案以二进制数表示,5)题答案以十六进制数表示。
答:
⑴[2^5+2^2+2^(-1)]+[36.8]+[3×16+6×16^0+8×16^(-1)]+[3×8+6×8^0+4×8^(-1)]=36.5+36.8+54.5+30.5=158.3
(2)82+52+48+72=254
⑶60+96+24+36=216
⑷
⑸
扩展:
1、微型计算机结构:
微处理器、存储器、输入/输出接口电路、总线
2、典型8位微处理器结构:
运算器、控制器、工作寄存器组
3、1KB容量即2^10=1024个存储单元,地址用二进制数表示,地址的二进制位数N与存储容量Q的关系是:
Q=2^N。
如:
二进制位数8,存储容量2^8=256字节;二进制位数16,存储容量2^16=64K字节。
4、标志寄存器又称为状态寄存器,用来存放ALU运算结果的一些特征,如溢出(OV)、进位(C)、辅助进位(AC)、奇偶(P)、结果为零(Z)等。
5、程序计数器PC的功能:
复位、计数、直接置位
6、工作寄存器功能:
提高计算机工作速度,简化指令的机器代码
7、堆栈操作方式
进栈PUSHX;(SP)←(SP)+1
((SP))←(X)
出栈POPX;(X)←((SP))
(SP)←(SP)-1
SP是一个8位地址寄存器,(SP)表示一个地址单元,((SP))表示某个地址单元中的内容
8、输入输出接口电路的功能:
锁存(数据)作用;变换作用:
信息转换、电平转换;缓冲;地址译码;
联络作用。
9、计算机与外围设备间传送的信息:
数据信息、状态信息、控制信息。
10、I/O电路的端口编址方法:
存储器单元与接口电路端口统一编址(MCS-51采用此编址方法
);存储器单元与接口电路端口分别编址
11、外设向CPU发出中断请求信号的条件:
A、外设本身的工作已完成。
B、计算机系统允许该外设发中断请求信号
12、通常、单片机上电复位时PC=0000H,SP=07H;而工作寄存器则缺省采用第00组,这组寄存器的地址范围是从00H~07H。
第2章
13、何谓时钟周期、机器周期、指令周期针对MCS-51系列单片机,如采用12MHz晶振,它们的频率和周期各是什么值
答:
⑴时钟周期是单片机的基本时间单位;完成一个基本操作所需要的时间称为机器周期;指令时间是执行一条指令所需要的时间;⑵如采用12MHz晶振,时钟频率为12MHz,时钟周期为1/12us,机器周期为1us,单周期指令的
指令周期为1us,双周期指令的指令周期为2us,乘除指令的指令周期为4us。
14、EA引脚的作用是什么在下列情况下,EA引脚各应接何种电平
⑴只有片内ROM答:
EA是片外程序存储器选用端,低电平有效;⑴EA=1
⑵只有片外ROM⑵EA=0
⑶有片内ROM和片外ROM⑶EA=1
⑷有片内ROM和片外ROM,片外ROM所存为调试程序⑷EA=0
15、定时器/计数器0如用于下列定时,晶振为12MHz,试为定时器/计数器0编制初始化程序:
⑴50ms⑵25ms
答:
⑴START:
MOVTMOD,#01H⑵START:
MOVTMOD,#01H
MOVTH0,#3CHMOVTH0,#9EH
MOVTL0,#0B0HMOVTL0,#58H
SETBTR0SETBTR0
16、综述P0、P1、P2、P3口各有哪几种功能。
答:
P0口可作为通用I/O接口或地址/数据分时复用总线;P1口仅作为通用I/O接口;P2口可作为通用I/O接口或高8位地址总线;P3口可作为通用I/O接口,还具有第二功能;
17、在串行异步通信时,要传送8位数据3BH,另采用偶校验位1位,请写出该帧信息的二进制代码。
答:
因有偶校验位1位,加上后成为100111011B,因传送时按低位到高位的次序,故数据位的排列为110111001,再加上起始位0、停止位1。
得出该帧信息的二进制代码为01101110011。
18、如异步通信,每个字符由11位组成,串行口每秒传送250个字符,问波特率为多少?
答:
波特率为11位/字符×250字符/s=2750位/s
19、某单片机系统用于定时测试压力、温度,并用定/计0实现定时。
如压力超限和温度超限的报警信号分别由INT0、INT1输入,中断优先权排列顺序依次为压力超限→温度超限→定时检测,试确定专用寄存器IE和IP的内容。
答:
IE的内容为87H(EA=1,EX1=1,ET0=1,EX0=1,其余0),IP的内容为05H(PX1=1,PX0=1,其余0)。
20、上题如压力超限和温度超限的报警信号改由INT1、INT0分别输入、其他不作改变,问IE和IP的内容将作何种改变?
答:
IE的内容为87H(EA=1,EX1=1,ET0=1,EX0=1,其余0),IP的内容为04H(PX1=1,其余0)。
扩展:
1、复位后(SP)=07H,从08H单元开始堆放信息
2、当由输出方式改变为输入方式时,该位的锁存器必须写入“1”,即
MOVP1,#0FFH;FF前需加0
MOVA,P1
8051所有口锁存器复位时均置“1”,可直接用于输入。
3、
TMOD寄存器
4、例:
设计一发送程序,将50H—5FH的数据块从串行口输出,现将串行口定义为工作方式2发送,TB8作奇偶校验位,在数据写入发送缓冲器前,先将数据的奇偶位写入TB8。
TRT:
MOVSCON,#80H
MOVPCON,#80H
MOVR0,#50H;
MOVR7,#10H
LOOP:
MOVA,@R0
MOVC,P
MOVTB8,C
MOVSBUF,A
WAIT:
JBCTI,CONT
SJMPWAIT
CONT:
INCR0
DJNZR7,LOOP
RET
5、外部中断的两种触发方式:
电平触发(ITx=0)、跳变触发(ITx=1)
6、同级中断优先权排列顺序为:
外部中断0、定/计0中断、外部中断1、定/计1中断、串行接口中断、定/计2中断
7、中断服务程序的最后一条指令必须是RETI;每种子程序的最后一条指令必然是RET。
第3章
21、要访问片内RAM,有哪几种寻址方式?
答:
直接寻址、寄存器间接寻址
22、要访问片外RAM,有哪几种寻址方式?
答:
只有寄存器间接寻址
23、要访问ROM,又有哪几种寻址方式?
答:
立即寻址、基址寄存器加变址寄存器间接寻址、相对寻址、直接寻址
24、设片内RAM30H单元的内容为40H;
片内RAM40H单元的内容为10H;
片内RAM10H单元的内容为00H;
(P1)=0CAH。
请写出下列各指令的机器码与执行下列指令后的结果(指各有关寄存器、RAM单元与端口的内容)。
机器码执行结果
MOVR0,#30H78H30HR0内容为30H
MOVA,@R0E6HA内容为40H
MOVR1,AF9HR1内容为40H
MOVB,@R187HF0HB内容为10H
MOV@R0,P1A6H90H片内RAM(30H)=0CAH
MOVP3,P185H90HB0H(P3)=0CAH
MOV10H,#20H75H10H20H片内RAM(10H)=20H
MOV30H,10H85H10H30H片内RAM(30H)=20H
答:
依次执行上述各指令后的结果为:
R0内容为30H,R1内容为40H;A内容为40H,B内容为10H;P1端口内容仍为0CAH,P3端口内容仍为0CAH;片内RAM(30H)=20H,(40H)=10H(10H)=20H。
25、已知:
(A)=02H,(R1)=7FH,(DPTR)=2FFCH,片内RAM(7FH)=70H,片外RAM(2FFEH)=11H,ROM(2FFEH)=64H,试分别写出下列指令的机器码及执行各条指令的结果。
机器码执行结果
⑴MOVA,@R1E7HA的内容为70H
⑵MOVX@DPTR,AF0H片外RAM(2FFCH)=02H
⑶MOVCA,@A+DPTR93HA的内容为64H
⑷XCHDA,@R1D7H(A)=00H,(7FH)=72H
26、经过汇编后,下列各条语句的标号将是什么数值?
ORG2000H
TABLE:
DS10
WORD:
DB15,20,25,30
FANG:
EQU1000H
BEGIN:
MOVA,R0
答:
TABLE标号的真实地址是2000H;WORD标号的真实地址是200AH;FANG标号的真实地址是1000H;由于EQU指令并不占用内存单元,所以BEGIN标号的真实地址将依次为200EH。
27、如下图所示,某压力测试的线性处理程序如下,如A/D转换器的输出为02H,问执行程序后(A)=?
MOVP1,#0FFH
MOVA,P1
MOVCA,@A+PC
TAB:
DB00H
DB00H
DB01H
DB02H
……
DBFEH
END
答:
(A)=01H?
28、试编程:
有两双字节压缩的BCD码数相加,设该两待加数分别按先低后高原则存放在30H、31H和40H、41H单元,和要求放回30H、31H单元。
答:
ORG00H
LJMPSTAR
ORG30H
STAR:
MOVA,30H
ADDCA,40H
DAA
MOV30H,A
MOVA,31H
ADDCA,41H
DAA
MOV31H,A
SJMP$
END
29、试编程:
将片内RAM50H、51H单元两个无符号数中较小的数存于60H单元。
答:
MOVA,50H
SUBBA,51H
JCLESS
MOV60H,51H
SJMPELSE
LESS:
MOV60H,50H
ELSE:
30、试编程:
将片内RAM60H~69H单元中的10个数相加,和的低8位存入7EH,高8位存入7FH。
答:
MOV7FH,#00H
MOVR1,#09H
MOVR0,#60H
MOVA,@R0
INCR0
LOOP:
ADDA,@R0
JNCLP1
INC7FH
LP1:
INCR0
DJNZR1,LOOP
MOV7EH,A
DONE:
↙
31、试编程:
统计从片内RAM60H单元起所存60个数中“0”的个数,并存入工作寄存器R7。
答:
MOVR7,#00H
MOVR1,#60
MOVR0,60H
LOOP:
MOVA,@R0
JNZAN0
INCR7
AN0:
INCR0
DJNCR1,LOOP
DONE:
↙
32、试编程:
将ROM中自2000H单元起的100个数,按序移至片外RAM自2080H单元起的内存区间去。
答:
MOVDPTR,#2000H
MOVR1,#64H
MOVR2,#0
LOOP:
MOVA,R2
MOVCA,@A+DPTR
MOVR3,A
MOVA,#80H
ADDA,R2
MOVDPL,A
MOVA,R3
MOVX@DPTR,A
INCR2
MOVDPL,#0
DJNZR1,LOOP
DONE:
↙
33、设晶振为12MHz,请详细剖析(包括计算)下列程序段的性质和用途:
0B07963DELAY:
MOVR1,#63H;1
0B200DL1:
NOP;1
0B300NOP;1
0B4D9FCDJNZR1,DL1;2
0B622RET;2
答:
上述程序段实现延时功能,整个程序段耗用的时间为1+(1+1+2)×99+2=399个机器周期,当晶振为12MHz时,1机器周期=1us,故执行这段程序耗时399us。
34、设晶振为12MHz,请编写二段子程序,分别用指令延时法和定时器实现30ms延时。
答:
⑴指令延时法DELAY30MS:
MOVR1,#64H;1;1+[1+(1+2)×99+2]×100+2=30.003ms
DL2:
MOVR2,#63H;1
DL1:
NOP;1
DJNZR2,DL1;2
DJNZR1,DL2;2
RET;2
⑵定时器法MOVTMOD,#01H;设工作方式1
MOVTH0,#08AH;定时30ms
MOVTL0,#0D0H
SETBTR0;启动T0定时器
35、阅读下列程序,
⑴说明该程序的功能。
⑵填出所缺的机器码。
⑶试修改程序,使片内RAM的内容达到右下图所示的结果。
7A_MOVR2,#0AH
__MOVR0,#50H
E4CLRA
E6LOOP:
MOV@R0,A
08INCR0
DA__DJNZR2,LOOP
DONE:
↙
答:
⑴将片内RAM自50H单元起的10个单元清零
⑶在MOV@R0,A指令后添一条INCA指令
扩展:
1、汇编语言中可以使用伪指令,它们不是真正的指令,只是用来对汇编过程进行某种控制。
2、MOVCA,@A+DPTR执行的操作:
(A)←((A)+(DPTR))
MOVCA,@A+PC执行的操作:
(PC)←(PC)+1,(A)←((A)+(PC))
如:
假定累加器A的内容30H,执行指令:
1000H:
MOVCA,@A+PC
后,把程序存储器1031H单元的内容送累加器A中。
3、指令的跳转范围:
AJMP-2KB、LJMP-64KB、SJMP--128~+127B、JMP-64KB
4、阅读下列程序段并回答问题。
1)、该程序执行何种操作2)、已知初值(60H)=23H,(61H)=61H,运行程序后(62H)=(7分)
CLRC
MOVA,#9AH
SUBBA,60H
ADDA,61H
DAA
MOV62H,A
答:
1)、该程序是单字节BCD码运算,是将(61H)—(60H)→62H
2)、(62H)=38H
5、编写一程序将片外数据存储器中7000H~70FFH单元全部清零。
(8分)
ORG1000H
MOVDPTR,#7000H
CLRA
MOVR0,A
LOOP:
MOVX@DPTR,A
DJNZR0,LOOP
SJMP$
6、
7、
8、
9、进栈出栈指令PUSHdirect;(SP)←(SP)+1
((SP))←(direct)
POPdirect;(direct)←((SP))
(SP)←(SP)-1
10、加法指令将影响标志位C、AC、OV
最高位有进位,(
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 40 征服 单片机 考试