湖南师范大学单片机复习题.docx
《湖南师范大学单片机复习题.docx》由会员分享,可在线阅读,更多相关《湖南师范大学单片机复习题.docx(15页珍藏版)》请在冰豆网上搜索。
湖南师范大学单片机复习题
《单片机原理与应用》复习提纲
一、复习范围
1.单片机的基本结构。
2.单片机内部结构、存储器结构、I/O口操作、专用功能寄存器、位寻址区及位操作。
3.定时/计数器结构,工作方式,方式字、控制字,时间常数的计算,初始化编程。
4.串行通信数据帧格式、工作方式、波特率时钟频率的计算、初始化编程。
5.中断源、中断优先级、中断入口地址、中断触发方式、外中断的扩展、中断编程。
6.熟记指令系统及各条指令的应用。
7.89C51单片机的PSW寄存器各位标志的意义如何?
二、复习题
(一)填空题
1、CPU包括两个主要部分,即(运算器)和(控制器)。
2、89C51单片机的四个存储空间是(片内数据存储器)、(片外数据存储器)、(片内程序存储器)、(片外程序存储器)。
*ROM只是存储器的一种
3、工作寄存器区的选择是由PSW的(D4/RS1PSW.3(RS0))和(D3/RS0PSW.4(RS1))位来决定的。
4、若由程序设定RS1、RS0=00,则工作寄存器R0~R7的直接地址为(00~07H)。
5、单片机的基本结构由(CPU系统)、(程序存储器ROM)、(数据存储器RAM)、时钟、定时计数器、I/O接口等几部分组成。
6、若由程序设定RS1、RS0=11,则工作寄存器R0的直接地址为(18H)。
7、MOVCA,@A+DPTR指令的寻址方式是(变址寻址基址寄存器加变址寄存器间接寻址)。
8、若累加器ACC中的数据为10000011B则PSW中的P=
(1)。
9、程序存储器常用来存放(程序)和(始终要保留的常数表格常数)。
10、若系统晶振频率为6MHz,则机器周期为(2微秒),最短和最长的指令周期分
别为(2微秒)和(8微秒10)。
11、读片外RAM数据的两条指令是(MOVXA,@Ri)、(MOVXA,@DPTR)。
12、PSW的字节地址为0D0H,其数据最高位的三种表示方法为0D7H、(OE7H)
和(OF7H)。
13、51系列单片机扩展程序存储器最大寻址范围为(0000H~FFFFH16条地址线)。
14、常用做间址寄存器用的两种寄存器是(R0)、(R1)。
15、片内RAM的位寻址区为(20H~2FH)字节地址段,其位地址范围为(00H~7FH)。
16、用一条指令实现累加器的数据高、低4位互换(SWAPA)。
17、写片外RAM数据的两条指令是(MOVX@Ri,A)、(MOVX@DPTR,A)。
18、89C51单片机有(128)字节片内数据存储器,有(4)个8位的I/O口。
19、89C51单片机有(5)个中断源,复位后中断优先级最高的中断源是(外部中断0),其中断入口地址是(0003H)。
20、MOVCA,@A+PC指令采用的是(变址基址寄存器加变址寄存器间接寻址)寻址方式。
21、SJMPrel指令的地址跳转范围是(-128~+127前128B~后127B),AJMPaddr11跳转范围是(2KB同一个2KB的页内),LJMPaddr16跳转范围是(64KB)。
22、PSW的字节地址为0D0H,其数据最低位的三种表示方法为P、(F1)和(0V)。
23、某一寄存器中的二进制编码为10011001B,把它当二进制数处理时其数值为(153),当BCD码处理时表示的十进制数为(99)。
24、89C51单片机DPTR的字长为(16)位。
25、89C51的外部中断触发方式可以是(电平触发方式)或(跳变触发方式)。
26、若89C51单片机晶振频率为12MHz,则机器周期为
(1)μs,ALE脉冲的频率为
(2)MHz。
27、关于堆栈操作的两条指令分别是(PUSHPUSHdirect)、(POPPOPdirect)。
28、89C51单片机复位完成时,各I/O口的电平状态为(FFH),SP为(07H)。
29、写出五种单片机常用的寻址方式(立即寻址)、(直接寻址)、
(寄存器间接寻址)、(变址寻址寄存器寻址)、(相对寻址基址寄存器加变址寄存器间接寻址)。
30、单片机复位完成时,P3口的值为(0FFH),PSW值为(00H)。
31、用一条指令实现累加器中数据高四位置1,低四位不变(ORLA,#0F0H)。
32、89C51单片机有(5)个中断源,可实现
(2)级中断嵌套。
33、89C51单片机的5个中断源的中断入口地址分别是(0003H)、(000BH)、(00013H)、(001BH)、(0023H)。
34、89C51单片机片内有(4KBROM)程序存储器,有(256B128B)片内RAM。
35、中断处理的四个阶段分别是(中断请求)、(中断响应)、(中断处理中断服务)、(中断返回)。
36、RET和RETI指令的主要区别是(RET是子程序返回RETI是中断返回,并且清中断标志,以保证能继续中断.)。
37、跟定时/计数器有关的SFR有TH0、TL0、TH1、TL1、(+TH2TMOD)和(+TH2TCON)。
38、常用(位寻址)指令来实现对片内RAM区进行数据检索。
(二)单选题
1、单片机89C51的ALE引脚是……………………………………(B)
A.高电平B.输出矩形脉冲,频率为fosc的1/6
C.输出低电平D.输出矩形脉冲,频率为fosc的1/2
2、89C51单片机的串行中断入口地址为…………………………………………(C)
A.0003HB.0013HC.0023HD.0033H
3、欲将P1口的高4位保留不变,低4位清0,可用指令………(A)
A.ANLP1,#0F0HB.ORLP1,#0FH
C.XRLP1,#0FHD.CPLP1
4、将十进制数125转换成对应的二进制数是……………………………………(A)
A.01111101BB.11101011BC.10010111BD.10101101B
5、上电复位后,SP的值为………………………………………(B)
A.0B.07HC.0FFHD.60H
6、单片机的堆栈指针SP始终是指示……………………………………………(B)
A.堆栈底B.堆栈顶
C.堆栈地址D.堆栈中间位置
7、可以控制程序转向64K程序地址空间的任何单元的无条件转移指令是……(B)
A.AJMPaddr11B.LJMPaddr16C.SJMPrelD.JCrel
8、在微型计算机中,负数常用的表示方法是………………………(C)
A.原码B.反码C.补码D.真值
9、主程序执行完调用子程序返回主程序后,堆栈指针SP的值应……………(D)。
A.不变B.加2C.加4D.减2
10、欲将P2口的高4位保留不变,低4位置1,可用指令……………………(B)
A.ANLP2,#0F0HB.ORLP2,#0FH
C.XRLP2,#0FHD.CPLP2
11、89C51单片机共有5个中断入口,在同一级别里,5个中断源同时发出中断请求时,程序计数器PC的内容将变为………………………(B)
A.000BHB.0003HC.0013HD.001BH
12、对于89C51单片机,其内部RAM…………………………………………(D)
A.只能位寻址B.只能字节寻址
C.都既可位寻址又可字节寻址D.少数存储单元能位寻址
13、用定时器T1方式2计数,要求每计满156次,向CPU发出中断请求,TH1、
TL1的初始值是………………………………………………………………(D)
A.9CHB.00HC.38HD.64H
14、89C51指令包括操作码和操作数,其中操作数是指……………(D)。
A.参与操作的立即数B.寄存器
C.操作数D.操作数或操作数地址
15、上电复位后,TMOD的值为………………………………………(D)
A.1B.07HC.FFHD.0
16、MCS—51汇编语言指令格式中,唯一不可缺少的部分是…………………(B)
A.标号B.操作码C.操作数D.注释
17、指令MOVA,@R1执行前(R1)=30H,(30H)=12H,执行后(ACC)=(B)。
A.00HB.12HC.30HD.40H
18、对于89C51单片机,其内部RAM………………………………(D)
A.只能位操作B.只能字节操作
C.既可位操作又可字节操作D.部分能位操作
19、可以控制程序在64K程序地址空间调用子程序的指令是……………(B)
A.ACALLaddr11B.LCALLaddr16C.JMP@A+DPTRD.LJMPaddr16
20、单片机TXD脚在串行通信空闲时间里的输出状态为………………………(A)
A.高电平B.低电平
C.高阻D.不确定
21、下列哪些SFR可进行位操作(C)
A.PCONB.TMOD
C.BD.DPTR
(三)判断题
1、LJMPaddr16指令能实现任意64KB范围内的跳转。
(Y)
2、单片机堆栈操作采用FILO结构。
(Y)
3、用一条指令能将位地址00H的数据传送到位地址27H。
(Y)
4、89C52片内有8KB的程序存储器。
(Y)
5、AJMPaddr11指令不能实现任意2KB范围内的跳转。
(Y)
6、89C51与8031的主要区别是:
8031片内无ROM。
(Y)
7、只要执行了RRCA指令,就可使ACC中的数据除2。
(X)
8、只要执行了RLCA指令,就可使ACC中的数据乘2。
(X)
9、指令CPLA;CPLP1.0;SETBEA都只操作一个位。
(X)
10、片内RAM从00H~1FH单元,只作工作寄存器使用。
(X)
11、已知:
DPTR=0FFFFH,执行INCDPTR后,结果:
(DPTR)=0000H。
(Y)
12、DECDPTR。
(X)
13、89C51片内RAM20H~2FH单元,只能位操作。
(X)
14、89C51单片机内部SFR都能进行位操作。
(X)
15、十进制数100的BCD码可以记为64H。
(Y)
16、89C51单片机复位后所有SFR的值都为00H。
(X)
17、89C51单片机在任何情况下都能实现两级中断嵌套。
(X)
18、MOVA,DPTR(X)
19、MOVPC,#0010H(X)
20、因为TMOD的每个位都有位助记符,所以可进行位操作。
(X)
(四)编程题:
1、编一查表程序,将(A)转换成其对应的以BCD码表示的平方值,(0≤(A)≤20)。
1:
MOVR0,#01H
MOVR1,#20
MOVR6,#00H
MOVR7,#00H
L1:
MOVA,R6
ADDA,R0
DAA
MOVR6,A
MOVA,R7
ADCA,R6
DAA
MOVR7,A
INCR0
DJNZR1,L1
2、编程实现1~20的BCD码累加。
2.
2、用循环程序实现片内RAM10H---3FH单元的数据依次传送到片内RAM的50H---7FH单元。
gai:
MOVR2,#30H
3、编写一拆字程序段,将ACC中的数据拆放于51H、50H单元。
4、编写程序实现片内RAM10H---7FH单元的数据依次传送到片外RAM从2000H开始的单元。
5、编写程序实现10H---3FH48个8位无符号数累加,累加和置于40H、41H单元,高8位在前,低8位在后。
ADDCA,RO
6、编写两个4位BCD码的求和子程序。
(30H)(31H)+(32H)(33H)=(34H)(35H)(36H)
?
7、利用定时/计数器T0从P1.0输出周期为1s,脉宽为20ms的正脉冲信号,晶振频率为12MHz。
试设计程序。
8、试编写程序,完成两个16位数的减法:
7F4DH-2B4EH,结果存入内部RAM的30H和31H单元,31H单元存差的高8位,30H单元存差的低8位。
9、已知从片内RAM 30H单元开始存放有20H个数据,将其传送到外部RAM的0000H单元开始的存储区,请编程实现。
11、用位操作指令,编程实现以下逻辑方程:
(1)、P1.7=ACC.0×(B.0+P2.1)+P3.2×P1.0
(2)、P2.0=P1.0×ACC.3×PSW.7+B.5×P1.7
(3)、P2.3=P1.5×B.4+P1.1×P1.0
12、编程求片内RAM16个无符号二进制数的算术平均值。
考试题型:
一、填空题(30分,每空1分)
二、单选题(20分,每题2分)
三、判断题(20分,每题2分)
四、程序分析题(10分,每题5分)
五、编程题(20分,每题10分)