《单片机基础》练习题1130.docx
- 文档编号:23377392
- 上传时间:2023-05-16
- 格式:DOCX
- 页数:18
- 大小:43.08KB
《单片机基础》练习题1130.docx
《《单片机基础》练习题1130.docx》由会员分享,可在线阅读,更多相关《《单片机基础》练习题1130.docx(18页珍藏版)》请在冰豆网上搜索。
《单片机基础》练习题1130
第一章
1、用8位二进制补码数所能表示的十进制数范围是()
(A)-127~+127(B)-1278~+128
(C)-127~+128(D)-128~+127
答案(D)
第二章
一.简答题
(1)MCS-51单片机的EA信号有何功能?
在使用8031时EA信号引脚应如何处理?
答:
EA是访问程序存储器信号。
当它为低电平时,对ROM的读操作限定在外部程序存储器;而当它为高电平时,则对ROM的读操作是从内部程序存储器开始,并可延续至外部程序存储器。
使用8031时EA信号引脚接地(EA=0),因为8031没有内部ROM,这样就只对外部ROM进行寻址了。
(2)内部RAM低128单元划分为哪三主要部分?
说明各部分的使用特点.。
答案:
内部RAM低128单元划分为寄存器区、位寻址区、用户RAM区三大主要部分。
寄存器特点:
内部RAM的前32个单元是作为寄存器使用的,共分为4组,每组8个寄存器,组号依次为0、1、2、3。
每个寄存器都是8位,在组中按R7~R0编号。
寄存器常用于存放操作数及中间结果等。
称通用寄存器或工作寄存器。
为CPU提供了数据就近存取便利。
它有两种使用方法:
1以寄存器形式使用,用寄存器符号表示;2以存储单元的形式使用,用单元地址表示。
位寻址区特点:
内部RAM的20H~2FH单元,既可作为一般RAM单元使用,进行字节操作,也可对单元中的每一位进行位操作。
它有16个RAM单元,总计128位,位地址00H~7FH。
其中所有位可以直接寻址。
位两种表示:
1以位地址的形式;2以存储单元地址加位的形式。
用户RAM区特点:
它占内部RAM的80个单元,其单元地址为30H~7FH。
对于用户RAM区,只能于存储单元的形式来使用,其他没任何规定或限制。
一般应用中常把堆栈开辟在此区中。
(3)堆栈有哪些功能?
堆栈指示器(SP)的作用是什么?
在程序设计时,为什么还要对SP重新赋值?
答案:
堆栈功能:
保护断点、保护现场,也用于数据临时存放。
堆栈指示器功能:
对栈顶单元的写和读操作。
因为系统复位后,上电时SP的内容为07H,但由于堆栈最好在内部RAM的30H~70H单元中开辟,所以程序设计时应注意把SP初始化为30H,以免占用宝贵的寄存器区和位寻址区。
(4)什么是指令周期,机器周期和时钟周期?
如何计算机器周期的确切时间?
答案:
指令周期:
是最大的时序定时单位,执行一条指令所需要的时间称为指令周期。
机器周期:
是振荡脉冲的十二分频。
一个机器周期的宽度为6个状态,一个周期含两个拍节,共12个拍节。
当振荡脉冲频率为12MHZ时,一个机器周期为1μs,当振荡脉冲频率为6MHZ时,一个机器周期为2μs。
(5)画出单片机最小系统。
答案:
最小系统出了单片机及电源外,还主要包括时钟电路和复位电路。
二.判断题
(1)内部RAM的位寻址区,只能供位寻址使用而不能供字节寻址使用。
错!
(2)在程序执行过程中,由PC提供数据存储器的读/写地址。
错!
(3)80C51有21个专用寄存器,它们的位都是可用软件设置,因此是位寻址的。
错!
(4)PC可以看成使程序存储器的地址指针。
对
(5)单片机的主频越高,其运算速度越快。
对
(6)判断下列指令的正误:
1)MOV28H,@R22)DECDPTR3)INCDPTR4)CLRR0
5)CPLR56)MOVR0,R17)PUSHDPTR8)MOVF0,C
9)MOVF0,ACC.310)MOVXA,@R111)MOVC,30H12)RLCR0
答:
错、错、对、错错、错、错、对错、对、对、错
三.填空题
(1)单片机系统复位后,(PSW)=00H,因此内部RAM寄存区的当前寄存器是第()组,8个寄存器的单元地址为()~~()答案:
0;00H;07H
(2)通过堆栈操作实现子程序调用,首先要把()的内容入栈,以进行断点保护。
调用返回时再进行出栈操作,把保护的断点送回()。
答案:
PC;PC
(3)MCS-51单片机的4个I/O口中,P0正的双向口,而其它口则为准双向口,这一区别在口线电路结构中表现在()的不同上。
答案:
口的输出缓冲器
(4)在MCS-51单片机中,如果采用6MHz晶振,1个机器周期为()。
(5)8051单片机复位后,R4所对应的存储单元的地址为();
(6)8051单片机程序存储器的寻址范围是由程序计数器PC的位数所决定的,8051的PC是()位的,因此其寻址的范围为()KB。
四.选择题(单选)
1.对程序计数器PC的操作
(A)是自动进行的(B)是通过传送进行的
(C)是通过加“1”指令进行的(D)是通过减“1”指令进行的答案:
A
2.单片机程序存储器的寻址范围是由程序计数器PC的位数决定的,MCS-51的PC为16位,因此其寻址范围是
(A)4KB(B)64KB(C)8KB(D)128KB答案:
B
3.以下有关PC和DPTR的结论中错误的是
ADPTR是可以访问的而PC不能访问B它们都是16位的寄存器C它们都具有加“1”功能DDPTR可以分为2个8位的寄存器使用,但PC不能答案:
C
4.PC的值是
A当前指令前一条指令的地址B当前正在执行指令的地址
C下一条指令的地址D控制器中指令寄存器的地址答案:
C
5.假定设置堆栈指针SP的值为37H,在进行子程序调用时把断点地址进栈保护后,SP的值为A36HB37HC38HD39H答案:
D
6.在80C51中,可使用的堆栈最大深度为
A80个单元B32个单元C128个单元D8个单元答案:
A
7.在MCS-51中
A具有独立的专用的地址线B由P0口和P1口的口线作地址线
C由P0口和P2口的口线作地址线D由P1口和P2口的口线作地址线答案:
C
第三章
1、判断题:
(1)判断下列指令的正误:
1)MOV28H,@R22)DECDPTR3)INCDPTR4)CLRR0
5)CPLR56)MOVR0,R17)PUSHDPTR8)MOVF0,C
9)MOVF0,ACC.310)MOVXA,@R111)MOVC,30H12)RLCR0
答:
错、错、对、错错、错、错、对错、对、对、错
(2)立即寻址方式是被操作的数据本身在指令中,而不是它的地址在指令中。
对
(3)指令周期是执行一条指令的时间。
对
(4)指令中直接给出的操作数称为直接寻址。
错
(5)
二、填空题
(1)在寄存器间接寻址方式中,其“间接”体现在指令中寄存器的内容不是操作数,而是操作数的()。
答案:
地址
(2)假定DPTR的内容为8100H,累加器A的内容为40H,执行下列指令:
MOVCA,@A+DPTR后,送入A的是程序存储器()单元的内容。
答案:
8140H
(3)假定(SP)=60H,(ACC)=30H,(B)=70H。
执行下列指令:
PUSHACC
PUSHB后,SP的内容为(),61H单元的内容为(),62H单元的内容为()。
答案:
62H;30H;70H
(4)假定(SP)=62H,(61H)=30H,(62H)=70H。
执行下列指令:
POPDPH
POPDPL后,DPTR的内容为(),SP的内容为()。
答案:
7030H;60H
(5)假定(A)=85H,(R0)=20H,(20H)=0AFH。
执行下列指令:
ADDA,@R0后,累加器A的内容为(),CY的内容为(),AC的内容为(),OV的内容为()。
答案:
34H;1;1;1
(6)假定(A)=85H,(20H)=0FFH,(CY)=1,执行下列指令:
ADDCA,20H后,累加器A的内容为(),CY的内容为(),AC的内容为(),OV的内容为()。
答案:
85H;1;1;0
(7)假定(A)=56H,(R5)=67H,执行指令:
ADDA,R5
DA后,累加器A的内容为(),CY的内容为()。
答案:
23H;1
(8)假定(A)=50H,(B)=0A0H,执行下列指令:
MULAB后,寄存器B的内容(),累加器A的内容为(),CY的内容为(),OV的内容为()。
答案:
32H;00H;0;1
(9)假定addr11=00100000000B,标号qaz的地址为1030H。
执行指令:
qaz:
AJMPaddr11后,程序转移到地址()去执行。
答案:
1100H
(10)在MCS-51中PC和DPTR都用于提供地址,但PC是为访问()存储器提供地址,而DPTR是为访问()存储器提供地址。
答案:
程序;数据
(11)累加器A中存放着一个其值小于等于127的8位无符号数,CY清‘0’后执行RLCA指令,则A中数变为原来的()倍。
答案:
2
(12)MCS-51单片机具有()个中断源,可分别设置为
(2)个优先等级,第二个外部中断的入口地址为(13H)。
答案:
5,2,13H
(13)假定累加器A中的内容为30H,执行指令
1000H:
MOVCA,@A+PC
后,把程序存储器()单元的内容送入累加器A中。
答:
1031H
(14)在MCS-51中,PC和DPTR都用于提供地址,但PC是为访问()存储器提供地址,而DPTR是为访问()存储器提供地址。
答:
程序、数据
(15)下列程序段的功能是什么?
PUSHA
PUSHB
POPA
POPB答:
交换A、B的内容
(16)的已知程序执行前有A=02H,SP=52H,(51H)=FFH,(52H)=FFH。
下述程序执行后:
POPDPH
POPDPL
MOVDPTR,#4000H
RLA
MOVB,A
MOVCA,@A+DPTR
PUSHA
MOVA,B
INCA
MOVCA,@A+DPTR
PUSHA
RET
ORG4000H
DB10H,80H,30H,50H,30H,50H
请问:
A=(),SP=(),(51H)=(),(52H)=(),PC=()。
答:
A=50H,SP=50H,(51H)=30H,(52H)=50H,PC=5030H
(17)假定A=83H,(R0)=17H,(17H)=34H,执行以下指令:
ANLA,#17H
ORL17H,A
XRLA,@R0
CPLA后,A的内容为()。
答:
0CBH
(18)
三.选择题(单选):
(1)在相对寻址方式中,寻址的结果体现在:
(A)PC中(B)累加器A中(C)DPTR中(D)某个存储单元中答案:
A
(2)在相对寻址方式中,“相对”两字是指相对于
A)地址偏移量relB)当前指令首地址(C)当前指令末地址D)DPTR值答案:
C
(3)在寄存器间接寻址方式中,指定寄存器中存放的是
(A)操作数(B)操作数地址(C)转移地址(D)地址偏移量答案:
B
(4)对程序存储器的读操作,只能使用
(A)MOV指令(B)PUSH指令(C)MOVX指令(D)MOVC指令答案:
D
(5)执行返回指令时,返回的断点是
(A)调用指令的首地址(B)调用指令的末地址
(C)调用指令下一条指令的首地址(D)返回指令的末地址答案:
C
(6)可以为访问程序存储器提供或构成地址的有
(A)只有程序计数器PC(B)只有PC和累加器A
(C)只有PC、A和数据指针DPTR(D)PC、A、DPTR和堆栈指针SP答案:
C
(7)下列各项中不能用来对内部数据存储器进行访问的是
(A)数据指针DPTR(B)按存储单元地址或名称(C)堆栈指针SP(D)有R0或R1作间址寄存器答案:
A
(9)若原来工作寄存器0组为当前寄存器组,现要改1组为当前寄存器组,不能使用指令
(A)SETBPSW.3(B)SETBDOH.3(C)MOVPSW.3,1(D)CPLPSW.3答案:
C
(10)假定(A)=83H,(R0)=17H,(17H)=34H,执行以下程序段
ANLA,#17H
ORL17H,A
XRLA,@R0
CPLA
后,A内容为(A)CBH(B)03H(C)EBH(D)C8H答案:
A
第四章
1.试编写1个程序,将内部RAM中45H单元的高4位清0,低4位置1。
2.试编写程序,查找在内部RAM的30H~50H单元中是否有0AAH这一数据。
若有,则将51H单元置为“01H”;若未找到,则将51H单元置为“00H”。
答:
START:
MOVR0,#30H
MOVR2,#20H
LOOP:
MOVA,@R0
CJNEA,#0AAH,NEXT
MOV51H,#01H
LJMPEXIT
NEXT:
INCR0
DJNZR2,LOOP
MOV51H,#00H
EXIT:
RET
3.试编写程序,查找在内部RAM的20H~40H单元中出现“00H”这一数据的次数。
并将查找到的结果存入41H单元。
答:
START:
MOV41H,#0
MOVR0,#20H
MOVR2,#20H
LOOP:
MOVA,@R0
JNZNEXT
INC41H
NEXT:
INCR0
DJNZR2,LOOP
RET
4.试编写一段程序,其功能为将内部RAM中30~32H的内容左移4位,即
5.试编写一段程序,其功能为将30~37H单元内容下移一个单元,即
6.试编写一段程序,其功能为将30~32H单元的内容拆成6个半字节依次存放到33~38H单元,既
。
7.试用逻辑操作指令编一个程序,对P1口操作,置位P1.2,清“0”P1.4,不影响P1口的其它位。
8.试用位操作指令编一个程序,对P1口操作,置位P1.2,清“0”P1.4,不影响P1口的其它位。
9.试编写一段程序,其功能为将内部30~32H和33~35H中两个3字节压缩BCD码十进制数相加,将结果以单字节BCD码形式写到外部RAM的1000H~1005H单元。
10.编写程序,将外部数据存储器中的4000H—40FFH单元全部清零。
解:
ORG0000H
MAIN:
MOVA,#0;送预置数给A
MOVR0,#0FFH;设置循环次数
MOVDPTR,#4000H;设置数据指针的初值
LOOP:
MOVX@DPTR,A;当前单元清零
INCDPTR;指向下一个单元
DJNZR0,LOOP;是否结束
END
11.试编写一个程序(例如将05H和06H拼为56H),设原始数据放在片外数据区2001H单元和2002H单元中,按顺序拼装后的单字节数放入2002H。
解:
本题主要考察了对外部存储器的读、写操作,只要记住正确使用MOVX指令就可以了。
编程思路:
首先读取2001H的值,保存在寄存器A中,将寄存器A的高四位和低四位互换,再屏蔽掉低四位然后将寄存器A的值保存到30H中,然后再读取2002H的值,保存在寄存器A中,屏蔽掉高四位,然后将寄存器A的值与30H进行或运算,将运算后的结果保存在2002H中。
ORG0000H
MAIN:
MOVDPTR,#2001H;设置数据指针的初值
MOVXA,@DPTR;读取2001H的值
SWAPA
ANLA,#0F0H;屏蔽掉低四位
MOV30H,A;保存A
INCDPTR;指针指向下一个
MOVXA,@DPTR;读取2002H的值
ANLA,#0FH;屏蔽掉高四位
ORLA,30H;进行拼装
MOVX@DPTR,A;保存到2002H
END
12.下列程序段要实现把片外RAM从8100H开始的10个存储单元的内容移到片内RAM40H开始的单元,找出其中的错误,说明原因并改正:
PUSHA
MOVR7,10
MOVR2,#40H
MOVR0,#8100H
LOOP:
MOVA,@R0
MOV@R2,A
INCR0
INCR2
DJNZR7,LOOP
POPA
第五章
一.填空题
1.在定时器工作方式0下,计数器的宽度为13位,如果系统晶振频率为3MHZ,则最大定时时间为()。
答案:
32768μs
2.第二个外部中断所对应的中断入口地址为()H。
二.选择题
(1).下列有关MCS-51中断优先级控制的叙述中,错误的是
(A)低优先级不能中断高优先级,但高优先级能中断低优先级(B)同级中断不能嵌套
(C)同级中断请求按是的先后顺序响应(D)同时同级的多中断请求,将形成阻塞,系统无法响应答案:
D
(2).外中断初始化的内容不包括
(A)设置中断响应方式(B)设置外中断允许(C)设置中断总允许(D)设置中断方式
答案:
A
三.编程题:
1.已知fosc=6MHz,利用T1定时500us,在P1.0口输出周期为1ms的方波脉冲。
2.已知fosc=6MHz,利用T1定时器,在P1.0口输出周期为1s的方波脉冲。
3.若晶振为6
,试编制一个延时2ms的子程序。
4.用定时器定时的方法编程,试设计控制六盏LED灯的程序,设晶振fosc=12MHZ,要求:
(1)K合上后,L1~L6轮流点亮1秒,如此循环
(2)K断开后,全灭,等待下次启动
5.试编制一段程序,对P3.4的输入脉冲进行计数,并将计数值写入内存单元30H。
6.试编制一段程序,其功能为当P3.2上跳时对P3.4的输入脉冲进行计数,当P3.2下跳时停止计数,并将计数值写入30H。
7.试编制一段程序,其功能为当P3.2上跳时对P3.4的输入脉冲进行计数,当PP3.2下跳时停止计数,并将计数值写入R6R7。
(假设计数值小于
)
8.已知fosc=12MHz,利用T1定时器,在P1.0口输出周期60MS,占空比为20%的方波。
第六章
一.问答题
1.在MCS-51单片机系统中,外接程序存储器和数据存储器共用16位地址线和8位数据线,为什么不会发生冲突?
答案:
外接程序和数据存储器共用16位地址线和8位数据线不发生冲突,因为程序存储器的读操作由
信号控制,而数据存储器的读和写分别由
和
信号控制,不会造成操作上的混乱。
2.常用的I/O接口编址有哪两种方式?
它们各有什么特点?
MCS-51的I/O端口编址采用的是哪种方式?
解:
一.独立编址方式:
独立编址方式就是I/O地址空间和存储器地址空间分开编址。
独立编址的优点是I/O地址空间和存储器地址空间相互独立,界限分明。
但是,却需要设置一套专门的读写I/O的指令和控制信号。
二.统一编址方式:
这种编址方式是把I/O端口的寄存器与数据存储器单元同等对待,统一进行编址。
统一编址的优点是不需要专门的I/O指令,直接使用访问数据存储器的指令进行I/O操作,简单、方便且功能强大。
MCS-51单片机使用的是I/O和外部数据存储器RAM统一编址的方式。
二.填空题
(1)在存储器编址技术中,不需要额外增加电路,但却能造成存储映像区重叠的编址方法是()法,能有效利用存储空间适用于大容量存储器扩展的编址方法是()法。
答案:
线选;译码
(2)访问内部RAM使用()指令,访问外部RAM使用()指令,访问内部ROM使用()指令,访问外部ROM使用()指令。
答案:
MOV;MOVX;MOVC;MOVC
三.选择题
(1)在MCS-51中,需双向传递信号的是
(A)地址线(B)数据线(C)控制信号线(D)电源线答案:
B
(2)在MCS-51中,为实现P0口线的数据和低位地址复用,应使用
(A)地址锁存器(B)地址寄存器(C)地址缓冲器(D)地址译码器答案:
A
(3)如在系统中只扩展一片Intel2732(4K*8),除应使用P0口的8条口线外,至少还应使用P2口的口线(A)4条(B)5条(C)6条(D)7条答案:
A
(4)如在系统中只扩展两片Intel2732(4K*8),除应使用P0口的8条口线外,至少还应使用P2口的口线(A)5条(B)6条(C)7条(D)8条答案:
A
(5)在使用译码法同时扩展多片数据存储器芯片时,不能在各存储芯片间并行连接的信号是(A)读写信号(
和
)(B)地址译码输出信号(C)数据信号(D)高位地址信号
答案:
B
(7)下列叙述中,不属于单片机存储器系统特点的是
(A)程序和数据两种类型的存储器同时存在(B)芯片内外存储器同时存在
(C)扩展数据存储器与片内数据存储器存储空间重叠
(D)扩展程序存储器与片内程序存储器存储空间重叠答案:
D
第七章
一.填空题:
1.从单片机的角度上看,连接到数据总线上的输出口应具有()功能,连接到数据总线上的输入口应具有()功能。
答案:
锁存三态缓冲
二.选择题:
1.下列功能中不是由I/O接口实现的是
(A)速度协调(B)数据缓冲和锁存(C)数据转换(D)数据暂存答案:
D
2.三态缓冲器的输出应具有三种状态,其中不包括
(A)高阻态状态(B)低阻态状态(C)高电平状态(D)低电平状态答案:
B
3.为给扫描法工作的键盘提供接口电路,在接口电路中只需要
(A)一个输入口(B)一个输入口和一个输出口
(C)一个输出口(D)两个输入口和一个输出口答案:
B
4.下列理由中,不能说明MCS-51的I/O编址是统一方式而非独立方式的理由是
(A)没有专用的I/O指令(B)没有区分存储器和I/O的控制信号
(C)使用存储器指令进行I/O操作(D)P3口线具有第二功能答案:
D
5.如果把8155的A2、A1、A0分别与80C51的P0.2、P0.1、P0.0连接,则8155A的控制寄存器和A、B、C口的地址可能是
(A)××00H~××03H(B)00××H~03××H
(C)0×××H~3×××H(D)×00×H~×03×H答案:
A
3、设计基于单片P1口的4*4键盘电路,并叙述其原理;
4、
第十章
一.填空题
1.D/A转换电路之前必须设置数据锁存器,这是因为()
答案:
转换需要一定才能完成,数字量输入要稳定一段时间
2.对于电流输出的D/A转换器,为了得到电压的转换结果,应使用()
答案:
运算放大器
3.为把数/模转换器转换的数据传送单片机,可使用的控制方式有:
()、()和()三种。
答案:
定时传送查询中断
二、选择题
1.在应用系统中,芯片内没有锁存器的D/A转换器,不能直接接到80C51的P0口上使用,这是因为
(A)P0口不具有锁存功能(B)P0口为地址数据复用
(C)P0口不能输出数字量信号(
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机基础 单片机 基础 练习题 1130
![提示](https://static.bdocx.com/images/bang_tan.gif)