C51单片机————总线与系统扩展


Created with Raphaël 2.1.2张三张三李四李四四哥,IO口不够用怎么办?你可以进行系统扩展!什么鬼?那是什么东西?。。。看书去

1.引文

前面说过单片机的特点是体积小,功能全,系统结构紧凑、对于小型的需求可以满足要求。那么稍大一点嵌入式系统呢?那么有可能你的数据存储器、程序存储器还有IO口都可能不够用!那怎么办呢?我们就需要进行系统扩展了。


基本知识与回顾

我们都知道的是CPU大都通过三总线(数据、地址、控制)与外界进行信息交换的。
- 数据总线:传输指令码和数据,外围的芯片都需要它来进行信息交流。
- 地址总线:传输的是地址信息(数据传到哪儿的信息)


2.扩展

单片机系统总线信号

  1. P0口是地址(A0~A7) / 数据复用线(D0~D7),经锁存器提供低8位地址,锁存信号是由CPU的ALE引脚提供的;
  2. P2口提供高8位地址 A8 ~ A15。
  3. 控制信号:RD、WR、ALE、PSEN 分别是读、写、地址锁存信号和程序存储器的控制信号
总线控制信号
RD WR ALE PSEN
地址锁存信号 程序存储器的控制信号

存储容量计算

存储容量计算
地址线根数 8 10 12 n
存储单元个数 256 1024 4096
2n2n

{2^{n}}

存储单元个数
2828

{2^{8}}

210210

{2^{10}}

212212

{2^{12}}

2n2n

{2^{n}}


MOVX的使用:

聊聊MOVX ,之前说过MOVX是外部存储器和A之间的数据流动。

读时序

写时序


MOVX A,@DPTR
1. 首先我们应该认识到这是一个读命令(与8086的IN差不多),怎么读呢?
2. 我们将这个指令分为两个时间段。
3. 时间段一:将地址要读的地址发出去(地址放在DPTR中),发送ALE信号到74LS373锁存器,将P0的低八位地址锁存起来,P2信号是输出状态
4. 时间段二:P2继续输出高位地址,锁存器输出低8位地址,WR信号下降沿让数据存储器出数据、P0获取数据赋予A。

MOVX A,@DPTR
名称 时间段一 时间段二
P0 Address 低八位 DATA
P2 Address 高八位 Address 高八位
ALE 高电平锁存Address低八位
锁存器 ALE锁存Address低八位 Address 低八位
RD 下降沿读取数据

MOVX @DPTR,A
1. 首先我们应该认识到这是一个读命令(与8086的OUT差不多),怎么写呢?
2. 我们将这个指令分为两个时间段。
3. 时间段一:将地址要读的地址发出去(地址放在DPTR中),发送ALE信号到74LS373锁存器,将P0的低八位地址锁存起来,P2信号是输出状态
4. 时间段二:P2继续输出高位地址,锁存器输出低8位地址,RD信号下降沿让数据存储器出数据、P0发送数据写入存储器。

MOVX @DPTR,A
名称 时间段一 时间段二
P0 Address 低八位 DATA
P2 Address 高八位 Address 高八位
ALE 高电平锁存Address低八位
锁存器 ALE锁存Address低八位 Address 低八位
WR 下降沿写入数据

MOVC的使用:

聊聊MOVX ,之前(单片机指令系统那篇文章)说过MOVC是程序存储器向A的数据流动,且是变址寻址(只能读)。


MOVX A,@A+DPTR
1. 首先我们应该认识到这是一个读命令(与8086的IN差不多),怎么读呢?
2. 我们将这个指令分为两个时间段。
3. 时间段一:将地址要读的地址发出去(地址放在DPTR和A中),发送ALE信号到74LS373锁存器,将P0的低八位地址锁存起来,P2信号是输出状态
4. 时间段二:P2继续输出高位地址,锁存器输出低8位地址,PSEN信号让程序存储器出数据、P0获取数据赋予A。

MOVX A,@DPTR
名称 时间段一 时间段二
P0 Address 低八位 DATA
P2 Address 高八位 Address 高八位
ALE 高电平锁存Address低八位
锁存器 ALE锁存Address低八位 Address 低八位
PSEN 发控制读取数据

如有错误!请多多包含,方便的话留个言!我好马上修改。

