当前位置:文档之家› 单片机外部RAM扩展

单片机外部RAM扩展

单片机外部RAM扩展
单片机外部RAM扩展

单片机外部RAM扩展模块

MCS-51系列单片机外部RAM为64K,在一些特殊场合下,远不能满足需要,

本文就AT89C51讨论MCS-51系列单片机大容量RAM的扩

首先介绍128K随机读取RAM HM628128。HM628128

是32脚双列直插式128K静态随机读取RAM,它具有容

量大、功耗低、价格便宜、集成度高、速度快、设计和

使用方便等特点。如若在系统中加入掉电保护电路,保

护数据有很高的可靠性,可以和EEPROM相媲美。

技术特性:

(1)最大存取时间为120ns;

(2)典型选通功耗75mW;典型未选通功耗10uW;

(3)使用单一5V电源供电;

(4)全静态存储器,不需要时钟及时序选通信号;

(5)周期时间与存取时间相等;

(6)采用三态输出电路,数据输入和输出端公用;

图6 HM628128外部引脚(7)所有输入和输出引脚均与TTL电平直接兼

容;

(8)有两个片选端,适合于低功耗使用,即为了保存信息,用电池作为后

备电源。保存信息的最低电源电压Vcc=2V。

引脚安排及功能表:

图6是HM628128的外部引脚排列图,各引脚名称及功用分别如下:

A0~A16是17条地址线;I/O0~I/O7是8条双向数据线;CS1是片选1,低

电平有效,CS2是片选2,高电平有效;WR是写控制线,当CS1为低电平,CS2

为高电平时,WR的上升沿将I/O0~I/O7上的数据写到A0~A16选中的存储单元

中;OE是读出允许端,低电平有效。

HM628128的功能表如表3所示。

其中,H表示高电平,L表示低电平,X表示任意状态由于AT89C51直接外部RAM容量为64K,地址线为16条,其中低8位地址和数据分时复用,因此需要外部地址锁存器和ALE锁存信号来锁存低8位地址。又由于AT89C51的外部数据和外设地址通用,若扩展外设必然占用数据地址。因此本系统采用P2.7(A15)口来区分数据和外设:当P2.7(A15)口为高电平时,

选择外部数据;P2.7(A15)口为低电平时,则为外设。因此,直接外部数据容量和外设数量都为32K ,可用地址线为15条。本系统外部扩展RAM 为256K ,地址线18条。要达到18条地址线,则必须扩展。理论上可行方法很多,如以P1口的某几位作为最高位地址输出、外加锁存器锁存高位地址等。本系统采用后者,以保留P1口,况且外设空间充裕。扩展电路如图7所示:

图7 RAM 地址扩展电路

当读写外部数据时,首先应往高位地址锁存器中送入高位地址,然后再以DPTR 为间接地址访问外部数据,注意最高位地址应为1,即数据区最低地址为8000H 。

以下程序段演示了外部数据的读写。

……

MOV DPTR ,#0020H ;0020H 为高位地址锁存器的地址

MOV A ,#00H ;00H 表示第一个32K 空间

MOVX @DPTR ,A ;写入地址数据

MOV DPTR ,#8000H ;8000H 为每个32K 的第一个字节地址

MOVX A ,@DPTR ;从地址单元读取数据

……

若最后一句换为:

MOVX @DPTR ,A

则为向RAM 中写数据。

同时作者还利用HM628128的数据保持特性为其加入了掉电保护电路。当主电源关闭时,备用电源发挥作用,这样RAM 内的数据就不会丢失。其特性如表4所示。

译码器

地址总线

CS1 0V

图8 CS2控制数据保持时序

根据表4和图8可知,只要在系统上电或断电期间保证使HM628128的CS2立即变为低电平(CS2≤0.2V )或WR 立即变为高电平就可使其中的数据维持不变,图9可实现这一功能。

图9掉电保护电路

其原理如下:当系统正常时,电流通过D1向HM628128供电,同时向电池BT 充电,当系统电源切断时,将由电池供电。

上电时,系统电源对C1充电,在此期间CS2是输入要经过一定的延时后才能变为高电平,同时,由于U1、U2的电源是由系统电源对C2充电来建立的,这就保证了在上电时HM628128处于写静止状态。

在系统掉电瞬间,由于U1、U2由Vs供电,仍处于工作状态,电源掉电致使U1的输入立即变低,WR端变为低电平,从而禁止对HM628128的写入。同时C1也通过D2和R2放电,从而使CS2变为低电平。因此在掉电瞬间和掉电后,HM628128也处于写禁止状态。

经实践证明,本电路工作可靠,RAM中数据保存完整。

51单片机中断扩展

51单片机扩展中断的四种方法 MCS—51系列单片机内部只有两个外部中断源输入端,当外部中断源多于两个时 ,就必须进行扩展,下面介绍两种简单的扩展方法: 一、采用硬件请求和软件查询的方法: 这种方法是:把各个中断源通过硬件“或非(高有效,如CD4002)”(与,低有效)门引入到单片机外部中断源输端(INT0或INT1),同时再把外部中断源送到单片机的某个输入输出端口,这 样当外部中断时,通过“或非”(与)门引起单片机中断,在中断服务程序中再通 过软件查询,进而转相应的中断服务程序。显然,这种方法的中断优先级取决于 软件查询的次序。其硬件连接和软件编程如下: Void zhongduan (void) interrupt 0 using 3 //中断函数 { EX0=0;//关中断 If(P0_0=1) { *****}//中断查询 If(P0_1=1) { *****}//中断查询 If(P0_2=1) { *****}//中断查询 EX0=1;开中断 } 二、用普通二极管构成中断选择

扩展的8个外部中断源均通过二极管向I N T(x=0或I)请求中断。当某个外部中断源请求中断服务时输出低电平电平,单片机满足响应外部中断(I N T)请求条件,响应中断,程序立即转向I NT 对应的中断入口地址处开始执PI.0~P1.7口外中断源的状态,以识别提出请求的外扩中断源,并转向中断服务程序为其服务,其查询顺序即顺序。在图中,是选用PI.0~PI.7作为外扩中断源请求的状态信息输入端口。 有点类似第一种方法。 三、用定时器/计数器作外部中断 单片机的定时器/计数器是一个加一计数器,每当计数输入端有一个“1—0”的负 跳变时,计数器加一,当加一计数器溢出时,就向CPU发出中断,利用这个特性 来扩展中断的方法是:首先把定时器/计数器设置成计数方式,并预置满值,把 外部中断源输入到P3口第4引脚或第5引脚(计数器输入端),这样就可以利用 定时器/计数器作为单片机外部中断了。注意这种方法的中断服务的入口地址应 在000BH或001BH。 四、用专用中断扩展芯片8259A 8259A是可编程中断控制接口,单片机控制八级中断。在系统中还可采用级联方式,一个主片可级联8个从片,这样在程序小于8K的情况,就可以用一片单片机实现了,而不需要用两片单片机控制,还要进行单片机点对点

单片机外部RA扩展

单片机外部RAM扩展模块 MCS-51系列单片机外部RAM为64K,在一些特殊场合下,远不能满足需要,本文就AT89C51讨论MCS-51系列单片机大容量RAM的扩 展方法。 首先介绍128K随机读取RAM HM628128。HM628128 是32脚双列直插式128K静态随机读取RAM,它具有容 量大、功耗低、价格便宜、集成度高、速度快、设计和 使用方便等特点。如若在系统中加入掉电保护电路,保 护数据有很高的可靠性,可以和EEPROM相媲美。 技术特性: (1)最大存取时间为120ns; (2)典型选通功耗75mW;典型未选通功耗10uW; (3)使用单一5V电源供电; (4)全静态存储器,不需要时钟及时序选通信号; (5)周期时间与存取时间相等; (6)采用三态输出电路,数据输入和输出端公用; 图6 HM628128外部引脚(7)所有输入和输出引脚均与TTL电平直接兼 容; (8)有两个片选端,适合于低功耗使用,即为了保存信息,用电池作为后备电源。保存信息的最低电源电压Vcc=2V。 引脚安排及功能表: 图6是HM628128的外部引脚排列图,各引脚名称及功用分别如下: A0~A16是17条地址线;I/O0~I/O7是8条双向数据线;CS1是片选1,低电平有效,CS2是片选2,高电平有效;WR是写控制线,当CS1为低电平,CS2为高电平时,WR的上升沿将I/O0~I/O7上的数据写到A0~A16选中的存储单元中;OE是读出允许端,低电平有效。 HM628128的功能表如表3所示。 WR CS1 CS2 OE 工作方式 X H X X未选中 X X L X未选中 H L H H 输出禁止 H L H L 读 L L H H 写 其中,H表示高电平,L表示低电平,X表示任意状态由于AT89C51直接外部RAM容量为64K,地址线为16条,其中低8位地址和数据分时复用,因此需要外部地址锁存器和ALE锁存信号来锁存低8位地址。又由于AT89C51的外部数据和外设地址通用,若扩展外设必然占用数据地址。因此本系统采用P2.7(A15)口来区分数据和外设:当P2.7(A15)口为高电平时,

关于51单片机外部中断响应

关于51单片机外部中断响应 外部中断方式最好设为下降沿方式,特别是中断引 脚接按键的情况。 外部下降沿中断:SETB IT0。每个机器周期都由硬 件对引脚自动采样,若连续在2个周期采样到电平从高 到低,则认定有中断请求,IE0=1。IE0会一直保持到该 中断请求被CPU响应,响应前都不会自动清零,只有在 响应后硬件才自动将IE0清零IE0=0。 外部低电平中断:CLR IT0。当中断引脚为低电平时,并保持一个机器周期,硬件自动置IE0=1。如果在下一个 周期采样到中断引脚为高电平时,硬件自动将IE0清0。中断标志位自动清0条件:下降沿中断只有CPU响应中断同时才会清0,否则一直保持。低电平中断:任何时候 当外部中断引脚为低电平时,IE0=1;为高电平时, IE0=0,所以不需要响应中断才会清0,与引脚状态有关。注意:当EA=0时,中断引脚为低电平也不会将IE0自动置1,只有EA=1时才会自动置1 单片机设计中有两个CPU时,主CPU控制副CPU中断时应注意:主CPU发出中断信号的时候,副CPU能够及时接收到,也就是副CPU工作状态不允许在关中断CLR EA的程序中运行。只要副CPU不工作在关中断的程序中运行,

主CPU发出的中断信号副CPU都能够及时响应中断。还有就是如果采用下降沿方式,主CPU发出的高低电平之间间隔时间只需一条NOP指令。所以应该尽可能考虑这个时差问题。有时候就是副CPU还没有运行完屏蔽中断的程序的时候,主CPU就发出了中断信号,造成副CPU无法中断或时好时坏。 键盘中断到今天为止终于可以告一段落了。 现在才知道,程序架构有了并不代表程序就容易完成,更多的时间在于调试,防真,再调试,如此循环。所以遇到问题要有耐心,信心,细心。做到这三点,不行也得行!!!!

单片机系统扩展

