复习题及答案
(一) 选择题(在每个小题四个备选答案中选出一个正确答案,填在题的括号中) (二) 1、80C51基本型单片机内部程序存储器容量为(C)。 (三) (A)16K(B)8K(C)4K(D)2K (四) 2、在80C51单片机应用系统中,可以作为时钟输出的是(C)引脚。 (五) (A)(B)RST(C)ALE(D) (六) 3、在80C51的4个并行口中,能作为通用I/O口和高8位地址总线的是(C)。 (七) (A)P0(B)P1(C)P2(D)P3 (八) 4、当优先级的设置相同时,若以下几个中断同时发生,(D)中断优先响应。 (九) (A)(B)T1(C)串口(D)T0 (十) 5、在80C51中,要访问SFR使用的寻址方式为(A)。 (十一) (A)直接寻址(B)寄存器寻址(C)变址寻址(D)寄存器间接寻址 (十二) 6、以下的4条指令中,不合法的指令为(D)。 (十三) (A)INCA(B)DECA(C)INCDPTR(D)SWAPACC (十四) 7、当需要扩展一片8K的RAM时,应选用的存储器为(B)。 (十五) (A)2764(B)6264(C)6116(D)62128 (十六) 8、若想扩展键盘和显示,并希望增加256字节的RAM时,应选择(A)芯片。 (十七) (A)8155(B)8255(C)8279(D)74LS164 (十八) 9、80C51单片机要进行10位帧格式的串行通讯时,串行口应工作在(B)。 (十九) (A)方式0(B)方式1(C)方式2(D)方式3 (二十) 10、80C51复位初始化时未改变SP的内容,第一个入栈的单元地址为(A)。 (二十一) (A)08H(B)80H(C)00H(D)07H (二十二) (二十三) 二、填空题 (二十四) 1、计算机的经典结构由存储器、运算器、控制器、输入设备、输出设备组成。 (二十五) 2、80C51单片机基本型内部RAM有128个字节单元,这些单元可以分为三个用途不同的区域,一是工作寄存器区,二是位寻址区,三是通用数据区区。 (二十六) 3、在8051单片机中,由2个振荡周期组成1个状态周期,由6个状态周期组成1个
机器周期。 (二十七) 4、8051的堆栈是向地址的高端生成的。入栈时SP先加1,再压入数据。 (二十八) 5、对于80C51无嵌套的单级中断,响应时间至少3个机器周期,最多8个机器周期。 (二十九) (三十) 三、简答题 (三十一) 简述80C51单片机的I/O口的功能和特点; (三十二) 答:P0:地址总线低8位/数据总线和一般I/O口 (三十三) P1:一般I/O口 (三十四) P2:地址总线高8位和一般I/O口 (三十五) P3:第二功能和一般I/O口 (三十六) 4个口作为一般I/O时均为准双向口。
5、简述80C51单片机指令系统的特点及寻址方式。
答:111条指令,大多为单、双周期指令,速度快。指令字节多为单、双字节,省空间。寻
精心整理
址方式多(7种),操作灵活。有布尔指令集,控制应用方便。7种寻址方式为……。
四、程序阅读与分析题
1、试阅读下面的程序,指出该程序结束后累加器ACC和寄存器TH0的值,并说明该程序完成了怎样的功能。 ORG0000H MOVSP,#60H MOVA,#10H MOVTH0,#20H PUSHACC PUSHTH0 POPACC POPTH0 END 答:利用堆栈交换了ACC和TH0的内容,(A)=20H,(TH0)=10H 2、程序段如下,试说明其功能。 MOVR0,#50H MOVR1,#60H MOVA,@R0 ADDA,@R1 MOV@R0,A INCR0 INCR1 MOVA,@R0 ADDCA,@R1 MOV@R0,A MOV00H,C 答:双字节无符号数加法。被加数存放在内部RAM的51H、50H单元,加数存放在内部RAM的61H、60H单元,相加的结果存放在内部RAM的51H、50H单元,进位存放在位寻址区的00H位中。 五、综合应用题 1、设计一个80C31单片机最小系统。配备:时钟电路、上电及复位电路、8KEPROM、8KRAM。要求:画出电路图、标明必须的信号名称、芯片型号及其连接。(答略) 2、利用8155构建4×8键盘接口。画出与按键相关部分连接示意图,详细解释键扫描的过程。(答略)
3、设80C51单片机晶振频率为6MHz,定时器T0工作于方式1。要求80C51以中断方式工作并在P1.0引脚输出周期为500微秒的方波。试:计算初值、编写含有初始化功能的主程序和完成方波输出的中断服务程序。
答:机器周期为2微秒。定时时间250微秒。需要计数N=125
初值为65536-125=65411=FF83H,所以(TH0)=FFH,(TL0)=83H 工作方式设置:00000001B,即(TMOD)=01H
主程序:中断服务程序:(整体结构!) MOVTMOD,#01HMOVTH0,#0FFH MOVTH0,0FFHMOVTL0,#83H
精心整理
MOVTL0,#83HCPLP1.0 SETBEARETI SETBET0 SETBTR0 SJMP$
(二) 一、填空题
1、MCS-51单片机扩展程序存储器所用的控制信号为(MOVC),扩展数据存储器所用的控制信号为(RD)和(WR)。
2、关于堆栈类操作的两条指令分别是(PUSH)、(POP),操作遵循(先进后出)原则。 3、(程序状态)寄存器的作用是用来保存程序运行过程中的各种状态信息。若累加器A中的数据为01110010B,则PSW中的P=(0)。 4、若MCS-51单片机采用12MHz的晶振,它的机器周期(1μm),ALE引脚输出正脉冲频率为(1MHz),。 5、要使MCS-51单片机从片内的地址0000H开始执行程序。那么EA应(高电平)。 6、在片外扩展一片2764程序存储器芯片要(13地址线。 7、外部中断1(INT1)的中断入口地址为(0013H);定时器1的中断入口地为(001BH)。 8、8751有两个16位可编程定时/计数器,T0和T1。它们的功能可由控制寄存器(TCON)、(TMOD)的内容决定,且定时的时间或计数的次数与(TH)、(TL)两个寄存器的初值有关。 9、欲使P1口的低4位输出0,高4位不变,应执行一条(ANLP1,#0F0H)命令。 10、串行口的控制寄存器SCON中,REN的作用是(允许串行接收位)。 二、判断题 1、指令字节数越多,执行时间越长。(×) 2、内部寄存器Rn(n=0-7)作为间接寻址寄存器。(×) 3、当MCS—51上电复位时,堆栈指针SP=00H。(×) 4、CLRR0(×) 5、EPROM的地址线为11条时,能访问的存储空间有4K。(√) 6、51单片机只能做控制用,不能完成算术运算。(×) 7、为了消除按键的抖动,常用的方法只有硬件方法(×)
8、必须有中断源发出中断请求,并且CPU开中断,CPU才可能响应中断(√) 9、8155的复位引脚可与89C51的复位引脚直接相联。(√) 10、MCS—51的串行接口是全双工的。(√) 三、简述题
1、为什么外扩存储器时,P0口要外接锁存器,而P2口却不接?
精心整理
P0口要传送外部数据存储器的低8位地址和8位数据,(2分)而P2口只传送外部数据存储器的高8位地址。
2、已知一MCS51单片机系统使用12MHZ的外部晶体振荡器,计算: 1)该单片机系统的状态周期与机器周期各为多少? 状态周期=2/fosc=0.167μm机器周期=12/fosc=1μm
2)当单片机的定时器0(T0)工作在方式2时,T0的最大定时时间为多少? TMAX=28×机器周期256×1=256μm
3、、在由8031CPU芯片设计的系统中,若规定外部中断0为电平触发方式,高优先级,此时,特殊功能寄存器TCON、IE、IP为多少? TCON=00HIE=81HIP=01H 4、执行下列程序段中第一条指令后: (P1.7)=(0),(P1.3)=(0)(P1.2)=(0); 执行第二条指令后: (P1.5)=(1),(P1.4)=(1),(P1.3)=(1)。 ANLP1,#73H ORLP1,#38H 参考答案 (三)
一、填空题(每空1分,共10分) 1.当使用8031单片机时,需要扩展外部程序存储器,此时EA应为低电平 2.P0通常用作单片机系统的地址/数据总线 3.若由程序设定RS1、RS0=10,则工作寄存器R0~R7的直接地址为10H~17H 4.返回地址(或断点)是_在程序中断或子程序调用时的程序计数器的内容。 5.中央处理器CPU是单片机的核心,它完成运算和控制功能 6.单片机的工作过程,实际上就是周而复始地取指令和执行指令的过程 7.所谓中断源即是引起中断的原因(或能发出中断请求的来源) 8.端口(或称口)是接口电路中已编址并能进行读或写操作的寄存器 9.异步串行近程通信时的传送信号是_TTL电平信号 10.若累加器A中的数据为01110010B,则PSW中的P=0
精心整理
二、单项选择题(在每小题的四个备选答案中,选出一个正确答案,并将正确答案的序号填在题干的括号内。每小题1分,共10分)
1.MCS—51单片机的复位信号是(?A)有效。 A.高电平??B.低电平??C.脉冲??D.下降沿
2.若MCS-51单片机使用晶振频率为6MHz时,其复位持续时间应该(?B?)。 A.2μs??B.4μs??C.8μs??D.1ms
3.若PSW.4=0,PSW.3=1,要想把寄存器R0的内容入栈,应使用(D)指令。 A.PUSH??R0??B.PUSH??@R0 C.PUSH??00H??D.PUSH??08H 4.能够用紫外光擦除ROM中程序的只读存储器称为(?C?)。 A.掩膜ROM??B.PROM??C.EPROM??D.EEPROM 5.在片外扩展一片2764程序存储器芯片要(?B?)地址线。 A.8根??B.13根??C.16根??D.20根 6.定时器/计数器工作方式1是(?D?)。 A.8位计数器结构??B.2个8位计数器结构 C.13位计数结构??D.16位计数结构 7.设MCS-51单片机晶振频率为12MHz,定时器作计数器使用时,其最高的输入计数频率应为(C??) A.2MHz??B.1MHz??C.500KHz??D.250KHz 8.已知1只共阴极LED显示器,其中a笔段为字形代码的最低位,若需显示数字1,它的字形代码应为(A??)。
A.06H??B.F9H??C.30H??D.CFH
9.下列数据字定义的数表中,(C??)是错误的。 A.DW“AA”??B.DW“A” C.DW“OABC”??D.DWOABCH
10.串行口的控制寄存器SCON中,REN的作用是(?C?)。
精心整理
A.接收中断请求标志位??B.发送中断请求标志位 C.串行口允许接收位??D.地址/数据位 三、简答题(每小题4分,共20分)
1.简述堆栈。
(1)在程序中断或子程序调用时,为了保护返回地址(断点)和保护现场而设立的RAM区。 (2)用MOVSP,#STK指令建立堆栈。 (3)存放数据按“后进先出”原则进行。 (4)利用PUSH、POP指令即可进行进栈、出栈操作。 2.简述变址寻址方式并举例说明。 (1)变址寻址是以DPTR或PC作基址寄存器,累加器A作变址寄存器以两者内容相加形式的16位地址作为操作数地址。 (2)变址寻址只能对移定存储器寻址,其指令只有三条: MOVCA,@A+DPTR MOVCA,@A+PC JMP@A+DPTR 前二条为查表指令,后一条为无条件转移指令 3.简述中断响应的主要内容。 由硬件自动生成一条调用指令LCALL转去中断服务,具体操作为: (1)将程序计数器PC的内容(断点)压栈 (2)将中断入口地址装入PC,转去执行中断服务程序
4.简述汇编语言中的标号有什么规定
(1)标号由1—8字符组成,头一个字符必须是字母。 (2)不能使用汇编语言已定义的符号。 (3)标号后必须跟冒号:
(4)同一标号在一个程序中只能定义一次。
精心整理
5.A/D转换器转换数据的传送有几种方式 四、读程序(每小题4分,共20分) (1)定时传送方式:A/D启动后,调用延时时间大于转换时间的延时程序后即可读取。 (2)查询方式:A/D启动后,查询EOC(转换结束信号),转换一完成即可读取转换数据。 (3)中断方式:将EOC作为外中断请求信号,转换一结束,即引起中断,读取转换数据。
四、读程序
1.执行下列程序段中第一条指令后,(1)(P1.7)=0??(P1.3)=0(P1.2)=0;执行第二条指令后,(2)(P1.5)=1,(P1.4)=1,(P1.3)=1 ANL??P1,#73H ORL??P1,#38H 2.下列程序段执行后,(A)=0DH,(B)=11H. MOV??A,#0FBH MOV??B,#12H DIV??AB 3.下列程序段执行后,(R0)=EH,(7EH)=FFH,(7FH)=3FH.
MOV??R0,#7FH MOV??7EH,#0 MOV??7FH,#40H DEC??@R0 DEC??R0 DEC??@R0 4.已知(SP)=09H,(DPTR)=4567H,在执行下列指令后,(SP)=0BH,内部RAM(0AH)=67H,(0BH)=45H PUSH??DPL PUSH??DPH
5.下列程序中注释的数字为执行该指令所需的机器周期数,若单片机的晶振频率为6MHz,问执行下列程序需要多少时间 MOVR3,#100;1 LOOP:NOP??;1 NOP NOP
DJNZ??R3,LOOP??;2 RET??;??2
一个机器周期为2μs
精心整理
执行程序所需时间T=2μs*(5×100+3)=1006μs≈1ms 五、编程题(每小题4分,共20分)
1.请使用位操作指令,实现下列逻辑操作:
P1.5=ACC.2∧P2.7∨ACC.1∧P2.0 先进行与操作,再进行或操作程序如下:
MOV??C,ACC.1 ANL??C,P2,0 MOV??12H,C MOV,C,A??CC.2 ANL??C,P2.7 ORL??C,12H MOV??P1.5,C RET 2.在外部RAM首地址为TABLE的数据表中有10个字节数据,请编程将每个字节的最高位无条件地置1. MOV??R2,#10 MOV??DPRT,#TABLE LOOP:??MOV??X??A,@DPRT;取一数 ORL??A,#80H;最高位置1 MOV??X??@DPTR,A;写回原地址 1NC??DPTR;处理下一单元 DJNZ??R2,LOOP RET 3.已知内部RAM??30H单元开始存放20H个数据,将其传送到外部RAM的0000H单元开始的存储区,请编程实现。 MOV??R0,#30H MOV??R1,#00H MOV??R2,#20H LOOP:MOV??A,@R0;取数 MOV??X??@R1,A;存数 1NC??R0 1NC??R1
DJNZR2,LOOP RET
4.已知8个无符号数之和存于R3R4,求其平均值,结果仍存于R3R4中,请编程实现(R3为高字节)。
利用移位指令作除8操作,程序如下: MOV??R2,#3 LOOP:CLR??C MOV??A,R3
RRC??A??;高字节除以2,末位移入C,高位补0
精心整理
MOV??R3,A??;暂存高字节 MOV??A,R4
RRC??A??;低字节除以2,高字节末位移入低字节高位 MOV??R3,A DJNZR2,LOOP RET
5.两个字符串分别存放在首地址为42H和52H的内部RAM中,字符串长度放在41H单元,请编程比较两个字符串。若相等,则把数字00H送40H单元,否则把0FFH送40H单元。 有一个字节不等,整个字符串不相等,所有字节相等,两字串才相等 MOV??R0,#42H MOV??R1,#52H LOOP:MOV??A,@R0 CLR??C??;不相等,FFH→40H SUBBA,@R1 JNZ??LOOP1??;相等时,比较下一字节 INC??R0 INC??R1 DJNZ??41H,LOOP MOV??40H,#0??;所有字符均相等,则两字串相等。 RET LOOP1:MOV??40H,#0FFH RET 六、综合应用题(每小题10分,共20分) 1.用8031单片机,并采用一片2716(2KB)和一片6116(2KB)组成一个既有程序存储器又有数据存储器的扩展系统,请: (1)画出逻辑电路图 (2)说明其存储空间 芯片P2.2P2.1P2.0P0.7……P0.0地址范围 27160000…00000H …
1111…107FFH 61160000…00000H
1111…107FFH (四)
一、填空题
1、当P1口做输入口输入数据时,必须先向该端口的锁存器写入(FF ),否则输入数据可能出错。
2、中断源的优先级别被分为高级和低级两大级别,各中断源的中断请求是属于什么级别是由(IP )寄存器的内容决确定的。
3、寄存器PSW中的RS1和RS0的作用是(选择工作寄存器组)。
精心整理
4、LED数码显示有(静态显示)和(动态显示)两种显示形式。
5、当单片机CPU响应中断后,程序将自动转移到该中断源所对应的入口地址处,并从该地址开始继续执行程序,通常在该地址处存放转移指令以便转移到中断服务程序。其中INT1的入口地址为(0013H),串行口入口地址为(0023H),T0的入口地址为(000BH)。
6、用汇编语言编写的程序称为(源)程序,通过汇编后得到的用机器码表示的程序称为(机器)程序。
7、堆栈的地址由SP的内容确定,其操作规律是“先进后出”。 8、扩展并行I/O口时,常采用(8255)和(8155)可编程芯片。
9、编程时,一般在中断服务子程序和调用子程序中需用保护和恢复现场,保护现场用(PUSH)指令,恢复现场用(POP)指令。 10、?能在紫外线照射下擦除和重写的存储器是(EPROM)型存储器,能够直接在线路中快速写入和读出的存储器是(flashROM)型存储器。 11、单片机内部与外部ROM之间的查表指令是(MOVCA,@A+PC)。 二、选择题(从备选答案中选择一个正确答案,并将代号写在括号内。每题1分,共10分) 1、在程序状态寄存器PSW中,判断是否有借/进位的标志位是(A),若选择寄存器工作组时标志位应是(C)。 A、CYB、ACC、RS1D、RS0E、OVF、P 2、在实训线路板中,8155芯片的片选端(CE)如果由单片机P2口P2.7,P2.6,P2.5经74LS138Y2译码决定,寄存器/存储器片选端(IO/M)如果由P2.4线选决定。当将8155做键盘/显示器控制口使用时,其A口地址应为(B),当将8155作存储器使用时,其存储器首地址应为(C)。 A、4401HB、4801HC、4000HD、4800H 3、在程序运行过程中执行PC=0200H的一条指令LCALLaddr16,该调用子程序的返回指令是(B),实施该调用指令时,压入堆栈保存的程序地址是(F)。 A、RETIB、RETC、END D、2000HE、0102HF、0203H 4、在单片机中,(C)是数据存储器,(A)是程序存储器。 A.ROMB.EPROMC.RAMD.EEPROME.FLASH 5、定时/计数器有4种操作模式,它们由(B)寄存器中的M1M0状态决定。 A.TCONB.TMODC.PCOND.SCONE.PSW
6、单片机复位后,SP的内容为07H、PC、PSW、A的内容为00H,P0~P3口的内容都是为(B)。 A.0FHB.FFHC.08HD.07HE.00H 三、判断题:
1、8051每个中断源相应地在芯片上都有其中断请求输入引脚(×)?? 2、程序计数器PC不能对它进行读写操作(√)??
精心整理
3、8051单片机的栈底单元是不能利用的,因此,它是一个闲置单元(×)?? 4、8051单片机对最高优先权的中断响应是无条件的(×)??
5、中断初始化时,对中断控制器的状态设置,只可使用位操作指令,而不能使用字节操作指令(×)??
6、在一般情况8051单片机允许同级中断嵌套(×)??
7、8051单片机,程序存储器数和数据存储器扩展的最大范围都是一样的(√)?? 8、单片机系统扩展时使用的锁存器,是用于锁存高8位地址(×)?? 9、?RC??A为循环左移指令(×)?? 10、MOV??A,30H为立即寻址方式(×)?? 四、简答题 1、MCS-51单片机的时钟周期与振荡周期之间有什么关系?一个机器周期的时序如何划分? 时钟周期是单片机最基本的时间单位。机器周期则是完成某一个规定操作所需的时间。一个机器周期为6个时钟周期,共12个振荡周期性,依次表示为S1P1、S1P2、……S6P1、S6P2。 《单片机原理及接口技术》试卷(闭卷A卷) 一.单项选择题(每题1分,共20分) 1.DPTR为(C) A.程序计数器B.累加器C.数据指针寄存器D.程序状态字寄存 2.PSW的Cy位为(B) A.辅助进位标志B.进位标志C.溢出标志位D.奇偶标志位 3.MCS-51单片机片内ROM容量为(A) A.4KBB.8KBC.128BD.256B 4.MCS-51单片机片要用传送指令访问片外数据存储器,它的指令操作码助记符是以下哪个?(B) A.MULB.MOVXC.MOVCD.MOV 5.direct表示(C) A.8位立即数B.16位立即数C.8位直接地址D.16位地址 6.堆栈指针SP是一个(A)位寄存器 A.8B.12C.13D.16 7.定时器/计数器工作方式选择中,当M1M0=11时,其工作方式为(D) A.方式0B.方式1C.方式2D.方式3 8.定时器/计数器工作方式0为(A) A.13位定时/计数方式B.16位定时/计数方式 C.8位可自动装入计数初值方式D.2个8位方式 9.MCS-51的最小时序定时单位是(A) A.节拍B.状态C.机器周期D.指令周期 10.#data表示(A)
A.8位直接地址B.16位地址C.8位立即数D.16位立即数 11.主频为12MHz的单片机它的机器周期为(C) A.1/12微秒C.1微秒D.2微秒
12.MCS-51单片机在同一优先级的中断源同时申请中断时,CPU首先响应(A)。 A.外部中断0B.外部中断1C.定时器0中断D.定时器1中断 13.MOVCA,@A+PC指令对于源操作数的寻址方式是(D) A.寄存器间接寻址B.寄存器寻址C.立即寻址D.变地寻址
精心整理
14.PSEN为(C)
A.复位信号输入端B.地址锁存允许信号输出端
C.程序存储允许输出端D.程序存储器地址允许输入端
15.MCS-51单片机的一个机器周期由(D)个振荡脉冲组成。 A.2B.4C.6D.12
16.MOVCA,#30H指令对于源操作数的寻址方式是(C) A.寄存器间接寻址B.寄存器寻址C.立即寻址D.变地寻址 17.计算机能直接识别的语言为(B)
A.汇编语言B.机器语言C.自然语言D.硬件和软件 18.PSW的OV位为(C) A.辅助进位标志B.进位标志C.溢出标志位D.奇偶标志位 19.在单片机中(A)为程序存储器。 A.ROMB.RAMC.EPROMD.EEPROM 20.能用紫外线光擦除ROM中的程序的只读存储器为(C) A.掩膜ROMB.PROMC.EPROMD.EEPROM 二、填空(每题2分,共10分) 1、从单片机系统扩展的角度出发,单片机的引脚可以构成三总线结构,即数据总线、地址总线和控制总线。 2、ALE信号的作用是锁存低8位地址信号 3、MOVA,40H指令对于源操作数的寻址方式是直接寻址。 4、PC存放的内容为:下一条要执行的指令的地址 5、MCS-8051系列单片机字长是8位,有40根引脚。 三、简答题:(共25分) 1、什么是单片机?简述单片机的应用领域。(15分) 单片微型计算机简称单片机,它是把微型计算机的各个功能部件:中央处理器CPU、随机存储器RAM、只读存储器ROM、定时/计数器及I/O接口电路等集成在一块芯片上,构成一个完整的微型计算机。 应用领域:(1)单片机在智能仪器仪表中的应用;(2)单片机在工业控制中的应用;(3)单片机在计算机网络与通信技术中的应用;(4)单片机在日常生活及家电中的应用。 MOVA,#30H MOV50H,A MOVR6,31H MOV@R1,31H MOVP1,32H 上述指令执行后的操作结果为: (A)=AAH, (50H)=AAH, (R6)=BBH, (32H)=BBH, (P1)=CCH
五、分析执行如下指令后,PSW中的Cy、Ac、OV、P各为多少?A中的结果用十进制表示是多少?(15分) MOVA,#85H ADDA,#0AEH
Cy=1,Ac=1,OV=1,P=0。(A)=307
六、编程题:(每小题10分,共20分)
1、在程序中定义一个0——9的平方表,利用查表指令找出累加器A=03的平方值。(10分)
精心整理
ORG0050H
MOVDPTR,#TABLE;表首地址→DPTR MOVA,#;03→A
MOVCA,@A+DPTR;查表指令,25→A SJMP$;程序暂停
TABLE:DB0,1,4,9,16,25,36,49,64,81;定义0——9平方表
END
2、试采用两种方法编制程序,开放定时器T1的溢出中断。(10分) MOVIE,88H
因篇幅问题不能全部显示,请点此查看更多更全内容