第1页共7页一、选择题(共10小题,每题1分,共计10分)1、若开机复位后,CPU使用的是寄存器第一组,地址范围是(D)。A、00H-10HB、00H-07HC、10H-1FHD、08H-0FH2、访问片外数据存储器的寻址方式是(C)。A、立即寻址B、寄存器寻址C、寄存器间接寻址D、直接寻址3、要设计一个32键的行列式键盘,至少需要占用(A)根引脚线。A、12根B、32根C、18根D、无法确定4、控制串行接口工作方式的寄存器是。(C)A、TCONB、PCONC、SCOND、TMOD5、下面哪种方式适合用于处理外部突发事件。(C)A、DMAB、无条件传送C、中断D、条件查询传送6、关于定时器,若振荡频率为12MHz,在方式0下最大定时时间为(A)。A、8.192msB、65.536msC、0.256msD、16.384ms7、ADC0809芯片是m路模拟输入的n位A/D转换器,m、n是(A)A、8、8B、8、9C、8、16D、1、88、定时器/计数器工作于模式1时,其计数器为几位?(B)A、8位B、16位C、14位D、13位9、已知:R0=28H(28H)=46MOVA,#32HMOVA,45HMOVA,@R0执行结果A的内容为(A)A、46HB、28HC、45HD、32H10、仔细分析下图所示电路,当单片机P1.0为高电平时,输入的Ui应为(A)。第2页共7页A、高电平B、低电平C、高阻态二、填空题(每空1分,共25分)1、如果存储单元的数据位为8位,当它存放无符号数时,则该数的范围为(0-255)。2、MCS-51单片机有(4)个并行输入/输出口,当系统扩展外部存储器或扩展I/O口时,(P0)口作地址低8位和数据传送总线,(P2)口作地址总线高8位输出,(P3)口的相应引脚会输出控制信号。3、数据指针DPTR有(16)位,程序计数器PC有(16)位。4、EPROM27256芯片的存储容量为(32K),它的地址线有(15)根。5、欲使P1口的低4位输出0,高4位不变,应执行一条(ANLP1,#0F0H)命令。6、MCS-51指令系统中,ADD与ADDC指令的区别是(ADDC指令除加数和被加数相加外,还要加进位信号)。7、8051单片机有(2)个16位定时/计数器。8、8051单片机,当CPU响应某中断请求时,将会自动转向相应规定地址(即中断入口地址)去执行,外部中断0入口地址为:(0003)H,T1入口地址为;(001B)H。9、特殊功能寄存器中,单元地址(能被8整除)的特殊功能寄存器,可以位寻址。10、计算机三大总线分别为(地址总线)、(控制总线)和数据总线。11、74LS138是具有3个输入的译码器芯片,用其输出作片选信号,最多可在(8)块芯片中选中其中任一块。12、在R7初值为00H的情况下,DJNZR7,rel指令将循环执行(256)次。13、8031单片机接4个8段LED数码管显示,每个数码管的8个段(a、b、c、d、e、f、g、sp)同名端并联,这种接法一定采用(动)态显示法。14、8051串行口4种工作方式中,方式(1)是波特率可变10位异步通信。。第3页共7页15、当PSW4=1,PSW3=0时,工作寄存器Rn,工作在第(2)区。16、堆栈区是在片内RAM中开辟的一个区域,其数据的存取遵守(后进先出)的原则。17、传输速率是用每秒传送数据位的位数来表示,把它定义为(波特率),单位为(bps)。三、判断题:(每题1分,共15分)1、MCS-51单片机的CPU能同时处理8位二进制数据。()2、当EA脚接高电平时,对ROM的读操作只访问片外程序存储器。()3、读内部ROM时使用的是“MOV”指令,读外部RAM时使用的是“MOVX”指令。()4、必须有中断源发出中断请求,并且CPU开中断,CPU才可能响应中断。()5、串行通信的通信方式为单工方式和双工方式。()6、8155是一种8位单片机。()7、51单片机只能做控制用,不能完成算术运算。()8、单片机内部RAM和外部RAM是统一编址的,它们的访问指令相同。()9、扩展I/O口占用片外数据存储器的地址资源。()10、8051单片机必须使用内部ROM。()11、指令AJMP的跳转范围是1KB。()12、MCS-51有中断源5个。()13、A/D转换器的作用是将模拟量转换数字量;D/A转换器的作用是将数字量转为模拟量。()14、MOVXA,3057H()15、ANLR1,#0FH()四、简答题(共2小题,每题5分,共计10分)1、想将中断服务程序放置在程序存储区的任意区域,在程序中应该作何种设置?请举例加以说明。答:必须在中断服务程序入口地址处放一条长转移指令,转移到中断服务程序放置在的任意区域。例如:对于外部中断0的例子如下ORG0003HLJMPINT0。。。ORGXXXXHINT0:。。。RETI第4页共7页2、MCS-51单片机片内128B的数据存储器可分为几个区?分别作什么用?分为3个区:寄存器组区地址为00-1FH,用于寄存器寻址位寻址区地址为20H-2FH,用于位的寻址用户区地址为30H-3FH,用于堆栈或存放临时数据五、程序设计题(共24分)1、当系统选用6MHz晶体振荡器时,由T0工作在方式为2,并中断响应,产生周期为1ms的方波信号,并由P1.0输出。(1)写出T0定时器的方式控制字,T0定时器初值计算。(4分)T0定时器的方式控制字TMOD=00000010B或02HT0定时器初值计算:当系统选用6MHz晶体振荡器时,计数周期为2μS产生周期为1ms的方波信号,定时时间为500μS,初值=256-500/2=06H(2)试采用中断方式分别用汇编语言和C51语言编写程序完成此功能。(10分)TCON:TF1TR1TF0TR0IE1IT1IE0IT0TMOD:GATEC/TM1M0GATEC/TM1M0IE:EA—ET2ESET1EX1ET0EX0汇编语言:ORG0000HLJMPMAINORG000BH;中断处理程序CPLP1.0RETIORG0100H;主程序MAIN:MOVTMOD,#02HMOVTH0,#06HMOVTL0,#06HSETBEASETBET0SETBTR0SJMP$ENDC51语言:#includereg51.h//包含特殊功能寄存器库第5页共7页sbitP1_0=P1^0;voidmain(){TMOD=0x02;TH0=0x06;TL0=0x06;EA=1;ET0=1;TR0=1;while(1);}voidtime0_int(void)interrupt1//中断服务程序{P1_0=!P1_0;}2、将外部RAM4000H~401FH单元,共32字节传送到以40H为首址的内部RAM中。(10分)汇编语言:ORG0000HLJMPMAINMAIN:MOVR0,MOVDPTR,#4000HMOVR2,#32LOOP:MOVXA,@DPTRMOV@R0,AINCROINCDPTRDJNZR2,LOOPSJMP$ENDC51语言:#includereg51.h//包含特殊功能寄存器库#defineucharunsignedchar/*定义符号uchar为数据类型符unsignedchar*/#defineuintunsignedint第6页共7页voidmain(){ucharDATA*var1,i=0;uintXDATA*var2;var1=0x400var2=0x30while(i32){*var1=*var2;var1++;var2++;i++;}}六、应用题(共1题,每空2分,共16分)采用8255A扩展I/O口,并将其设置成基本输入输出方式,且各口均作输入用。现要从8255A的PA口输入50个数据,存到片内RAM30H开始的连续单元中,采用定时器T1定时,每隔100ms读入一个数据。已知8255A的控制口地址为8003H,晶振频率为6MHz,试将下列程序补充完整。ORG0000HLJMPSTARTORG001BH;T1中断服务程序入口LJMPBRT1ORG0030HSTART:MOVDPTR,#8003HMOVA,#9BHMOVX@DPTR,AMOVDPTR,#8000HMOVR0,#30HMOVR2,#50MOVTMOD,#10HMOVTH1,#3CHMOVTL1,#0B0HMOVIE,#88H第7页共7页SETBTR1SJMP$ORG0100HBRT1:MOVTH1,#3CHMOVTL1,##0B0MOVXA,#DPTRMOV@R0,AINCR0DJNZR2,EXITCLRET1EXIT:RETIEND8255方式控制字的格式如下图所示:D7D6D5D4D3D2D1D0B组C口低四位0:输出;1:输入B口0:输出;1:输入方式选择0:模式01:模式1A组C口高四位0:输出;1:输入A口0:输出;1:输入方式选择0:模式01:模式11×:模式2方式标志:1(有效)