第六章单片机系统扩展 通常情况下,采用MCS-51单片机的最小系统只能用于一些很简单的应用场合,此情况下直接使用单片机内部程序存储器、数据存储器、定时功能、中断功能,I/O端口;使得应用系统的成本降低。但在许多应用场合,仅靠单片机的内部资源不能满足要求,因此,系统扩展是单片机应用系统硬件设计中最常遇到的问题。 在很多复杂的应用情况下,单片机内的RAM ,ROM 和 I/O接口数量有限,不够使用,这种情况下就需要进行扩展。因此单片机的系统扩展主要是指外接数据存贮器、程序存贮器或I/O接口等,以满足应用系统的需要。 6.1 单片机应用系统 按照单片机系统扩展与系统配置状况,单片机应用系统可以分为最小应用系统、最小功耗系统、典型应用系统等。 最小应用系统,是指能维持单片机运行的最简单配置的系统。这种系统成本低廉、结构简单,常用来构成简单的控制系统,如开关状态的输入/输出控制等。对于片内有ROM/EPROM 的单片机,其最小应用系统即为配有晶振、复位电路和电源的单个单片机。对于片内无ROM/EPROM的单片机,其最小系统除了外部配置晶振、复位电路和电源外,还应当外接EPROM 或EEPROM作为程序存储器用。最小应用系统的功能取决于单片机芯片的技术水平。 单片机的最小功耗应用系统是指能正常运行而又功耗力求最小的单片机系统。 单片机的典型应用系统是指单片机要完成工业测控功能所必须具备的硬件结构系统。 6.1.1 8051/8751最小应用系统 MCS-51系列单片机的特点就是体积小,功能全,系统结构紧凑,硬件设计灵活。对于简单的应用,最小系统即能满足要求。 8051/8751是片内有ROM/EPROM的单片机,因此,用这些芯片构成的最小系统简单、可靠。 图6-1 8051/8751最小应用系统 用8051/8751单片机构成最小应用系统时,只要将单片机接上时钟电路和复位电路即可,如图6-1所示。由于集成度的限制,最小应用系统只能用作一些小型的控制单元。其应用特点: (1)有可供用户使用的大量I/O口线。因没有外部存储器扩展,这时EA接高电平,P0、P1、P2、P3都可作用户I/O口使用。

51单片机外部ram扩展c程序及硬件结构

c程序 #include #include #define uchar unsigned char #define uint unsigned int int n,m; void main() { unsigned int i; while(1) { for(i=0x0000;i<=0x7fff;i++) { XBYTE[i]=n;//写入ram } for(i=0x7fff;i>0x0000;i--) { m=XBYTE[i];//读外部存储器 } }

} 62256外部ram芯片 相关知识: XBYTE是一个地址指针(可当成一个数组名或数组的首地址),它在文件absacc.h中由系统定义,指向外部RAM(包括I/O口)的0000H单元,XBYTE后面的中括号[ ]0x2000H 是指数组首地址0000H的偏移地址,即用XBYTE[0x2000]可访问偏移地址为0x2000的I/O端口。 这个主要是在用C51的P0,P2口做外部扩展时使用,其中XBYTE [0x0002],P2口对应于地址高位,P0口对应于地址低位。一般P2口用于控制信号,P0口作为数据通道。 比如:P2.7接WR,P2.6接RD,P2.5接CS,那么就可

以确定个外部RAM的一个地址,想往外部RAM的一个地址写一个字节时,地址可以定为XBYTE [0x4000],其中WR,CS为低,RD为高,那就是高位的4,当然其余的可以根据情况自己定,然后通过 XBYTE [0x4000] = 57; 这赋值语句,就可以把57写到外部RAM的0x4000处了,此地址对应一个字节。 XBYTE 的作用,可以用来定义绝对地址,是P0口和P2口的,其中P2口对应的是高位,P0口对应的是低位 如XBYTE[0x1234] = 0x56; 则等价于 mov dptr,#1234h mov @dptr,#56h 谢谢大家

习题5答案单片机系统扩展与接口技术

习题5答案单片机系统扩展与接口技术 一、选择题 1、地址空间3000H~37FFH共有 B 存储单元。 A.1K B.2K C.4K D.8K 2、在生产过程中完成程序写入的只读存储器称为 A 。 A.掩膜ROM B.PROM C.EPROM D.E2PROM 3、805l单片机系统扩展时使用的锁存器用于锁存B 。 A.高8位地址 B.低8位地址 C.8位数据. D.ALE信号 4、使用线选法扩展3片2732作外部程序存储器,需要使用 C 位地址线。 A.13 B.14 C.15 D.16 5、8155中的定时器/计数器是 D 。 A.16位加法计数器 B.16位减法计数器 C.14位加法计数器

D.14位减法计数器 6、定时器/计时器0的初始化程序如下: MOV TMOD,#06H MOV TH0,#0FFH MOV TL0,#0FFH SETB EA SETB ET0 执行该程序段后,把定时器/计时器0的工作状态设置成为 D A.工作方式0,定时应用,定时时间2u s,中断禁止 B.工作方式1,计数应用,计数值255,中断允许 C.工作方式2,定时应用,定时时间510 u s,中断禁止 D.工作方式2,计数应用,计数值1,中断允许 7、MCS-5 l单片机I/O编址采用的是统一编址的方法,因此 B 。 A.有专门的I/O操作指令 B.I/O寄存器与存储单元同等对待 C.地址空间与存储器空间是相互分开的 D.使用MOVX指令访问存储器,而使用MOVC指令进行I/O数据传送8、8155是一个可编程的I/O接口芯片,“可编程”是指 D 。 A.有14位可控定时器/计数器 B.芯片内包含有256字节的RAM C.只能使用中断编程的方法进行I/O数据传送 D.使用命令字以程序方法设置I/O数据传送的方式 9、访问接口,应在程序中使用 B 。 A.MOV指令 B.MOVX指令 C.MOVC指令 D.SWAP指令

单片机外部中断(汇编)

由AT89S52内部定时器0,按方式1工作,即作为16位定时器使用每0.05秒T1溢出中断一次。P1口的P1.0~P1.8分别接8个发光二极管。要求编写程序模拟一时序控制装置。L4,L5亮→L3,L6亮→L2,L7亮→L1,L8亮→L2,L7亮→L3,L6亮→L4,L5亮→L1,L2,L3,L4亮→L5,L6,L7,L8亮→全亮→全灭,共10种状态,每种状态的持续时间为0.5秒。然后再从头循环。 由键盘生成外部中断信号,当任意键按下时,为外部中断请求信号,此时L2,L4,L6,L8亮,持续时间为5秒。 ORG 0000H LJMP MAIN ORG 000BH LJMP PIT0 ORG 003H LJMP PIINT0 ORG 0050H ASCTAB:DB 7EH,0BDH,0DBH,0E7H,0DBH,0BDH,07EH,0AAH,55H,00H,0FFH MAIN:MOV P1,#0EH MOV TMOD,#11H SETB PX0;INT0为高优先级 CLR PT0 ;T0为低优先级 SETB IT0;INT0边沿触发 SETB EX0;允许INT0中断 MOV TH0,#4CH MOV TL0,#00H MOV R3,#0BH MOV R2,#14H MOV DPTR,#ASCTAB SETB TR0 SETB ET0 SETB EA HERE:LJMP HERE PIT0:CLR TR0 MOV TH0,#4CH MOV TL0,#00H DJNZ R2,M MOV R2,#14H MOV A,#00H MOVC A,@A+DPTR MOV P0,A INC DPTR DJNZ R3,M

80C51单片机存储器的扩展

程设计任务书 机械工程学院学院机制1211 班学生张会利-39号 课程设计题目: 单片ROM扩展 一、课程设计工作日自 2015 年 1 月 19 日至 2015 年 2 月 23 日 二、同组学生:张会利 三、课程设计任务要求(包括课题来源、类型、目的和意义、基本要求、完成时间、主要参考资 料等): 1、目的及意义 (1)巩固和深化《单片机原理及应用》课程的理论知识,培养,分析、解决实际问题的能力。(2)掌握单片机基本运用技术及汇编语言的基本方法,能根据题目要求确定设计思路、绘制流程图、编制并调试汇编语言程序,得出结果。 2、主要内容 用一片Intel2732为80C51单片机扩展一个4KB的外部程序存储器,要求使用73LS138译码器,地址范围为A000H~AFFFH。请连线并写明扩展步骤。 3、基本要求 (1)分析题目,写出详细分析过程。 (2)绘制工作流程图。 (3)编制程序,画出硬件线路图。 (4)上机调试程序,运行结果。 (5)编写设计说明书,包括1—4个步骤的内容。 (6)答辩。 4、主要参考资料 单片机基础及应用,赵巍,冯娜,马苏常,刘玉山等,清华大学出版社,2009年指导教师签字:教研室主任签字:

程序设计说明书 (一)芯片简介 1.2732简介: 2732是容量为4k×8位(4KB)。采用单一+5V供电,最大静态工作电流100mA, 电流35mA出时间最大为250ns. 2732的封装形式为DIP24,管脚如图所示。 ●A0~A11 :12条地址线,表示有212个地址单元 ●O0~O7 :8条数据线,表示地址单元字长8位 ●CE :片选控制输入端,低电平有效 ●OE/Vpp :双功能管脚,低电平时,允许2732输出数据 ●Vcc :工作电平+5V ●GND :芯片接地端 2.74LS373简介: 74LS373是带三态缓冲输出的8D锁存器,由于单片机的三片总线结构中,数据线与地址线的低8位公用P0口,因此必须用地址所存器将地址信号和数据信号区分开。74L373的锁存控制端G直接与单片机的锁存控制信号和数据信号ALE相连,在AEL的下降沿锁存低8位地址。

51单片机外部中断

单片机技术与应用 实验报告 实验名称:外部中断(交通灯与急救车) 姓名: 学号: 班级: 指导老师: 完成时间:2012年5月5日

一.实验要求 以74LS273作为输出口,控制4个双色LED灯(可发红,绿,黄光),模拟交通灯管理,并允许急救车优先通过的要求。有急救车到达时,两向交通信号为全红,以便让急救车通过。假定急救车通过路口时间为10秒,急救车通过后,交通灯恢复中断前状态。本实验以按键为中断申请,表示有急救车通过。 二.实验目的 1.学习外部中断技术的基本使用方法。 2.学习中断处理程序的编程方法。 三.实验框图

四.实验程序 Green_NB0 BIT P1.0 Green_DX0 BIT P1.1 Green_DX1 BIT P1.2 Green_NB1 BIT P1.3 Red_NB0 BIT P1.4 Red_DX0 BIT P1.5 Red_DX1 BIT P1.6 Red_NB1 BIT P1.7 Scd EQU 30H ;秒 ORG 0000H JMP START ORG 0003H JMP INIT0 ORG 000BH JMP TIME0 START: MOV Scd, #00H MOV 31H, #00H MOV DPTR, #0F200H ; MOV P1, #69H ;初始亮灯情况:东西绿灯,南北红灯 MOV A,P1 MOVX @DPTR,A CLR 00H CLR F0 MOV TMOD, #01H ;设定定时器1 MOV IE, #83H ;设定中断使能定时器中断0、外部中断0和1 MOV SP, #60H MOV TH0, #30H MOV TL0, #0B0H SETB TR0 LOOP: JNB F0,N0 ;F0用户标志位,此处用作东西绿灯闪烁标识,1为绿灯闪烁 CPL Green_DX0 ;绿灯闪三秒 CPL Green_DX1 MOV A,P1 MOVX @DPTR,A CALL DELAY500MS JMP N1 N0: JNB 00H,N1 ;00H,值为1时,南北绿灯闪烁

51单片机大容量数据存储器的扩展

郑州航空工业管理学院 《单片机原理与应用》 课程设计说明书 10 级自动化专业 1006112 班级 题目51单片机大容量数据存储器的系统扩展姓名杨向龙学号100611234 指导教师王义琴职称讲师 二О一三年六月十日

目录 一、51单片机大容量数据存储器的系统扩展的基本原理 (4) 二、设计方案 (4) 三、硬件的设计 (5) 3.1 系统的硬件构成及功能 (5) 3.2硬件的系统组成 (5) 3.2.1、W241024A (5) 3.2.2、CPLD的功能实现 (5) 3.2.3、AT89C52简介 (6) 3.2.4、SRAM的功能及其实现 (9) 3.3、基本单片机系统大容量数据存储器系统扩展 (9) 五、结论 (13) 六、参考资料 (13)

51单片机大容量数据存储器的系统扩展 摘要:在单片机构成的实际测控系统中,仅靠单片机内部资源是不行的,单片 机的最小系统也常常不能满足要求,因此,在单片机应用系统硬件设计中首先要解决系统扩展问题。51单片机有很强的外部扩功能, 传统的用IO口线直接控制大容量数据存储器的片选信号的扩展系统存在运行C51编译的程序时容易死机的缺点。文中介绍了一种改进的基于CPLD的51系列单片机大容量数据存储器的扩展方法,包括硬件组成和软件处理方法。 关键字:W241024A、CPLD、AT89C52、SRAM 一、51单片机大容量数据存储器的系统扩展的基本原理 MCS-51 单片机系统扩展时,一般使用P0 口作为地址低8位(与数据口分时复用),而P2口作为地址高8位,它共有16根地址总线,最大寻址空间为64KB。但在实际应用中,有一些特殊场合,例如,基于单片机的图像采集传输系统,程控交换机话单的存储等,需要有大于64KB 的数据存储器。 二、设计方案 在以往的扩展大容量数据存储器的设计中,一般是用单片机的IO口直接控制大容量数据存储器的片选信号来实现,但是这种设计在运行以C51编写的程序(以LARGE 方式编译)时往往会出现系统程序跑飞的问题,尤其是在程序访问大容量数据存储器(如FLASH)的同时系统产生异常(如中断),由于此时由IO 口控制的片选使FLASH 被选中而SRAM 无法被选中,堆栈处理和函数参数的传递无法实现从而导致程序跑飞的现象。文章介绍一种基于CPLD 的大容量数据存储器的扩展系统,避免了上述问题的产生,提高了扩展大容量数据存储器系统的可靠性。该系统MCU 采用89C52,译码逻辑的实现使用了一片EPM7128 CPLD 芯片,系统扩展了一片128K 的SRAM,一片4M 字节的NOR FLASH,以上芯片均为5V 供电。

单片机并口扩展

单片机IO口扩展技术 2010-05-09 18:13 0 引言 在单片机家族的众多成员中,MCS-51系列单片机以其优越的性能、成熟的技术、高可靠性和高性价比,占领了工业测控和自动化工程应用的主要市场,并成为国内单片机应用领域中的主流机型。 MCS-51单片机的并行口有P0、P1、P2和P3,由于P0口是地址/数据总线口,P2口是高8位地址线,P3口具有第二功能,这样,真正可以作为双向I/O口应用的就只有P1口了。这在大多数应用中是不够的,因此,大部分MCS-51单片机应用系统设计都不可避免的需要对P0口进行扩展。 由于MCS-51单片机的外部RAM和I/O口是统一编址的,因此,可以把单片机外部64K字节RAM空间的一部分作为扩展外围I/O口的地址空间。这样,单片机就可以像访问外部RAM存储器单元那样访问外部的P0口接口芯片,以对P0口进行读/写操作。用于P0口扩展的专用芯片很多。如8255可编程并行P0口扩展芯片、8155可编程并行P0口扩展芯片

等。本文重点介绍采用具有三态缓冲的74HC244芯片和输出带锁存的74HC377芯片对P0口进行的并行扩展的具体方法。 1 输入接口的扩展 MCS-51单片机的数据总线是一种公用总线,不能被独占使用,这就要求接在上面的芯片必须具备“三态”功能,因此扩展输入接口实际上就是要找一个能够用于控制且具备三 态输出的芯片。以便在输入设备被选通时,它能使输入设备的数据线和单片机的数据总线直接接通;而当输入设备没有被选通时,它又能隔离数据源和数据总线(即三态缓冲器为高阻抗状态)。 1.1 74HC2244芯片的功能 如果输入的数据可以保持比较长的时间(比如键盘),简单输入接口扩展通常使用的典型芯片为74HC244,由该芯片可构成三态数据缓冲器。74HC244芯片的引脚排列如图1所示。

第3章 单片机并行存储器扩展练习题

第3章单片机并行存储器扩展 (一)填空题 1.使用8KB×8位的RAM芯片,用译码法扩展64KB×8位的外部数据存储器,需要(8) 片存储芯片,共需使用(16 )条地址线,其中(13 )条用于存储单元选择,(3)条用于芯片选择。 2.三态缓冲器的三态分别是(低电平)、(高电平)和(高阻抗)。 3.80C51单片机系统整个存储空间由4部分组成,分别为(256 )个地址单元的内部(数 据)存储器,(4kb )个地址单元的内部(程序)存储器,(64kb)个地址单元的外部(数据)存储器,(60kb )个地址单元的外部(程序)存储器。 4.在80C51单片机系统中,为外扩展存储器准备了(16)条地址线,其中低位地址线由 (p0口)提供,高位地址线由(P2口)提供。 5.在80C51单片机系统中,存储器并行外扩展涉及的控制信号有(ALE)、(WR)、 (RD)、(PSEN)和(CE),其中用于分离低8位地址和数据的控制信号是(ALE),它的频率是晶振频率的(6)分之一。 6.起止地址为0000H ~ 3FFFH的外扩展存储器芯片的容量是(16KB)。若外扩展存 储器芯片的容量为2KB,起始地址为3000H,则终止地址应为(37FFH)。 7.与微型机相比,单片机必须具有足够容量的程序存储器是因为它没有(外存)。 8.在存储器扩展中,无论是线选法还是译码法,最终都是为扩展芯片的(片选)引脚端 提供信号。 9.由一片80C51和一片2716组成的单片机最小系统。若2716片选信号CE接地,则该存 储芯片连接共需(11)条地址线。除数据线外,系统中连接的信号线只有(PSEN)和(ALE)。 (二)单项选择题 1. 下列有关单片机程序存储器的论述中,错误的是(D) (A)用户程序保存在程序存储器中 (B)断电后程序存储器仍能保存程序 (C)对于程序存储器只使用MOVC一种指令 (D)执行程序需要使用MOVC指令从程序存储器中逐条读出指令 2. 下列有关单片机数据存储器的论述中,错误的是(A)

基于单片机的系统扩展

