存储结构

  • 机器语言
  • 汇编语言
  • 存储器
  • AT89S52单片机存储器结构
    • 1.程序存储器空间
    • 2.数据存储器空间
    • 3.特殊功能寄存器SFR
    • 4.位地址空间
  • 总线(Bus)
    • 1.地址总线
    • 2.数据总线
    • 3.控制总线
  • AT89S52补充。
    • 数据存储器空间再说
    • 程序存储器空间再说
  • 总结

机器语言

机器语言是机器指令的集合,机器指令是啥?机器指令展开来讲就是一台机器可以正确执行的命令,具体点就是一串二进制数字,机器(计算机、单片机)只能看懂这玩意,然后把二进制数转化为一串高地电平,机器附带的器件受到驱动,开始运算。比如下图,你给IN=0,灯就亮了。

汇编语言

就是汇编指令的集合。汇编指令和机器指令的区别:汇编指令是机器指令便于记忆的书写方式。
例如,机器指令100010011101100表示把寄存器BX的内容送到AX中,汇编指令就是mox ax,bx。

用汇编指令写程序,还需要编译器。因为计算机、单片机只能读懂、执行机器语言,所以就需要一个将汇编指令转换成机器指令的玩意,编译器。

存储器

想让单片机的CPU工作,就必须给它提供指令和数据,指令和数据在存储器中工作,就是内存。比如下文说的数据存储器、程序存储器,就是用来存数据和指令的。
存储单元
存储器被划分为若干个存储单元,每个单元是一个字节,单位是Byte(通常用B表示Byte),同时1Byte=8bit,通俗来说就是一个字节有8个二进制数,比如说数据存储器空间就有一部分是位寻址区域,单位都是bit,要用位操作。

C51单片机的内部RAM就是128B,存储单元从0开始编号,所以最大就是127。

AT89S52单片机存储器结构

AT89S52单片机存储器采用哈佛结构,将程序存储器和数据存储器分开。

1.程序存储器空间

片内和片外两部分。
片内4KB Flash ,编程和擦除完全是电气实现。可用通用编程器对其编程,也可在线编程。
当片内4KB Flash 存储器不够用时,可片外扩展,最多可扩展至64KB程序存储器。

2.数据存储器空间

片内与片外两部分。
片内有256B RAM。
片内RAM 不够用时,在片外可扩展至64KB RAM 。

3.特殊功能寄存器SFR

4.位地址空间

共有219个可寻址位,构成了位地址空间。位于片RAM区字节地址20H~2FH(共128位)和特殊功能寄存器区(片内RAM区字节地址80H~FFH区间内,共定义了91个可寻址位)。
CPU对存储器的读写
上面讲到,存储器被划分为很多存储单元,又把这些单元编号,目的是啥?不就是把他们看成一个个地址吗。就像一条街,每个房子都有门牌号。
你派张三去这条街找人,先要知道门牌号。CPU从内存中读数据也是这样,首先要指定存储单元的地址。
另外。在单片机中,不只有存储器这一个器件,比如,I/O、串行口、定时器等。因此CPU在读写数据的时候还要注意,操作对象,操作行为(读或写)。

那么CPU是通过什么将地址、数据、控制信息传到存储器芯片里的呢?计算机能处理、传输的信息都是电信号,所以是导线传递。计算机中专门有连接CPU和其他芯片的导线,称为总线。

总线(Bus)

AT82S52单片机有三条总线,地址总线、数据总线和控制总线。
地址总线16位,数据总线是8位。

1.地址总线

CPU通过地址总线来指定存储器单元,因此地址总线上能传送多少个不同的信号,CPU就能对多少个存储单元进行寻址。一根导线可以传送的稳定状态就是0和1,16根导线可以传送的16位二进制数据 2162^{16}216
下图展示了一个具有10根地址线的CPU内存发出地址信息11(0000001011)时10根地址线上传送的二进制信息。

