RAM和ROM

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

典型外部ROM和RAM器件的使用实例详解来源:开拓电子(keiltop.com)录入:autumn1实例功能在很多应用场合,51单片机自身的存储器和I/O口资源不能满足系统设计的需要,这时就要进行系统扩展。在本例中,将结合片外ROM和片外RAM的典型芯片的应用,说明如何扩展单片机的数据存储器和程序存储器。本例中3个功能模块描述如下:单片机系统:扩展单片机的存储器,实现片外存储器的访问。外围电路:分为3个内容。首先是用地址锁存器完成单片机系统总线的扩展,其次是扩展片外ROM器件2764,第三是扩展片外RAM6264.C51程序:用C51完成对片外存储器的读写。本例目的在于希望keiltop读者在读完本例后,能完成相关的电路设计。器件原理本实例中将首先介绍单片机的三总线概念和形成,随后介绍单片机弦叫线的扩展。在单片机系统扩展时,引入片外典型存储器件,最后给出典型片外ROM和RAM的电路连接和使用方法。2.1单片机的三总线(1)什么是单片机的三总线?单片机三总线指数据线、地址线和控制线。单片机CPU所要处理的就是这3种不同的总线信号。数据线:数据总线用来传送指令和数据信息。P0口兼做数据总线DB0~DB7.地址线:用来指定数据存储单元的志趣分配信号线。在8051系列中,提供了引脚ALE,在ALE为有效高电平,在P0口上输出的是地址信息,A7-A0。另外,P2口可以用于输出地址高8位的A15~A8,所以对外16位地址总线由P2和P0锁存器构成。控制线:8051系列中引脚输出控制线,如读写信号线、PSEN、ALE以及输入控制信号线,如EA、TST、T0、T1等构成了外部的控制总线。(2)如何实现外部总线的扩展?由于单片机的输入输出引脚有限,一般的,我们采用地址锁存器进行单片机系统总线的扩展。常用的单片机地址锁存器芯片有74LS373,图1-22所示为74LS373的引脚以及它们用作地址锁存器的连接方法。74LS373是带三态输出的8位锁存器。当三态门OE为有效电平时,使能端G为有效高电平,输出跟随输入变化;当G端由高变低时,输出端8位信息被锁存,直到G端再次有效为止。2.2操作片外ROM什么是片外ROM?ROM是程序存储器的简称,用来存放用户程序的存储器,可分为EPROM,OTP,ROM和FLASH等类,现在大部分MCU集成了FLASH.EPROM型存储器编程后其内容可用紫外线擦除,用户可反复使用。ROM型适用大批量生产。由于ROM型单片机的代码只能由生产厂商在制造芯片时写入,帮用户要更改程序代码下分不便。OTP型单片机只能写入一次。FLASH型可反复使用,速度快,故特别受中小客户欢迎。2.3操作片外RAM什么是片外RAM?随机存储器(RAM)是用来存放程序运行时的数据的存储器。由于RAM的制作工艺复杂中,价格比ROM高得多,所以单片机的内部RAM非常宝贵,通常仅有几十到几百个字节。RAM的内容是易失性的,掉电后会丢失。最近出现了EEPROM或FLASH型的数据存储器,方便用户存放不经常改变的数据及其他重要信息。单片机通常还有特殊寄存器和通用寄存器,它们是单片机中存取速度最快的存储器,但通常存储空间很小。单片机的读信号和外部RAM的输出允许信号引脚相连,信号和外RAM的写信号相连。外部RAM的片选信号与外部I/O端口和片选信号统一由译码产生。电路本例所要重点强调的就是单片机和外围典型器件的连接方法。为了更加清楚地说明ROM和RAM与单片机的连接方式,并且使得电路在实用中更加灵活,分别经出了ROM和RAM的连接电路。单片机的键盘输入实例详解来源:开拓电子(keiltop.com)录入:autumn程序设计在本例中,对于C51的编程而言并无太多变化。一般的C51编译器是完全支持8051单片机的硬件结构的,可以完全访问硬件系统所有部分。变量的存储类型和51单片机实际存储空间的对应关系如表1-21所示。存储类型与存储空间的对应Data直接寻址的片内数据存储区Bdata可位寻址的片内数据存储区Idata间接寻址片内存储区,可访问片内全部RAM地址Pdata分页寻址片外数据存储区Xdata片外数据存储区Code代码存储区当使用data,bdata定义变量时,它们定位在单片机的片内数据存储区。这个存储区的大小根据51单片机的型号不同,长度分别有64、128、256、512字节之分。当使用xdata存储类型定义变量时,它们定位在单片机片外数据存储区,该空间位于本例中所附加的6264中,最大的寻址范围为64K.由上述介绍,当我们需要定义片外RAM中的变量时,需要定义它们在征片外的地址。例如定义片外RAM中的6个储单元的变量A~F,其地址为0x0100h~0x0600H,可以采用下面的格式:#defineaXBYTE[0X0100]#definebXBYTE[0X0200]#definecXBYTE[0X0300]#definedXBYTE[0X0400]#defineeXBYTE[0X0500]#definefXBYTE[0X0600]AD574构成高精度数字电压表深圳市凌雁电子有限公司AD574A是美国模拟数字公司(Analog)推出的单片高速12位逐次比较型A/D转换器,内置双极性电路构成的混合集成转换显片,具有外接元件少,功耗低,精度高等特点,并且具有自动校零和自动极性转换功能,只需外接少量的阻容件即可构成一个完整的A/D转换器,其主要功能特性如下:分辨率:12位非线性误差:小于±1/2LBS或±1LBS转换速率:25us模拟电压输入范围:0—10V和0—20V,0—±5V和0—±10V两档四种电源电压:±15V和5V数据输出格式:12位/8位芯片工作模式:全速工作模式和单一工作模式我们利用AD574与ATMEL公司的低价高性能单片机AT89C2051组成一个高精度的数字电压表,电原理图如图1,AD574是12位逐次比较型A/D转换器,共有12根数据线,AT89C2051的P1与AD574的高8位数据线直接相接,AD574的低4位数据线与单片机的高半4位P1.4——P1.7直接相接,数据的读取是依靠单片机的控制线进行分时选通进行。P3.5接AD574的字节短周期控制线(A0),P3.4接读转换数据控制脚(),P3.7直接与工作状态指示端(STS)相连,这样的结构决定只能是8位输出形式,故数据模式选择端直接接地即可。AT89C2051只有15根I/O口线,上述用了11根,只余下4根口线,我们将输出的数据通过单片机的串行口输出,外接一片74LS164(串入并出)译码器进行扩展,同时显示的数据为4位,剩下的2根口线仍不能满足要求,还需要一片74LS138三——八译码器对显示LED进行地址选通。这里我们采用10V量程的输入模式,故AD574的Pin13为被测电压的输入端,因为只使用了一片AD574转换芯片,所以CS端直接接地即可。转换器使用±12V电源电压供电,工作电压为+5V。74LS164为串入并出译码器,AT89C2051通过串行口输出的BCD串行码经74LS164译码输出为七段BCD码,直接与LED的a——g相连,同时四位LED的数据线都一一对应连接在一起。LED数码管选用共阳型,74LS138输出的地址码经一个三极管2SA1015(PNP)接LED的公共端,四位LED的显示是通过地址线进行分时选通的,这就是我们常用的动态扫描显示方式。值得一提的是,动态扫描显示方式中,动态扫描的频率有一定的要求,频率太低,LED将出现闪烁现象。如频率太高,由于每个LED点亮的时间太短,LED的亮度太低,肉眼无法看清,所以一般均取10ms左右为宜,这就要求在编写程序时,选通某一位LED使其点亮并保持一定的时间,程序上常采用的是调用延时子程序。在C51指令中,延时子程序是相当简单的,并且延时时间也很容易更改。点亮最简单的单片机系统(一)来源:开拓电子(keiltop.com)录入:autumn1.实例功能一个最简单的单片机系统的开发也需要电路设计、单片机器件选择和程序编写3个步聚。对于单片机系统,最简单的功能无非是控制输出电平的高低,这也是数字电路最基本的功能。所以,第一个例子就是将单片机系统接上一个发光二极管,用二极管的亮灭表示设计的单片机系统是否正常工作.在进行设计之前,在需要说明的是,这里默认读者已经掌握了有关电路设计软件(如Protel)和C51单片机程序的编写,所以在本站只重点说明单片机及其外围器件电路的设计。本例的功能模块分为以下3个方面。单片机系统:形成最简单的单片机系统。外围电路:用LED显示系统是否正常工作。编程:C51编程:编写最简单的C51程序,通过C51延时程序控制端口的高低电平。在以后的章节中,对于每个实例都将其功能分成单片机功能外围路和C51程序3个方面进行说明。希望读者在读完本例后,能完成相关的电路设计,并掌握如下的知识点内容:单片机系统的基本组成。晶振选择和典型电路。复位电路的原理和典型电路。基本I/O口的控制。C51程序设计。1.2器件和原理本实例中将首先介绍单片机系统的基本组成,然后给出其晶振和复位电路的典型电路图,完成最简单片机系统的设计。最后,利用C51程序控制一个LED灯的亮灭以及端口的高低电平,说明该单片机系统是否工作正常.·什么是单片机单片机是将中央处理器(CPU)、随机存储器(RAM)、只读存储器(ROM或EPROM)、定时器芯片和一些输入/输出接口电路集成在一个芯片上的微控制器(Microcontroller)。中央处理器包括运算器、控制器和寄器3个主要部分,是单片机的核心。按工作方式可以分为两大类:随机存储器RAM和只读存储器ROM。RAM可被CPU随机地读写,断电后存储的内容消失:ROM中的信息只能被读取,一般用于存放固定的程序。ROM中的内容只能用编程器专用设备写入。输入/输出接口(I/O接口)是单片机的重要组成部分。程序、数据以及现场信息需要通过输入设备送到单片机,计算结果需要通过输出设备输出到外设。常用的输入设备有按键、键盘、A/D等,输出设备一般有LED、电机等。·什么是单片机系统?单片机系统的基本结构框图如图1-3所示。从图中可以看出,对于一个典型的单片机系统而言,主要由单片机、晶振和复位电路、输入控制电路、输出显示电路以及外围功能器件5个部分组成。除了上文介绍过的单片机外,单片机系统中的其他4个部分的主要作用和器件如下。(1)晶振和复位电路:单片机系统的必要组成部分,控制单片机的机器周期和工能复位。(2)输入控制:是指在一定要求下,采取何种形式的控制方式来实现单片机不同功能的转换,以及控制指令以何种方式传送到单片机。常用的输入控制方法有按键、矩阵键盘、串行通信等方式。(3)输出显示:是指机将需要显示的数据发送到LED、液晶等显示模块,并控制LED等显示模块按照一定的格式显示的功能。此外,输出对象还有电机、传感器等特殊的功能器件。(4)外围功能器件:单片机只是控制器件,对应于一定的设计要求,需要加入特定功能的器件。例如外部存储器,单片机通过对外部存储器的读写操作,完成对数据的存储和读取,从而扩展单片机的存储单元和数据。此外,常用的外围器件还有A/D、D/A、74LS07门电路以及特定功能的传感器等。单片机的最简单系统是指单片机能正常工作所必须的外围元件,主要由单片机、晶振电路和复位电路构成。而输入/输出部分则通过单片机的I/O口实现。·单片机系统可以用来干什么?单片机的应用十分广泛,在工业控制领域、家电产品、智能化仪器仪表、计算机外部设备,特别是机电一体化产品中,都有重要的用途。其主要的用途可以分为以下方面。显示:通过单片机控制发光二极管或是液晶,显示特定的图形和字符。机电控制:用单片机控制机电产品做定时或定向的动作。检测:通过单片机和传感器的联合使用,用来检测产品或者工况的意外发生。通信:通过RS-232串行通信或者是USB通信,传输数据和信号。科学计算:用来实现简单的算法。那么单片机是不是解决上述应用的惟一选择?当然不是!目前,在自动控制中,一般有3种选择,分别是嵌入式微

1 / 18
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功