单片机原理及应用c51编程课后答案Word格式文档下载.docx

上传人:b****5 文档编号:19616589 上传时间:2023-01-08 格式:DOCX 页数:14 大小:28.54KB
下载 相关 举报
单片机原理及应用c51编程课后答案Word格式文档下载.docx_第1页
第1页 / 共14页
单片机原理及应用c51编程课后答案Word格式文档下载.docx_第2页
第2页 / 共14页
单片机原理及应用c51编程课后答案Word格式文档下载.docx_第3页
第3页 / 共14页
单片机原理及应用c51编程课后答案Word格式文档下载.docx_第4页
第4页 / 共14页
单片机原理及应用c51编程课后答案Word格式文档下载.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

单片机原理及应用c51编程课后答案Word格式文档下载.docx

《单片机原理及应用c51编程课后答案Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《单片机原理及应用c51编程课后答案Word格式文档下载.docx(14页珍藏版)》请在冰豆网上搜索。

单片机原理及应用c51编程课后答案Word格式文档下载.docx

过缓冲器与总线相连。

1.5何谓程序计数器?

程序计数器中存放的是什么内容?

它对计算机的工作起什么作用?

在什么情况下,程序的执行顺序发生转移?

此时程序计数器的内容是怎么样的?

程序计数器pc是管理程序执行次序的特殊功能寄存器。

程序计数器pc中存放的是下一条要执行的指令的地址。

它管理程序执行的次序。

在执行转移指令的情况下,程序的执行顺序发生转移。

此时程序计数器直接接受内部总线送来

的数据,并用该数据取代原有的内容。

1.6评价存储器有哪些重要的指标?

为什么说存储器性能已成为计算机性能提高的关键?

10

存储器的重要指标是容量和存取速度。

容量越大,则记忆的信息越多,计算机的功能就越强。

存储器的存取速度比cpu的运算速度要

低,所以存储器的工作速度是影响计算机工作速度的主要因素。

1.7综述存储器的种类、特点、用途和优缺点?

(主要针对内存)解:

按结构与使用功能分,内存储器可分为随机存取存储器ram和只读存储器rom两类。

随机存取存储器ram又称读写存储器,它的数据读取、存入时间都很短,因此,计算机运行时,

既可以从ram中读数据,又可以将数据写入ram。

但掉电后ram中存放的信息将丢失。

ram适宜存放原始数据、中间结果及最后的运算结果,因此又被称作数据存储器。

只读存储器rom读出一个数据的时间为数百纳秒,有时也可改写,但写入一个数据的时间长达

数十ms,因此在计算机运行时只能执行读操作。

掉电后rom中存放的数据不会丢失。

rom适宜存放程序、常数、表格等,因此又称为程序存储器。

只读存储器又可以分为下列四类:

1掩膜rom:

在半导体工厂生产时,已经用掩膜技术将程序做入芯片,用户只能读出其内容而

不能改写。

掩膜rom只能应用于有固定程序且批量很大的产品中。

2可编程只读存储器prom:

用户可将程序写入prom,仅程序一经写入就不能改写。

3可擦除可编程只读存储器eprom:

用户可将程序写入eprom芯片。

如果要改写程序,先用紫外灯照射芯片,擦去原先的程序,然后写入新程序。

与prom芯片一样,写入的速度很慢,且要用到高压,所以必须用特定的eprom编程器写入信息。

在计算机运行时只能执行读操作。

④电擦除可编程只读存储器eeprom:

这是近年发展起来的一种只读存储器。

由于采用电擦除方式,而且擦除、写入、读出的电源都用十5v,故能在应用系统中在线改写。

但目前写入时间较

长,约需10ms左右,读出时间约为几百ns。

1.8何谓堆栈?

为什么要设置堆栈?

栈区是怎样确定的?

数据进栈、出栈按照何种规律?

进栈用什么指令?

出栈用什么指令?

进栈、出栈时栈指针如何变化?

通常栈底所指是什么内容?

微型计算机中的堆栈是读写存储器ram中的一个特殊的区域,是一组按照“先进后出”的方式工作的、用于暂存信息的存储单元。

设置堆栈的目的是便于保护断点地址与现场信息。

用堆栈指针指示堆栈所在的位置。

数据进栈、出栈“按先进后出”的原则工作。

进栈用push指令,出栈用pop指令。

进栈时指针向地址增加的方向变化,出栈时指针向地址

减小的方向变化。

栈底是最先进栈的信息所在的单元。

1.9请解释下列名词:

(1)字长,字,字节,bcd码,ascii码。

(2)指令,指令地址,指令系统,程序。

(1)一台计算机一次所能处理的二进制代码的位数称为该计算机的字长。