基于单片机的系统扩展 一、实验目的1、学习片外存贮器扩展方法。2、学习数据存贮器不同的 读写方法。3、学习片外程序存贮器的读方法。二、实验内容1.实验原理图: 2、实验内容(1)使用一片2764EPROM,作为片外扩展的程序存贮器,对 其进行读。(2)使用一片6264RAM,作为片外扩展的数据存贮器,对其进 行读写(使用键盘监控命令和程序运行两种方法)。3、实验说明(1)在使用键 盘监控命令读片外扩展的程序存贮器2764 中内容时,由于本系统中该程序存 贮器作为用户目标系统的程序存贮器,因此DVCC 系统必须处于仿真2 状态, 即H.....态,用MEM 键即可读出。(2)在使用键盘监控命令读写片外扩展的 数据存贮器6264 中的内容时,由于本系统中该数据存贮器作为用户目标系统 的数据存贮器,因此DVCC 系统处于仿真1 态(P.....态)或仿真2 态(H.....态),用ODRW 键即可读写。(3)读写数据的选用。本实验采用的是 55H(0101,0101)与AAH(1010,1010),一般采用这两个数据的读写操作就可 查出数据总线的短路、断路等,在实验调试用户电路时非常有效。(4)在仿 真1 态即P.....状态下,编写程序对片外扩展的数据存贮器进行读写,若L1 灯 闪动说明RAM 读写正常。三、程序程序清单:ORG 0C80H MOV DPTR,#8000H MOV R6,#0FH MOV A,#55HRAM1: MOV R7,#0FFHRAM2: MOVX @DPTR,A CLR P1.0 INC DPTR DJNZ R7,RAM2 DJNZ R6,RAM1 MOV DPTR,#8000H MOV R6,#0FHRAM3: MOV R7,#0FFHRAM4: MOVX A,@DPTR CJNE A,#55H,RAM6 SETB P1.0 INC DPTR DJNZ R7,RAM4 DJNZ R6,RAM3RAM5: CLR P1.0 CALL DELAY SETB P1.0 CALL DELAY SJMP RAM5DELAY: MOV R5,#0FFHDELAY1: MOV R4,#0FFH DJNZ R4,$ DJNZ R5,DELAY1 RETRAM6: SETB P1.0 SJMP RAM6 END 四、实验步骤1、片外

51单片机如何进行ROM外扩

51单片机如何进行ROM外扩 强烈建议用户尽可能不要考虑外扩程序存储器,如果非扩不可,可以仿照 下图所示电路进行扩展 图中P0 口输出外部ROM 的低8 位地址信号,P2 口输出高8 位地址信号;ALE 端输出地址锁存信号,/PSEN 输出程序存储器输出使能信号。两个模块 P89V51RD2 单片机内部有64K 用户ROM 区和8K BOOT ROM 区两个模块两个模块在物理上是分开的,尽管地址重合,但一般不会发生冲突。 用户程序存储区P89V51RD2 内部有64K Flash ROM,不需要用户再进行ROM 扩展地址范围:0000H~FFFFH 其内部分配和其他51 系列单片机是相同的Flash ROM 可以反复擦除和下载程序擦除和编程的方法并行编程器ISP (在系统编程:In-System Program)直接调用单片机BOOTROM 区的IAP 函数IAP (在应用编程:In-Application Program)一般情况下优先使用ISP 方式,更方便、更快捷 关于BOOT ROM 区存储介质:Flash Memory 容量:8K 字节存储内容:ISP 引导程序和IAP 函数这些程序出厂时已经由PHILIPS 已经写入,用户可以对其修改,但建议一般用户不要试图修改它。单片机在复位后会等待400ms,如果 在此期间用户在上位计算机上运行了FlashMagic 等类似ISP 软件,且串口通信正常,单片机将进入BOOT ROM 区运行ISP 引导程序;否则,单片机在400ms 以后将自动从用户ROM 区0000H 单元开始运行用户程序关于ISPISP 在系统编程:In-System Program,指用户不必把单片机从目标板上取下来,在特定的软件配合下直接通过串口(或其他端口)就可以对单片机进行读取、擦除、设置和程序下载等操作,从而取代了并行编程器的很多功能。现在越来越

外部中断源的扩展方法

外部中断源的扩展方法 利用单片机的中断功能可以提高CPU 效率、提高事件的实时处理能力,但80C51单片机的外部中断源只有2个,如果需要中断处理的外部事件超过2个,就需要考虑扩展外部中断源,通常扩展方法有以下2种: 1、利用定时器/计数器扩展 基本原理是,将定时器/计数器设置成计数器,通过外部引脚P3.4(T0)及P3.5(T1)对外部脉冲计数,初始化时设置为工作方式2,且计数初值设置为0FFH ,这样在中断允许并启动计数器后,只要引脚出现一个下降沿信号, 计数器加1后便产生定时器/计数器溢出中断。因此可以将引脚P3.4及P3.5作为外部中断引入端。 将T0扩展成外部中断的程序如下: ORG 0000H LJMP MAIN ORG 000BH AJMP DT0 ORG 1000H MAIN: MOV TMOD, # 06H ; T0,方式2,计数方式 MOV TL0, # 0FFH ; 置计数初值 MOV TH 0, # 0FFH SETB TR0 ; 启动T0工作 SETB EA ; CPU 开放中断 SETB ET0 ; T0允许中断 … ORG 2000H DT0: … ;中断服务程序 2、利用中断、查询相结合扩展法 通过1INT (正体)扩展3个外部中断的硬件电路连接如图6.15。 &R7 10K +5V P3.3/INT113AT89S51WZD1 WZD2 WZD3 P1.0 P1.1 P1.2123 图6.15扩展3个外部中断 图6.15中,3个外部中断引入端通过一个与门连接至80C51的INT1,当WZD1、WZD2、WZD3全部为高时,与门输出高,没有中断申请,当WZD1、WZD2、WZD3中任何一个由高变低时,与门输出将由高变低,产生中断申请信号,CPU 即可以响应中断,在中断服务程序中,首先就要判断是WZD1、WZD2、WZD3中的哪个引起的中断,确定中断源。电路上WZD1、WZD2、WZD3分别连接至P1.0、P1.1、P1.2,所以通过查询P1.0、P1.1、P1.2三个引脚,就可以找到中断源。 通过INT1扩展3个外部中断的程序如下: ORG 0000H LJMP MAIN

单片机硬件电路设计

单片机应用设计

