单片机原理及应用c51编程课后答案
单片机原理及应用c51编程课后答案【篇一:单片机原理及应用课后习题答案__张兰红】
兰红
9第 1 章微型计算机的基本概念
1.1 微型计算机由哪几部分组成?每一部分各起何作用?
解:微型计算机由微处理器芯片、存储器芯片、输入/输出接口电路芯片与总线组成。微处理器是微型计算机的核心,它通常包括 3 个基本部分:①算术逻辑部件
alu(arithmetic
logic unit),对传送到微处理器的数据进行算术运算或逻辑运算的电路,如执行加法、减法运算,
逻辑与、逻辑或运算等。②工作寄存器组,用来存放操作数及运算的中间结果等。③控制部件,
包括时钟电路和控制电路,时钟电路产生时钟脉冲,用于计算机各部分电路的同步定时;控制电路
产生完成各种操作所需的控制信号。
存储器是微型计算机的重要组成部分,计算机有了存储器才具备记忆功能。
i/o 接口是沟通 cpu 与外部设备的不可缺少的重要部件。外部设备种类繁多,其运行速度、数据形式、电平等各不相同,常常与 cpu 不一致,所以要用 i/o 接口作桥梁,起到信息转换与协
调的作用。
总线是在微型计算机各芯片之间或芯片内部各部件之间传输信息的一组公共通信线。
1.2 什么是 cpu?什么是主机?
解:由于运算器、控制器是计算机处理信息的关键部件,所以常将它们合称为中央处理单元 cpu
(central processing unit,简称 cpu)。
通常把运算器、控制器、存储器这三部分称为计算机的主机。
1.3 何谓计算机系统?何谓单板机?何谓单片机?
解:计算机与外围设备、电源、系统软件一起构成应用系统,称为计算机系统。
在一块印刷电路板上,集成了中央处理单元cpu、只读存储器rom、随机存取存储器 ram、 i/o 接口、定时器/计数器、中断系统等功能
部件,构成一台完整的微型计算机,称为单板机。
在一块半导体芯片上,集成了中央处理单元cpu、只读存储器rom、随机存取存储器 ram、 i/o 接口、定时器/计数器、中断系统等功能
部件,构成一台完整的微型计算机,称为单片机。
1.4 为什么要采用总线结构?芯片为什么要通过缓冲器才能挂在总线上?
解:微型计算机采用总线结构后,芯片之间不需单独走线,大大减
少了连接线的数量。挂在总线上的芯片不能同时发送信息,否则多
个信息同时出现在总线上将发生冲突而造成出错。
如果有几块芯片需要输出信息,就必须分时传送,为了实现这个要求,挂在总线上的各芯片必须通
过缓冲器与总线相连。
1.5 何谓程序计数器?程序计数器中存放的是什么内容?它对计算机的工作起什么作用?在什么情
况下,程序的执行顺序发生转移?此时程序计数器的内容是怎么样的?
解:程序计数器 pc 是管理程序执行次序的特殊功能寄存器。
程序计数器 pc 中存放的是下一条要执行的指令的地址。它管理程
序执行的次序。
在执行转移指令的情况下,程序的执行顺序发生转移。此时程序计
数器直接接受内部总线送来
的数据,并用该数据取代原有的内容。
1.6 评价存储器有哪些重要的指标?为什么说存储器性能已成为计算机性能提高的关键? 10
解:存储器的重要指标是容量和存取速度。
容量越大,则记忆的信息越多,计算机的功能就越强。存储器的存
取速度比 cpu 的运算速度要
低,所以存储器的工作速度是影响计算机工作速度的主要因素。
1.7 综述存储器的种类、特点、用途和优缺点?(主要针对内存)解:按结构与使用功能分,内存储器可分为随机存取存储器 ram 和
只读存储器 rom 两类。随机存取存储器 ram 又称读写存储器,它
的数据读取、存入时间都很短,因此,计算机运行时,
既可以从 ram 中读数据,又可以将数据写入 ram。但掉电后 ram 中存放的信息将丢失。 ram 适宜存放原始数据、中间结果及最后的运算结果,因此又被称作数据存储器。
只读存储器 rom 读出一个数据的时间为数百纳秒,有时也可改写,但写入一个数据的时间长达
数十 ms,因此在计算机运行时只能执行读操作。掉电后 rom 中存放的数据不会丢失。 rom 适宜存放程序、常数、表格等,因此又称为程序存储器。
只读存储器又可以分为下列四类:
①掩膜 rom:在半导体工厂生产时,已经用掩膜技术将程序做入芯片,用户只能读出其内容而
不能改写。掩膜 rom 只能应用于有固定程序且批量很大的产品中。
②可编程只读存储器 prom:用户可将程序写入 prom,仅程序一经写入就不能改写。
③可擦除可编程只读存储器 eprom:用户可将程序写入 eprom 芯片。如果要改写程序,先用紫外灯照射芯片,擦去原先的程序,然后写入新程序。与 prom 芯片一样,写入的速度很慢,且
要用到高压,所以必须用特定的 eprom 编程器写入信息。在计算机运行时只能执行读操作。④电擦除可编程只读存储器 eeprom:这是近年发展起来的一种只读存储器。由于采用电擦除方式,而且擦除、写入、读出的电源都用十 5v,故能在应用系统中在线改写。但目前写入时间较
长,约需 10ms 左右,读出时间约为几百 ns。
1.8 何谓堆栈?为什么要设置堆栈?栈区是怎样确定的?数据进栈、出栈按照何种规律?进栈用什
么指令?出栈用什么指令?进栈、出栈时栈指针如何变化?通常栈底所指是什么内容?解:微型计算机中的堆栈是读写存储器 ram 中的一个特殊的区域,是一组按照“先进后出”的方式工
作的、用于暂存信息的存储单元。
设置堆栈的目的是便于保护断点地址与现场信息。
用堆栈指针指示堆栈所在的位置。
数据进栈、出栈“按先进后出”的原则工作。
进栈用 push 指令,出栈用 pop 指令。进栈时指针向地址增加的方向变化,出栈时指针向地址
减小的方向变化。
栈底是最先进栈的信息所在的单元。
1.9 请解释下列名词:
(1)字长,字,字节,bcd 码,ascii 码。
(2)指令,指令地址,指令系统,程序。
解:(1)一台计算机一次所能处理的二进制代码的位数称为该计算机的字长。
16 位二进制数称为一个字。
8 位二进制数称为一个字节。
二进制编码的十进制数,简称二
十进制数,又称 bcd 码 (binary coded decimal)。
11
ascii 码是美国标准信息交换代码(american standard code for information interchange)的缩写。
(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.13 8 位和 16 位二进制数的原码、补码和反码可表示的数的范围分别是多少?解:8 位二进制数原码(127
~+127)、16 位二进制数原码(32767
~+32767)
8 位二进制数补码(128~+
127)、16 位二进制数补码(32768
~+32767)
8 位二进制数反码(127~+
127)、16 位二进制数反码(32767~+
32767)
1.14 写出下列真值对应的原码和补码的形式。
(1) x=111001lb
(2) x=71d
(3) 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
(2) x=56d y=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-3 8051单片机的存储器分哪几个空间?通过什么信号来区别不同空间的寻址?答:有四个物理上相互独立的存储空间:片内rom地址为0000h-0fffh此时/ea=1;片外rom地址为0000h-0ffffh此时/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-7 mcs-51单片机ea信号有何功能?在使用8031时ea信号引脚如何处理?
答:ea是访问外部程序存储器的控制信号,当ea=0时,8051片内rom不起作用,cpu只能从片外rom取指令,地址可以从0000h开
始编址,当ea=1时,pc在0000h~0fffh范围内,cpu从片内rom
取指令;而当pc>0fffh后,则自动转向片外rom去取指令。在使
用8031时ea常接地,因为它无内部程序存储器。
2-10 开机复位后,cpu使用哪一组工作寄存器?他们的地址是什么?如何改变当前工作寄存器组?
答:使用第0组工作寄存器,它们的地址是00h-07h,想改变当前
工作寄存器组可以通过对rs0,rs1进行相关复位、置位,如:setb
rs0,clr rs1。
2-11 sp表示什么?有几位?作用是什么?复位后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-2 mcs-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) mov a ,#30h ;寄存器寻址,立即寻址,30h为立即数
(2) mov 30h ,@r1 ;直接寻址,寄存器间接寻址,30h为字
节地址
(3) mov c ,30h ;寄存器寻址,直接寻址,30h为位地址
(4) mov 30h ,r5;直接寻址,寄存器寻址,30h为字节地址(5) movx a ,@dptr ;寄存器寻址,寄存器间接寻址
(6) movc a ,@a+pc ;寄存器寻址,基址加变址的寄存器间
接寻址,
(7)jc lab1;相对寻址
(8)sjmp lab2 ;相对寻址
3-5写出下列指令的机器码,并指出执行下列程序段后各单元内容
变为什么?累加器a及psw中的内容变为什么?
(1) mov a ,#2 ; (a)=02h
mov r1 ,#30h ; (r1)=30h
mov @r1 ,a ; (30h)=02h
mov 35h ,r1 ; (35h)=30h
xch a ,r1 ; (a)=30h,(r1)=02h
(2) mov a ,#0f5h ; (a)=0f5h
mov 30h ,#9bh; (30h)=9bh
mov r0 ,30h; (r0)=9bh
add a ,#28h; (a)=1dhcy=1 ac=00v=0
addc a ,@r0 ; (a)=0b9hcy=0 ac=10v=0
⑶ clr c ; (c)=0
mov 40h ,#7ah ; (40h)=7ah
mov a ,#92h;(a)=92h
mov r0 ,#40h ;(r0)=40h
subb a ,@r0 ;(a)=18hcy=0ac=1ov=1
⑷ mov a ,#79h;(a)=79h
mov 30h ,#89h ;(30h)=89h
add a ,30h ;(a)=02hcy=1ac=1ov=0
da a ;(a)=68h cy=1
swap a ;(a)=86h cy=1
3-6写出能完成下列数据传送的指令
⑴ r1内容传送到r0
mov a, r1
mov r0, a
⑵内部ram 25h单元中内容送35h单元
mov 35h, 25h
⑶内部ram 25h单元中内容送p1口
mov p1, 25h
⑷内部ram 40h单元中内容送外部ram 2005h单元 mov a, 40h
mov dptr, #2005h
movx @dptr, a
⑸外部ram 3000h单元中内容送外部ram 25h单元 mov dptr , #3000h
movx a, @dptr
mov 25h, a
⑹外部rom 1000h单元中内容送内部ram 35h单元
clr a
movc a, @a+dptr
mov 35h, a
⑺外部rom 4000h单元中内容送外部ram 4000h单元
mov dptr, #1000h
clr a
movc a, @a+dptr
movx @dptr, a
⑻外部ram 1000h单元中内容送sp堆栈指针
mov dptr , #1000h
movx a, @dptr
mov sp, a
3-8写出下段程序中每一步a、b中的结果:
mov a ,#22h ;(a)=22h
mov b ,#05h ;(b)=05h
mov r0 ,#08h ;(r0)=08h
mul ab;(b)=00h(a)=0aah
mov b ,r0 ;(b)=08h
div ab ;(a)=15h(b)=02h
3-9试写出完成如下操作的程序:
⑴把ram 1000h单元中的低4位变“0”,其余位不变
mov dptr , #1000h
movx a, @dptr
anl a, #0f0h
movx @dptr, a
⑵使内部ram 50h单元中的低4位变“1”,其余位不变
orl 50h, #0fh
⑶使内部ram 50h单元中的高3位变反,其余位不变
xrl 50h, #0e0h
⑷使内部ram 50h单元中的高4位变“1”,低4位变“0”
mov 50h,#0f0h
⑸使内部ram 50h单元中的所有位变反。
xrl 50h,#0ffh
3-10试编写程序完成以内部ram 30h为首地址的20个数据传送,目的地址为外部ram 以3000h为首地址的区域。
org 0000h
mov r0,#30h
mov r7,#20
loop: mov a,@r0
movx @dptr,a
inc r0
inc dptr
djnz r7,loop
sjmp $
end
3-11试编写条件转移程序,当寄存器r3的内容分别满足下列条件时能转移到loop处执行程序,条件不满足时则停机。
(1) (r3)≥15 ⑵(r3)<15 ⑶(r3)≤15 ⑷(r3)>15
(1) (r3)≥15
cjne r3,#15,neq
sjmp l1
neq:jnc l1
sjmp $
l1:loop
⑵(r3)<15
cjne r3,#15,neq
sjmp stop
neq: jc l1
stop:sjmp $
l1:loop
⑶(r3)≤15
cjne r3,#15,neq
sjmp l1
neq:jc l1
stop:sjmp $
l1:loop
⑷(r3)>15
cjne r3,#15,neq
sjmp stop
neq:jnc l1
stop: sjmp $
l1:loop
3-12已知:(sp)=53h,(pc)=37feh,执行acall 3a00h后
堆栈指针sp、堆栈中内容以及程序记数器pc中的内容是什么?
答:(pc)=37feh=0011 0111 1111 1110b
执行acall 3a00h (3a00h=0011 1010 0000 0000)
pc高5位,3a00h低11位为:0011 0010 0000 0000=3200h
执行acall 3a00h后堆栈指针sp、堆栈中内容以及程序记数器pc
中的内容分别为:(pc)=3200h (sp)=55h(54h)=00h (55h)=32h
第四章
4-1 从20h单元开始存放一组带符号数,其数目已存在1fh单元。
要求统计出大于0、小于0和等于0的个数并存于one、two、
three 三个单元。
编程思路:首先判断一下1fh单元内容是否为0,如果为0,什么都不做;如果1fh单元内容不为零,初始化one、two、three,通过
jz判断是否为0,通过判断acc最高位是否为1,来判断数是正是负,若最高位符号位为1说明是负数,否则为正数。
答案不唯一,参考程序如下:
org 0000h
one data 10h; 大于0的个数
two data 11h;小于0的个数
th ree data 12h ; 等于0的个数
main: cjne 1fh ,#00h, start
【篇三:单片机原理与应用及c51程序设计(第二版)课
后答案__杨加国主编..】
出下列有符号数的原码、反码和补码(假设计算机字长为8位)。
+45-89 -6 +112
答:【+45】原=00101101,【+45】反=00101101,【+45】补
=00101101 【-89】原=11011001,【-89】反=10100110,【-89】
补=10100111 【-6】原=10000110,【-6】反=11111001,【-6】
补=11111010 【+112】原=01110000,【+45】反=01110000,
【+45】补=01110000 2. 指明下列字符在计算机内部的表示形式。
asendfjfmdsv120
答:41h 73h 45h 4eh 64h 66h 4ah 46h 6dh 64h 73h 76h 31h 32h 30h
3. 什么是单片机?
答:单片机是把微型计算机中的微处理器、存储器、i/o接口、定时
器/计数器、串行接口、中断系统等电路集成到一个集成电路芯片上
形成的微型计算机。因而被称为单片微型计算机,简称为单片机。
4. 单片机的主要特点是什么?答:主要特点如下:
1) 在存储器结构上,单片机的存储器采用哈佛(harvard)结构 2) 在
芯片引脚上,大部分采用分时复用技术
3) 在内部资源访问上,采用特殊功能寄存器(sfr)的形式 4) 在指令系
统上,采用面向控制的指令系统
5) 内部一般都集成一个全双工的串行接口 6) 单片机有很强的外部扩
展能力
5. 指明单片机的主要应用领域。
答:单机应用:1) 和智能接口;4)
工业自动化控制;2) 智能仪器仪表;3) 家用电器
计算机外部设备
多机应用:功能弥散系统、并行多机处理系统和局部网络系统。
第二章
1. mcs-51单片机由哪几个部分组成?
答:mcs-51单片机主要由以下部分组成的:时钟电路、中央处理器(cpu)、存储器系统(ram和rom)、定时/计数器、并行接口、串行接口、中断系统及一些特殊功能寄存器(sfr)。
2. mcs-51的标志寄存器有多少位,各位的含义是什么?答:mcs-51的标志寄存器psw有8位;
d7 含义如下:
c(psw.7):进位或借位标志位。 ac(psw.6):辅助进位或借位可标
志位。
f0(psw.5):用户标志位。是系统预留给用户自己定义的标志位。
rs1、rs0(psw.4、psw.3):寄存器组选择位。可用软件置位或清零,用于从四组工作寄存器中选定当前的工作寄存器组。
d
dddddd
ov(psw.2):溢出标志位。在加法或减法运算时,如运算的结果超出
8位二进制数的范围,则ov置1,标志溢出,否则ov清零。
p(psw.0):奇偶标志位。用于记录指令执行后累加器a中1的个数
的奇偶性。若累加器a中1的个数为奇数,则p置位,若累加器a
中1的个数为偶数,则p清零。
其中psw.1未定义,可供用户使用。
3. 在8051的存储器结构中,内部数据存储器可分为几个区域?各
有什么特点?
答:片内数据存储器按功能可以分成以下几个部分:工作寄存器组区、位寻址区、一般ram区和特殊功能寄存器区,其中还包含堆栈区。工作寄存器组区,00h~1fh单元,可用r0~r7等8个寄存器访问;位寻址区,20h~2fh单元,可按位方式访问;一般ram区,
30h~7fh单元;堆栈区,可从08到7f单元;特殊功能寄存器区位
于80h~ffh单元。
4. 什么是堆栈?说明mcs-51单片机的堆栈处理过程。
答:堆栈是按先入后出、后入先出的原则进行管理的一段存储区域。cs-51单片机的堆栈是向上生长型的,存入数据是从地址低端向高端
延伸,取出数据是从地址高端向低端延伸。入栈和出栈数据是以字
节为单位的。入栈时,sp指针的内容先自动加1,然后再把数据存
入到sp指针指向的单元;出栈时,先把sp指针指向单元的数据取出,然后再把sp指针的内容自动减1。
5. mcs-51单片机有多少根i/o线?它们和单片机的外部总线有什
么关系?答:mcs-51单片机有32根i/o线,由p0口经地址锁存器提供低8位(a7~a0),p2口提供高8位(a15~a8)而形成。数据总线
宽度为8位,由p0口直接提供。控制总线由第二功能状态下的p3
口和4根独立的控制线rst、ea、ale和psen组成。
6.什么是机器周期? mcs-51单片机的一个机器周期包括多少个时
钟周期?
答:机器周期:机器周期是单片机的基本操作周期,每个机器周期
包含s1、s2、?、s66个状态,每个状态包含两拍p1和p2,每一
拍为一个时钟周期(振荡周期)。因此,一个机器周期包含12个时钟
周期。
7. 如果时钟周期的频率为12mhz,那么ale信号的频率为多少?答:2mhz
第三章
1.在mcs-51单片机中,寻址方式有几种?其中对片内ram可以
用哪几种寻址方式?对片外ram可以用哪几种寻址方式?
答:寻址方式可分为数的寻址和指令寻址,数的寻址有:常数寻址(立即寻址)、寄存器数寻址(寄存器寻址)、存储器数寻址(直
接寻址方式、寄存器间接寻址方式、变址寻址方式)和位寻址,指
令的寻址有绝对寻址和相对寻址。片内ram寻址有:寄存器寻址、
直接寻址方式和寄存器间接寻址方式。片外ram寻址有:寄存器间
接寻址方式。
2.在对片外ram单元寻址中,用ri间接寻址与用dptr间接寻址
有什么区别?
答:片外数据存储器寻址中,用ri间接寻址只能访问低端的256字
节单元,而用dptr作指针间接访问可访问整个64k字节。
3.在位处理中,位地址的表示方式有哪几种?答:1.直接位地址(00h~0ffh)。例如:20h
2.字节地址带位号。例如:20h.3表示20h单元的3位。
3.特殊功能寄存器名带位号。例如:p0.1表示p0口的1位。
4.位符号地址。例如:tr0是定时/计数器t0的启动位。
4.写出完成下列操作的指令。(1)r0的内容送到r1中。
mov a,r0 mov r1,a
(2)片内ram的20h单元内容送到片内ram的40h单元中。
mov 40h,20h
(3)片内ram的30h单元内容送到片外ram的50h单元中。
mov a,30h mov r0,#50h movx @r0,a
(4)片内ram的50h单元内容送到片外ram的3000h单元中。
mov a,50h mov dptr,#3000h movx @dptr,a
(5)片外ram的2000h单元内容送到片外ram的20h单元中。
mov dptr,#2000h movx a,@dptr mov 20h,a
(6)片外ram的1000h单元内容送到片外ram的4000h单元中。 mov dptr,#1000h