C51单片机————总线与系统扩展相关推荐

  1. 访问外部扩展C语言编程,单片机C语言编程(系统扩展IC)8.ppt

    单片机C语言编程(系统扩展IC)8 第8章 单片机系统扩展 第8章 单片机系统扩展 目 录 8.1 扩展并行三总线 8.2 扩展简单并行输入/输出口 8.3 扩展并行数据存储器 8.4 串行扩展总线接 ...

  2. 【C51单片机学习笔记--DS1302时钟芯片蜂鸣器I2C总线AT24C02存储器】

    C51单片机学习笔记–DS1302时钟芯片&&蜂鸣器&&I2C总线&&AT24C02存储器 文章目录 一.DS1302时钟芯片介绍 二.DS1302时钟 ...

  3. C51单片机培训开发班

    伴随着社会经济发展,产业转型,中国已经从"中国制造"转向"中国创造",科技技术是此次产业升 级的最大动力.观察下就可以发现目前单片机.ARM为代表的嵌入式芯片已 ...

  4. 【复习资料】单片机与嵌入式系统原理及应用

    嵌入式系统的概念 第一种定义:嵌入式系统是以应用为中心.计算机技术为基础,软硬件可裁剪,适应应用系统对功能.可靠性.成本.体积.功耗严格要求的专用计算机系统. 第二种定义:把基于处理器(通用处理器和嵌 ...

  5. C51单片机之keil编程入门(一)

    C51单片机之keil编程入门(一) 编程需结合原理图来理解 附上单片机原理图:http://file.elecfans.com/web1/M00/56/5B/pIYBAFs9rlmAcK6tABHJ ...

  6. C51单片机与PCF8591模块的交互:C语言源码解析

    目录 1. PCF8591模块简介 2. C51单片机与PCF8591的连接 3. C51单片机与PCF8591的C语言源码解析 4. 用法示例 5. 总结 6. 参考文献 在微控制器的世界中,C51 ...

  7. 基于c51单片机的毕业设计——智能温度控制

    本设计采用AT89C51单片机为控制芯片,硬件上用dsb18202做温度采集(有需要也可以采用dht11温湿度模块)直流电机作为降温风扇,用户可通过按键来控制转速的大小,用继电器来控制电阻丝提高温度. ...

  8. c51单片机c语言程序,C51单片机的C语言程序设计.ppt

    <C51单片机的C语言程序设计.ppt>由会员分享,可在线阅读,更多相关<C51单片机的C语言程序设计.ppt(44页珍藏版)>请在人人文库网上搜索. 1.2020/8/7,1 ...

  9. MCS-51单片机实验开发系统实验箱,QY-JXSY33

    MCS-51单片机的编程语言可以是汇编语言也可以是高级语言(如C语言),高级语言编程快捷,但程序长,占用存储空间大,执行慢:汇编语言产生的目标程序简短,占用存储空间小,执行快,能充分发挥计算机的硬件功 ...

最新文章

  1. ubuntu 安装mysql5.6
  2. 12-----指令系统介绍
  3. java 设计模式 示例_Java中的访问者设计模式–示例教程
  4. linux /proc 详解
  5. linux特殊权限之访问权限
  6. 解决df -h卡死问题
  7. Linux备份策略研究
  8. 如何产生1-100之间的100个不重复的随机数
  9. webstorm jquery语法提示_WebStorm快速入门指南,开发者必备!
  10. 拓端tecdat|R语言Poisson回归的拟合优度检验
  11. C# 2.0泛型编程基础(1)
  12. vue 编写H5项目使用BScroll “better-scroll“;两边都滚动,并且联系
  13. 学生HTML个人网页作业作品下载 个人主页博客网页设计制作 大学生个人网站作业模板 简单个人网页制作
  14. 万字讲述如何通过Doris构建数据中台
  15. 本周之后Win11 变成beta通道只能更新22000.176而没办法更新Dev的解决办法 your PC does not meet the hardware system
  16. unexpected char: '\' @ line 3, column 133. s\react-native-gestu
  17. 计算思维实践之路(一)
  18. .net 服务器推送信息,.net websocket服务端开发,实现消息推送功能
  19. NY8B062D 九齐单片机之ADC(采样值不准的解决办法)
  20. anaconda创建虚拟环境_win_linux anaconda虚拟环境设定

热门文章

  1. 怎么用计算机搜索文件,Win7系统如何使用内置搜索功能筛选文件名与内容
  2. MySQL主键和外键使用及说明
  3. 深入理解JVM(4)——对象内存的分配策略
  4. HCNA配置telnet远程管理
  5. sql 中 ALTER 和 UPDATE 的区别
  6. 解决UICollectionViewCell/UITableViewCell因重用机制导致的错乱问题
  7. Xformode的坑
  8. Objective-C基础
  9. 【BZOJ】【3669】【NOI2014】魔法森林
  10. PHP远程文件管理,可以给表格排序,遍历目录,时间排序