单片机复习题库(含答案)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
单片机复习题库(含答案)
一、填空题
1、计算机中最常用的字符信息编码是(ASCII码)。
2、MCS-51系列单片机为( 8 )位单片机。
3、若不使用MCS-51片内存储器引脚必须接(地)。
4、8051单片机有两种复位方式,既上电复位和手动复位。
复位后SP =(07H ),PC =(0000H ),PSW =(00H ),P0 =( 0FFH ),而工作寄存器缺省则采用第( 0 )组,这组寄存器的地址范围是从(00H~ 07H )。
5、在 MCS-51中,PC和DPTR都用于提供地址,PC为访问(程序)存储器提供地址,而DPTR是为访问(数据)存储器提供地址。
6、MCS-51单片机系列有( 5 )个中断源,可分为(2 )个优先级。
7、假定(A)=85H, (R0)=20H,(20H)=0AFH.执行指令:ADD A,@R0 后,累加器A的内容为(24H ),CY的内容为( 1 ),OV的内容为( 1 )。
.
8、A/D转换器的作用是将(模拟)量转为(数字)量。
9、LED数码显示按显示过程分为(并行)显示和(串行)显示2种。
10、用汇编语言指令编写的程序,应该称作(源程序)程序,经过汇编的程序应该称作(目标程序)。
1、8031内部有( 128B )个RAM、8751内部有4K( ROM )
片内RAM可进行位寻址的空间位地址范围是(00H~FFH )。
2、51单片机汇编指令由操作码和操作数组成,其寻址方式有立即寻址,寄存器寻址,直接寻址,间接寻址,相对寻址和堆栈寻址以及位寻址等几种方式。
如:MOV A,20H属于(直接寻址)寻址方式,MOVC A,@A+DPTR 属于(变址寻址)寻址方式,MOV C, bit 属于( 位寻址 ) 寻址方式。
3、堆栈的地址由(SP )内容确定,其操作规律是“(先)进
(后)出”。
4、DA指令是(BCD 码调整)指令,它只能紧跟在(加法)指令后使用。
5、P0、P1、P2、P3四个均是(8 )位的(并行)口,其中P0的功能是(地址/数据分时复口)。
P0口和P2口除了可以进行数据的输入、输出外,通常还用来构建系统的数据总线和地址总线,在单片机扩展时,( P0口)口和(P2口)口为地址线,(P0口)口为数据线,在P0—P4口中, P0 为真正的双向口, P1—P3为准双向口。
6、利用8155可以扩展(3 )个并行口,(256B )个RAM单元。
8、假定累加器A的内容为30H,执行指令:1000H:MOVC A,@A+PC
后,把程存储(1031H )单元的内容送累加器A中。
9、假定(SP)=60H, (ACC)=30H,(B)=70H, 执行下列命令:
PUSH ACC
PUSH B
后,SP的内容为( 62H ), 61H的单元的内容为(30H单元)。
10、单片机串行通信时,若要发送数据,就必须将要发送的数据送至(SBUF)单元,若要接收数据也要到该单元取数.
1、MCS-51系列单片机8031、8751、89S52在内部存储器的设置上主要区别是:8031内部(无)程序存储器,8751内部( 4K )程序存储器,89C51内部( 8K )程序存储器。
2、在MCS-51单片机中,如采用6MHZ晶振,一个机器周期为(2μs)。
3、当80C51的RST引脚上保持( 2 )个机器周期以上的低电平时,80C51即发生复位。
4、当P1口做输入口输入数据时,必须先向该端口的锁存器写入( 1 ),否则输入数据可能出错。
5、MCS-51单片机访问外部存储器时,利用(ALE)信号锁存来自(P0)口的低8位地址信号。
6、在R7初值为00H的情况下,DJNZ R7,rel指令将循环执行( 256 )次。
7、程序状态寄存器PSW的作用是用来保存程序运行过程中的各种状态信息。
其中CY为(进位)标志,用于无符号数加(减)运算,当进行(位)操作时作为位累加器。
OV为(溢出)标志,用于有符号数的加(减)运算。
9、假定(A)=0FFH, (R3)=0FH, (30H)=0F0H, (R0)=40H, (40H)=00H.执行指令: INC A
INC R3
INC 30H
INC @R0
后,累加器A的内容为(00H ), R3的内容为(10H ), 30H的内容为( F1H ),
40H的内容为( 01H )。
2、假定(SP)=40H,(39H)=30H,(40H)=60H。
执行下列指令:POP DPH ,POP DPL后,DPTR的内容为( 6030H ),SP的内容是( 38H )。
10、异步串行数据通信的桢格式由(起始)位,(数据)位,(奇偶校验)位和(停止)位组成。
1、MCS-51单片机扩展程序存储器所用的控制信号为( PSEN ),扩展数据存储器所用的控制信号为( RD )和( WR )。
2、关于堆栈类操作的两条指令分别是(PUSH )、(POP ),操作遵循(先进后出)原则。
6、编程时,一般在中断服务子程序和调用子程序中需用保护和恢复现场,保护现场用(PUSH )指令,恢复现场用(POP)指令。
3、(程序状态)寄存器的作用是用来保存程序运行过程中的各种状态信息。
若累加器A中的数据为01110010B,则PSW中的P=( 0 )。
4、若MCS-51 单片机采用12MHz 的晶振,它的机器周期(1μs),ALE 引脚输出正脉冲频率为( 1MHz )。
5、要使MCS-51 单片机从片内的地址0000H 开始执行程序。
那么EA应(低电平)。
7、外部中断1(INT1)的中断入口地址为(0013H);定时器1的中断入口地为(001BH),T0 的入口地址为(OOOBH ),串行口入口地址为( 0023H )。
8、8751有两个16位可编程定时/计数器,T0和T1。
它们的功能可由控制寄存器(TCON)、(TMOD)的内容决定,且定时的时间或计数的次数与(TH )、( TL)两个寄存器的初值有关。
9、欲使P1口的低4位输出0,高4位不变,应执行一条(ANL P1,#0F0H)命令。
10、串行口的控制寄存器SCON中,REN的作用是(允许串行接收位 )。
5、单片机内部数据传送指令(MOV)用于单片机内部RAM单元及寄存器之间,单片机与外部数据传送指令( MOVX )用于单片机内部与外部RAM或I/O接口之间,( MOVC )指令用于单片机内部与外部ROM之间的查表.
6、单片机内部与外部ROM之间的查表指令是(MOVC A,@A+PC )。
7、单片机内外中断源按优先级别分为高级中断和低级中断,级别的高低是由(中断优先级)寄存器的置位状态决定的。
同一级别中断源的优先顺序是由(自然优先级顺序)决定的。
8、用MCS-51串行口扩展并行I/O口时,串行口工作方式应选择(方式0)。
10、计算机的系统总线有地址总线、控制总线和(数据总线)。
11、JZ e 的操作码地址为1000H,e=20H,它转移的目标地址为(1022H)。
12、单片机串行通信时,其波特率分为固定和可变两种方式,在波特率可变的方式中,可采用(定时器T1 )的溢出率来设定和计算波特率。
1、DA指令是(BCD码加法)指令,它只能紧跟在(ADD,
ADDC)指令后使用。
2、MCS-51单片机内部RAM区中可位寻址单元的地址为20H-2FH 。
若某位地址是09H,它所在单元的地址应该是(21H)。
3、寄存器PSW中的RS1和RS0的作用是(选择工作寄存器组)。
若由程序设定RS1、RS0=10,则工作寄存器R0~R7的直接地址为10H~17H。
5、MCS—51内部的SFR共有(21)个。
6、任何程序总是由三种基本结构组成:(顺序、分支、循环)。
7、转移指令LCALL addr16 的转移范围是(64K),JNB rel 的转移范围是(-127~+128),调用指令AJMP addr11的调用范围是(2K)。
8、扩展并行口时常用8155可编程芯片,它由(256字节的静态RAM存储器、3个可编程的输入/输出端口、1个可编程的定时/计数器、内部锁存器)4部分组成。
9、堆栈指针SP的内容将始终指示(堆栈的栈顶),当单步执行了调用指令LCALL addr16 后SP的内容将(不会)改变。
10、由于执行每条指令都要占用CPU的时间,因此采用循环结构并多次重复执行某些指令可实现软件延时。
而硬件延时一般是采用单片机的(定时/计数器、SBUF )再通过软件编程来实现。
(可能简答6分)
1.位处理器也称为_布尔处理器_,它以状态寄存器中的___进位标志位C _为累
加位。
2.80C51内部共有256个数据存储单元,按其功能分为两部分:低128、高128
单元。
3. 3.MCS-51时序的定时单位共有四个,从小到大依次是拍节、状态、机器周
期、指令周期
4.MCS—51单片机外部中断请求信号有电平方式和脉冲方式,在
电平方
式下,当采集到INT0、INT1的有效信号为低电平时,激活外部中断。
5.定时器/计数器的工作方式3是指的将定时器/计数器0 拆成两个独立
的8位计数器。
而另一个定时器/计数器此时通常只可作为串行口的波特率发生器使用。
6.MCS-51单片机可扩展16 位外部地址总线, 可扩展8 位数据总
线。
二、简答
三、改错题:(共15分,每小题3分) 以给出的指令操作码为依据,请判断MCS—51单片机的下列各条指令的书写格式是否有错误,如有请说明错误原因。
1.MUL R0Rl 乘法指令应使用A、B寄存器操作
2.MOV A,@R7 间接寄存器使用R7有误,间址寄存器只能使用R0、R1
3.MOV A, #3000H 8位累加器A不能接受16位数据
4.MOVC @A+DPTR,A MOVC指令为对程序存储区操作指令,累加器的内容不可通过变址方式送入程序存储器,两操作数写反了。
5.UMP #1000H 长转移指令中的操作数为16位转移地址,不能用立即数的形式来表达。