第09章-单片机应用系统资源扩展-习题解答

上传人:日度 文档编号:147741972 上传时间:2020-10-13 格式:DOC 页数:12 大小:235.50KB
返回 下载 相关 举报
第09章-单片机应用系统资源扩展-习题解答_第1页
第1页 / 共12页
第09章-单片机应用系统资源扩展-习题解答_第2页
第2页 / 共12页
第09章-单片机应用系统资源扩展-习题解答_第3页
第3页 / 共12页
第09章-单片机应用系统资源扩展-习题解答_第4页
第4页 / 共12页
第09章-单片机应用系统资源扩展-习题解答_第5页
第5页 / 共12页
点击查看更多>>
资源描述

《第09章-单片机应用系统资源扩展-习题解答》由会员分享,可在线阅读,更多相关《第09章-单片机应用系统资源扩展-习题解答(12页珍藏版)》请在金锄头文库上搜索。

1、第09章 单片机应用系统资源扩展 习题解答一、 填空题1. 8051单片机扩展I/O口时占用片外 数据 存储器的地址。2. 8051单片机寻址外设端口时用 寄存器间址 寻址方式。3. 8051单片机PSEN控制 程序 存储器读操作。4. 8051 单片机访问片外存储器时利用 ALE 信号锁存来自 P0 口的低八位地址信号。5. 12根地址线可选 4K 个存储单元,32KB存储单元需要 15 根地址线。6. 欲增加8KB8位的RAM区,请问选用Intel 2114(1KB4位)需购 16 片; 若改用Intel 6116(2KB8位)需购 4 片,若改用Intel 6264 (1KB8位)需购

2、8 片。 774LS164 是 串入并出 转换芯片,74LS165是 并入串出 转换芯片。 874LS138是具有3个输入端的译码器芯片,其输出作为片选信号时,最多可以选中 8 块芯片。 974LS273通常用来作简单 输出 接口扩展;而74LS244则常用来作简单 输入 接口扩展。 10片选方式通常有3种形式: 线选法 、 部分译码器法 、 全译码法 二、 简答题1简述单片机并行扩展外部存储器时三总线连接的基本原则。答:P0口提供数据线,P0、P2口提供地址线,低位用于片内选择,高位用做片选信号,用控制程序存储器的读操作,用和控制数据存储器或I/O端口的读写。2什么是全译码?什么是部分译码?

3、什么是线选法?有什么特点?答:(1)全译码法:先将扩展芯片的地址线与单片机的地址总线从低位开始顺次相连后,剩余的高位地址线的全部经译码后连接到各扩展芯片的片选线上。全译码法扩展芯片的地址空间是唯一确定的,不会有地址重叠。但译码电路相对复杂。(2)部分译码法:与全译码法类似,先将扩展芯片的地址线与单片机的地址总线从低位开始顺次相连后,剩余的高位地址线的一部分经译码后连接到各扩展芯片的片选线上。部分译码使存储器芯片的地址空间也有重叠,但硬件上比全译码法简单,重叠情况与线选法相比较又有所改进。(3)线选法:先将扩展芯片的地址线与单片机的地址总线从低位开始顺次相连后,剩余的高位地址线的一根或几根直接连

4、接到各扩展芯片的片选线上。线选法的优点是简单明了,不需增加额外电路。缺点是存储空间不连续,存在地址重叠现象。适用于扩展存储容量较小的场合。3画出利用线选法,用3 片2764A 扩展24K8 位EPROM 的电路图。分析每个芯片的地址范围。答:电路如图所示U2地址:C000HDFFFHU3地址:A000HBFFFHU4地址:6000H7FFFH4采用2114芯片在8031片外扩展1 KB数据存储器,并分析地址范围。答:电路如图所示。地址范围:因为地址总线的高位P2.2P2.7均没用上,共存着26=64个重复地址区间,每个区间的范围为1K。 0000H03FFH,0400H07FFH,0800H0

5、BFFH,0C00H0FFFH FC00HFFFFH5采用2764和6264芯片在8031片外分别扩展24 KB程序存储器和数据存储器。答:电路如图所示外部ROMU2地址:C000HDFFFHU3地址:A000HBFFFHU4地址:6000H7FFFH外部RAM 芯片U5、U6、U7的地址范围分别与U2、U3、U4一致,但由于使用不同的指令访问,因此相互并无影响。三、 Proteus仿真1. 在Proteus下,完成9.7节内容。答:全自动洗衣机控制器存储器扩展Proteus 仿真随着全自动洗衣机功能的不断丰富,需要的存储器容量也不断增加。当单片机内部存储器不够用时,就需要在外部扩展。下面介绍

6、对全自动洗衣机控制器扩展一片AT24C02的方法,并在Proteu下仿真实现。用8051单片机的P1.0和P1.1模拟I2C总线,扩展一片AT24C02,通过两个独立中断按钮对AT24C02进行读写控制。用一片并串转换芯片4014扩展一个8位数字量输入电路,输入8个拨码开关的状态。在P0口扩展8个LED发光二极管。当读按键按下时,从4014芯片读入8位拨码开关的状态信息,并写入AT24C02芯片。当写按键按下时,从AT24C02芯片中读出刚才保存的8位拨码开关状态信息,并送P0口显示。电路如图9-33所示。图 9-33 仿真电路原理图C语言参考程序代码如下:#include /包含头文件,其中

7、定义51特殊寄存器#define uchar unsigned char /简化无符号变量声明字#define uint unsigned int #define DELAY_TIME 60 /定义延时时间常数#define TRUE 1 /定义布尔常量#define FALSE 0 #define MYADDR 0x08 /定义AT24C02内部单元地址sbit SDA=P10; /用P1.0模拟I2C 总线的SDAsbit SCL=P11; /用P1.1模拟I2C 总线的SCLsbit SL=P17; /4014工作方式控制口sbit SD=P30; /定义串口数据线sbit CLK=P3

8、1; /定义串口时钟线/*4014并转串输入子程序*/uchar get_input()uchar dat; /声明RAM变量,用于存放转换后的8位数据 SL=1; /置4014于并行输入工作方式CLK=0; /串行口未启动之前,P3.1上无同步移位脉冲CLK=1; /并行置数,软件产生一个脉冲上升沿SL=0; /置4014于串行移位工作方式SCON=0x10; /串口工作方式0,允许接收ES=0; /关中断while (RI=0); /查询接收中断标志位RI=0; /全部接收完成,清零标志位dat=SBUF; /将转换后的数据送datSL=1; /置4014于并行输入工作方式return(d

9、at); /返回 dat值/* I2C 相关子函数 */-延时函数-void DELAY(uint t) /输入定时时间t,无输出while(t!=0) t-; /当t不为0时自减1/* I2C_Start()函数的作用:产生I2C总线启动信号,当SCL为高电平时使SDA产生一个由高至低的电平跳变*/void I2C_Start(void) /无输入变量,无返回值 SDA=1; /置SDA口高电平SCL=1; /置SCL口高电平DELAY(DELAY_TIME); /延时,让SCL,SDA高电平持续一段时间SDA=0; /使SDA口输出低电平DELAY(DELAY_TIME); /延时,让SD

10、A低电平持续一段时间SCL=0; /使SCL口输出低电平DELAY(DELAY_TIME); /延时,为传输数据做准备/* I2C_Stop()函数的作用:产生I2C总线停止信号,当SCL为高电平时使SDA产生一个由低至高的电平跳变*/void I2C_Stop(void) /无输入变量,无返回值SDA=0; /使SDA口输出低电平SCL=1; /置SCL口高电平DELAY(DELAY_TIME); /延时,电平持续一段时间SDA=1; /置SDA口高电平DELAY(DELAY_TIME); /延时,电平持续一段时间SCL=0; /使SCL口输出低电平DELAY(DELAY_TIME); /延

11、时,电平持续一段时间/* SEND_0()函数:发送位数据“0”,在SCL为高电平时使SDA信号为低*/void SEND_0(void) /无输入变量,无返回值SDA=0; /使SDA口输出低电平SCL=1; /置SCL口高电平DELAY(DELAY_TIME); /延时,电平持续一段时间SCL=0; /使SCL口输出低电平DELAY(DELAY_TIME); /延时,电平持续一段时间/* SEND_1()函数:发送位数据“1”,在SCL为高电平时使SDA信号为高*/void SEND_1(void) /无输入变量,无返回值SDA=1; /置SDA口高电平SCL=1; /置SCL口高电平DE

12、LAY(DELAY_TIME); /延时,电平持续一段时间SCL=0; /使SCL口输出低电平DELAY(DELAY_TIME); /延时,电平持续一段时间/* Check_Acknowledge()函数为ACK检验函数:每发送完一个字节数据后检验ACK应答信号,返回0表示无应答,返回1则表示有应答*/bit Check_Acknowledge(void) /无输入变量,返回一个布尔值(0或1)SDA=1; /置SDA口高电平SCL=1; /置SCL口高电平DELAY(DELAY_TIME/2); /短延时,电平持续一段时间F0=SDA; /读入SDA的状态保存至PSW中的F0用户标志位DELAY(DELAY_TIME/2); /短延时,电平持续一段时间SCL=0; /使SCL口输出低电平DELAY(DELAY_TIME); /延时,电平持续一段时间if(F0=1)

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 教学/培训

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号