| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 嵌入式 -> MCS-51系列单片机系统功能的扩展 -> 正文阅读 |
|
[嵌入式]MCS-51系列单片机系统功能的扩展 |
单片机最小应用系统单片机能正常运行的最少器件构成的系统,就是最小系统。?? 存储器的扩展存储器主要用来保存程序、数据和作为运算的缓冲器,是单片机和单片机应用系统中除CPU外最重要的功能单元。如果片内的程序存储器容量不够或没有程序存储器时,就要扩展程序存储器;如果片内的数据存储器容量不够时,就要片外扩展数据存储器。 1.单片机并行扩展法构成的片外总线结构:(1)数据总线DB由P0口提供,宽度为8位。片外多个扩展芯片的数据线以并联的形式连接在数据总线上。 (2)地址总线AB宽度为16位,可寻址范围是64KB。地址总线的高8位由P2口提供,低8位由P0口提供。由于P0口是作为分时复用的数据/地址端口,所以通常在单片机外部连接一片地址锁存器。 (3)控制总线CB是用于外部扩展的控制线,包括ALE、PSEN、WR、RD、EA。 ?2.片选和地址分配硬件连接好之后,存储器扩展的核心问题是存储器的编制问题。MCS-51单片机的地址总线宽度为16位,可扩展的存储器的最大容量为64KB,地址为0000H~FFFFH。由于访问片外数据存储器和片外程序存储器时使用的指令和控制信号不同,所以它们的地址可以重合。、 单片机扩展外围芯片,一般通过片选信号来决定。 产生片选信号的方式不同,存储器的地址分配不同。通常片选方式有线选法和译码法。 (1)线选法以系统的P2口多于高位地址线作为存储器芯片的片选信号。该方法一般用于应用系统中扩展芯片较少的场合。 (2)译码法是使用译码器对系统的剩余高位地址进行译码,以其译码输出作为存储芯片的片选信号。部分剩余地址线参加译码时,称为部分地址译码,这时芯片的地址会有重叠;剩余地址线全部参加译码的,称为全地址译码。 3.程序存储器的扩展MCS-51单片机有一个管脚EA跟程序存储器的扩展有关。如果EA接高电平,那么片内存储器地址范围是0000H~0FFFH(4KB),片外程序存储器地址范围是1000H~FFFFH(60KB)。如果片内无程序存储器,则EA接低电平,片外程序存储器地址为0000H~FFFFH(64KB)。 扩展程序存储器常用的芯片 用EPROM作为单片机外部程序存储器是目前最常用的程序存储器扩展方法。 常用EPROM类型:2716(2KB×8)、2732(4KB×8)、2764(8KB×8)、27128(16KB×8)、27256(32KB×8)、27512(64KB×8)等。 常用EEPROM:2816(2KB×8)、2864(8KB×8) EPROM程序存储器扩展:?? ?其中,74LS373是带三态缓冲输出的8D锁存器。由于单片机的三总线结构中,数据线与地址线的低8位共用P0口,因此必须用地址锁存器将地址信号和数据信号区分开。?74LS373的锁存控制端G直接与单片机的锁存控制信号ALE相连,在ALE的下降沿锁存低8位地址。 EPROM 6116的容量为2KBx8位。2KB表示有2x1024个存储单元,8位表示每个单元存储数据的宽度是8位。前者确定了地址线的位数是11位(A0~A10),后者确定了数据线的位数是8位。?EPROM?的读选通信号与PSEN相连。 单片机扩展存储器的关键是看明白扩展芯片的地址范围。决定存储器芯片地址范围的因素有两个:一个是片选端的连接方法:一个是存储器芯片的地址线与单片机地址线的连接。在确定地址范围时,必须保证片选端为低电平。 4.数据存储器的扩展RAM是用来存放各种数据的,MCS-51系列8位单片机内部有128B RAM存储器,CPU对内部RAM具有丰富的操作指令。但是,当单片机用于实时数据采集或处理大批量数据时,仅靠片内提供的RAM是远远不够的。此时,我们可以利用单片机的扩展功能,扩展外部数据存储器。 单片机扩展数据存储器常用的静态RAM芯片:6116(2KB×8)、6264(8KB×8)、62256(32KB×8)等 与ROM扩展不同:访问外部RAM指令是MOVX,在时序中将产生RD和WR信号,因此,将此信号与外RAM的读(RD)、写(WR)控制端相连接就实现系统对外RAM的读写控制。 |
|
嵌入式 最新文章 |
基于高精度单片机开发红外测温仪方案 |
89C51单片机与DAC0832 |
基于51单片机宠物自动投料喂食器控制系统仿 |
《痞子衡嵌入式半月刊》 第 68 期 |
多思计组实验实验七 简单模型机实验 |
CSC7720 |
启明智显分享| ESP32学习笔记参考--PWM(脉冲 |
STM32初探 |
STM32 总结 |
【STM32】CubeMX例程四---定时器中断(附工 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/25 23:43:44- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |