1、微机原理复习题参考答案一 填空题。1 单片机与普通计算机的不同之处在于其将_CPU_、 _存储器_ 和_I/O接口_三部分集成于一块芯片之上。2 MCS-51系列单片机中,片无ROM的机型是_8031_,有4KB ROM的机型是_8051_,而有4KB EPROM 的机型是_8751_。3 通常单片机上电复位时PC=_0000_H,SP=_07_H。4 I/O数据传送方式有_P0_、_P1_、_P2_和_P3_四种。5 当8051地RST端上保持_2个_机器周期以上低电平时,8051即发生复位。6 MOV A,#30H是_立即数_寻址方式。MOVX A,DPTR是_变址_寻址方式。7 微型计算
2、机一般都是采用总线结构,它的系统总线有_地址总线_、_数据总线_、_控制总线_。8 通常单片机上电复位时PC=_0000_H,SP=_07_H。8031单片机复位后R4所对应的存储单元地址为_04_H,因上电时PSW=_00_H。9 MCS-51的中断系统优先级有_两_级,由_IP_寄存器控制。10 MCS-51的堆栈存取数据的原则是_先进后出_。11 若系统晶振频率为12MHZ,机器周期为_1_us,最短和最长指令周期分别为_1_us和_4_us。12 MOV A,B是_寄存器_寻址方式。MOVC A,A+PC是_变址_寻址方式。13 使用8031单片机时需将引脚接_低_电平,因为其片无_R
3、OM_存储器。8051地RST端上保持_2_个机器周期以上低电平时,8051即发生复位。14 通常单片机上电复位时,SP=_0000_H,通用寄存器则采用第_0_组,这一组寄存器的地址围是从_00_ H_07_H。15 8051单片机其部有_21_个特殊功能寄存器,其中_0_个可以位寻址。16 MCS-51单片机PC的长度为_16_位;另一个与PC长度相同的寄存器为_DPTR_。17 若系统晶振频率为6MHZ,则时钟周期为_1/3_us,机器周期为_2_us,最短和最长指令周期分别为_2_us和_8_us。二.简答题。1 MCS51系列单片机的部资源有哪些?说出8031、8051和8751的区
4、别。答:部资源有:1、2个定时器2、一个串口3、128B的RAM4、4个IO口5、8位数据总线6、16位地址总线7、2个外部中断8031,没有ROM,只能扩展ROM才能写程序8051,有4K的ROM8751,有4K的EPROM2 为什么要对键盘进行“去抖”处理?机械式按键在按下或释放时,由于触点弹性作用的影响,通常伴随有一定时间的触点机械抖动,然后其触点才稳定下来。抖动时间的长短与开关的机械特性有关,一般为510ms。CPU在触点抖动期间检测按键的通与断状态,可能导致判断出错,即按键一次按下或释放被错误地认为是多次操作。为了克服按键触点机械抖动所致的检测误判,必须采取软件或硬件去抖动措施。3
5、试写出设定INT0和定时器0的中断请求为高优先级和允许它们中断的程序。如果INT0和定时器0同时有中断请求时,试问MCS-51先响应哪个中断请求?为什么?答:可用字节操作指令对IE和IP进行设置:MOV IE,#83H ;同时置位EA、ET0和EX0MOV IP,#03H ;置位PX0和PT0也可用位操作指令进行设置,此处从略。因为本题中外中断0和定时器0同为高优先级,当它们同时发中断请求时,系统则按硬件设定的自然优先级顺序响应中断,因此MCS-51先响应外中断0的中断请求。4 MCS-51系列单片机有哪7种寻址方式? 1.直接寻址2.位寻址3.立即数寻址4.寄存器寻址5.寄存器间接寻址6.变
6、址寻址7.相对寻址5 简述8051单片机部结构主要有哪些部件组成。(1)一个8位微处理器CPU。(2)数据存储器RAM和特殊功能寄存器SFR。(3)部程序存储器ROM。(4)两个定时/计数器,用以对外部事件进行计数,也可用作定时器。(5)四个8位可编程的I/O(输入/输出)并行端口,每个端口既可做输入,也可做输出。(6)一个串行端口,用于数据的串行通信6 MCS-51单片机外部中断申请有几种方式?为什么外部中断一般不用电平触发方式?答:MCS-51单片机外部中断请求申请信号可以是低电平触发方式,也可以是负脉冲触发方式。对于采用负脉冲触发方式的外部中断请求标志位IE0或IE1的清“0”是由单片机
7、硬件自动完成的,用户无需参与。对低电平触发方式的外部中断请求信号,需要外加电路并配合指令,在中断响应后将INT0、INT1 引脚电平从低电平强制为高电平,从而将INT0、INT1引脚的低电平中断请求信号撤除,可见低电平方式的外部中断请求信号的撤除比较麻烦,因此一般应尽可能采用负脉冲触发方式申请中断。7 简述程序状态寄存器PSW的作用是什么?常用标志有哪些位?作用是什么?PSW是一个8位寄存器,用来存放指令执行的有关状态信息。PSW中各位的状态信息一般是在指令执行过程中形成的,也可以根据需要由用户采用传送指令加以改变。a。P(PSW.0):奇偶标志位,用于表示累加器A中二进制数值为1奇偶性。b。
8、F1、F0(PSW.1、PSW.5):用户标志位,作为用户自行定义的一个状态标志c。OV(PSW.2)溢出标志位,用于指示算数运算中是否有溢出d。RS1、RS0(PSW.4、PSW.3):工作寄存器选择控制位,用户通过软件选择CPU当前工作的寄存器组。e。AC(PSW.6):辅助进位标志位,当进行加法或减法运算并产生由第四位向高四位进位或借位时,AC被硬件置1,否则清零f。CY(PSW.7):进位标志位,用于表示加法或减法运算时最高位是否有进位或借位,如有则被置1。在进行位操作时,CY还可作为位累加器使用,相当于累加器A。8 I/O数据传送的方法有哪几种?程序直接控制方式,中断控制方式,DMA
9、方式9 什么是堆栈?堆栈和堆栈指针SP有什么作用?堆栈是计算机存储数据的一种数据结构,通常由一块存储区和指向该存储区的指针SP构成。SP的作用就是指示当前要出栈或入栈的数据,并在操作执行后自动递增或递减。10 MCS-51系列中断系统包括几个中断源和几个中断优先级,写出所有的中断源的符号、名称及其入口地址。11 简述89C51片RAM的空间分配。答:89C51部256B的数据RAM区,包括有工作寄存器组区、可直接位寻址区和数据缓冲区、特殊功能寄存器组区。各区域的特性如下:(1) 00H1FH为工作寄存器组区,共分4组,每组占用8个RAM字节单元,每个单元作为一个工作寄存器,每组的8个单元分别定
10、义为8个工作寄存器R0R7。当前工作寄存器组的选择是由程序状态字PSW的RS1、RS0两位来确定。如果实际应用中并不需要使用工作寄存器或不需要使用4组工作寄存器,不使用的工作寄存器组的区域仍然可作为一般数据缓冲区使用,用直接寻址或用Ri的寄存器间接寻址来访问。(2) 20H2FH为可位寻址区域,这16个字节的每一位都有一个地址,编址为00H7FH。当然,位寻址区也可以用作字节寻址的一般数据缓冲区使用。(3)30H7FH为堆栈、数据缓冲区。(4)80HFFH高128字节的RAM有21个特殊功能寄存器(SFR)。访问SFR只允许使用直接寻址方式。其中11个具有位寻址能力,它们的字节地址正好被8整除
11、。12 简述并行通信和串行通信的特点。并行通信就是把一个字符的各数位用几条线同时进行传输。并行接口最基本的特点是在多根数据线上以数据字节为单位与I/O设备或被控对象传送信息。串行通信就是指通信的发送方和接收方之间的数据在单根通信线上逐位顺序传送。计算机和外设之间只使用一根信号线传输信息,数据在一根数据信号线上一位一位地进行传输,每一位数据都占据一个固定的时间长度。三、程序分析题。1.执行下列程序段后,(P1)=_9BH_。 MOV P1,#5DH CPL P1.1 CPL P1.2 CLR P1.6 SETB P1.72. 已知(R0)=20H, (20H ) =10H, (P0) =30H,
12、 (R2) =20H, 执行如下程序段后( 40H ) =_45H_。MOV R0 , #11HMOV A , R2ADD A , 20HMOV PSW , #80HSUBB A , P0XRL A , #45HMOV 40H , A3. 设(A)=38H,R0=28H,(28H)=18H,执行下列程序后,(A)=_0F7H_。ORL A,#27HANL A,28HXCHD A,R0CPL A4.已知(SP)=60H,子程序SUBTRN的首地址为0345H,现执行位于0123H的ACALL SUBTRN双字节指令后,(PC)=_62H_,(61H)=_0345H_,(62H)= _0123H_
13、。5.阅读下列程序,说明其功能。 MOV R0,#data MOV A,R0 RL A MOV R1,A RL A RL A ADD A,R1 MOV R0,ARET1. 设部RAM中69H单元的容为50H,写出当执行下列程序段后寄存器A=_35H_,R0=50H_,部RAM中(50H)=_00H_、(51H)=_35H_。MOV A,69H MOV R0,AMOV A,#00HMOV R0,AMOV A,#35HMOV 51H,AMOV 52H,#80H2. 设A=40H,R1=23H,(40H)=05H。执行下列两条指令后,累加器A=_25H_,R1=_40H,RAM(40H)=_03H_
14、。XCH A,R1XCHD A,R13. 如果SP=32H,(30H)=50H,(31H)=5FH,(32H)=3CH,则执行下列指令后:DPH=_3CH_,DPL=_5FH_,SP=_50H_。POP DPHPOP DPLPOP SP4. 设A=83H,R0=17H,(17H)=34H;写出下列程序中每条指令执行后的结果。ANL A,#17H; A=_17H_ORL 17H,A ; (17H)=_17H_XRL A,R0; A=_34H_CPL A ; A=_0CBH_5. 程序存储空间表格如下:地址2000H2001H2002H2003H。容3FH06H5BH4FH。已知:片RAM的20H
15、中为01H,执行下列程序后(30H)=_0A4H_。MOV A,20H INC A MOV DPTR,#2000H MOVC A,A+DPTR CPL A MOV 30H,A SJMP $1. 写出下列程序段执行后,相关寄存器或存储单元的容。 MOV R0,#30H MOV 30H,#40H MOV A,R0 MOV 60H,A SJMP $ A= 40H ,R0= 30H ,(30H)= 40H ,(60H)= 40H 2. 写出下列程序段执行后,相关寄存器或存储单元的容。 MOV SP,6FHMOV 30H,#12H MOV 31H,#34H PUSH 30H PUSH 31H POP B
16、 POP ACC SJMP $ A= 12H ,B= 34H ,(30H)= 12H ,(31H)= 34H ,(70H)= 12H ,(71H)= 34H 3. 写出下列程序段执行后,相关寄存器或存储单元的容。 MOV R1,#30H MOV 30H,#78H MOV A,#9AH XCH A,30H XCHD A,R0 SWAP A SJMP $ A= 0A7H ,(30H)= 98H 4. 写出下列程序段执行后,相关寄存器或存储单元的容。 MOV 35H,#03H MOV DPTR,#TAB MOV A,35H MOVC A,A+DPTR SJMP $ ORG 1050H TAB:DB
17、00H,03H,04H,10H,16H A= 10H ,(DPTR)= 1050H 5. 设在31H单元存有23H,执行下面程序后,则(41H)=_03H_,(42H)=_02H_。 MOV A, 31H ANL A, #0FH MOV 41H, A MOV A, 31H ANL A, #0F0H SWAP A MOV 42H, A一编写程序,进行两个16位数的减法:6F5DH-13B4H,结果存入部RAM的30H和31H单元,30H存储低8位。解:org 0000h ajmp main org 0030hmain:mov r0,#30h(间接寻址初值) mov r1,#40h(间接寻址初值)
18、 mov r2,#3(转移次数)loop:mov a,r0 da a(对数据进行BCD码调整) inc r0 mov r1,a inc r1 djnz r2,loop sjmp $ end二已知单片机晶振频率为6MHz,要求用定时/计数器T0工作方式1,在P1.0脚输出周期为2ms的连续方波,如图所示,试采用中断方式编写程序解:见书本P145 例5-6三P1口的P1.0-P1.7分别通过反相器接8个发光二极管。要求每隔1s循环点亮1只发光二级管,一直循环下去,系统晶振频率为6MHz。画出电路图,并写出程序,要求软件延时。解:见书本P148例5-9四8255A与MCS-51单片机接口电路如图所示
19、,8255A的B口外接8个开关,A口通过反相器接8个发光二极管,各端口均工作在方式0,要求编写程序从B口读入开关的状态,再从A口输出点亮发光二极管解:见书本P176-例6-4五试编写程序,查找在部RAM的20H50H单元中是否有0AAH这一数据。若有,则将51H单元置为01H;若未找到,则将51H单元清0。解:六硬件连接如图所示,要求用定时器T1的工作方式2对外部脉冲进行计数。每计满10个脉冲,就使P1.0引脚外接的发光二极管的状态发生变化,由亮变暗,或反之解:见书本P136-例5-4七MCS-51单片机P1口的P1.0-P1.7分别通过反相器接8个发光二极管。要求编写程序,每当外中断1有中断
20、请求信号输入时,循环点亮下一个发光二极管,试编写程序。解: END八、如图所示的单缓冲方式接口电路,请编写出产生三角波的程序。解:见书本P211-三角波程序九已知存单元有16个无符号数,分别存放在30H-3FH中,试求它们累加和,并将其和数存放在R4和R5中解: 十要求用P1.6和P1.7脚上的两个开关S6,S7分别对应控制P1.0和P1.1脚上的两个发光二极管的亮暗,画出I/O接口电路并编写程序。解: ORG 0000H AJMP 4100H ORG 4100H START:MOV P1,#0FFH MOV C,P1.6 MOV P1.0,C NOP MOV C,P1.7 MOV P1.1,
21、C SJMP START END十一用定时器/计数器T1对外部脉冲计数,工作在方式2,并将T1的计数值从P1口输出,经反相器点亮发光二极管,以二进制数的形式显示出来。解: 定时/计数器T1方式寄存器TMOD的设置依题意,外部脉冲信号从T1(P3.5) 脚输入,每发生一次负跳变计数器加1。 因为要求用T1计数、工作方式2、软启动,所以TMOD寄存器应按如下设置:T1T0GATE M1 M0 GATE M1 M0 0110所以TMOD=60H。 程序如下: ORG 0500H MAIN: CLR EA ;关中断 MOV P1, #00H ;灯全暗 MOV TMOD, #60H MOV TH1, #00H MOV TL1, #00H ;初值为0 SETB TR1 OUT: MOV P1, TL0 ;计数值送P1口显示 SJMP OUT十二。MCS-51单片机外扩展一片8255A,若8255A的A口作输入,每一位外接一个开关;C口作输出,每一位通过反相器接一个发光二极管。要求当A口开关闭合(低电平)时C口对应位发光二极管点亮,画出接口电路图,列出8255A各I/O口地址并编写程序。
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1