概述 单片机是一种大规模的具有计算机基本功能的单片 单片机是一种大规模的具有计算机基本功能的单片集成电路。可以与少量外围电路构成一个小而完善的计算机系统。芯片内置和外围的电路能在软件的控制下准确、迅速、高效地完成程序设计者事先规定的任务。 单片机具有体积小、功耗低、控制功能强、扩 单片机具有体积小、功耗低、控制功能强、扩展灵活、使用方便等优点,广泛应用于仪器仪表、家用电器、医用设备、航空航天、通信产品、智能玩具、汽车电子、专用设备的智能化管理及过程控制等领域。 制等领域。

单片机类型 集中指令集(CISC)和精简指令集(RISC)–采用CISC结构的单片机数据线和指令线分时复 用,即所谓冯.诺伊曼结构。它的指令丰富,功 能较强,但取指令和取数据不能同时进行,速度 受限,价格亦高。 –采用RISC结构的单片机,数据线和指令线分离 ,即所谓哈佛结构。这使得取指令和取数据可同 时进行,且由于一般指令线宽于数据线,使其指 令较同类CISC单片机指令包含更多的处理信息 ,执行效率更高,速度亦更快。同时,这种单片 机指令多为单字节,程序存储器的空间利用率大 大提高,有利于实现超小型化。

常用的几个系列单片机 MCS-51及其兼容系列: –英特尔公司的MCS-51系列单片机是目前应 用最广泛的8位单片机之一,并且ATMEL、 PHILIPS、ADI、MAXIM、LG、 SIEMENS等公司都有其兼容型号的芯片。 这个系列的单片机具有运算与寻址能力强, 存储空间大,片内集成外设丰富,功耗低等 优点,其中大部分兼容芯片都含有片内 FLASH程序存储器,价格便宜。适合应用于 仪器仪表、测控系统、嵌入系统等开发。

项目6 单片机外部总线与接口扩展技术

项目6 单片机外部总线 与接口扩展技术 项目要求: 本项目通过对单片机外部总线与接口扩展技术分析介绍,要求学生会对单片机进行功能扩展及接口控制,掌握有关接口芯片的功能特征以及操作方法等。

1、掌握单片机外部总线的功能并会对其进行操作。 2、掌握有存储器扩展原理及方法;掌握一些新型串行接口的技术路线以及相关接口芯片的应用及操作方法。 3、理解数/模(D/A)转换及模/数(A/D)转换的概念,掌握D/A及A/D转换的实现方法,掌握常用D/A及A/D转 换芯片的接口扩展技术。 技能目标: 1、认识有关存储器芯片、新型串行接口芯片、D/A及 A/D转换芯片,懂得相关技术指标的含义,能根据设计目标对芯片进行选型。 2、能根据系统要求设计外部总线接口扩展电路及控制程序,并完成制作。

MCS-51单片机内部虽然集成了储存器、I/O口、定时器/计数器等硬件资源,但随着单片机应用的范围日益广泛,对其资源提出了更高的要求,在一些情况下使用时内部资源不够,为了满足各种复杂的应用系统的要求,可在单片机外部扩展存储器和各种功能的器件。 MCS-51单片机有着完善的并行三总线结构,利用这个优势可以方便地扩展外部资源,特别是存储器的扩展。随着单片机技术的发展,串行外设接口技术受到的重视程度越来越高,串行外设接线简单灵活,占用单片机接口数量少,系统硬件结构简单,易形成用户模块化结构,对于增加系统扩展的灵活性、降低硬件成本、缩短产品开发周期具有现实意义。

由于单片机只能处理数字量,而在实际应用中,各种模拟信号(如温度、压力、流量等)十分常见,这就需要将模拟信号转变为数字信号才能送入单片机处理;反之单片机只能输出数字量的控制信号,如果被控制对象需接收模拟信号,则必须将数字量转变为模拟量才能实施控制。因此模/数(A/D)转换和数/模(D/A)转换也是单片机接口扩展的重要任务之一。

单片机:外部扩展

用51单片机外部扩展两片2764,两片6264. 1.51单片机的数据线P0.0---P0.7与外部拓展的2764与6264的D0---D7相连。 2.51单片机的地址线第8位P0.0---P0.7要经过锁存器74LS373输出与外部拓展的2764与6264 的地址输入线A0---A7相连。 3.锁存器连接:OE为数据输出允许信号需要接低电平,数据从锁存器的输入线到输出线。接高电平呈高阻态。 LE接51单片机ALE。 Q0---Q7接扩展片的A0---A7. 4.2764连接(ROM): OE为读选通信号与51单片机PSEN相连 2764仅用到了13根地址线,A8---A12与单片机P2.0---P2.4相连 单片机要片选两片2764用CE与单片机P2.5.P2.6(未用的地址线)相连,当P2.5或P2.6为低电平时片选。 5.6264连接(RAM):WR与RD为写和读选通信号与单片机的WR与RD相 连(低电平有效)。 CS接高电平与CE为低电平共同作用才能选中。CE分别 与P2.5,P2.6相连片选。

以上四片芯片的地址范围是2764 C000H~DFFFH A000H~BFFFH 6264 C000H~DFFFH A0000H~BFFFH 上面是用线选方法进行的片选。 下面用2—4译码器片选 P2.7与E相连低电平允许译码 P2.5,P2.6接A,B进行选择 Y0---Y3端分别接外部扩展四片的CE端片选(低电平有效) 四片芯片的地址范围是: 2764 0000H~1FFFH 2000H~3FFFH 6264 4000H~5FFFH 6000H~7FFFH

单片机外部中断实验

