张毅刚版单片机课后答案7-10章
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第七章习题解答
1.单片机存储器的主要功能是存储(程序)和(数据)。
2.试编写一个程序(例如将05H和06H拼为56H),设原始数据放在片外数据区2001H单元和2002H单元中,按顺序拼装后的单字节数放入2002H。
解:本题主要考察了对外部存储器的读、写操作,同学们只要记住正确使用MOVX指令就可以了。编程思路:首先读取2001H的值,保存在寄存器A中,将寄存器A的高四位和低四位互换,再屏蔽掉低四位然后将寄存器A的值保存到30H中,然后再读取2002H的值,保存在寄存器A中,屏蔽掉高四位,然后将寄存器A的值与30H进行或运算,将运算后的结果保存在2002H中。
ORG 0000H
MAIN:MOV DPTR,#2001H ;设置数据指针的初值
MOVX A,@DPTR ;读取2001H的值
SWAP A
ANL A,#0F0H ;屏蔽掉低四位
MOV 30H,A ;保存A
INC DPTR ;指针指向下一个
MOVX A,@DPTR ;读取2002H的值
ANL A,#0FH ;屏蔽掉高四位
ORL A,30H ;进行拼装
MOVX @DPTR,A ;保存到2002H
END
3.假设外部数据存储器2000H单元的内容为80H,执行下列指令后:
MOV P2,#20H
MOV R0,#00H
MOVX A,@R0
累加器A中的内容为(80H)。
4.编写程序,将外部数据存储器中的4000H—40FFH单元全部清零。
解:本题主要考察了对外部数据块的写操作;编程时只要注意循环次数和MOVX指令的使用就可以了。
ORG 0000H
MAIN:MOV A,#0 ;送预置数给A
MOV R0,#0FFH ;设置循环次数
MOV DPTR,#4000H ;设置数据指针的初值
LOOP:MOVX @DPTR,A ;当前单元清零
INC DPTR ;指向下一个单元
DJNZ R0,LOOP ;是否结束
END
5.在MCS-51单片机系统中,外接程序存储器和数据存储器共16位地址线和8位数据线,为何不会发生冲突?
解:因为控制信号线的不同:
外扩的RAM芯片既能读出又能写入,所以通常都有读写控制引脚,记为OE和WE。外扩RAM的读、写控制引脚分别与MCS-51的RD和WR引脚相连。
外扩的EPROM在正常使用中只能读出,不能写入,故EPROM芯片没有写入控制引脚,只有读出引脚,记为OE,该引脚与MCS-51单片机的PSEN相连。
6.区分MCS-51单片机片外程序存储器和片外数据存储器的最可靠的方法是:
(1)看其位于地址范围的低端还是高段
(2)看其离MCS-51芯片的远近
(3)看其芯片的型号是ROM还是RAM
(4)看其是与RD信号连接还是与PSEN信号连接
解:本题的答案是3,4。
7.在存储器扩展中,无论是线选法还是译码法,最终都是为了扩展芯片的(片选)端提供信号。
8.请写出图8-18中4片程序存储器27128各自所占的地址空间。
解:图中采用了译码法。4片地址分别为0000H-3FFFH、4000H-7FFFH、8000H-BFFFH、C000H-FFFFH。9.起止范围为0000H-3FFFH的存储器的容量是(16)KB。
解:本题属于常识题,在第十一题时将有解答。
10.在MCS-51中,PC和DPTR都用于提供地址,但PC是为了访问(程序)存储器提供地址,而DPTR是为访问(数据)存储器提供地址。
11.11根地址线可选(2KB)个存储单元,16KB存储单元需要(14)根地址线。
解:通过总结所学知识,我们得到以下几个信息:2KB的存储器需要11根地址线,地址为0000H-07FFH;4KB的存储器需要12根地址线,地址为0000H-0FFFH;
8KB的存储器需要13根地址线,地址为0000H-1FFFH;16KB的存储器需要14根地址线,地址为0000H-3FFFH;32KB的存储器需要15根地址线,地址为0000H-7FFFH;64KB的存储器需要16根地址线,地址为0000H-FFFFH(以上存储器的首地址均默认为0000H)。
12.32KB RAM存储器的首地址若为2000H,则末地址为(9FFF)H。
解:由上题总结得出,32KB RAM存储器的大小为0000H-7FFFH,所以只要在后面加上2000H即得到正确答案。
13.现有8031单片机、74LS373锁存器、1片2764EPROM和2片6116RAM,请使用他们组成一个单片机系统,要求:
(1)画出硬件电路连线图,并标注主要引脚;
(2)指出该应用系统程序存储器空间和数据存储器空间各自的地址范围。
解:(1)电路图如下所示:
(2)2764的地址为C000H-DFFFH;
第一个6116的地址为A000H-A7FFH;
第二个6116的地址为6000H-67FFH;
事实上,由于采用的是线选法,导致了地址不连续,地址空间利用不充分。建议在实际工作中要具体情况具体分析。在两种地址分配中选一种较好的来应用。
14.使用89C51芯片外扩一片E2PROM2864,要求2864兼作程序存储器和数据存储器,且首地址为8000H。要求:
(1)确定2864芯片的末地址;
(2)画出2864片选端的地址译码电路;
(3)画出该应用系统的硬件连接图。
解:(1)2864为8KB的存储器,如果首地址为8000H,则其末地址为9FFFH,理由参考第12题;
(2)电路图如下所示:
(3)电路图如下所示: