苏州经贸职业技术学院2009-2010学年第二学期《单片机原理及应用》期终试卷(A)班级:姓名:学号:成绩:一﹑填空题(将正确答案填在题干的空白处。1分×35=35分)1、十进制数-47用8位二进制补码表示为:11010001B。2、89C51含4KBFlashROM,128B的RAM,在物理上有4个独立的存储器空间。3、若8031单片机的晶振频率fosc=12MHz,则振荡周期为1/12us,状态周期为1/6us,机器周期为1us,执行MULAB指令需要时间为4us。4、假定A=85H,R0=20H,(20H)=0AFH。执行指令:ADDA,@R0后,累加器A的内容34H,CY的内容1,AC的内容1,OV的内容1。5、假定DPTR的内容为8100H,累加器A的内容为40H,执行下列指令:MOVCA,@A+DPTR后,送入A的是程序存储器8140H单元的内容。6、PSW中RS1RS0=10H时,R2的地址为12H。7、ROM在物理上分为片内ROM和片外ROM,在逻辑上两者统一编址。8、MCS-51单片机当EA=1时,首先使用的是片内程序存储器,存储容量超过4KB时开始使用外部程序存储器;EA=0时,则仅仅使用片外程序存储器。9、MCS—51单片机访问片外存储器时,利用ALE信号锁存来自P0口的低8位地址信号。10、欲使P1口的高4位输出1,而低4位不变,应执行一条ORLP1,#0F0H指令。11、12根地址线可选4KB个存储单元,32KB存储单元需要15根地址线。12、设80C51fosc=12MHz,定时器工作在方式0,则最大定时时间为8192μs。13、异步串行数据通讯有单工、半双工和全双工共三种传送方式。14、51单片机的中断系统最多可以有2个嵌套。15、8031单片机指令MOV是访问内RAM,最大范围为256B,MOVX是访问外RAM,最大范围为64KB,MOVC是访问ROM,最大范围为64KB。二、单项选择(1分×15=15分)1、MCS-51上电复位后,SP的内容是(B)(A)00H(B)07H(C)60H(D)70H2、80C51是(C)(A)CPU(B)微处理器(C)单片微机(D)控制器3、PC的值是(C)(A)当前指令前一条指令的地址(B)当前正在执行指令的地址(C)下一条指令的地址(D)控制器中指令寄存器的地址4、如在系统中只扩展一片Intel2732(4KХ8),除应使用P0口的8条口线外,至少还应使用P2口的口线(A)(A)4条(B)5条(C)6条(D)7条5、MOVC,#00H的寻址方式是(A)(A)位寻址(B)直接寻址(C)立即寻址(D)寄存器寻址6、必须进行十进制调整的十进制运算(C)(A)有加法和减法(B)有乘法和除法(C)只有加法(D)只有减法7、ORG0000HAJMP0040HORG0040HMOVSP,#00H当执行完左边的程序后,PC的值是(C)(A)0040H(B)0041H(C)0042H(D)0043H8、当ALE信号有效时,表示(B)(A)从ROM中读取数据(B)从P0口中可靠送出地址低8位(C)从P0口送出数据(D)从RAM中读取数据9、所谓CPU是指(A)(A)运算器与控制器(B)运算器与存储器(C)输入输出设备(D)控制器与存储器10、使用8155可以扩展出的I/O口线是(C)(A)16根(B)24根(C)22根(D)32根11、MCS—51外扩ROM、RAM和I/O口时,它的地址总线是(B)(A)P0、P1(B)P0、P2(C)P2、P1(D)P0、P312、74LS138芯片是(B)(A)驱动器(B)译码器(C)锁存器(D)编码器13、在中断服务程序中,至少应有一条(D)(A)传送指令(B)转移指令(C)加法指令(D)中断返回指令14、当TMOD的门控位=1时,启动定时器T0工作需要的条件是(B)(A)TR0置1;(B)/INT0引脚为高电平和TR0置1(C)/INT0引脚为低电平和TR0置1;(D)/INT0引脚为高电平15、串行通信的传送速率单位是波特,而且波特的单位是(B)(A)字符/秒(B)位/秒(C)帧/秒(D)帧/分三、简答题(4分×5=20分)1、内部RAM数据及P1口数据如下图所示,试分析下段指令执行后的结果。MOVA,#03H;A=03HSWAPA;A=30HMOVR0,A;A=30H;R0=30HMOVA,@R0;A=50HANLA,#F0H;A=50HMOVR1,A;R1=50HMOVB,@R1;B=10HMOV@R1,P1;R1=50H;(50H)=E6HMOVP2,P1;P2=E6HCPLP1.4;P1=F6HORLC,P1.4;C=1上段指令执行后:(10H)=00H;(30H)=50H;(50H)=E6H;P1=F6H;P2=E6H。2、位地址7CH与字节地址7CH如何区别?位地址7CH具体在片内RAM中的什么位置?答:字节地址是片内RAM的单元地址,而位地址是片内RAM单元的某一位。7CH字节地址RAM的7CH单元,而7CH位地址是RAM2FH单元中的D4位。3、简述80C51的寻址方式?各涉及哪些存储器空间?答:立即数寻址:程序存储器ROM。直接寻址:片内RAM低128B和特殊功能寄存器。寄存器寻址:R0~R7,A,B,C,DPTR寄存器间接寻址:片内RAM低128B,片外RAM。变址寻址:程序存储器64KB。相对寻址:程序存储器256B范围。位寻址:片内RAM的20H~2FH字节地址,部分特殊功能寄存器。4、简述程序状态字寄存器PSW中各位的含义。答:程序状态字寄存器PSW:程序状态字寄存器PSW:是一个8位寄存器,用来存放当前指令执行后操作结果的某些特征,以便为下一条指令的执行提供依据。定义格式如下。其中,CY:进借位标志;AC:辅助进借位标志;F0:软件标志;OV:溢出标志;F1:用户标志位;P:奇偶校验标志;RS1、RS0:工作寄存器组选择(如表所示)。5、简述单片机系统扩展的基本原则和实现方法。答:(1)以P0口线作地址/数据总线P0口作系统的低8位地址线。在实际应用时,先把低8位地址送锁存锁存器暂存,然后再由地址锁存器给系统提供低8位地址,而把P0口作为数据线使用。(2)以P2口线作高位地址总线在实际应用中,高位地址线并不固定为8位,需要几位就从P2口中引出几条口线。(3)控制信号线①使用ALE作用地址锁存的选通信号,以实现低8位地址的锁存;②以信号作为扩展程序存储器的读选通信号;③以信号作为内、外程序存储器的选择信号;④以和作为扩展数据存储器和I/O端口的读/写选通信号。执行MOVX指令时,这两个信号分别自动有效。四、编程题(5分×4=20分)1、从1加到5,最终结果存入35H,试编写程序。解:方法(1)ORG1000HCLRAMOVR0,#5L2:ADDA,R0DJNZR0,L2MOV35H,AEND方法(2)ORG1000HCLRAMOVR0,#0L1:INCR0ADDA,R0CJNER0,#5,L1MOV35H,AEND2、编程将片内RAM40H单元中的内容送到片外RAM2000H单元中。解:ORG0100HMOVA,40HMOVDPTR,#2000HMOVX@DPTR,AEND3、符号函数1(00(01(0xyxx当时)当时)当时),设变量X存于VAR单元中,函数值y存于FUNC单元中,要求编写按上述函数式给y赋值得程序。解:ORG1000HVAR:DATA30HFUNC:DATA31HMOVA,VARJZCOMPJNBACC.7,POSIMOVA,#0FFHSJMPCOMPPOSI:MOVA,#1COMP:MOVFUNC,ASJMP$4、将定时器/计数器做脉冲信号发生器。编程利用定时器T0定时,在P1.0端输出周期性方波信号,方波周期为2ms,已知晶振频率为6MHz。解:1)T0工作模式的设定:选择模式1(16位方式)(最大定时131ms)2)定时初值的设定:X=216-(1ms×6×106/12)=65036=FE0CH,即:TH0应装0FEH,TL0应装0CH。程序清单如下:ORG0000HLJMPMAINORG000BHLJMPG主程序:ORG0500HMAIN:MOVTMOD,#01HMOVTL0,#0CHMOVTH0,#0FEHSETBEASETBET0SETBTR0HERE:SJMPHERE中断服务程序:G:MOVTL0,#0CHMOVTH0,#0FEHCPLP1.0RETIEND五、设计题(10分)利用80C51的P0口控制8个发光二极管LED。相邻的4个LED为一组,使2组每隔1s交替发光一次,周而复始。设计出硬件电路图,编写程序。解:(1)程序设计(设fosc=12MHz)ORG0100HMOVA,#0FHABC:MOVP0,AACALLDELAY1SSWAPASJMPABCDELAY1S:MOVR5,#04DEL1:MOVR6,#250DEL2:MOVR7,#250DEL3:NOPNOPDJNZR7,DEL3DJNZR6,DEL2DJNZR5,DEL1RETEND(2)硬件电路图如图: