首页 理论教育 《单片机嵌入式系统原理及应用学习指导、习题详解与实验指导》

《单片机嵌入式系统原理及应用学习指导、习题详解与实验指导》

时间:2023-10-18 理论教育 版权反馈
【摘要】:图9-2 习题与思考题3附图24.设某一8051单片机系统,拟扩展2片28C64 EEPROM芯片作为程序存储器,2片FM16W08 Flash芯片作为数据存储器,试画出电路图,并说明存储器地址分配情况。答:采用查询方式电路图如图9-6所示,EOC引脚接P3.2,汇编程序为:图9-6 习题与思考题10电路11.如图9-7所示,用定时器T0每隔20ms控制ADC0809的IN0通道进行一次A-D转换,试编写汇编语言程序,并对其初始化。

《单片机嵌入式系统原理及应用学习指导、习题详解与实验指导》

1.在8051单片机应用系统中,外接程序存储器和数据存储器的地址空间允许重叠而不会发生冲突,为什么?外部I/O接口地址是否允许与存储器地址重叠?为什么?

答:单片机访问外部程序存储器与访问外部数据存储器(包括外部I/O口)时,采用

的控制信号不同,访问外部程序存储器采用控制信号978-7-111-50307-1-Chapter09-8.jpg,而访问外部数据存储器采用控

制信号978-7-111-50307-1-Chapter09-9.jpg;另外,访问外部程序存储器与访问外部数据存储器采用的指令不同,访问

程序存储器用指令MOVC,访问外部数据存储器用指令MOVX。因此访问外部程序存储器和数据存储器的地址空间允许重叠而不会发生冲突。

外部扩展I/O口占用数据存储器地址空间,与外部数据存储器统一编址,单片机用访问外部数据存储器的指令来访问外部扩展I/O口。因此外部I/O接口地址允许与程序存储器地址重叠,不允许与数据存储器地址重叠。

2.外部存储器的片选方式有几种?各有哪些特点?

答:外部存储器的片选方式有线选法和译码法两种。线选法的特点是连接简单,不必专门设计逻辑电路,但是各个扩展芯片占用的空间地址不连续,因而地址空间利用率低,适用于扩展地址空间容量不太大的场合。

译码法的特点是在P2口未被扩展芯片地址线占用的地址总线数量相同的情况下,可以比线选法扩展更多的芯片,而且可以使各个扩展芯片占用的空间地址连续,因而适用于扩展芯片数量多、地址空间容量大的复杂系统。

3.现要求对8051扩展2片28C64作为外部程序存储器,分别采用线选和译码方式实现片选,试画出电路图,并指出各芯片的地址范围。

答:(1)线选法实现:电路如图9-1所示,P0口作为低8位地址线经锁存器接28C64的A0~A7,P2.0~P2.4提供高4位地址线接28C64的A8~A12,P2.6和P2.7作为片选信号分别接28C64(1)和28C64(2),P2.5空闲,两片芯片的地址范围:28C64(1):A000H~BFFFH;28C64(2):6000H~7FFFH。

978-7-111-50307-1-Chapter09-10.jpg

图9-1 习题与思考题3附图1

(2)译码法实现:电路如图9-2所示,P0口作为低8位地址线经锁存器接28C64的A0~A7,P2.0~P2.4提供高5位地址线接28C64的A8~A12,P2.6和P2.7接74LS139的A、B端,P2.5空闲,译码器的输出端Y0、Y1接28C64(1)和28C64(2),当输入端A=0,B=0时,Y0输出低电平,选中芯片28C64(1);当输入端A=1,B=0时,Y1输出低电平,选中芯片28C64(2),两片芯片的地址范围:28C64(1):2000H~3FFFH;28C64(2):6000H~7FFFH。

978-7-111-50307-1-Chapter09-11.jpg

图9-2 习题与思考题3附图2

4.设某一8051单片机系统,拟扩展2片28C64 EEPROM芯片作为程序存储器,2片FM16W08 Flash芯片作为数据存储器,试画出电路图,并说明存储器地址分配情况。

答:接线图如图9-3所示,采用线选法接线,P0口作为低8位地址线经锁存器接28C64和FM16W08的A0~A7,P2.0~P2.4提供高5位地址线接28C64和FM16W08的A8~A12,P2.6和P2.7作为片选信号,P2.6接28C64(1)和FM16W08(1),P2.7接28C64(2)和

FM16W08(2),978-7-111-50307-1-Chapter09-12.jpg为28C64的控制信号,978-7-111-50307-1-Chapter09-13.jpg为FM16W08的控制信号。存储器地址

分配如下:

978-7-111-50307-1-Chapter09-14.jpg

978-7-111-50307-1-Chapter09-15.jpg

图9-3 习题与思考题4附图

5.试用1片74LS244和1片74LS273为89S52扩展8位输入端口和8位输出端口,8位输入端口各接1个开关,8位输出端口各接1个发光二极管,要求按下1个开关,相对应的发光二极管发光。试画出硬件连接图并编程。

答:程序如下:

978-7-111-50307-1-Chapter09-16.jpg

电路图如图9-4所示。

