典型外部ROM和RAM器件的使用实例详解来源:开拓电子()录入: 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的连接电路。
单片机的键盘输入实例详解来源:开拓电子()录入: 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,可以采用下面的格式:#define aXBYTE[0X0100]#define bXBYTE[0X0200]#define cXBYTE[0X0300]#define dXBYTE[0X0400]# define eXBYTE[0X0500]#define fXBYTE[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指令中,延时子程序是相当简单的,并且延时时间也很容易更改。
点亮最简单的单片机系统(一)来源:开拓电子()录入: 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 )输入控制:是指在一定要求下,采取何种形式的控制方式来实现单片机不同功能的转换,以及控制指令以何种方式传送到单片机。