微机原理及应用复习资料1一.填空题1.MCS-51的堆栈只可设置在RAM内部,堆栈寄存器sp是8位寄存器。2.MCS-51单片机的P0~P4都是并行I/O口,其中的P0口和P2口除了可以进行数据的输入、输出外,通常还用来构建系统的数据总线和地址总线,在P0~P4口中,P0为真正的双相口,P1\P2\P3为准双向口;P3口具有第二引脚功能。3.CPU与内存或I/O接口相连的系统总线通常由__地址总线___、__数据总线____、_控制总线__等三种信号组成。4.当程序状态字PSW的RS0=1,RS1=0时,当前寄存器组选择的是第__1_组寄存器组。5.AT89C51单片机有__5__个中断源,___2___级中断优先级别。6.MCS-51单片机复位后,栈指针寄存器SP及程序计数器PC的值分别为__07H__和__00H_。7.串行通信有_同步_通信和异步通信两种通信方式。8.51单片机指令按照空间属性分类(指令字节大小)可以分为_一字节指令、二字节指令、和三字节指令三类。9.外部中断1的中断入口地址为_0013H__。10.8051内部有_4个并行口,_P0口直接作输出口时,必须外接上拉电阻。11.DAC0832芯片的转换精度是多少_8_位。12.P2口通常用作_高8位地址线_,也可以作通用的I/O口使用。13.若由程序设定RS1、RS0=01,则工作寄存器R0~R7的直接地址08~0FH。14.8051的堆栈区一般开辟在_用户RAM区_。15.异步串行数据通讯的帧格式由起始位、数据位、奇偶校验位和停止位组成。16.定时器0的中断号为___1___。17.定时器/计数器的工作方式3是指得将T0拆成两个独立的8位计数器。而另一个定时器/计数器此时通常只可作为串行口的波特率发生器使用。18.如果51单片机的晶振为6MHz,则机器周期为2us。19.MCS89C51单片机的最大寻址空间是64K,该空间的地址范围为0000H~FFFFH,系统上电及复位的程序入口地址为0000H。二.选择题1.CPU主要的组成部部分为(A)a)运算器、控制器b)加法器、寄存器c)运算器、寄存器d)运算器、指令译码器2.INTEL8051CPU是(C)位的单片机a)16b)4c)8d)准163.8031复位后,PC与SP的值为(B)a)0000H,00Hb)0000H,07Hc)0003H,07Hd)0800H,00H4.8031单片机的(D)口的引脚,还具有外中断、串行通信等第二功能。A.P0B.P1C.P2D.P35.51单片机的定时器2的中断号为(C)A、1B、2C、3D、4微机原理及应用复习资料26.51单片机的定时器1工作在方式0时候,计数器是多少位?(A)。A.13B.16C.8D.157.CPU主要的组成部部分为(A)A.运算器、控制器B.加法器、寄存器C.运算器、寄存器D.运算器、指令译码器8.PSW=18H时,则当前工作寄存器是(D)A.0组B.1组C.2组D.3组9.控制串行口工作方式的寄存器是(C)A.TCONB.PCONC.SCOND.TMOD三.判断题1.MCS-51系列单片机直接读端口和读端口锁存器的结果永远是相同的。F2.是读端口还是读锁存器是用指令来区别的。T3.在89C51的片内RAM区中,位地址和部分字节地址是冲突的。F4.中断的矢量地址位于RAM区中。F5.工作寄存器区不允许做普通的RAM单元来使用。F6.工作寄存器组是通过置位PSW中的RS0和RS1来切换的。T7.特殊功能寄存器可以当作普通的RAM单元来使用。F8.访问128个位地址用位寻址方式,访问低128字节单元用直接或间接寻址方式。T9.堆栈指针SP的内容可指向片内00H~7FH的任何RAM单元,系统复位后,SP初始化为00H。F10.数据指针DPTR是一个16位的特殊功能寄存器寄存器。T11.DPTR只能当作一个16位的特殊功能寄存器来使用。F12.程序计数器PC是一个可以寻址的特殊功能寄存器。F13.在89C51中,当CPU访问片内、外ROM区时用MOVC指令,访问片外RAM区时用MOVX指令,访问片内RAM区时用MOV指令。T14.单片机89C51复位后,其PC指针初始化为0000H,使单片机从该地址单元开始执行程序。T15.单片机系统上电后,其内部RAM的值是不确定的。T16.在51系列单片机中,中断服务程序从矢量地址开始执行,一直到返回指令RETI为止。T17.在执行子程序调用或执行中断服务程序时都将产生压栈的动作。T18.定时/计数器工作于定时方式时,是通过89C51片内振荡器输出经12分频后的脉冲进行计数,直至溢出为止。T19.定时/计数器工作于计数方式时,是通过89C51的P3.4和P3.5对外部脉冲进行计数,当遇到脉冲下降沿时计数一次。T20.定时/计数器在工作时需要消耗CPU的时间。F21.定时/计数器的工作模式寄存器TMOD可以进行位寻址。F22.定时/计数器在使用前和溢出后,必须对其赋初值才能正常工作。F23.在51系列单片机的指令中,既有带借位的减法指令,又有不带借位的减法指令。F24.单片机89C51的定时/计数器是否工作可以通过外部中断进行控制。T25.并行通信的优点是传送速度高,缺点是所需传送线较多,远距离通信不方便。T26.串行通信的优点是只需一对传送线,成本低,适于远距离通信,缺点是传送速度较低。T27.异步通信中,在线路上不传送字符时保持高电平。T微机原理及应用复习资料328.在异步通信的帧格式中,数据位是低位在前高位在后的排列方式。T29.异步通信中,波特率是指每秒传送二进制代码的位数,单位是b/s。T30.在89C51的串行通信中,串行口的发送和接收都是对特殊功能寄存器SBUF进行读/写而实现的。T四.简答题1.简述51系列单片机具有几个中断源,入口地址分别是什么?答:外部中断0:0003H;定时器0:000BH;外部中断1:0013H;定时器1:001BH串口中断:0023H2.什么是保护现场,什么是恢复现场?答:(1)保护现场:当CPU响应中断程序时,硬件会自动把断点地址(16位程序计数器的值)压入堆栈之外,用户还须注意保护有关工作寄存器、累加器、标志位等信息;(2)恢复现场:在完成中断服务程序后,恢复原工作寄存器、累加器、标志位等的内容。3.简述51单片机的中断响应条件?答:(1)有中断源发出中断请求;(2)中断总允许位EA=1,即CPU允许所有中断源申请中断;(3)申请中断的中断源的中断允许位为1,即此中断源可以向CPU申请中断;(4)CPU没有在执行更高优先级的中断请求;(5)当前的机器周期不是正在执行的指令的最后一个周期;(6)正在执行的指令不是RETI,或者对IE、IP进行读写的指令4.简述在使用普通按键的时候,为什么要进行去抖动处理,如何处理。答:键抖动会引起一次按键被误读多次。为了确保CPU对键的一次闭合仅做一次处理,必须去除键抖动。在键闭合稳定时,读取键的状态,并且必须判别;在键释放稳定后,再作处理。按键的抖动,可用硬件或软件两种方法消除。五.计算及编程题1.把下列十进制数转换成二进制数、八进制数、十六进制数。①6.25②5.75③0.875④254解:①(6.25)𝐷=(110.01)𝐵=(6.2)𝑄=(6.4)𝐻②(5.75)𝐷=(101.11)𝐵=(5.6)𝑄=(5.C)𝐻③(0.875)𝐷=(0.111)𝐵=(0.7)𝑄=(0.E)𝐻④(254)𝐷=(11111110)𝐵=(376)𝑄=(FE)𝐻2.把下列十六进制数转换成十进制数。①A6.DCH②9AC.BDH③B4A.8DH④1AC.3AH⑤9C.A8H⑥7A5.6CH解:①A6.DCH=10x161+6x160+13𝑥16−1+12x16−2=166.859375D②9AC.BDH=9x162+10x161+12x160+11x16−1+13𝑥16−2=2476.738281D③B4A.8DH=2890.550781D④1AC.3AH=428.2265625D⑤9C.A8H=156.65625D微机原理及应用复习资料4⑥7A5.6CH=1957.421875D3.将二进制数01000111.011转换为十进制、八进制、十六进制及8421BCD码形式,再将十进制数160.625D转换为二进制形式。解:01000111.011B=71.375D=107.3Q=47.6HBCD码:01000111.011B⇒71.37501110001.001101110101∴01000111.011的8421BCD码形式为01110001.001101110101160.625D=10100000.101B4.已知X的原码[X]原=11110100,求X的反码、补码、-X的补码及X的真值。解:[X]反=10001011[𝑋]补=[X]反+1=10001100[−X]原=01110100[−𝑋]补=[−X]原=01110100X=—(22+24+25+26)=—1165.设机器字长8位,最高位为符号位,对下列算式进行二进制补码运算。①8+18=②9+(-7)=③-25+6=④8-18=⑤16-6=⑥-25-6=解:①[8]补=[8]原=00001000B[18]补=[18]原=00010010B[8]补00001000B+[18]补00010010B[8+18]补000011010B∴[8+18]补=00011010B真值=+0011010B=+26②[9]补=[9]原=00001001B[−7]原=10000111B[−7]补=[−7]反+1=11111000B+1=11111001B[9]补00001001B+[−7]补11111001B[9−7]补100000010B∴[9−7]补=00000010B真值=+0000010B=+2③[−25]原=10011001B[−25]补=[−25]反+1=11100110B+1=11100111B[6]补=[6]原=00000110B[−25]补11100111B+[6]补00000110B[−25+6]补011101101B微机原理及应用复习资料5[−25+6]原=[[−25+6]补]补=10010011B真值=-0010011B=-19④[8]补=[8]原=00001000𝐵[−18]原=10010010B[−18]补=[−18]反+1=11101101B+1=11101110B[8]补00001000𝐵+[−18]补11101110B[8−18]补011110110B∴[8−18]补=11110110B[8−18]原=[[8−18]补]补=10001010B真值=-0001010B=-10⑤[16]补=[16]原=00010000B[−6]原=10000110B[−6]补=[−6]反+1=11111001B+1=11111010B[16]补00010000B+[−6]补11111010B[16−6]补100001010B∴[16−6]补=00001010B真值=+0001010B=+10⑥[−25]原=10011001B[−25]补=[−25]反+1=11100110B+1=11100111B[−6]原=10000110B[−6]补=[−6]反+1=11111001B+1=11111010B[−25]补11100111B+[−6]补11111010B[−25−6]补111100001B∴[−25−6]补=11100001B[−25−6]原=[[−25−6]补]补=10011111B真值=-0011111B=-316.设机器字长8位,最高位为符号位,对下列算式进行二进制补码运算,并用“双高位”判别法判断结果是否溢出。①43+18=②-52+19=③50+86=④82-26=⑤(-33)+(-37)=⑥(-90)-(-69)=解:①[43]补=[43]原=00101011B[18]补=[18]原=00010010B[43]补00101011B+[1