6.一个89S52应用系统扩展了1片8255A,晶振为12MHz,具有上电复位功能,P2.1~P2.7作为I/O口线使用,8255的PA口、PB口为方式0输入口,PC口为方式0输出口。试画出该系统的逻辑图,并编写初始化程序。

答:硬件接线如图9-5所示,8255A只有3根线接于地址线,片选978-7-111-50307-1-Chapter09-17.jpg,地址选择端A1、A0分别接于P0.7、P0.1、P0.0,其他地址线悬空。当P0.7为低电平时,选中该8255A,若P0.1、P0.0再为“00”选中8255A的A口,同理P0.1、P0.0为“01”“10”,“11”分别选中B口、C口及控制口。若地址用16位表示,其他无用端全设为“1”,则8255A的A、B、C及控制口地址分别可为:FF7CH、FF7DH、FF7EH、FF7FH。

978-7-111-50307-1-Chapter09-18.jpg

图9-4 习题与思考题5电路

如果无用位取为“0”,则4个地址为0000H,0001H,0002H,0003H,只要保证978-7-111-50307-1-Chapter09-19.jpg

A1、A0的状态,与无用位状态无关。初始化程序:

978-7-111-50307-1-Chapter09-20.jpg

7.写出9.3.5小节用串行接口扩展并行输入输出口的C51源程序

答:(1)用74LS165实现串行接口扩展并行输入口的C51源程序:

978-7-111-50307-1-Chapter09-21.jpg

978-7-111-50307-1-Chapter09-22.jpg(www.xing528.com)

图9-5 习题与思考题6电路

978-7-111-50307-1-Chapter09-23.jpg

978-7-111-50307-1-Chapter09-24.jpg

978-7-111-50307-1-Chapter09-25.jpg

8.用DAC0832进行D-A转换时,当输出电压的范围在0~5V时,每变化一个二进制数,其输出电压跳变约20mV,即输出是锯齿状的,采取何种措施可使输出信号比较平滑?

答:有计算移动平均值、设计滤波器两种方法。

9.当系统的主频为6MHz时,请计算主教材图9-49中用DAC0832产生矩形波信号的周期。

答:若晶振选6MHz,1个机器周期为2μs,则T=2×8×256μs=4096μs

10.当主教材图9-52中的ADC0809对8路模拟信号进行A-D转换时,请编写用查询方式工作的采样程序,8路采样值存放在30H~37H单元。试分别用汇编语言编写。

答:采用查询方式电路图如图9-6所示,EOC引脚接P3.2,汇编程序为:

978-7-111-50307-1-Chapter09-26.jpg

978-7-111-50307-1-Chapter09-27.jpg

图9-6 习题与思考题10电路

11.如图9-7所示,用定时器T0每隔20ms控制ADC0809的IN0通道进行一次A-D转换,试编写汇编语言程序,并对其初始化。

答:若晶振选12MHz,1个机器周期为1μs,定时器/计数器选定时模式1,20ms需要计数:978-7-111-50307-1-Chapter09-28.jpg,这样定时器的初值应选:216-20000=65536-20000=45536=0B1E0H。

978-7-111-50307-1-Chapter09-29.jpg

图9-7 习题与思考题11电路

若晶振选6MHz,1个机器周期为2μs,定时器/计数器选定时模式1,20ms需要计数:978-7-111-50307-1-Chapter09-30.jpg,这样定时器的初值应选:216-10000=65536-1000=55536=0D8F0H。

汇编程序为:

978-7-111-50307-1-Chapter09-31.jpg

978-7-111-50307-1-Chapter09-32.jpg

12.用Proteus搭建键盘、7段式LED显示器接口电路,并运行对应程序。

答:AT89C51单片机对3×3矩阵键盘进行动态扫描,但某个键按下时,可将相应按键值在数码管上显示出来。本题目采用矩阵式键盘,它由行线和列线组成,按键位于行列的交叉点上,行、列线分别连接到按键开关的两端。行线接高电平,列线接低电平。无按键按下时,行线处于高电平状态;有按键按下时,行线电平状态将由与行线相连的列线的电平决定。列线电平如果为低,则行线电平为低;列线电平如果为高,则行线电平亦为高。这一点是识别矩阵键盘按键是否按下的关键所在。由于矩阵式键盘中行、列线多键共用,各按键均影响该键所在行和列的电平,因此各按键彼此将互相影响,所以必须将行、列线信号配合起来并做适当的处理,才能确定闭合键的位置。

C51程序代码:

978-7-111-50307-1-Chapter09-33.jpg

978-7-111-50307-1-Chapter09-34.jpg

978-7-111-50307-1-Chapter09-35.jpg

仿真电路如图9-8所示。

978-7-111-50307-1-Chapter09-36.jpg

图9-8 习题与思考题12仿真电路

13.用Proteus仿真主教材中图9-47,在输出端得到三角波、锯齿波、矩形波波形。

答:仿真电路如图9-9所示。

调用低电平延时程序如下:

978-7-111-50307-1-Chapter09-37.jpg

978-7-111-50307-1-Chapter09-38.jpg

图9-9 习题与思考题14仿真电路

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