1、单片机期末复习题24183一、判断题1在MCS51单片机内部结构中,TMOD为模式控制寄存器,主要用来控制定时器的启动与停止。F2在MCS51单片机内部结构中,TCON为控制寄存器,主要用来控制定时器的启动与停止。T3MCS51单片机的两个定时器的均有两种工作方式,即定时和计数工作方式。T48051单片机5个中断源相应地在芯片上都有中断请求输入引脚。F5可使用SETB TRi启动定时器工作。T6中断初始化时,对中断控制器的状态设置,只可使用位操作指令,而不能使用字节操作指令。F7MCS51单片机的中断允许寄存器的IE的作用是用来对各中断源进行开放或屏蔽的控制。T8编写中断服务程序时,应在中断入
2、口矢量地址处放一条无条件转移指令,以防止中断服务程序容纳不下。T9对串行口中断,CPU响应中断后,必须在中断服务程序中用软件清除相应的中断标志位,以撤消中断请求。T10串行口数据缓冲器SBUF是可以直接寻址的专用寄存器。T11如设外部中断0中断,应置中断允许寄存器IE的EA位和EX0位为1。T12当8031的定时器T0计满数变为0后,溢出标志位(TCON的TF0)也变为0。F13工作寄存器区不允许做普通的RAM单元来使用。F14工作寄存器组是通过置位PSW中的RS0和RS1来切换的。T15特殊功能寄存器可以当作普通的RAM单元来使用。F168051单片机复位后,PC指针初始化为0000H,使单
3、片机从该地址单元开始执行程序。T1751单片机响应中断后,所有中断请求标志位都由硬件自动清零。F18在51系列单片机中,中断服务程序从矢量地址开始执行,一直到返回指令RETI为止。T19在执行子程序调用或执行中断服务程序时都将产生压栈的动作。T20定时/计数器在工作时需要消耗CPU的时间。F21在51系列单片机的指令中,既有带借位的减法指令,又有不带借位的减法指令。F22串行通信的优点是只需一对传送线,成本低,适于远距离通信,缺点是传送速度较低。T23在异步通信的帧格式中,数据位是低位在前高位在后的排列方式。T24异步通信中,波特率是指每秒传送二进制代码的位数,单位是b/s。T25在8051的
4、串行通信中,串行口的发送和接收都是对特殊功能寄存器SBUF进行读/写而实现的。T26在单片机8051中,发送SBUF和接收SBUF在物理上是独立的,但地址是相同的。T27要进行多机通信,MCS-51串行接口的工作方式应为方式1。F28.中断服务程序的最后一条指令是RET。F29.P2口既可以作为I/O使用,又可以作地址/数据复用口使用。F30.在中断响应阶段CPU一定要做如下两件工作:保护断点和给出中断服务程序入口地址。T31.MOVA,30H的源操作数为立即寻址方式。F32.AJMP跳转空间最大可达到64KB。F33.定时器与计数器的工作原理均是对输入脉冲进行计数。T34.由于MCS-51的
5、串行口的数据发送和接收缓冲器都是SBUF,所以其串行口不能同时发送和接收数据,即不是全双工的串行口。F35.TMOD中GATE=1时,表示由两个信号控制定时器的启停。T36.当MCS-51上电复位时,堆栈指针SP=00H。F37.MCS-51的特殊功能寄存器分布在60H80H地址范围内。F38.执行返回指令时,返回的断点是调用指令的首地址。F39.MOV A,R0 这是寄存器寻址方式。T40.8051单片机的P0口既可以做数据口线又可以做地址口线 。 T41.8051单片机的P2口只能用作通用I/O 口。F42.程序存储器和数据存储器的作用不同,程序存储器一般用来存放数据表格和程序,而数据存储
6、器一般用来存放数据。F43.要进行多机通信,MCS-51串行接口的工作方式应为方式2或方式3。T44.MCS-51外扩I/O口与外扩RAM是统一编址的。T-二、选择题1.8031单片机的定时器T0用作计数方式时是_C_ 。 A由内部时钟频率定时,一个时钟周期加1 B由内部时钟频率定时,一个机器周期加1C由外部计数脉冲计数,下降沿加1 D由外部计数脉冲计数,一个机器周期加12.8031单片机的定时器T0用作定时方式时是_D_ 。 A由内部时钟频率定时,一个时钟周期加1 B由外部计数脉冲计数,一个机器周期加1 C外部定时脉冲由T0(P3.4)输入定时 D由内部时钟频率计数,一个机器周期加13.用8
7、031的定时器T1作定时方式,用模式1,则初始化编程为_C_ 。AMOV TOMD,#01H BMOV TOMD,#50H CMOV TOMD,#10H DMOV TCON,#02H 4.启动定时器1开始定时的指令是_D_ 。ACLR TR0 BCLR TR1 CSETB TR0 DSETB TR15.使8031的定时器T0停止计数的指令是_A_ 。ACLR TR0 BCLR TR1 CSETB TR0 DSETB TR16.下列指令判断若定时器T0计满数就转LP的是_D_ 。AJB T0,LP BJNB TF0,LP CJNB TR0,LP DJB TF0,LP 7.下列指令判断若定时器T0
8、未计满数就原地等待的是_B_ 。AJB T0,$ BJNB TF0,$ CJNB TR0,$ DJB TF0,$ 8.用8031的定时器T0定时,用模式2,则应_D_ 。A启动T0前向TH0置入计数初值,TL0置0,以后每次重新计数前要重新置入计数初值。 B启动T0前向TH0、TL0置入计数初值,以后每次重新计数前要重新置入计数初值。C启动T0前向TH0、TL0置入计数初值,以后不再置入。D启动T0前向TH0、TL0置入相同的计数初值,以后不再置入。9.8031单片机晶振频率fosc=12MHz,则一个机器周期为_B_ S。A12 B1 C2 D6 10.MCS51单片机定时器溢出标志是_D_
9、 。ATR1和TR0 BIE1和IE0 CIT1和IT0 DTF1和TF011.用定时器T1方式2计数,要求每计满100次,向CPU发出中断请求,TH1、TL1的初始值是_A_ 。A9CH B20H C64H DA0H12.MCS51单片机外部中断1和外部中断0的触发方式选择位是_C_ 。ATR1和TR0 BIE1和IE0 CIT1和IT0 DTF1和TF013.MCS51单片机定时器T1的溢出标志TF1,计满数产生溢出时不用中断方式而用查询方式,则应_B_ 。A由硬件清零 B由软件清零 C由软件置于 D可不处理14.MCS51单片机定时器T0的溢出标志TF0,若计满数产生溢出时,其值为是_C
10、_ 。A00H BFFH C1 D计数值15.MCS51单片机定时器T0的溢出标志TF0,若计满数在CPU响应中断后_A_ 。A由硬件清零 B由软件清零 CA和B都可以 D随机状态 16.8031响应中断后,中断的一般处理过程是_A_ 。A关中断,保护现场,开中断,中断服务,关中断,恢复现场,开中断,中断返回B关中断,保护现场,保护断点,开中断,中断服务,恢复现场,中断返回C关中断,保护现场,保护中断,中断服务,恢复断点,开中断,中断返回D关中断,保护断点,保护现场,中断服务,关中断,恢复现场,开中断,中断返回17.MCS51单片机串行口发送/接收中断源的工作过程是:当串行口接收或发送完一帧数
11、据时,将SCON中的_A_ ,向CPU申请中断。ARI或TI置1 BRI或TI置0 CRI置1或TI置0 DRI置0或TI置118.MCS51单片机响应中断的过程是_D_ 。A对应中断矢量地址装入PC B关中断,程序转到中断服务程序C断点压栈,PC指向中断服务程序地址D断点PC自动压栈,对应中断矢量地址装入PC,程序转到该矢量地址,再转至中断服务程序首地址19执行中断处理程序最后一句指令RETI后,_D_ 。A程序返回到ACALL的下一句 B程序返回到LCALL的下一句C程序返回到主程序开始处 D程序返回到响应中断时一句的下一句20.MCS51的串行口工作方式中适合多机通信的是_ B _ 。A
12、方式0 B方式3 C方式1 21.MCS51单片机响应中断矢量地址是_ C _ 。A中断服务程序的首句地址 B中断服务程序的出口地址C中断服务程序的入口地址 D主程序等待中断指令的地址22.MCS51单片机外部有40个引脚,其中,地址锁存允许控制信号引脚是_A_。A. ALE B. C. D. RST23.MCS51单片机串行口接收数据的次序是下述_B_的顺序 。(1)接收完一帧数据后,硬件自动将SCON的R1置1 (2)用软件将RI清零(3)接收到的数据由SBUF读出(4)置SCON的REN为1,外部数据由RXD输入A(1)(2)(3)(4) B(4)(1)(2)(3) C(4)(3)(1)
13、(2) D(3)(4)(1)(2)24.MCS51单片机串行口发送数据的次序是下述_A_的顺序 。(1)待发送数据送SBUF(2)硬件自动将SCON的TI置1(3)经TXD串行发送一帧数据完毕(4)用软件将TI清0A(1)(3)(2)(4) B(1)(2)(3)(4) C(4)(3)(1)(2) D(3)(4)(1)(2)25.一主程序中有一句LP:SJMP LP,功能指令为等待中断,当发生中断且中断返回后,_D_ 。A返回到主程序开始处 B返回到该句的下一条指令处C返回到该句的上一条指令处 D返回到该句26.8031单片机的_D_口的引脚,还具有外中断、串行通信等第二功能。A. P0 B.
14、P1 C. P2 D. P327.单片机应用程序一般存放在_B_。 A. RAM B. ROM C. 寄存器 D. CPU28.INTEL8051CPU是_C_位的单片机。 A. 16 B. 4 C. 8 D. 准1629.当需要从MCS-51单片机程序存储器取数据时,采用的指令为_B_。A. MOV A, R1 B. MOVC A,A + DPTRC. MOVX A, R0 D. MOVX A, DPTR30.8031单片机中既可位寻址又可字节寻址的单元是_A_ 。 A. 20H B. 30H C. 00H D. 70H31.MCS-51单片机复位操作的主要功能是把PC初始化为_C_。 A.
15、0100H B.2080H C.0000H D.8000H32.若单片机的振荡频率为6MHz,设定时器工作在方式1需要定时1ms,则定时器初值应为_C_ 。 A.500 B.1000 C.216-500 D.216-100033.当外部中断请求的信号方式为脉冲方式时,要求中断请求信号的高电平状态和低电平状态都应至少维持_A_。 A.1个机器周期 B.2个机器周期 C.4个机器周期 D.10个晶振周期34.8031单片机中,将累加器A中的数送入外RAM的40H单元,可执行的指令_D_。A.MOV R1 ,40H B. MOV R1 ,#40H C. MOVX 40H , A D. MOV R1,
16、 #40HMOVX R1 , A MOVX R1 , A MOVX R1 , A35.在中断服务程序中至少应有一条_D_。A. 传送指令 B. 转移指令 C. 加法指令 D. 中断返回指令36要用传送指令访问MCS-51片外RAM,它的指令操作码助记符是_B _。A. MOV B. MOVX C. MOVC D. 以上都行 37.执行LACLL 4000H指令时, MCS-51所完成的操作是_D_ 。A. 保护PC B. 4000HPC C. 保护现场 D. PC+3入栈, 4000HPC38.若某存储器芯片地址线为12根,那么它的存储容量为_C_ 。A. 1KB B. 2KB C.4KB D
17、.8KB39.PC中存放的是_A_ 。A. 下一条指令的地址 B. 当前正在执行的指令 C. 当前正在执行指令的地址 D. 下一条要执行的指令40.关于MCS-51的堆栈操作,正确的说法是_C_ 。A. 先入栈,再修改栈指针 B. 先修改栈指针,再出栈 C. 先修改栈指针,在入栈 D. 以上都不对41.某种存储器芯片是8KB*4/片,那么它的地址线根数是_C_ 。A. 11根 B. 12根 C. 13根 D. 14根42.用MCS-51用串行扩展并行I/O口时,串行接口工作方式选择_A_。A. 方式0 B. 方式1 C. 方式2 D. 方式343.MCS-51外扩ROM,RAM和I/O口时,它
18、的数据总线是_A_。A. P0 B. P1 C. P2 D. P344.对程序存储器的读操作,只能使用_D_。A. MOV指令 B. PUSH指令 C. MOVX指令 D. MOVC指令-三、简答题18031的扩展储存器系统中,为什么P0口要接一个8位锁存器,而P2口却不接。因为P0口是扩展存储器系统的低8位地址线和数据总线,在访问外部存储器时,P0口分时用作输出外部存储器低8位地址和传送数据。为了使整个访问外部存储器期间低8位地址信号始终有效,P0口需要外接一个地址锁存器。ALE信号就是用来把P0口输出的地址字节锁存在这个外接的锁存器中,再从锁存器输出外部存储器的低8位地址。而P2口只用作扩
19、展存储器系统的高8位地址线,并在整个访问外部存储器期间不变,所以不必外接地址锁存器。2简述51单片机中断的概念。 当CPU正在处理某件事情的时候,外部发生的某一事件请求CPU迅速去处理,于是,CPU暂时中止当前的工作,转去处理所发生的事件。中断服务处理完该事件以后,再回到原来被中止的地方,继续原来的工作,这样的过程成为中断。3什么是保护现场,什么是恢复现场。 保护现场:当CPU响应中断程序时,硬件会自动把断点地址(16位程序计数器的值)压入堆栈,但用户还须注意保护有关工作寄存器、累加器、标志位等信息。 恢复现场:在完成中断服务程序后,恢复原工作寄存器、累加器、标志位等的内容。451系列单片机具
20、有几个中断源,分别是如何定义的。51系列单片机具有5个中断源,分别是外部中断INT0和外部中断INT1、定时器溢出中断0和定时器溢出中断1以及串行中断。5各中断源对应的中断服务程序的入口地址是否能任意设定。 各中断源的入口地址已经在中断地址区中被定义了,不能任意设定。6在51系列单片机执行中断服务程序时,为什么一般都要在矢量地址开始的地方放一条跳转指令。 因为51系列单片机的两个相邻中断源中断服务程序入口地址相距只有8个单元,一般的中断服务程序是容纳不下的,因此一般都要在相应的中断服务程序入口地址处放一条跳转指令,转到实际存放中断服务程序的位置。7为什么一般都把主程序的起始地址放在0030H之
21、后。 因为0000H0030H中有中断的矢量地址,为了避免冲突,一般都把主程序的起始地址放在0030H之后。8如果想将中断服务程序放置在程序存储区的任意区域,在程序中应该作何种设置。 要将中断服务程序放置在程序存储区的任意区域,只要在对应的中断矢量入口处填写相应的跳转指令即可。 951系列单片机扩展外部程序存储器时,实际上还有多少条I/O线可以使用。 外接程序存储器时P0和P2口要用作数据和地址总线,所以只有P1和P3口可用作I/O口,共16条I/O线。在使用外部存储器时,除了占用P0和P2口外,还需要用P3口RD(P3.7)和WR(P3.6)两条控制线,所以这种情况下就只剩下14条I/O线可
22、用了。10数据指针DPTR和程序计数器PC都是16位寄存器,它们有什么不同之处? 数据指针DPTR是一个16位的寄存器,由2个8位特殊功能寄存器DPH和DPL拼装而成。DPH作DPTR的高8位,DPL作DPTR的低8位。因此,DPTR既可作为一个16位寄存器来使用,也可以作为二个独立的8位寄存器DPH和DPL使用。DPTR用作地址指针用来存放片内、片外ROM和片外RAM的地址,可寻址范围为64K地址空间寻址。 程序计数器PC是一个16位加1计数器,用来存放将要执行的指令地址,编码范围为0000HFFFFH共64K。-四、简单编程题1把累加器A中的低4位送到外部RAM的2000H单元中,试编程序
23、。ANL A,#OFHMOV DPTR,#2000HMOVX DPTR,A2利用乘法指令编写15H33H的程序,将乘积的高8 位存入31H单元,低8位存入30H单元MOV A,#15HMOV B,#33HMUL A,BMOV 31H,BMOV 30H,A3编写子程序,将片内35H55H单元中的内容送入到以3000H为首的存储区中。 MOV R0,#35H MOV R1,#21H MOV DPTR,#3000HLOOP:MOV A,R0 MOVX DPTR, A INC R0 INC DPTR DJNZ R1,LOOP RET4请将片外RAM 20H25H单元清零 MOV R0,#20H MOV
24、 R7,#06H CLR A LOOP:MOVX R0,A INC R0 DJNZ R7,LOOP 5请将ROM 3000H单元内容送R7 MOV DPTR,#3000H CLR A MOVC A,A+DPTR MOV R7,A 6已知在累加器A中存放一个BCD数(9),请编程实现一个查平方表的子程序。 SQR:INC A MOVC A,A+PC RET TAB:DB 0,1,4,9,16,25,36,49,64,817一个十六进制数存放在内部RAM的HEX单元的低4位中, 将其转换成ASCII码并送回 HEX单元。 HEXASC: MOV A, HEX ANL A, 0FH ADD A, 3
25、 ; 修改指针 MOVC A, A+PC MOV HEX, A ; 2字节指令 RET ASCTAB: DB 30H,31H,32H,33H,34H,35H,36H,37H,38H,39H,41H,42H,43H,44H,45H,46H8.有两个无符号数x、y分别存放在内部存储器50H、51H单元中,试编写一个程序实现x*10+y,结果存入52H、53H单元中。MOV R0,#50HMOV R1,#53HMOV A,R0MOV B,#0AHMUL AB INC R0ADD A,R0MOV R1,ADEC R1XCH A,BADDC A,#00HMOV R1,AEND-五、应用题1.某一8051
26、单片机系统,晶振频率为6MHz,现要从单片机的P1.7引脚输出一个连续的5Hz方波信号,请编写程序。解:5Hz的方波周期为200毫秒,高低电平各持续100毫秒,若晶振频率为6MHz,则机器周期为2微秒,故其计数值应为:N=100ms/2s=50000 采用方式1,计数初值=65536-50000=15536D=3CB0H ORG 0000H AJMP MAIN ;主程序 ORG 000BH AJMP T0INT ;T0中断入口 ORG 0100H MAIN: MOV SP, 60H MOV TMOD, #01H MOV TH0,#3CH MOV TL0,#0B0H CLR P1.7SETB E
27、A SETB ET0 SETB TR0 SJMP $T0INT: MOV TH0,#3CH MOV TL0,#0B0H CLP P1.7 RETI END2.试设计一个8051单片机的双机通信系统,编程将A机片内RAM中60H6FH的数据块通过串行口传送至B机片内RAM的60H6FH单元中。甲机发送(采用查询方式): MOV SCON, 80H ; 设置工作方式2 MOV PCON, 00H ; 置SMOD=0,波特率不加倍 MOV R0, 60H ; 数据区地址指针 MOV R2, 10H ; 数据长度LOOP: MOV A, R0 ; 取发送数据 MOV C, P ; 奇偶位送TB8 MO
28、V TB8, C MOV SBUF, A ; 送串口并开始发送数据WAIT: JBC TI, NEXT ; 检测是否发送结束并清TI SJMP WAITNEXT: INC R0 ; 修改发送数据地址指针 DJNZ R2, LOOP END乙机接收(查询方式):MOV SCON, 90H ; 模作模式2, 并允许接收MOV PCON, 00H ; 置SMOD=0MOV RO, 60H ; 置数据区地址指针 MOV R2, 10H ; 等待接收数据长度LOOP: JBC RI, READ ; 等待接收数据并清RI SJMP LOOPREAD: MOV A, SBUF ; 读一帧数据 MOV C, PJNC LP0 ; C不为1转LP0JNB RB8, ERR ; RB8=0, 即RB8不为P转ERRAJMP LP1LP0: JB RB8, ERR ; RB8=1,即RB8不为P转ERRLP1: MOV R0, A ; RB8=P,接收一帧数据INC R0DJNZ R2, LOOP ERR: ; 出错处理程序 END3.8255A的PA口接一组开关,PB口接一组指示灯。编写子程序将R2的内容送指示灯显示
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1