单片机原理及应用答案张毅刚.docx
- 文档编号:16191931
- 上传时间:2023-07-11
- 格式:DOCX
- 页数:26
- 大小:30.48KB
单片机原理及应用答案张毅刚.docx
《单片机原理及应用答案张毅刚.docx》由会员分享,可在线阅读,更多相关《单片机原理及应用答案张毅刚.docx(26页珍藏版)》请在冰点文库上搜索。
单片机原理及应用答案张毅刚
单片机原理及应用答案张毅刚
【篇一:
单片机原理及应用答案(张毅刚)】
class=txt>1.3(微处理器)、(存储器)和(各种输入输出接口)
4、答:
第一阶段(1974年----1976年):
单片机初级阶段。
第二阶段(1976年----1978年):
低性能单片机阶段。
第三阶段(1978年----现在):
高性能单片机阶段。
第四阶段(1982年----现在):
8位单片机巩固发展及16位单片机、32位单片机推出阶段
1.51位单片机、4位单片机、8位单片机、16位单片机和32位单片机。
1.6答:
基本芯片为8031、8051、8751。
8031内部包括1个8位cpu、128bram,21个特殊功能寄存器(sfr)、4个8位并行i/o口、1个全双工串行口,2个16位定时器/计数器,但片内无程序存储器,需外扩eprom芯片。
8051是在8031的基础上,片内又集成有4kbrom,作为程序存储器,是1个程序不超过4kb的小系统。
8751是在8031的基础上,增加了4kb的eprom,它构成了1个程序小于4kb的小系统。
用户可以将程序固化在eprom中,可以反复修改程序。
1.7答:
共同点为它们的指令系统相互兼容。
不同点在于mcs-51是基本型,而80c51采用cmos工艺,功耗很低,有两种掉电工作方式,一种是cpu停止工作,其它部分仍继续工作;另一种是,除片内ram继续保持数据外,其它部分都停止工作。
1.8(c)1.9(b)
1.10答:
单片机主要运用领域为:
工业自动化;智能仪器仪表;消费类电子产品;通信方面;武器装备;终端及外部设备控制;多机分布式系统。
2.1答:
功能部件如下:
微处理器(cpu);数据存储器(ram);程序存储器(rom/eprom,8031没有此部件),4个8位并行i/o口(p0口、p1口、p2口、p3口);1个全双工的串行口;2个16位定时器/计数器;中断系统;21个特殊功能寄存器(sfr)。
各部件功能:
cpu(微处理器)包括了运算器和控制器两大部分,还增加了面向控制的处理功能,不仅可处理字节数据,还可以进行位变量的处理;数据存储器(ram)片内为128b
(52系列的为256b),片外最多可外扩64kb。
数据存储器来存储单片机运行期间的工作变量、运算的中间结果、数据暂存和缓冲、标志位等;程序存储器(rom/eprom)用来存储程序;中断系统具有5个中断源,2级中断优先权;定时器/计数器用作精确的定时,或对外部事件进行计数;串行口可用来进行串行通信,扩展并行i/o口,还可以与多个单片机相连构成多机系统,从而使单片机的功能更强且应用更广;特殊功能寄存器用于cpu对片内各功能部件进行管理、控制、监视。
2.2答:
当该引脚为高电平时,单片机访问片内程序存储器,但在pc(程序计数器)值超过0fffh(对于8051、8751)时,即超出片内程序存储器的4kb地址范围时,将自动转向执行外部程序存储器内的程序。
当该引脚为低电平时,单片机则只访问外部程序存储器,不论是否有内部程序存储器。
对于8031来说,因其无内部程序存储器,所以该引脚必须接地,这样只能选择外部程序存储器。
2.3答:
每12个时钟周期为1个机器周期。
2.4在mcs-51单片机中,如果采用6mhz晶振,1个机器周期为(2微秒)。
2.5答:
中断源入口地址
外部中断00003h
定时器0(t0)000bh
外部中断10013h
定时器1(t1)001bh
串行口0023h
2.6(26h)。
2.7(0)。
2.8(a)(错)(b)(错)(c)(对)(d)(对)
2.98031单片机复位后,r4所对应的存储单元的地址为(04h),因上电时psw=(00h)。
这时当前的工作寄存器区是(0)组工作寄存器区。
2.11(a)(错)(b)(对)(c)(对)(d)(对)
2.12答:
地址为00h-1fh的32个单元是4组通用工作寄存器区,每个区包括8个8位工作寄存器,编号为r0-r7。
字节地址为20h-2fh的16个单元可进行128位的位寻址,这些单元构成了1位处理机的存储器空间。
位地址范围是00h-7fh。
2.13使用8031单片机时,需将ea引脚接(低)电平,因为其片内无(程序)存储器。
2.14答:
字节地址为00h-1fh的32个单元是4组通用工作寄存器区,每个区包括8个8位工作寄存器,编号为r0-r7。
可以通过改变psw中的rs1、rs0来切换当前的工作寄存器区,这种功能给软件设计带来极大的方便,特别是在中断嵌套时,为实现工作寄存器现场内容保护提供了方便;字节地址为20h-2fh的16个单元可进行工128位的位寻址,这些单元构成了1位处理机的存储器空间;字节地址为30h-7fh的单元为用户ram区,只能进行字节寻址。
用于作为数据缓冲区以及堆栈区。
2.15(a)(对)(b)(错)(c)(错)2.16(c)
2.17通过堆栈操作实现子程序调用,首先就要把(pc)的内容入栈,以进行断点保护。
调
用返回时,再进行出栈保护,把保护的断点送回到(pc)。
2.18答:
口引脚第二功能定义
p3.0串行输入口
p3.1串行输出口
p3.2外部中断0
p3.3外部中断1
p3.4定时器0外部计数输入
p3.5定时器1外部计数输入
p3.6外部数据存储器写选通
p3.7外部数据存储器读选通
2.19mcs-51单片机程序存储器的寻址范围是由程序计数器pc的位数所决定的,因为
mcs-51的pc是16位的,因此其寻址的范围为(64)kb。
2.20答:
可通过复位来解决。
2.21(a(对)(b)(对)(c)(错)(d)(错)2.22答:
ale引脚。
3.3在基址加变址寻址方式中,以(a)作变址寄存器,以(dptr)或(pc)作基址寄存器
3.4答:
共有7种寻址方式。
(1)寄存器寻址方式操作数在寄存器中,因此指定了寄存器就能得到操作数。
(2)直接寻址方式指令中操作数直接以单元地址的形式给出,该单元地址中的内容就
是操作数。
(3)寄存器间接寻址方式寄存器中存放的是操作数的地址,即先从寄存器中找到操作数的地址,再按该地址找到操作数。
(4)立即寻址方式操作数在指令中直接给出,但需在操作数前面加前缀标志“#”。
(5)基址寄存器加变址寄存器间接寻址方式以dptr或pc作基址寄存器,以累加器a作为变址寄存器,并以两者内容相加形成的16位地址作为操作数的地址,以达到访问数据表格的目的。
(6)位寻址方式位寻址指令中可以直接使用位地址。
(7)相对寻址方式在相对寻址的转移指令中,给出了地址偏移量,以“rel”表示,即
把pc的当前值加上偏移量就构成了程序转移的目的地址。
3.5答:
mcs-51指令系统按功能分为:
数据传送类(28条);算术操作类(24条);逻辑运算类(25条);控制转移类(17条);位操作类(17条)。
3.6答:
一般采用直接寻址,对于sfr中字节地址能被8整除的sfr可以使用位寻址,对于sfr中的a、
b、dptr寄存器可以采用寄存器寻址。
3.7指令格式是由(操作码)和(操作数)所组成,也可能仅由(操作码)组成。
3.8假定累加器a中的内容为30h,执行指令:
1000h:
movca,@a+pc
后,把程序存储器(1031h)单元的内容送入累加器中
3.9在mcs----51中,pc和dptr都用于提供地址,但pc是为访问(程序)存储器提供地址,而dptr是为访问(数据)存储器提供地址。
3.10在寄存器间接寻址方式中,其“间接”体现在指令中寄存器的内容不是操作数,而是
操作数的(地址)。
3.11答:
功能是a、b内容互换
3.12a=50hsp=50h(51h)=30h(52h)=50hpc=5030h
3.13解:
anla,#87h解:
anla,#c3h解:
orla,#0ch
3.14a的内容为(0cbh)3.15a=(00h),r3=(0aah)
3.16dph=(3ch)dpl=(5fh)sp=(4fh)
3.17sp的内容为(62h),61h单元的内容为(30h),62h单元的内容为(70h)。
3.18解:
查表可知
ffmovr7,a
c0e0push0e0h
e5f0mova,0f0h
f0movx@dptr,a
4.1答:
用于程序设计的语言基本上分为三种:
机器语言、汇编语言和高级语言。
(1)机器语言:
在单片机中,用二进制代码表示的指令、数字和符号简称为机器语言,直
接用机器语言编写的程序称为机器语言程序。
用机器语言编写的程序,不易看懂,不便于记
忆,且容易出错。
(2)汇编语言具有如下特点:
a、汇编语言是面向机器的语言,程序设计
人员必须对mcs----51单片机的硬件有相当深入的了解。
b、助记符指令和机器指令一一对应,所以用汇编语言编写的程序效率高,占用的存储空间小,运行速度快,因此用汇编语言能编写出最优化的程序。
c、汇编语言程序能直接管理和控制硬件设备(功能部件),它能处理中断,也能直接访问存储器及i/o接口电路。
(3)高级语言:
高级语言不受具体机器的限制,都是参照一些数学语言而设计的,使用了许多数学公式和数学计算上的习惯用语,非常擅长于科学计算。
计算机不能直接识别和执行高级语言,需要将其“翻译”成机器语言才能识别和执行。
4.3答、手工汇编:
通常把人工查表翻译指令的方法称为“手工汇编”。
机器汇编:
机器汇编实际上是通过执行汇编程序来对源程序进行汇编的。
交叉汇编:
由于使用微型计算机完成了汇编,而汇编后得到的机器代码却是在另一台计算机(这里是单片机)上运行,称这种机器汇编为“交叉汇编”。
反汇编:
有时,在分析现成产品的rom/eprom中的程序时,要将二进制数的机器代码语言程序翻译成汇编语言源程序,该过程称为反汇编。
4.4答:
(1000h)=‘m’(1001h)=‘a’(1002h)=‘i’(1003h)=‘n’(1004h)=34h
(1005h)=12h(1006h)=00h(1007h)=30h(1008h)=70h(1009h)=00h
4.5答:
在编写子程序时应注意以下问题:
(1)子程序的第一条指令的地址称为子程序的入口地址。
该指令前必须有标号。
(2)主程序调用子程序,是通过主程序或调用程序中的调用指令来实现的。
(3)注意设置堆栈指针和现场保护,因调用子程序时,要把断点压入堆栈,子程序返回执
行ret指令时再把断点弹出堆栈送入pc指针,因此子程序结构中必须用堆栈。
(4)子程序返回主程序时,最后一条指令必须是ret指令,它的功能是在执行调用指令时,把自动压入堆栈中的断点地址弹出送入pc指针中,从而实现子程序返回主程序断点处继续执行主程序。
(5)子程序可以嵌套,即主程序可以调用子程序,子程序又可以调用另外的子程序,通常情况下可允许嵌套8层。
(6)在子程序调用时,还要注意参数传递的问题。
4.6解:
mova,45h
anla,#0fh
orla,#0fh
4.7a=80hsp=40h(41h)=50h(42h)=80hpc=8050h。
4.9a的内容为(0cbh)
4.10org0000h
movr0,#30h
movr2,#21h
loop:
mova,@r0
cjnea,#0aah,not
mov51h,#01h
sjmpdend
not:
incr0
djnzr2,loop
mov51h,#00h
dend:
sjmpdend
4.11org0000h
movr0,#20h
movr2,#21hmov41h,#00h
loop:
mova,@r0
cjnea,#00h,note
inc41h
note:
incr0
djnzr2,loop
end
4.12答:
堆栈指针sp的内容为62h,堆栈内容(61h)=03h,(62h)=20h;pc值为3456h,
不能将lcall换为acall,因为lcall可调用64kb范围内的子程序,而acall所调用的子程序地址必须与acall指令下一条指令的第一个字节在同一个2kb区内(即16位地址中的高5位地址相同。
如果换为acall,可调用的地址范围为2002h-27ffh。
5.1答:
能够实现中断处理功能的部件称为中断系统。
5.3答:
产生中断的请求源称为中断源。
mcs----51中断系统共有5个中断请求源:
(1)外部中断请求0,中断请求标志为ie0。
(2)外部中断请求1,中断请求标志为ie1。
(3)定时器/计数器t0溢出中断请求,中断请求标志为tf0。
(4)定时器/计数器t1溢出中断请求,中断请求标志为tf1。
(5)串行口中断请求,中断请求标志为ti或ri。
特点:
2个外部中断源,3个内部中断源。
5.4外部中断1所对应的中断入口地址为(0013h)。
5.5下列说法错误的是:
(a,b,c)
5.6答:
典型时间是3-8个机器周期。
在下列三种情况下,cpu将推迟对外部中断请求的响应:
(1)cpu正在处理同级的或更高级优先级的中断
(2)所查询的机器周期不是当前所正在执行指令的最后一个机器周期
(3)正在执行的指令是reti或是访问ie或ip的指令。
5.7中断查询确认后,在下列各种8031单片机运行情况中,能立即进行响应的是(d)
5.88031单片机响应中断后,产生长调用指令lcall,执行指令的过程包括:
首先把(pc)的内容压入堆栈,以进行断点保护,然后把长调用指令的16位地址送(pc),使程序执行
转向(响应中断请求的中断入口的地址)中的中断地址区。
5.9org0000h
ajmpmain
org0013h
ajmppint1
org0100h
main:
setbit1
setbex1
setbea
here:
ajmphere
pint1:
reti
end
5.10在mcs-51中,需要外加电路实现中断撤除的是(d)
5.11答:
扩展外部中断源的方法有:
定时器/计数器作为外部中断源的使用方法;中断和查询结合的方法。
5.12下列说法正确的是(cd)
5.13答:
两者的区别在于,reti清除了中断响应时,被置1的mcs-51内部中断优先级寄存器的优先级状态。
5.14org0000h
ajmpmain
org0003h
ljmppint0
org0100h
main:
setbit0
setbex0
setbea
here:
sjmphere
pint0:
pushpsw
pusha
jnbp1.3,ir3
jnbp1.2,ir2
jnbp1.1,ir1
pintir:
popa
poppsw
reti
ir3:
ljmpir3int
ir2:
ljmpir2int
ir1:
ljmpir1int
org1000h
ir3int:
ljmppintir
org1100h
ir2int:
ljmppintir
org1200hir1int:
ljmppintir
end
6.1答:
方式0213*4us=32.768方式1216*4us=262.144方式228*4us=1.024
【篇二:
单片机习题答案(哈工大张毅刚主编单片机原理及应用)】
s=txt>第一章
1-3:
单片机与普通计算机的不同之处在于其将()()和()三部分集成于一块芯片上。
答:
cpu、存储器、i/o口
1-8:
8051与8751的区别是:
a、内部数据存储但也数目的不同b、内部数据存储器的类型不同
c、内部程序存储器的类型不同d、内部的寄存器的数目不同
答:
c
第二章
2-4:
在mcs-51单片机中,如果采用6mhz晶振,1个机器周期为()。
答:
2us。
析:
机器周期为振荡周期的1/6。
2-6:
内部ram中,位地址为30h的位,该位所在字节的字节地址为()。
答:
26h
2-7:
若a中的内容为63h,那么,p标志位的值为()。
答:
0
析:
p为偶校验位,因为a中1的个数为偶数,所以p=0。
2-8:
判断下列说法是否正确:
a、8031的cpu是由ram和eprom所组成。
b、区分片外程序存储器和片外数据存储器的最可靠的方法是看其位于地址范围的低端还是高端。
c、在mcs-51中,为使准双向的i/o口工作在输入方式,必须保证它被事先预置为1。
d、pc可以看成使程序存储器的地址指针。
答:
错、错、对、对
2-9:
8031单片机复位后,r4所对应的存储单元的地址为(),因上电时psw=()。
这时当前的工作寄存器区是()组工作寄存器区。
答:
04h、00h、0
2-11:
判断以下有关pc和dptr的结论是否正确?
a、dptr是可以访问的,而pc不能访问。
b、它们都是16位的存储器
c、它们都有加1的功能。
d、dptr可以分为两个8位的寄存器使用,但pc不能。
答:
对、对、对、对
2-13:
使用8031芯片时,需将/ea引脚接()电平,因为其片内无()存储器。
答:
低、程序
2-14:
片内ram低128个单元划分为哪3个主要部分?
各部分的主要功能是什么?
答:
工作寄存器区、位寻址区、数据缓冲区
2-15:
判断下列说法是否正确
a、程序计数器pc不能为用户编程时直接使用,因为它没有地址。
b、内部ram的位寻址区,只能供位寻址使用,而不能供字节寻址使用。
c、8031共有21个特殊功能寄存器,它们的位都是可以用软件设置的,因此,是可以进行位寻址的。
答:
对、错、错
2-16:
pc的值是
a、当前正在执行指令的前一条指令的地址b、当前正在执行指令的地址
c、当前正在执行指令的下一条指令的地址d、控制器中指令寄存器的地址
答:
c
2-17:
通过堆栈操作实现子程序调用,首先就要把()的内容入栈,以进行断点保护。
调
用返回时,再进行出栈保护,把保护的断点送回到()。
答:
pc、pc
mcs-51的pc是16位的,因此其寻址的范围为()kb。
答:
64
2-20:
当mcs-51单片机运行出错或程序陷入死循环时,如何来摆脱困境?
答:
软件陷阱、复位
2-21:
判断下列说法是否正确?
a、pc是1个不可寻址的特殊功能寄存器。
b、单片机的主频越高,其运算速度越快。
c、在mcs-51单片机中,1个机器周期等于1us。
d、特殊功能寄存器sp内装的是栈顶首地址单元的内容。
答:
错、对、错、错
2-22:
如果手中仅有一台示波器,可通过观察哪个引脚的状态,来大致判断mcs-51单
片机正在工作?
答:
ale
析:
因为单片机正常工作时,ale脚输出时钟频率为振荡周期的1/6。
第三章
3-1:
判断下列指令的正误:
1)mov28h,@r22)decdptr3)incdptr4)clrr0
5)cplr56)movr0,r17)pushdptr8)movf0,c
9)movf0,acc.310)movxa,@r111)movc,30h12)rlcr0
答:
错、错、对、错
错、错、错、对
错、对、对、错
3-2:
判断下列说法是否正确。
a、立即寻址方式是被操作的数据本身在指令中,而不是它的地址在指令中。
b、指令周期是执行一条指令的时间。
c、指令中直接给出的操作数称为直接寻址。
答:
对、对、错
3-3:
在基址加变址寻址方式中,以()作变址寄存器,以()或()作基址寄存器。
答:
累加器a,dptr、pc
3-7:
指令格式是由()和()所组成,也可能仅由()组成。
答:
操作码、操作数、操作码
3-8:
假定累加器a中的内容为30h,执行指令
1000h:
movca,@a+pc
后,把程序存储器()单元的内容送入累加器a中。
答:
1031h
3-9:
在mcs-51中,pc和dptr都用于提供地址,但pc是为访问()存储器提供地
址,而dptr是为访问()存储器提供地址。
答:
程序、数据
3-10:
在寄存器间接寻址方式中,其“间接”体现在指令中寄存器的内容不是操作数,而
是操作数的()。
答:
地址
3-11:
下列程序段的功能是什么?
pusha
pushb
popa
popb
答:
交换a、b的内容
3-12:
已知程序执行前有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
3-14:
假定a=83h,(r0)=17h,(17h)=34h,执行以下指令:
anla,#17h
orl17h,a
xrla,@r0
cpla
后,a的内容为()。
答:
0cbh
3-15:
假定a=55h,r3=0aah,在执行指令anla,r3后,a=(),r3=()。
答:
0、0aah
3-16:
如果dptr=507bh,sp=32h,(30h)=50h,(31h)=5fh,(32h)=3ch,则执行
下列指令后:
popdph
popdpl
popsp
则:
dph=(),dpl=(),sp=()
答:
dph=3ch,dpl=5fh,sp=4fh
3-17:
假定,sp=60h,a=30h,b=70h,执行下列指令:
pusha
pushb
后,sp的内容为(),61h单元的内容为(),62h单元的内容为()。
答:
62h,30h,70h
第四章
4-
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 原理 应用 答案 张毅刚