班级 学号 姓名 实验项目:外部中断 一、实验目的: (1)了解MCS-51单片机外部中段系统的原理、处理过程及中断方式。 (2)掌握中断的编程方法。 二、实验内容: P0口通过747接一个七段数码管,外中断输入INT0引脚接按键PB。主程序开始运行时数码管显示为0。当按下按键PB时,进入中断状态,七段数码管从0到9递增1显示,延迟时间为0.5s。 三、实验说明及实验电路图 四、实验程序及分析 #include unsigned char code xsmg[]={0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09}; void delay() {int a,b; for(a=1000;a>0;a--) {for(b=0;b<100;b++);

} } void wbzd_0() interrupt 0 using 1 { unsigned char i; while(1) { for(i=0;i<10;i++) {P0=xsmg[i]; delay(); } } } void main() {EA=1; EX0=1; IT0=0; while(1) { P0=0xC0; } } 五、实验步骤及实验现象 步骤:先画好电路图,确认无误后,依据电路图以及要实现的功能开始写程序,之后进行调试。 现象:当按下按键PB时,进入中断状态,七段数码管从0到9递增1显示,延迟时间为0.5s。 六、问题分析及实验心得 根据数电的知识,能够得出7447为译码器,如DCBA分别输入0000,0101,则数码管分别显示0,5,即P0=0x00,0x05。 实验采用外部中断进入中断子程序,硬件时刻检测P3.2的电平,当按下按键时,程序中采用电平触发方式,中断标志位IE0=1,向CPU申请中断服务,进入子程序,从而实现数码管0~9的递增。 心得:看到没有见到过芯片时,要先去了解,如看数据手册。编程时要注意注释,方便以后再看这个程序。

单片机 程序 外部中断中断

实验四外部中断与一位数码管静态显示实验 一、实验目的 1、通过实验掌握静态显示的工作原理; 2、通过实验掌握如何设置控制外部中断的特殊功能寄存器; 3、通过实验掌握外部中断的工作原理。 二、实验内容 注:实验前先将矩阵按键模块的INT0和INT1插针用短路套短接。 1、根据电路图图1-6编写程序,由P1口控制八个LED,按键INT0和按键INT1控制八个LED循环点亮的方向。初始状态八个LED全部熄灭,如果按键INT0按下,由电路板上LED7→LED0逐个移位点亮(每一时刻只有一个点亮),到LED0后停止;如果按键INT1按下,由电路板上LED0→LED7逐个移位点亮(每一时刻只有一个点亮),到LED7后停止; 2、根据电路图图1-6编写程序,由P1口控制八个LED,按键INT0和按键INT1控制八个LED循环点亮的方向。初始状态八个LED全部熄灭,如果按键INT0按下,由电路板上LED7→LED0逐个移位点亮(每一时刻只有一个点亮),到LED0再由LED7→LED0逐个移位点亮;如果按键INT1按下,由电路板上LED0→LED7逐个移位点亮(每一时刻只有一个点亮),到LED7再由LED0→LED7逐个移位点亮; 3、根据电路图图1-6编写程序,由P1口控制八个LED,按键INT0和按键INT1控制八个LED循环点亮的方向。初始状态八个LED由LED7→LED0逐个移位点亮,如果按键INT0按下,循环点亮的方向向右(每一时刻只有一个点亮);如果按键INT1按下,循环点亮的方向向左(每一时刻只有一个点亮),无论哪个LEDx正在被点亮,都从该位LEDx开始反向循环点亮; 4、根据电路图图1-6编写一个P0口控制段选信号和P2.7引脚控制位选信号的一位数码管静态显示程序,初始状态显示“0”;如果按键INT0按下,显示加一后的数值;如果按键INT1按下,显示减一后的数值;如果加到“9”再加一,显示“0”;如果减到“0”再减一,显示“9”; 5、根据电路图图1-6编写一个P0口控制段选信号和P2.7引脚控制位选信号的一位数码管静态显示程序,初始状态显示全灭;如果按键INT0按下,数码管的显示段被逐个移位点亮的方向“a段→f段”(每一时刻只有一段点亮,数码管顺时钟作画圈动画);如果按键INT1按下,数码管的显示段被逐个移位点亮的方向“f段→a段”(每一时刻只有一段点亮,数码管逆时钟作画圈动画); 6、自己编写程序,设计数码管动态显示和按键的创意实验。 注意:调整适当的延时时间,不使用外部中断不算完成。

MCS-51单片机存储器的扩展

第八章MCS-51单片机存储器的扩展 第一节MCS-51单片机存储器的概述 (一)学习要求 1、熟悉MCS-51 单片机的系统总线及系统总线扩展结构 2、掌握常用的片选方法:线选法和全地址译码法。 (二)内容提要 1、三总线的扩展方法 单片机内资源少,容量小,在进行较复杂过程的控制时,它自身的功能远远不能满足需要。为此,应扩展其功能。 MCS-51单片机的扩展性能较强,根据需要,可扩展。三总线是指地址总线、数据总线、控制总线。 1)地址总线 MCS-51 单片机地址总线宽度为16 位,寻址范围为64K。 地址信号:P0 作为地址线低8 位,P2 口作为地址线高8 位。 2)数据总线 MCS-51 单片机的数据总线宽度为8 位。 数据信号:P0 口作为8 位数据口,P0 口在系统进行外部扩展时与低8 位地址总线分时复用。 3)控制总线 主要的控制信号有/WR 、/RD 、ALE 、/PSEN 、/EA 等。 2、系统的扩展能力 MCS-51 单片机地址总线宽度为16 位,因此它可扩展的程序存储器和数据存储器的最大容量是64K(216)。 1)线选法 线选法就是将多余的地址总线(即除去存储容量所占用的地址总线外)中的某一根地址线作为选择某一片存储或某一个功能部件接口芯片的片选信号线。一定会有一些这样的地址线,否则就不存在所谓的“选片”的问题了。每一块芯片均需占用一根地址线,这种方法适用于存储容量较小,外扩芯片较少的小系统,其优点是不需地址译码器,硬件节省,成本低。缺点是外扩器件的数量有限,而且地址空间是不连续的。 2)全地址译码法 由于线选法中一根高位地址线只能选通一个部件,每个部件占用了很多重复的地址空间,从而限制了外部扩展部件的数量。采用译码法的目的是减少各部件所占用的地址空间,以增加扩展部件的数量。 3)译码器级连 当组成存储器的芯片较多,不能用线选法片选,又没有大位数译码器时,可采用多个小位数译码器级连的方式进行译码片选. 4)译码法与线选法的混合使用 译码法与线选法的混合使用时,凡用于译码的地址线就不应再用于线选,反之,已用于线选的地址线就不应再用于译码器的译码输入信号. (三)习题与思考题 1. 简要说明MCS-51 单片机的扩展原理。

相关主题
文本预览
相关文档 最新文档