16位二进制数称为一个字。

8位二进制数称为一个字节。

二进制编码的十进制数,简称二十进制数,又称bcd码(binarycodeddecimal)。

11

ascii码是美国标准信息交换代码(americanstandardcodeforinformationinterchange)的缩写。

(2)指令:

控制计算机进行各种操作的命令称为指令。

指令地址:

指令所在存储单元的地址。

指令系统:

一台计算机所具有的所有指令的结合,称为该计算机的指令系统。

程序:

一系列指令的有序集合称为程序。

1.10计算机中常用的计数制有哪些?

二进制、十进制(bcd)、十六进制。

1.11什么是机器码?

什么是真值?

把符号数值化的数称为机器数或机器码,原来的数值叫做机器数的真值。

1.12完成下列数制的转换。

(1)10100110b=()d=()h

(2)0.11b=()d

(3)253.25=()b=()h

(4)10ll011.101b=()h=()bcd

(1)166,a6

(2)0.75

(3)11111101.01,fd.4

(4)5b.a,10010001.011000100101

1.138位和16位二进制数的原码、补码和反码可表示的数的范围分别是多少?

8位二进制数原码(127

〜+127)、16位二进制数原码(32767

〜+32767)

8位二进制数补码(128〜+

127)、16位二进制数补码(32768

〜+32767)

8位二进制数反码(127〜+

127)、16位二进制数反码(32767〜+

32767)

1.14写出下列真值对应的原码和补码的形式。

⑴x=1110011b

⑵x=71d

⑶x=+1001001b

(1)原码:

11110011b补码:

10001101b

(2)原码:

11000111b补码:

10111001b

(3)原码:

01001001b补码:

01001001b

1.15写出符号数10110101b的反码和补码。

11001010b,11001011b

1.16已知x和y的真值,求[x十y]的补码

(1)x=1110111b

⑵x=56dy=21d

12

解;

(1)11100011b

(2)00100011b

1.17己知x=1101001b,y=1010110b.

用补码求xy

的值。

11101101b

1.18请写出下列字符的ascii码。

4a3=!

34h,41h,33h,3dh,21h

1.19若给字符4和9的ascii码加奇校验,应是多少?

34h,b9h

1.20上题中若加偶校验,结果如何?

b4h,39h

1.21计算下列表达式。

(2)4eh(

24/08h十‘b'

/2()b

(1)129.5d

(2)101010b

13

第2章mcs51单片机的硬件结构

2.1请结合课本中mcs51系列单片机的结构图,阐明其大致组成。

按功能部件分,51子系列单片机由cpu、数据存储器ram、程序存储器rom、特殊功能寄存

器、4个并行i/o口、1个串行口、定时器/计数器、中断系统等八个

功能部件组成。

cpu由累加器a、暂存器1、2、alu、psw等组成数据存储器由ram地址寄存器、ram单元等组成。

程序存储器指eprom或rom。

sfr指p0、p1、p2、p3锁存器、b、dptr等。

2.2综述mcs51

系列单片机各引脚的作用,并进行分类。

(1)主电源引脚

vcc:

接+5v电源正端。

vss:

接+5v电源地端。

(2)外接晶体引脚

xtal1:

片内反相放大器输入端

xtal2:

片内反相放大器输出端

(3)输入/输出引脚

p0.0p0.7:

p0口的8个引脚。

在不接片外存储器与不扩展i/o接口时,作为

准双向输入/输出接口(在输入时需要附加条件的双向输入输出口,称为准双向i/o口)。

在接有片外存储器或扩展

i/o接口时,p0口分时复用为低8位地址总线和双向数据总线。

p1.0p1.7:

p1口的8个引脚。

可作为准双向i/o接口使用。

对于52子系列,p1.0与p1.1还有第二种功能:

p1.0可用作定时器/计数器2的计数脉冲输入端t2;

p1.1可用作定时器/计数器2的

外部控制端t2ex。

p2.0p2.7;

p2口的8个引脚。

一般可作为准双向i/o接口;

在接有片外存储

器或扩展i/o接口且寻址范围超过256个字节时,p2口用为高8位地址总线。

p3.0p3.7;

p3口的8个引脚。

①一般可作为准双向i/o接口;

②p3口的第二功能如表21所示。

表21

引脚第二功能

p3.0

p3.1

p3.2

p3.3

p3.4

p3.5

p3.6

p3.7

【篇二:

单片机原理及应用(赵晓安)课后习题】

第二章课后题

2-38051单片机的存储器分哪几个空间?

通过什么信号来区别不同空间的寻址?

答:

有四个物理上相互独立的存储空间:

片内rom地址为OOOOh-Offfh此时/ea=1;

片外rom地址为OOOOh-Offffh此时/ea=0。

片内数据存储器地址为00h-0ffh;

片外数据存储器地址为0000h-0ffffh;

区分片内片外数据存储器通过指令mov与movx。

2-5在程序存储器中,0000h,0003h,000bh,0013h,001bh,0023h这六个单元有什么特定的含义?

0000h复位后,pc=0000h,开始执行程序的地址

0003h外部中断0(int0)入口地址

000bh定时器0中断(tf0)入口地址

0013h外部中断1(int1)入口地址

001bh定时器1中断(tf1)入口地址

0023h串行口中断ti/ri入口地址

2-6内部ram低128单元划分为哪三个主要部分?

各部分主要功能是什么?

答:

分为三部分:

工作寄存器去,位寻址区,用户ram区(堆栈、数据缓冲)。

(1)工作寄存器区(00h-1fh):

32个ram单元共分四组,每组8个寄存单元(r0-r7)。

寄存器常用于存放操作数及中间结果等。

(2)位寻址区(20h-2fh):

此部分16个单元的每一位都有一个8位表示的位地址,位寻址取得每一个单元既可作为一般ram单元使用,进行字节操作,也可以对单元中的每一位进行位操作。

(3)用户ram区:

也是数据缓冲区,一般用于存放用户数据及作堆栈区使用。

2-7mcs-51单片机ea信号有何功能?

在使用8031时ea信号引脚如何处理?

ea是访问外部程序存储器的控制信号,当ea=0时,8051片内rom不起作用,cpu只能从片外rom取指令,地址可以从0000h开始编址,当ea=1时,pc在0000h〜Offfh范围内,cpu从片内rom取指令;

而当pc>

0fffh后,则自动转向片外rom去取指令。

在使用8031时ea常接地,因为它无内部程序存储器。

2-10开机复位后,cpu使用哪一组工作寄存器?

他们的地址是什么?

如何改变当前工作寄存器组?

使用第0组工作寄存器,它们的地址是00h-07h,想改变当前工作寄存器组可以通过对rs0,rs1进行相关复位、置位,如:

setbrs0,clrrs1。

2-11sp表示什么?

有几位?

作用是什么?

复位后sp的内容是什么?

sp表示堆栈指针,为8位专用寄存器,作用是为了指示栈顶地址,它的内容是堆栈栈顶的存储单元地址。

复位后sp在ram低128位字节中开辟栈区,并初始化为07h,当实际进栈出栈时,存储数据前会自动加1,所以堆栈实在08h单元开始。

2-18试说明8051的振荡周期、机器周期、指令周期是如何分配的。

当振荡脉冲频率为6mhz时,机器周期是多少?

8051单片机每条指令的执行时间(即指令周期)为1~4个机器周期,有单字节单周期指令、两字节单周期指令、单字节两周期指令、两字节两周期指令、三字节两周期指令以及

第三章

3-1简述mcs-51有哪几种寻址方式?

各有什么特点?

mcs-51有以下七种寻址方式:

(1)直接寻址:

指令中直接给出操作数所在的单元地址或位地址;

(2)立即寻址:

在指令中紧跟在操作码之后的字节是操作数;

(3)寄存器寻址:

操作数在指令中给出的寄存器中;

(4)寄存器间接寻址:

寄存器中存放的是操作数所在的单元地址;

(5)变址寻址:

基址加变址形成的16位地址是操作数地址;

(6)相对寻址:

指令中给出相对偏移量,转移指令都为相对寻址;

(7)位寻址:

指令中给出的位地址或位寄存器中存放的是位操作数。

3-2mcs-51指令按功能分为哪几类?

每类指令的作用是什么?

mcs-51指令按功能分为五类,分别为:

(1)数据传送类指令:

主要用于数据的传送、交换与堆栈操作;

(2)算术运算类指令:

主要用来完成加减乘除运算及二十进制调整;

(3)逻辑运算类指令:

主要完成与、或、异或及移位运算;

(4)位操作指令:

主要用来做与、或、清除、置位、求反等布尔运算;

(5)控制转移指令:

控制程序执行的走向,有转移、调用及返回操作。

3-3变址寻址和相对寻址中的偏移量有何异同?

变址寻址:

@a+dptr、@a+pc,其中dptr、pc为基址寄存器,a为变址寄存器,其中a为8位无符号的二进制数,其范围为0到255;

相对寻址中偏移量为8位带符号的二进制数,范围为-128-127

23-4指出下列每条指令的寻址方式,30h在不同的指令中代表什么含义?

(1)mova,#30h;

寄存器寻址,立即寻址,30h为立即数

(2)mov30h,@r1;

直接寻址,寄存器间接寻址,30h为字节地址

(3)movc,30h;

寄存器寻址,直接寻址,30h为位地址

(4)mov30h,r5;

直接寻址,寄存器寻址,30h为字节地址

(5)movxa,@dptr;

寄存器寻址,寄存器间接寻址

(6)movca,@a+pc;

寄存器寻址,基址加变址的寄存器间接寻址,

(7)jclab1;

相对寻址

(8)sjmplab2;

3-5写出下列指令的机器码,并指出执行下列程序段后各单元内容变为什么?

累加器a及psw中的内容变为什么?

(1)mova,#2;

(a)=02hmovr1,#30h;

(r1)=30hmov@r1,a;

(30h)=02hmov35h,r1;

(35h)=30hxcha,r1;

(a)=30h,(r1)=02h

(2)mova,#0f5h;

(a)=0f5hmov30h,#9bh;

(30h)=9bhmovr0,30h;

(r0)=9bhadda,#28h;

(a)=1dhcy=1ac=00v=0addca,@r0;

(a)=0b9hcy=0ac=10v=0⑶clrc;

(c)=0mov40h,#7ah;

(40h)=7ahmova,#92h;

(a)=92hmovr0,#40h;

(r0)=40hsubba,@r0;

(a)=18hcy=0ac=1ov=1⑷mova,#79h;

(a)=79hmov30h,#89h;

(30h)=89hadda,30h;

(a)=02hcy=1ac=1ov=0daa;

(a)=68hcy=1swapa;

(a)=86hcy=1

3-6写出能完成下列数据传送的指令⑴r1内容传送到r0mova,r1movr0,a

⑵内部ram25h单元中内容送35h单元mov35h,25h

⑶内部ram25h单元中内容送p1口movp1,25h

⑷内部ram40h单元中内容送外部ram2005h单元mova,40hmovdptr,#2005hmovx@dptr,a

⑸外部ram3000h单元中内容送外部ram25h单元movdptr,#3000hmovxa,@dptrmov25h,a

⑹外部rom1000h单元中内容送内部ram35h单元movdptr,#1000h

clra

movca,@a+dptr

mov35h,a

⑺外部rom4000h单元中内容送外部ram4000h单元

movdptr,#1000h

movx@dptr,a

⑻外部ram1000h单元中内容送sp堆栈指针

movdptr,#1000h

movxa,@dptr

movsp,a

3-8写出下段程序中每一步a、b中的结果:

mova,#22h;

(a)=22h

movb,#05h;

(b)=05h

movr0,#08h;

(r0)=08hmulab;

(b)=00h(a)=0aahmovb,r0;

(b)=08hdivab;

(a)=15h(b)=02h3-9试写出完成如下操作的程序:

⑴把ram1000h单元中的低4位变“0”,其余位不变

movdptr,#1000hmovxa,@dptranla,#0f0hmovx@dptr,a

⑵使内部ram50h单元中的低4位变“1”,其余位不变orl50h,#0fh

⑶使内部ram50h单元中的高3位变反,其余位不变xrl50h,#0e0h

⑷使内部ram50h单元中的高4位变“1”,低4位变“0”

mov50h,#0f0h

⑸使内部ram50h单元中的所有位变反。

xrl50h,#0ffh

3-10试编写程序完成以内部ram30h为首地址的20个数据传送,目的地址为外部ram以3000h为首地址的区域。

org0000hmovr0,#30hmovdptr,#3000hmovr7,#20loop:

mova,@r0movx@dptr,aincr0incdptrdjnzr7,loopsjmp$end

3-11试编写条件转移程序,当寄存器r3的内容分别满足下列条件时能转移到loop处执行程序,条件不满足时则停机。

(1)(r3)>

⑵5(r3)v15(3)(r3)<

15r3)>

15

cjner3,#15,neqsjmpl1neq:

jncl1sjmp$l1:

loop

3(r3)v15

cjner3,#15,neqsjmpstopneq:

jcl1stop:

sjmp$l1:

3(r3)w15

r3)>

jncl1stop:

3-12已知:

(sp)=53h,(pc)=37feh,执行acall3a00h后

堆栈指针sp、堆栈中内容以及程序记数器pc中的内容是什么?

(pc)=37feh=0011011111111110b

执行acall3a00h(3a00h=0011101000000000)

pc高5位,3a00h低11位为:

0011001000000000=3200h

执行acall3a00h后堆栈指针sp、堆栈中内容以及程序记数器pc中的内容分别为:

(pc)=3200h(sp)=55h(54h)=00h(55h)=32h第四章

4-1从20h单元开始存放一组带符号数,其数目已存在1fh单元。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 教育学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1