1. 程序存储器是用于存放是系统工作的应用程序及一些不需改变的数据常数的,程序写入程序存储器后,单片机系统只能读取程序指令使系统运行,而不能再进行改写,且系统掉电后,程序不会丢失。因此,程序存储器是ROM(Read Only Memory),即只读存储器。 数据存储器是用于存放程序运行的中间处理数据的,可随程序运行而随时写入或读出数据存储器的内容,当系统掉电时,数据全部会丢失。因此,数据存储器是RAM(Random Accese Memory),即可随机读写的存储器。
EEPROM和FLASH基本都是非易失性存储器。EEPROM应属于数据存储器,但是它制造工艺和FLASH更近似。
FLASH是用于存储程序代码的,有些场合也可能用它来保存数据,当然前提是该单片机的FLASH工艺是可以自写的(运行中可擦写),但要注意FLASH的擦写次数通常小于一万次,而且通常FLASH只能按块擦除。
EEPROM不能用来存程序,通常单片机的指令寻址不能到这个区域。EEPROM的擦写次数应有百万次,而且可以按字节擦写。
2.因为程序存储器和数据存储器是独立编址的,访问的时候可以采用不同的指令和不同的选通信号来区分。
第一,单片机采用三总线结构传递数据。地址总线、数据总线、控制总线。传递数据的过程是先寻址,再传递数据。即先送一个地址信息(由微处理器向总线写一个地址信息),由寄存器(也可能是程序存储器,也可能是数据存储器)根据这个地址,把微处理器要读取的数据写到总线上,微处理器再读取这个数据。整个过程由控制总线控制。所以每次读的数据是针对那个地址对应的寄存器操作的,不会发生混乱。写数据时一样,先寻址,再写数据,数据就写入刚才寻址时的地址对应的那个寄存器里去了。 第二、程序存储器、数据存储器有不同的选通信号,在一个指令周期里,是不同的时间选通的,所以不会混乱。 第三。选通的引脚不同。拿片外数据存储器来说,是P3的第6和第7引脚做选通信号,程序存储器是PSEN做选通信号,他们接在各自器件的选通引脚上,所以不会混乱。 第四,指令不同。拿汇编指令来说。MOV是程序存储器传递数据用,MOVX是数据存储器传递数据用(对片外而言)。 总之,记住三总线传递的方式,先寻址,再传数,由控制总线控制,这个模式,你就容易理解这个了。 单片机的p2和p0分别传递地址的高八位和低八位。同时p0还传递数据。在时序信号的ALE高电平期间,锁定地址信息。/PSEN是选通程序存储器的。在/PSEN低电平期间是向程序存储器传递程序代码,/WR和/RD是选通数据存储器的,即在/WR和/RD(p3的六脚和七脚)低电平期间把数据传递给数据寄存器。而/PSEN和/WR及/RD是在不同时间变为低电平的,没有重叠的部分。也就是说,当/WR及/RD变成低电平时,/PSEN已经恢复高电平了,由P0口传出的数据信息当然只会传到数据存储器里,因为程序存储器已经不再处于选通状态了!!从表面看,都是从p0口传出的,但因为选通器件的时间不同而不会发生混乱。当然我说的是片外程序存储器和数据存储器的的情况,其实对片内也一样,还是三总线的这种控制方式,使它们在不同的时间被选通,而不至于发生冲突。 看看单片机的一个电路图。你会发现p0既跟74LS373连,又跟8155或8255或键盘或数模转换器等等连。而8155或8255或键盘或数模转换器等等对单片机而言是当做数据存储器处理的。74LS373连的多半是程序存储器。那么p0送出的信号不是两者都接受了吗?注意看ALE接74LS373的G接口,锁存地址用,PSEN有时用有时不用。WR和RD接数据存储器的选通接口。因为WR和RD跟ALE的信号在时间上没有重叠部分,所以p0的信号不会被程序存储器和数据存储器同时收到。
关键字:单片机 程序存储器 数据存储器
引用地址:
单片机中程序存储器与数据存储器
推荐阅读最新更新时间:2024-03-16 15:09
半导体推出新一代内置闪存的汽车微控制器
多核微控制器让汽车系统拥有卓越的加密功能和安全性能,中国,横跨多重电子应用领域、全球领先的半导体供应商及汽车半导体领导供应商意法半导体(STMicroelectronics,简称ST;纽约证券交易所代码:STM)推出新款多核微控制器,旨在大幅提升汽车的安全性。新产品是首批采用意法半导体独有的40nm嵌入式闪存制造工艺的车用微控制器。 新款车用微控制器内置数据安全加密技术,符合最严格的汽车安全标准 ,为保存重要的程序和数据,还进一步提高了片上闪存容量。新产品的问市大幅强化了意法半导体的车用容错(Fault-tolerant)微控制器产品阵容。安全性至关重要的汽车微控制器应用系统包括发动机管理、变速器控制、防
[嵌入式]
基于MSP430单片机的热敏电阻温度的测量
测量温度一般采用热敏电阻做传感器,测量的方法有R—V转换电压测量法和R—F转换频率测量法。这两种方法的电路复杂且成本高,电路中很多元器件直接影响测量精度。本文论述一种类R—F转换频率的测量法,用NE555定时器和热敏电阻等器件构成振荡器,由MSP430单片机的捕获功能来捕获多谐振荡器输出信号的高低电平并计数,热敏电阻Rt与捕获高低电平时的计数值的差值成正比关系。该方法电路简单、成本低,系统流程框图如图1所示。 1 负温热敏电阻 PT一25E2热敏电阻温度阻值变化曲线如图2所示。PSB型负温热敏电阻由Co、Mn、Ni等过渡金属元素的氧化物组成,经高温烧成半陶瓷,利用半导体毫微米的精密加工工艺,采用玻璃管封装,耐温性好,可靠性
[单片机]
MSP430单片机原理及应用 实验
单片机原理及应用 课程实验(二) 实验项目:MSP430简单程序设计 实验目的:学会用C语言进行简单程序设计 实验要求:掌握编写排序程序 实验内容: (1)设计一个对8个数据(0-255,任意设置)的由小到大排序程序。 (2)将结果显示在LCD显示器上。 程序代码如下: #include msp430x14x.h #include Config.h #include string.h #include stdlib.h #include stdio.h int ans; // 全局变量控制输出 // 初始化IO口子程序 void Port_init() { P4SEL = 0x00;
[单片机]
一种新型光电定向系统的设计与实现
1 基本原理 光电定向是指用光电系统测定目标的方向,这是光学雷达和光学制导的重要组成部分 ,利用光电系统可以直接、间接测定目标的方向,该系统主要由发射部分、光电探测器,信号处理电路,A/D转换器和单片机、计算机显示器组成,结构框图如图1所示。 2 具体实现 2.1 发射部分 光发射电路主要由光源驱动器、光源(主要是半导体光源,包括LED(发光二极管),LD(激光二极管)等)、光功率自动控制电路等部分组成,我们用NE555组成的脉冲发射电路来驱动650nm的激光器,为了使半导体激光器克服供电电源波动、器件老化等因素的影响,确保激光器输出功率稳定,还必须有自动功率控制电路。 2.2 接收部分
[单片机]
51单片机学习笔记:利用ADC0804模数转换器采集电压
电位器调节待检测电压值,在数码管上显示出来, 代码大多从书上搬过来的,书上例5.3.1要求前3个数码管显示AD转换后的8位数字量(即0~255) 我这里让前4个数码管显示具体电压值,比如1.352 C代码 #include reg52.h #include MY51.H void initSMG() //数码管初始化信息 { //上电时,都为高电平 P0=0xff; wela=open; P0=0xff; wela=lock; P0=0; dula=open; P0=0; dula=lock; } vo
[单片机]
基于单片机和CPLD的高精度大型望远镜伺服控制器设计
设计基于高速单片机C8051F120和CPLD的高精度大型望远镜的伺服控制器,由单片机实现闭环控制算法、上位机通信和LCD显示控制,CPLD实现增量式编码器计数、电机驱动波形发生以及I/O接口。该控制器可独立进行电机控制,也可配合上位机进行控制,具有实时性和抗干扰能力强、成本低、调试方便等特点。 引言 微电子技术和计算机的发展推动着伺服控制技术的进步,控制系统的硬件系统越来越高速化、小型化、模块化,功能也日趋强大完善;而且,伺服控制技术是朝着更开放、更加模块化的控制结构的方向发展的,要求控制器算法实现简单、控制接口灵活,针对不同的伺服控制对象时硬件系统不变,软件系统也可以完成参数的自动调整。 在高精度大型望远镜伺服控制应用
[单片机]
51单片机流水灯的三种实现方法
首先,介绍下原理。下图为主控芯片和流水灯模块的原理图。流水灯模块接在单片机的P1口,由原理图可以知道,在P1口给一个低电平即可点亮LED灯。相反,如果要LED灯熄灭,就要把P1口的电平变为高电平即可。要实现流水灯功能,我们只要将LED1~LED8依次点亮、熄灭,依始类推,8只LED变会一亮一暗的做流水灯了。 实现8个LED流水灯程序用中文表示为:P1.0低、延时、P1.0高、P1.1低、延时、P1.1高、P1.2低、延时、P1.2高、P1.3低、延时、P1.3高、P1.4低、延时、P1.4高、P1.5低、延时、P1.5高、P1.6低、延时、P1.6高、P1.7低、延时、P1.7高、返回到开始、程序结束。 听起来是不
[单片机]
单片机接口电平的问题
问题:书上说的,要测P1口引脚电平,需要让对应的引脚先置位,比如测P1.0口: ORL P1, #01H ;先置位 MOV C, P1.0 ;再读接口 既然给P1口数据可以产生电平的话,那先置位再测还有什么用,那不明摆着变成高电平了吗,还怎么测啊 ? 满意回答: 这是由引脚内部的结构所决定的。 在单片机的引脚输出低电平,引脚内部有一个强力下拉的电路,可使引脚稳定的输出低电平,引脚可承受的灌电流可达20mA(型号不同,也不尽相同); 在单片机的引脚输出高电平,引脚内部的上拉电路的作用很小,虽然可使引脚输出高电平,但是如果外接电路将引脚的电位拉低,读入时,将能读回0。 这就是所谓的“准双向口”。 要使用引脚输入时,应该先输出
[单片机]