《微机控制原理》试卷第1页共17页诚信应考,考试作弊将带来严重后果!华南理工大学广州学院期末考试《微机控制原理》试卷A答案注意事项:1.考前请将密封线内各项信息填写清楚;2.一,二,三题答案请直接答在试卷上,其它答案答在答题纸上;3.考试形式:闭卷;4.本试卷共七大题,满分100分,考试时间120分钟。题号一二三四五六七总分得分1529101020610评卷人一、单项选择题(每题1分,共15分)1.十进制数(79.43)10的二进制数为多少?(A)1001111.0110(B)1111001.0110(C)1111001.1001(D)1001111.10012.某存储器芯片有11根地址线,8根数据线,该芯片有多少个存储单元?(A)1KB(B)8KB(C)2KB(D)4KB3.单片机复位时,堆栈指针(SP)的值是多少?(A)00H(B)07H(C)05H(D)30H4.PC的值是(A)当前指令前一条指令的地址(B)当前正在执行指令的地址(C)下一条指令的地址(D)控制器中指令寄存器的地址5.下列指令或指令序列中,能将外部数据存储器3355H单元内容传送给A的是(A)MOVXA,3355H(B)MOVDPTR,#3355HMOVXA,@DPTR(C)MOVP0,#33H;MOVR0,#55HMOVXA,@R0_____________________…姓名学号学院专业座位号(密封线内不答题)……………………………………………………密………………………………………………封………………………………………线……………………………………线………………………………………《微机控制原理》试卷第2页共17页(D)MOVP2,#33HMOVR2,#55HMOVXA,@R26.80C51单片机要用传送指令访问片内程序存储器,它的指令操作码助记符是以下哪个?(A)MOV(B)MOVX(C)MOVC(D)MUL7.假定设置堆栈指针SP的值为37H,在进行子程序调用时把断点地址进栈保护后,SP的值为(A)36H(B)37H(C)38H(D)39H8.在80C51中,可使用的堆栈最大深度为(A)80个单元(B)32个单元(C)128个单元(D)8个单元9.下列条件中,不是中断相应必要条件的是(A)TCON或SCON寄存器中相关的中断标志位置1(B)IE寄存器中相关的中断允许位置1(C)IP寄存器中相关位置1(D)中断请求发生在指令周期的最后一个机器周期10.执行中断返回指令,要从堆栈弹出断点地址,以便去执行被中断了的主程序。从堆栈弹出的断点地址送给(A)A(B)CY(C)PC(D)DPTR11.下列叙述中,不属于单片机存储器系统特点的是(A)程序和数据两种类型的存储器同时存在(B)芯片内外存储器同时存在(C)扩展数据存储器与片内数据存储器存储空间重叠(D)扩展程序存储器与片内程序存储器存储空间重叠12.PSW=18H时,则当前工作寄存器是(A)0组(B)1组(C)2组(D)3组《微机控制原理》试卷第3页共17页13.MCS-51的中断允许控制寄存器内容为8AH,CPU可以响应的中断请求是(A)T1,(B)T0,T1(C)T1,串行接口(D)T014.指令AJMP的跳转范围是多少?(A)64KB(B)2KB(C)256B(D)128B15.下列指令中正确的是(A)MOVP2.1,A(B)JBCTF0,L1(C)MOVXB,@DPTR(D)MOVA,@R3二、填空题(每空0.5分,共29分)1.一个机器周期包括(6)个状态周期,一个状态包含(2)个时钟周期2.执行如下指令序列:MOVC,P1.0ANLC,P1.1ANLC,/P1.2MOVP3.0,C后,所实现的逻辑运算式为(P3.0=P1.0∧P1.1∧P1.2)3.假定外部数据存储器2000H单元的内容为80H,执行下列指令后,累加器A中的内容为(80H)。MOVP2,#20H;MOVR0,#00H;MOVXA,@R0;4.假定标号qaz的地址为0100H,标号qwe值为0130H(即调转的目标地址为0130H)应执行指令:qaz:SJMPqwe该指令的相对偏移量(即指令的第2字节)为(2EH)。5.假定(A)=0C3H,R0=0AAH、CY=1。执行指令:ADDCA,R0后,累加器A的内容为(6EH),CY的内容为(1),OV的内容(1),AC的内容(0)6.在变址寻址方式中,以(A)作变址寄存器,以(PC)或(DPTR)作为基址寄存器。7.定时器0工作于方式2的计数方式,预置计数初值为156,若通过引脚T0输入周期为1ms的脉冲,则定时器0的定时时间为(100ms)。8.设A=50H,B=0A0H,则执行指令MULAB后的执行结果A=(00H),B=(32H),OV=(1)CY=(0)。9.设执行指令DIVAB前,(A)=0A3H,(B)=20H,则执行指令后(A)=(05H),《微机控制原理》试卷第4页共17页(B)=(03H),CY=(0),OV=(0)10.若系统晶振频率为6MHz,则机器周期(2)μs,最短和最长的指令周期分别为(2)μs和(8)μs。11.MCS-51单片机PC的长度为(16)位;SP的长度为(8)位;DPTR的长度为(16)位。12.ORG0003HLJMP2000HORG000BHLJMP3000H当CPU响应外部中断0后,PC的值是(2000H)13.指令执行前PC=07FFH,执行指令AJMP300H后,执行结果PC=(0B00H)14.假定累加器A的内容为35H,执行指令:1000H:MOVCA,@A+PC后,把程序存储器(1036H)单元的内容送累加器A中。15.8255能为数据I/O操作提供A,B,C3个8位口,其中A口和B口只能作为数据口使用,而C口则即可以作为(数据)口使用,又可作为(控制)口使用。16.在80C51单片机系统中,为解决内外程序存储器衔接问题所使用的信号是(/EA)(此题1分)三、判断题,正确的打√,错误的打×。(每题1分,共10分。)1.内部寄存器Rn(n=0~7)作为间接寻址寄存器。………………….(×)2.MOVA,30H这条指令执行后的结果是(A)=30H…..……………(×)3.SP称之为堆栈指针,堆栈是单片机内部的一个特殊区域,与RAM无关。……………………………………………………………….…….(×)4.中断响应最快响应时间为三个机器周期。(√)5.8255内部有3个8位并行口,每个口都有3种工作方式。(×)6.MCS-51的特殊功能寄存器分布在60H~80H地址范围内。(×)7.8255具有三态缓冲器,因此可以直接挂在系统的数据总线上。(√)8.PC存放的是当前执行的指令。(×)9.80C51有4个并行I\O口,其中P0~P3是准双向口,所以由输出转输入时必须先写入0(×)10.EPROM的地址线为10条时,能访问的存储空间有4K。(×)四、简答题(每题3分,共15分)1.如何确定和改变当前工作寄存器组?可用程序状态字PSW的RS1,RS0两位进行选择2.80C51单片机堆栈可以设置在什么地方?如何实现?《微机控制原理》试卷第5页共17页答:80C51单片机堆栈可以设置在内部RAM中。当系统复位时,堆栈指针地址为07H,只要改变堆栈指针SP的值,使其为内部RAM中地址量,就可以灵活的将堆栈设置在内部RAM中。3.如果采用晶振的频率为6MHz,定时器/计数器工作方式0、1、2下,其最大的定时时间为多少?因为机器周期,所以定时器/计数器工作方式0下,其最大定时时间为)(690.41022261313msTTCMAX;16.384ms同样可以求得方式1下的最大定时时间为)(131.0721022266161msTTCMAX;方式2下的最大定时时间为512s。五、程序分析题(每题3分,共15分。)1.已知:R1=32H,(30H)=AAH,(31H)=BBH,(32H)=CCH,试问如下指令执行后累加器A,50H,R6,32H和P1口中的内容是什么MOVA,30H;MOV50H,A;MOVR6,31H;MOV@R1,30H;MOVP1,32H;解:A=AAH,(50H)=AAH,R6=BBH,(32H)=AA,P1=AAH2.已知A=7AH,R0=30H,(30H)=A5H,PSW=80H。试问如下指令执行后的结果是什么?A=?,(30H)=?,PSW=?(1)ADDCA,30HINC30H答:A=20H,(30H)=A6H,PSW=0C0H(2)SUBBA,R0DEC30H答:A=(49H),(30H)=A4H,PSW=01H3.假定(A)=83H,(R0)=17H,(17H)=34H,执行以下程序段后,A的内容=?ANLA,#17HORL17H,AXRLA,@R0CPLA答:(A)=CBH)(210612126sfTOSCcy《微机控制原理》试卷第6页共17页4.执行下列程序段后,(P1)=(9FH)。MOVP1,#5DHCPLP1.1CLRP1.6SETBP1.75.已知A=7AH,Cy=1,试指出8031执行下列程序后(A)=?MOVA,#0BBHCPLARRAMOV40H,#0AAHORLA,40H答:0AAH六、程序设计题(每题3分,共6分)内部RAM的30H单元中,存有二进制数(x10的整数),试编一查表求平方的子程序SQR。ORG1000HXDATA30H;设置X的存放地址SQR:MOVA,X;取X值INCA;调整偏移量MOVCA,@A+PC;通过查表得X2的值RET;1字节,子程序返回SQRTAB:DB00H,01H;平方表DB04H,09HDB10H,19HDB24H,31HDB40H,51HEND《微机控制原理》试卷第7页共17页七、综合题(共10分)1.MCS-51单片机系统硬件连接示意图如下图所示,系统采用12MHZ的晶体振荡器;并扩展了一片数据存储器6264和一片通用I/O接口芯片8255,并通过8255的PA端口驱动8个发光二极管,各发光二极管的阴极一起连接到地(GND)。完成以下要求:(1)写出数据存储器6264的地址范围。(2分)(2)写出8255各端口地址。(4分)(注:“/n”说明此引脚为低电平有效,如8255的/CS端。)(1)6264的地址范围:0000H~1FFFH(2分)(2)2、8255的各端口地址:PA口地址:2000H;PB口地址:2001H;P00...7D0...7D0...7P2.5A0...12A0...1P20...474LS138CBAP2.6P2.7/Y0/Y1/CE/CS62648255805174LS373D0...71328A0...75/OE/WE/OE/WE/RD/WRALEALE/RD/WR/WR/RDPA0...78GND《微机控制原理》试卷第8页共17页PC口地址:2002H控制端口地址:2003H(4分)2.设时钟频率为6MHz。试编写利用T0产生500ms定时的程序(1)计算TH0和TL0的值;(2)确定寄存器TMOD,TCON和IE的值(3)编程(注:寄存器中跟本题无关位取值为0)(本小题4分。)求计数值X(216-X)×12/(6×106Hz)=100×10-3sX=15536=3CB0H因此TL0=0B0H,TH0=3CH;实现方法:对于中断5次,可使T1工作在计数方式,也可用循环程序的方法实现,本例采用循环程序法ORG0000HLJUMPMAIN;上电,转向主程序ORG000BH;T0中断地址入口AJMPSERVE;转向中断服务程序主程序:ORG0030HMAIN:MOVSP,#60H;设堆栈指针MOVB,#05H;设循环次数MOVTMOD,#01H;设置T0工作于模式1MOVTL0,#0B0H;装入计数值低8位MOVTH0,#3CH;装入计数值高8位SETBTR0;启动定时器T0SETBET0;允许T0中断SETBEA;允许CPU中断SJMP$;等待中断中断服务程序://ORG