2.数据总线

数据总线的宽度决定了CPU与外界的数据传送速度。8根数据总线一次可传送一个8位二进制数据(一个字节),16根数据总线一次可以传送两个字节。AT89S52的数据总线为8位,因此是8位单片机,其中,位数指CPU处理的数据的宽度,也就是数据总线的根数。
下图分别展示了8位、16位单片机数据总线上传送数据的情况(向内存中写入数据89D8H)。

3.控制总线

AT89S52补充。


还记得这张图吗?地址总线是16位,数据总线是8位,它们是怎么来的呢?
首先说地址总线,当AT89S52访问外部存储器及I/O口时,P2口作为高8位地址总线使用,输出高8位地址;当单片机访问外部程序存储器或外部数据存储器时,ALE的负跳变将单片机P0口先发出的低8位地址锁存在P0口外接的地址锁存器。数据总线,ALE信号锁存低8位地址后,P0口再作为8位数据总线使用。

数据存储器空间再说

片内
AT89S52的片内数据存储器(RAM)共有256个单元,字节地址为00H~FFH。地址为80H~FFH为特殊功能寄存器区,与片内的高128B的RAM单元统一编址。
高128B的RAM单元地址与特殊功能寄存器区的字节地址重合,。它们的地址区域是相同的,那么通过地址总线指定地址的时候不会出现重叠吗?不会的,虽然区域地址一样,但是这两个区域的寻址方式是不一样的。
片外
当片内256B的RAM不够用时,需外扩,最多可外扩64KB的RAM。

程序存储器空间再说

片内为8KB的 Flash ,地址为0000H~1FFFH。16位地址线,可外扩的程序存储器空间最大为64KB,地址为0000H~FFFFH。
注意:访问片内的还是片外的程序存储器,由EA引脚电平确定。
EA
=1时,CPU从片内0000H开始取指令,当PC值没有超出0FFFH时,只访问片内Flash 存储器,当PC值超出1FFFH自动转向读片外程序存储器空间2000H~FFFFH 内的程序。
EA*=0时,只能执行片外程序存储器(0000H~FFFFH)中的程序。不理会片内4KB Flash 存储器。

总结

