《单片机原理及应用》习题一、填空题1.单片机与普通计算机的不同之处在于其将_CPU__、存储器和__I/O_3部分集成于一块芯片之上。2.CPU主要由运算器和控制器组成。CPU中的布尔处理器用来处理位操作。3.MSC-51系列单片机中,片内无ROM的机型是8031,有4KBROM的机型是_8051_,而有4KBEPROM的机型是8751。4.-32的补码为11100000B,补码11011010B代表的真值为_-38__D。5.原码数BFH=_-63_D,原码数6EH=_110_D。6.100的补码=_64_H,-100的补码=9CH7.在8031单片机内部,其RAM高端128个字节的地址空间称为特殊功能寄存器或SFR区,但其中仅有_21_个字节有实际意义。8.通常单片机上电复位时PC=_0000_H,SP=_07_H,通用寄存器则采用第_0_组,这一组寄存器的地址范围是从_00H~_07_H。9.若PSW为18H,则选取的是第_3__组通用寄存器。10.8031单片机复位后R4所对应的存储单元地址为_04_H,因上电时PSW=_00_H。11.若A中数据为63H,那么PSW的最低位(即奇偶位P)为_0_。12.在微机系统中,CPU是按照程序计数器PC来确定程序的执行顺序的。13.在8031单片机中,使用P2、P0口传送地址信号,且使用了P0口来传送数据信号,这里采用的是总线复用技术。14.堆栈遵循先进后出(或后进先出)的数据存储原则,针对堆栈的两种操作为_PUSH_和_POP_。15.当8051地RST端上保持两个机器周期以上低电平时,8051即发生复位。16.使用8031单片机时需将EA引脚接_低__电平,因为其片内无程序存储器。17.8位机中的补码数80H和7EH的真值分别为_-128__和_127。18.配合实现“程序存储自动执行”的寄存器是_PC_,对其操作的一个特别之处是每取完一字节指令后PC内容会自动加1。19.MCS-51单片机PC的长度为_16_位;SP的长度为_8_位,数据指针DPTR的长度为_16_位。20.8051单片机的RST引脚的作用是对单片机实行复位操作,其操作方式有上电自动复位和按键手动复位两种方式。21.I/O端口与外部设备之间传送的信息可分为_三__类。22.8051片内有256B的RAM,可分为四个区,00H~1FH为工作寄存器区;20H~2FH为位寻址区;30H~7FH为堆栈、数据缓冲区;80H~FFH为特殊功能寄存器区。23.MCS-51单片机系列有_5__中断源。上电复位时,同级中断源的优先级别从高至低为外部中断源0、定时器0、外部中断1、定时器1和串行口,若IP=00010100B,则优先级别最高者为外部中断1、最低者为定时器1。24.储存器的主要功能是存储指令和数据。25.若你正在编辑某个文件,突然断电,则计算机中RAM类型存储器中的信息全部丢失,且通电后也不能自动恢复。26.8051在物理结构上只有四存储空间,它们分别是片内程序存储器、片外程序存储器、片内数据存储器、片外数据存储器;但在逻辑结构上只有三个存储空间,它们分别是片内外统一编址的64KB程序存储器、片内256B的数据存储器和片外64KB的数据存储器。27.I/O端口作为通用输入输出口时,在该端口引脚输入数据时,应先向端口锁存器进行写“1”操作。28.8051单片机其内部有21个特殊功能寄存器,其中11个可以位寻址。29.在一般情况下实现片选的方法有两种,分别是线选法和译码法。30.起止范围是0000H~3FFFH的存储器的容量是16KB。31.11根地址线可选2048(或2KB或211)个存储单元,16KB存储单元需要14根地址线。32.MCS-51机中扩展I/O口占用片外__数据__存储器地址空间。33.MCS-51单片机访问片外存储器时利用通信ALE_信号锁存来自_P0__口的低八位地址信号。34.半导体存储器的最重要的两个指标是存储容量和存取速度。35.32KBROM的首地址若为2000H,则末地址是9FFFH。36.MOVA,#30H是立即寻址方式。MOVXA,@DPTR是寄存器间接寻址方式。(注:指原操作数的寻址方式)37.通过堆栈操作实现子程序调用,首先就要把PC的内容入栈,以进行断点保护。38.在基址加变址寻址方式中,以A作变址寄存器,以PC或DPTR作基址寄存器。39.假定累加器A中的内容为30H,执行指令:1000H:MOVCA,@A+PC后,把程序存储器1031H单元的内容送入累加器A中。40.访问8031片外数据存储器采用的是寄存器间址的寻址方式。41.指令格式由操作码和操作数两部分组成。42.寻址方式分为对指令的寻址和对数据的寻址两大类。43.一个完整的中断过程可分为中断请求、中断响应、中断处理和中断返回四部分。44.中断请求信号有电平触发和__边沿__触发两种触发方式。45.MCS-51单片机8031中有_2_个_16_位的定时器/计数器,可以被设定的工作方式有_4_种。46.若系统晶振频率为12MHZ,则T0工作于方式0时的最大定时时间是8.192ms,工作于方式2时的最大计数脉冲个数是256个。47.欲对300个外部事件计数,可以选用定时/计数器T1的模式_0或模式__1_。48.若系统晶震频率为6MHZ,则时钟周期为__0.167_us,机器周期为_2_us,最短和最长指令周期分别为__2_us和__8_us。49.若单片机的晶振频率fosc=8MHZ,则执行一条MULAB指令所需时间为__6_us。二、判断说明题(注意其逆命题)1.在微机性能指标中,CPU的主频越高,其运算速度越快。√2.微型计算机与一般计算机的主要区别是体积小、重量轻、耗电少、价格便宜。╳3.在MCS-51系统中,一个机器周期等于1μS。╳4.PC可以看做是指令存储区的地址指针。√5.SP内装的是栈顶首址的内容。╳6.指令周期是执行一条指令的时间。╳7.所有计算机系统的堆栈都是向地址高端逐渐生长的,即均为“向上生成”堆栈。╳8.输入/输出设备必须通过I/O接口才能接到系统总路线上和主机进行信息交换。√9.MCS-51中的P0口可以分时复用为数据口和地址输出口。√10.当P2口的某些位用作地址线后,其它位不可以用作I/O口线使用。√11.为使准双向的I/O口工作在输入方式,必须保证它被预置为“1”。√12.若外设控制器中的寄存器和主存单元统一用主存地址编址,那么在计算机的指令系统中可以不设专门的I/O指令。√13.通常每个外设设备都有一个端口寄存器与主机交换信息,因此,主机只能用一个唯一地址来访问一个外部设备。╳14.8031单片机的有效复位电平是低电平。╳15.锁存器、三态缓冲寄存器等简单芯片中没有命令寄存和状态寄存等功能。√16.EPROM中存放的信息在计算机执行程序时只读,且断电后仍能保持原有的信息。√17.8031的CPU是由RAM和EPROM所组成。╳18.内部RAM的位寻址区,只能供位寻址使用,而不能供字节寻址使用。╳19.MCS-51系列单片机的内部特殊功能寄存器的数量是相同的。╳五、程序分析题(请根据各题具体要求填写答案)。1.设A=83H,R0=17H,(17H)=34H;写出下列程序中每条指令执行后的结果:ANLA,#17H;(A)=03HORL17H,A;(17H)=37HXRLA,@R0;(A)=34HCPLA;(A)=0CBH2.设内部RAM中59H单元的内容为50H,写出当执行下列程序段后寄存器A=25H,R0=50H,50H=00H,51H=25H。MOVA,59H;(A)=50HMOVR0,A;(R0)=50HMOVA,#00H;(A)=00HMOV@R0,A;(50H)=00HMOVA,#25H;(A)=25HMOV51H,A;(51H)=25HMOV52H,#70H;(52H)=70H5.设A=40H,R1=23H,(40)=05H。执行下列两条指令后,累加器A和R1以及内部RAM中40H单元的内容各为何值?XCHA,R1;(A)=23H,(R1)=40HXCHDA,@R1;(A)=25H,(40H)=03H6.程序执行前有(40H)=88H,问:①程序执行后(40H)=F8H②归纳出该程序完成的是何种功能。答:对片内RAM的40H单元中的内容求补码。MOVA,40HJNBACC.7,GOCPLAINCAMOV40H,AGO:RET7.阅读程序并回答问题。设:R0=20H,R1=25H,(20H)=80H,(21H)=90H,(22H)=A0H,(25H)=A0H,(26H)=6FH,(27H)=75H,程序如下:CLRCMOVR2,#3LOOP:MOVA,@R0;第一次循环完成20H单元中的内容80H与25H单元中的内容A0H相加,结果送入20HADDCA,@R1;单元中,即(20H)=20H,(Cy)=1MOV@R0,AINCR0INCR1DJNZR2,LOOPJNCNEXTMOV@R0,ASJMP$NEXT:DECR0SJMP$程序执行后:(20H)=20H,(21H)=00H,(22H)=16H,(23H)=16H,Cy=1,A=15H,R0=23H,R1=28H8.请填写程序执行结果。已知执行前有A=02H,SP=40H,(41H)=FFH,(42H)=FFH,程序如下:POPDPHPOPDPLMOVDPTR,#3000HRLAMOVB,AMOVCA,@A+DPTRPUSHACCMOVA,BINCAMOVCA,@A+DPTRPUSHACCRETORG3000HDB10H,80H,30H,80H,50H,80H程序执行后:A=____H,SP=_____H,(41H)=_____H,(42H)=_____H,PC=_____H9.假定,SP=60H,A=30H,B=70H,执行下列指令:PUSHAPUSHB后,(SP),(61H)=,(62H)=。11.(第三章)如果DPTR=507BH,SP=32H,(30H)=50H,(31H)=5FH,(32H)=3CH,则执行下列指令后:POPDPHPOPDPLPOPSP则:DPH=,DPL=,SP==。12.执行下列指令后,(A)=?(R0)=?(C)=?CLRAMOVR0,#03HLOOP:ADDA,R0DJNZR0,LOOPSJMP$13.分析下列程序执行的结果和A与C的内容,如果取消DAA指令,A和C为何值?CLRCMOV20H,#99HMOVA,20HADDA,#01HDAAMOV20H,ASJMP$14.试述下列程序执行结果,并逐条加以注释(1)MOVA,#10HMOVP2,#30HMOVR0,#50HJBP1.0,LP1MOVX@R0,ASJMPLP2LP1:MOV@R0,ALP2::SJMP$(2)MOVR0,#14HMOVDPTR,#1000HCL:CLRAMOVX@DPTR,AINCDPTRDJNZR0,CLSJMP$15.阅读下列程序并回答问题ORG0000HMOVR0,#32HMOVR2,#00HLOOP:MOVA,@R0CJNEA,#00H,DONINCR2DON:INCR0DJNZ31H,LOOPMOV30H,R2SJMP$END(1)说明该程序的功能。(2)31H中存放的是,R2是用来存放的计数器。(3)执行程序后31H中的值为。六、程序设计题(按下面要求编写相应的程序)1.数据块传送:试编程将片内40H~60H单元中的内容传送到以2100H为起始地址的存储区。2.工作单元清零:将内部50H开始的连续30个单元的内容清零。3.设一字符串存放在内部RAM以20H为首址的连续单元中,字符串以回车符CR(‘CR’=0DH)作为结束标志。标示统计该字符串字符B(‘B’=42H)的个数,并将其存入外部RAM的40H单元中。4.有一变量存放在片内RAM的20H单元,其取值范围为:00H~05H,要求编制一段程序,根据变量值得到变量的平方值,并将其存入片内RAM的21H单元。5.设a存放在30H单元