AT89S52单片机之硬件存储结构相关推荐

  1. 单片机反相器_小白学单片机 :AT89S51单片机基本硬件结构认识(3)

    AT89S51 单片机I/O端口及工作原理 AT89S51单片机有4个8位的并行I/O端口P0.P1.P2和P3.每个端口均由锁存器.输出驱动器和输入缓冲器组成.各端口除可以作为字节输入/输出外,它们 ...

  2. c51语言的数据存储模式,第5章项目三单片机存储结构及C51语言.ppt

    第5章项目三单片机存储结构及C51语言 项目三 基本功 任务一 MCS-51单片机基础 任务二 单片机C51语言程序设计基础 二.MCS-51单片机存储器及存储空间 1.存储器的概念 什么是存储器呢? ...

  3. Atmel爱特梅尔AT89S52单片机开发实训装置,QY-DPJ12

    AT89S52是美国ATMEL公司生产的低电压,高性能CMOS 8位单片机,片内含8k bytes的可反复擦写的只读程序存储器(PEROM)和256 bytes的随机存取数据存储器(RAM)器件采用A ...

  4. stm32存储结构 存储器映射

    问题: 1   什么是存储器映射?是怎么一个运作过程? 2   stm32总体架构 3   CM3内核结构 1 STM32系统结构 要想深刻理解STM32的存储器,需要首先知道STM32的系统结构. ...

  5. 基于AT89S52单片机的蘑菇大棚环境监测系统论文(附录代码)

    目 录 第1章 绪 论 1 1.1 研究背景和意义 1 1.2 国内外发展现状 2 1.3 设计内容和指标 4 第2章 系统设计方案 5 2.1 系统组成 5 2.1.1 总体结构 5 2.1.2 单 ...

  6. at89s51单片机是几位微型计算机,AT89S51单片机的硬件组成

    AT89S51单片机的片内硬件组成结构如图2-1所示.它把那些作为控制应用所必需的基本功能部件都集成在一个尺寸有限的集成电路芯片上,具有如下功能部件和特性: (1)8位微处理器(CPU). (2)数据 ...

  7. 基于51单片机语音录音机存储与播放回放系统设计

    摘要 语音信号处理属于信息科学的一个重要分支,大规模集成技术的高度发展和计算机技术的飞速前进,推动了这一技术的发展.在数字音频技术和多媒体技术迅速发展的今天,传统的磁带语音录放系统因体积大.使用不便. ...

  8. 单片机反相器_基于AT89S52单片机的新型智能家居安防系统

    现在,人们对工作和生活环境不仅要求舒适健康.可靠便利,而且更加看重安全性,并利用安防系统来提高家庭抵御各种意外情况的能力.现在的安防系统可借助计算机技术.IC 卡技术.通信技术等来实现,CAN总线应用 ...

  9. 《嵌入式 – GD32开发实战指南》第20章 GD32的存储结构

    开发环境: MDK:Keil 5.30 开发板:GD32F207I-EVAL MCU:GD32F207IK 20.1 GD32存储结构的工作原理 20.1.1 Cortex-M内核的存储器映射 存储器 ...

  10. 基于AT89S52单片机的多功能电子万年历

    1. 项目介绍(设计内容) 基于AT89S52单片机的多功能电子万年历的硬件结构和软硬件设计方法.本设计由数据显示模块.温度采集模块.时间处理模块和调整设置模块四个模块组成.系统以AT89S52单片机 ...

最新文章

  1. ubuntu svn安装
  2. 平面设计中的网格系统pdf_深入浅出,带你认识网格系统与版式设计
  3. WinForm窗体自适应分辨率
  4. 服务器没权限修改,ftp服务器没有修改权限
  5. 时序动作定位:Rethinking the Faster R-CNN Architecture for Temporal Action Localization(TAL-Net)
  6. 全球首台商用量子计算机发布!体积如同大象,算力不及笔记本
  7. 舒尔特表-遮罩层-计时排序点击 js
  8. Python 蓝牙通信模块pybluez Win7
  9. 千月双端影视APP源码
  10. arduiono电子音乐代码_使用Word2003的EQ域代码制作音乐简谱
  11. 密码编码学与网络安全(第五版)答案
  12. 计算机毕业设计springboot+vue基本微信小程序的考试系统
  13. 苏宁易购启动2022年货节:双线上线千场直播,拉满过年氛围
  14. android 面包屑控件,Android —— 面包屑控件(BreadcrumbTreeView)
  15. 针式PKM适合对“大量的资料”进行系统性管理
  16. Java 第三方ui库_Uiautomator打包使用第三方库,报错的解决方案
  17. C#读取shp多边形文件
  18. 真正好用的RPC框架rest_rpc正式发布第一个版本
  19. 电脑系统常见进程-进程管理
  20. ruoyi-vue前端启动

热门文章

  1. 企业网络规划和设计方案(一)
  2. 手机拍的图片资料打印很黑怎么解决?
  3. 锐捷长ping_锐捷交换机命令
  4. 离线语音茶吧机设计应用案例
  5. soap响应报文拼装_soap报文解析
  6. Matlab 口罩识别
  7. 一个计算机系统配置有3台打印机,我们是局域网3站点 3台电脑共享一个打印机 3台电脑相同的系统 打印参数也设置完全一样 但是打印出来的效果却不同 请问什么原因?需要怎么设置?...
  8. 这个微信隐藏代码,你们现在知道还不晚
  9. 2A锂电池充电管理芯片,具有恒压/恒流充电模式的充电管理 IC
  10. JPA并发save失效