搜档网
当前位置:搜档网 › MCS-51单片机存储器的扩展

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

MCS-51单片机存储器的扩展
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 单片机的扩展原理。

第二节程序存储器的扩展

(一)学习要求

1、熟悉常用EPROM的扩展原理和方法。

2、掌握常用EEPROM的扩展原理和方法。

3、熟系8031扩展一片27C64的扩展方法。

(二)内容提要

从EPROM的引脚功能入手熟悉其扩展方法。

1、扩展EPROM

1)常见EPROM简介

EPROM是以往单片机最常选用的程序存储器芯片,是一种紫外线可擦除电可编程的存储器,最经常使用的是27C系列的EPROM,如:27C16(2K)、(4K)、27C64(8K)、27C128(16K)、27C256(32K),如图8-6所示,除了27C16和27C32为24脚外,其余均为28脚。

引脚功能如下:

O0-O7:数据线;

A0-Ai(i=1-15):地址线;

OE:输出允许;

CE:片选端;

V PP、PGM:编程电源;

V CC:电源;

GND:接地线。

2)扩展27C64

51系列单片机为外部程序存储器的扩展提供了专门的读指令控制信号PSEN,因此外部程序存储器形成了独立的空间。如图8-7是8031扩展一片27C64的扩展逻辑图,其扩展方法如下:

(1)数据总线

27C64的数据线与8032的P0口对应相接构成系统的数据总线。

(2)地址总线

27C64的地址线的A0~A7与8031的P0口经地址锁存器74LS373锁存后得到的地址线的低8位对应相接,而27C64的地址线的A8~A12与P2.0~P2.4对应相接,这样就构成了系统的地址总线。

(3)控制总线

27C64的端与8031的读指令控制信号相接。

如果系统只需要扩展一片EPROM,则可以将片选信号CE直接接地。在这里要注意地址总线要使用多少根是由所扩展的芯片的容量决定。由于这里只使用外部扩展的程序存储器,因此8031的脚必须接地。

2、扩展E2PROM

EEPROM是一种电可擦除可编程的存储器,最经常使用的有高压编程的28C16(2K)、28C17(2K)和28C64(8K),低压编程的28C16A(2K)、28C17A(2K)和28C64A(8K)等。

如图8-8是三种常见的EEPROM的引脚图,其中28C16和28C17都是2K的存储器,它们的区别在于:一种有28个引脚,另一种只有24个引脚。另外28C17增加了一种检测写周期结束的方法,利用增加的引脚BUSY

RDY/来表示写操作何时完成。当写操作开始后,该引脚输出为低电平,当写操作结束时,该引脚输出高电平,这样通过该引脚的信号就可以指示与其接口的微处理器进行合适的操作。

它们的引脚功能如下:

I/O0-I/O7:数据线;

A0-Ai(I=1-12):地址线;

:输出允许;

:片选端;

W E:写允许;

BUSY

RDY/:写结束输出;

V CC:电源;

GND:接地线;

NC:未连接。

当使用EEPROM作为存储器使用时,它与CPU的接线和使用EPROM的扩展接线非常相似,也是按照三总线的扩展原则进行接线,不同之处在于为了在线改写,单片机的端与EEPROM的端相接。

(三)习题与思考题

1、试述EPROM的扩展原理和方法。

2、试述EPROM的扩展原理和方法。

第三节数据存储器的扩展

(一)学习要求

1、掌握常用数据存储器芯片及数据存储器的扩展方法。

2、掌握静态随机存储器SRAM的引脚功能。

3、掌握6116的扩展逻辑图及6116的地址范围计算方法。

4、掌握6264的扩展逻辑图及6116的地址范围计算方法。

(二)内容提要

1、静态随机存储器SRAM

虽然MCS-51系列的单片机有128或256字节的内部数据存储器,但是在实际应用中这些数据存储器经常是不够,因此要扩展外部的数据存储器,扩展的最大容量可以达到64K 字节。在单片机应用系统中经常选用静态随机存储器SRAM,也可以选用EEPROM或者FLASH 存储器。常用的SRAM有:6116(2K)、6264(8K)、62256(32K)等。

引脚功能如下:

I/O0-I/O7:数据线;

A0-Ai(I=1-14):地址线;

:输出允许;

:片选端;

W E:写允许;

CS: 6264第二片选端高电平有效;

V CC:电源;

GND:接地线;

NC:未连接。

数据存储器的扩展与程序存储器的扩展非常相似,所使用的地址总线和数据总线完全相同,但是它们所用的控制总线不同,数据存储器的扩展所使用的控制总线是和RD,而程序存储器所使用的控制总线是PSEN,因此虽然它们的地址空间相同,但是由于控制信号不同所以不会冲突。

2、扩展静态 RAM 6116

8031采用线选法扩展一片6116的扩展逻辑图,它与8031扩展程序存储器的差别仅在于控制总线不同。图中使用了未用到的高位地址线P2.7作为片选信号接至6116的CE端,因此图中6116的地址范围计算如表8-1:

表8-1 6116地址计算表

的组合可以得到图8-10中的6116共有16组地址,习惯上在计算地址是可以将未用到的地址信号看作1,如果将A11~A14都置为1则可以得到该片6116的地址范围为7800H~7FFFH。

3、扩展静态 RAM 6264

如图8-11是8031采用线选法扩展一片6264的扩展逻辑图,图中使用了未用到的高位地址线P2.7作为片选信号接至6264的CE端,由于6264有还具有另外一个高电平有效的片选端,此时可以直接将该引脚接至高电平,因此图中6264的地址范围计算如表8-2:

表8-2 6264地址计算表

根据A13、A14不同的组合可以得到6264的4组地址:0000H~1FFFH、2000H~3FFFH、4000H~5FFFH、6000H~7FFFH。

(三)习题与思考题

1、使用3-8译码器最多可以扩展多少片6264,试画出其逻辑扩展图,并且写出每一片

的地址范围。

第四节扩展外部存储器的综合设计举例

(一)学习要求

1、掌握扩展外部存储器的方法。

(二)内容提要

在一个系统中扩展一片程序存储器27C64和一片数据存储器6116的综合逻辑扩展。程序存储器和数据存储器是共用数据总线和地址总线的,实际上在51系列单片机的并行扩展系统中,所有的外部并行扩展器件都是共用数据总线和地址总线的。程序存储器可扩展的空间范围是:0000H~FFFFH,数据存储器可扩展的空间范围也是:0000H~FFFFH,它们之间是通过控制总线来进行区分的。数据存储器的扩展所使用的控制总线是和RD,而程序存储器所使用的控制总线是PSEN。在51系列单片机的并行扩展系统中,数据存储器的扩展地址和外部I/O口的扩展地址是进行统一编制的。

数据存储器的地址范围与图8-10的6116的地址完全一样,而27C64的地址计算方法与

6116的计算方法一样。

(三)习题与思考题

1、画出8031扩展一片28C16作为程序存储器的逻辑扩展图并写出其地址范围。

2、画出综合扩展一片27C64和两片6264的逻辑扩展图并写出它们的地址范围。

AT89C51单片机的基本结构和工作原理

AT89C51单片机的主要工作特性: ·内含4KB的FLASH存储器,擦写次数1000次; ·内含28字节的RAM; ·具有32根可编程I/O线; ·具有2个16位可编程定时器; ·具有6个中断源、5个中断矢量、2级优先权的中断结构; ·具有1个全双工的可编程串行通信接口; ·具有一个数据指针DPTR; ·两种低功耗工作模式,即空闲模式和掉电模式; ·具有可编程的3级程序锁定定位; AT89C51的工作电源电压为5(1±0.2)V且典型值为5V,最高工作频率为24MHz. AT89C51各部分的组成及功能: 1.单片机的中央处理器(CPU)是单片机的核心,完成运算和操作控制,主要包括运算器和控制器两部分。

(1)运算器 运算器主要用来实现算术、逻辑运算和位操作。其中包括算术和逻辑运算单元ALU、累加器ACC、B寄存器、程序状态字PSW和两个暂存器等。 ALU是运算电路的核心,实质上是一个全加器,完成基本的算术和逻辑运算。算术运算包括加、减、乘、除、增量、减量、BCD码运算;逻辑运算包括“与”、“或”、“异或”、左移位、右移位和半字节交换,以及位操作中的位置位、位复位等。 暂存器1和暂存器2是ALU的两个输入,用于暂存参与运算的数据。ALU的输出也是两个:一个是累加器,数据经运算后,其结果又通过内部总线返回到累加器;另一个是程序状态字PSW,用于存储运算和操作结果的状态。 累加器是CPU使用最频繁的一个寄存器。ACC既是ALU处理数据的来源,又是ALU运算结果的存放单元。单片机与片外RAM或I/O扩展口进行数据交换必须通过ACC来进行。 B寄存器在乘法和除法指令中作为ALU的输入之一,另一个输入来自ACC。运算结果存于AB寄存器中。 (2)控制器 控制器是识别指令并根据指令性质协调计算机内各组成单元进行工作的部件,主要包括程序计数器PC、PC增量器、指令寄存器、指令译码器、定时及控制逻辑电路等,其功能是控制指令的读入、译码和执行,并对指令执行过程进行定时和逻辑控制。AT89C51单片机中,PC是一个16位的计数器,可对64KB程序存储器进行寻址。复位时PC的内容是0000H. (3)存储器 单片机内部的存储器分为程序存储器和数据存储器。AT89C51单片机的程序存储器采用4KB的快速擦写存储器Flash Memory,编程和擦除完全是电器实现。 (4)外围接口电路 AT89C51单片机的外围接口电路主要包括:4个可编程并行I/O口,1个可编程串行口,2个16位的可编程定时器以及中断系统等。 AT89C51的工作原理: 1.引脚排列及功能 AT89C51的封装形式有PDIP,TQFP,PLCC等,现以PDIP为例。 (1)I/O口线 ·P0口 8位、漏极开路的双向I/O口。 当使用片外存储器及外扩I/O口时,P0口作为低字节地址/数据复用线。在编程时,P0口可用于接收指令代码字节;程序校验时,可输出指令字节。P0口也可做通用I/O口使用,但需加上拉电阻。作为普通输入时,应输出锁存器配置1。P0口可驱动8个TTL负载。 ·P1口 8位、准双向I/O口,具有内部上拉电阻。 P1口是为用户准备的I/O双向口。在编程和校验时,可用作输入低8位地址。用作输入时,应先将输出锁存器置1。P1口可驱动4个TTL负载。 ·P2 8位、准双向I/O口,具有内部上拉电阻。 当使用外存储器或外扩I/O口时,P2口输出高8位地址。在编程和校验时,P2口接收高字节地址和某些控制信号。 ·P3 8位、准双向I/O口,具有内部上拉电阻。 P3口可作为普通I/O口。用作输入时,应先将输出锁存器置1。在编程/校验时,P3口接收某些控制信号。它可驱动4个TTL负载。 (2)控制信号线

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单片机为例 1、一个8位的微处理器CPU。 2、片内数据存储器(RAM128B/256B):用以存放可以读 /写的数据,如运算的中间结果、最终结果以及欲显示 的数据等。 3、片内4kB程序存储器Flash ROM(4KB):用以存放 程序、一些原始数据和表格。 4、四个8位并行I/O(输入/输出)接口P0~P3:每个口 可以用作输入,也可以用作输出。 5、两个或三个定时/计数器: 每个定时/计数器都可以 设置成计数方式,用以对外部事件进行计数,也可 以设置成定时方式,并可以根据计数或定时的结果实现计算机控制 6、一个全双工UART的串行I/O口:可实现单片机与单片机或其它微机之间串行通信。 7、片内振荡器和时钟产生电路:但需外接晶振和电容。 8、五个中断源的中断控制系统。 9、具有节电工作方式:休闲方式及掉电方式。 二、结构:由中央处理单元(CPU)、存储器(ROM及RAM)和I/O接口组成。89C51单片机内部结构如图所示: 下面介绍的是mcs-51 MCS-51单片机存储器的配置特点 ①内部集成了4K的程序存储器ROM; ②内部具有256B的数据存储器RAM; ③可以外接64K的程序存储器ROM和数据 存储器RAM。 三、从物理结构的角度讲 51单片机的存储系统可以分为四个存储空间:既片内 ROM,RAM和片外ROM、RAM。 从逻辑上讲(既编程的角度),51单片机的存储系统实际 上分为三个存储空间。 1. 片内数据存储器RAM; 2. 片外数据存储器RAM; 3. 片内或外的程序存储器ROM(由EA电平决定)。 物理结构: 1.程序存储器ROM用于存放程序、常数或表格。 2.在51单片机中,由引脚/EA 上的电平选择内、外 ROM:EA=1时,CPU执行片内的4KROM中的程序; EA=0 时,CPU选择片外ROM中的程序。 3.无论是使用片内还是使用片外ROM,程序的起始地 址都是从ROM的0000H单元开始。 4.尽管系统可以同时具备片内ROM和外部ROM,但是 在一般正常使用情况下,通过/EA的设定来选择其一 (或者使用内部ROM,或者使用外部ROM)。 5.如果EA=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 供电。

51单片机基础知识及期末复习

51单片机简答题部分(经典) 1、什么叫堆栈? 答:堆栈是在片内RAM中专门开辟出来的一个区域,数据的存取是以"后进先出"的结构方式处理的。实质上,堆栈就是一个按照"后进先出"原则组织的一段内存区域。 2、进位和溢出? 答:两数运算的结果若没有超出字长的表示范围,则由此产生的进位是自然进位;若两数的运算结果超出了字长的表示范围(即结果不合理),则称为溢出。 3、在单片机中,片内ROM的配置有几种形式?各有什么特点? 答:单片机片内程序存储器的配置形式主要有以下几种形式:(1)掩膜(Msak)ROM型单片机:内部具有工厂掩膜编程的ROM,ROM中的程序只能由单片机制造厂家用掩膜工艺固 化,用户不能修改ROM中的程序。掩膜ROM单片机适合于 大批量生产的产品。用户可委托芯片生产厂家采用掩膜方法 将程序制作在芯片的ROM。 (2)EPROM型单片机:内部具有紫外线可擦除电可编程的只读存储器,用户可以自行将程序写入到芯片内部的EPROM 中,也可以将EPROM中的信息全部擦除。擦去信息的芯片 还可以再次写入新的程序,允许反复改写。 (3)无ROM型单片机:内部没有程序存储器,它必须连接程序存储器才能组成完整的应用系统。 无ROM型单片机价格低廉,用户可根据程序的大小来选择外接 程序存储器的容量。这种单片机扩展灵活,但系统结构较复 杂。 (4)E2ROM型单片机:内部具有电可擦除叫可编程的程序存储器,使用更为方便。该类型目前比较常用 (5)OTP(One Time Programmable)ROM单片机:内部具有一次可编程的程序存储器,用户可以在编程器上将程序写入片内程 序存储器中,程序写入后不能再改写。这种芯片的价格也较 低。 4、什么是单片机的机器周期、状态周期、振荡周期和指令周期?它们之间是什么关系? 答:某条指令的执行周期由若干个机器周期(简称M周期)构成,一个机器周期包含6个状态周期(又称时钟周期,简称S周期),而一个状态周期又包含两个振荡周期(P1和P2,简称P周期)。也就是说,指令执行周期有长有短,但一个机器周期恒等于6个状态周期或12个振荡周

MCS-51单片机存储器结构

MCS-51单片机在物理结构上有四个存储空间: 1、片内程序存储器 2、片外程序存储器 3、片内数据存储器 4、片外数据存储器 但在逻辑上,即从用户的角度上,8051单片机有三个存储空间: 1、片内外统一编址的64K的程序存储器地址空间(MOVC) 2、256B的片内数据存储器的地址空间(MOV) 3、以及64K片外数据存储器的地址空间(MOVX) 在访问三个不同的逻辑空间时,应采用不同形式的指令(具体我们在后面的指令系统学习时将会讲解),以产生不同的存储器空间的选通信号。 程序内存ROM 寻址范围:0000H ~ FFFFH 容量64KB EA = 1,寻址内部ROM;EA = 0,寻址外部ROM 地址长度:16位 作用:存放程序及程序运行时所需的常数。 七个具有特殊含义的单元是: 0000H ——系统复位,PC指向此处; 0003H ——外部中断0入口 000BH —— T0溢出中断入口

0013H ——外中断1入口 001BH —— T1溢出中断入口 0023H ——串口中断入口 002BH —— T2溢出中断入口 内部数据存储器RAM 物理上分为两大区:00H ~ 7FH即128B内RAM 和SFR区。 作用:作数据缓冲器用。 下图是8051单片机存储器的空间结构图 程序存储器 一个微处理器能够聪明地执行某种任务,除了它们强大的硬件外,还需要它们运行的软件,其实微处理器并不聪明,它们只是完全按照人们预先编写的程序而执行之。那么设

计人员编写的程序就存放在微处理器的程序存储器中,俗称只读程序存储器(ROM)。程序相当于给微处理器处理问题的一系列命令。其实程序和数据一样,都是由机器码组成的代码串。只是程序代码则存放于程序存储器中。 MCS-51具有64kB程序存储器寻址空间,它是用于存放用户程序、数据和表格等信息。对于内部无ROM的8031单片机,它的程序存储器必须外接,空间地址为64kB,此时单片机的端必须接地。强制CPU从外部程序存储器读取程序。对于内部有ROM的8051等单片机,正常运行时,则需接高电平,使CPU先从内部的程序存储中读取程序,当PC值超过内部ROM的容量时,才会转向外部的程序存储器读取程序。 当=1时,程序从片内ROM开始执行,当PC值超过片内ROM容量时会自动转向外部ROM空间。 当=0时,程序从外部存储器开始执行,例如前面提到的片内无ROM的8031单片机,在实际应用中就要把8031的引脚接为低电平。 8051片内有4kB的程序存储单元,其地址为0000H—0FFFH,单片机启动复位后,程序计数器的内容为0000H,所以系统将从0000H单元开始执行程序。但在程序存储中有些特殊的单元,这在使用中应加以注意: 其中一组特殊是0000H—0002H单元,系统复位后,PC为0000H,单片机从0000H 单元开始执行程序,如果程序不是从0000H单元开始,则应在这三个单元中存放一条无条件转移指令,让CPU直接去执行用户指定的程序。 另一组特殊单元是0003H—002AH,这40个单元各有用途,它们被均匀地分为五段,它们的定义如下: 0003H—000AH 外部中断0中断地址区。 000BH—0012H 定时/计数器0中断地址区。

51单片机外部存储器的使用

纠结了这么久,现在总算有点儿头绪了,先把它整理到这里先,有几点还是j经常被弄糊涂:地址和数据,地址/数据复用,地址的计算,总线的概念,执行指令跟脉冲的关系,哎呀呀,看来计算机组成和原理不看不行啊,得找个时间瞧瞧,过把瘾了解了解。。。 使用ALE信号作为低8位地址的锁存控制信号。以PSEN信号作为扩展程序存储器的读选通信号,在读外部ROM是PSEN是低电平有效,以实现对ROM 的读操作。 由RD和WR信号作为扩展数据存储器和I/O口的读选通、写选通信号。 ALE/PROG: 当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。 在FLASH编程期间,此引脚用于输入编程脉冲。 在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时,ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。 当访问外部存储器时,ALE作为锁存扩展地址的低8位字节的控制信号。 当访问外部数据存储器时,ALE以十二分之一振荡频率输出正脉冲,同时这个引脚也是EPROM编程时的编程脉冲输入端。] 当非访问外部数据存储器时,ALE以六分之一振荡频率固定输出正脉冲,8051一个机器周期=6个状态周期=12个振荡周期,若采用6MHz的晶体振荡器,则ALE会发出1MHz的固定的正脉冲。因此它可以用来做外部时钟或定时。如果我们把这个功能应用与实际,可能给我们的设计带来简化,降低生产成本。 ALE脚是在使用MOVX、MOVC指令时才会变成有效(这些指令都使用到外部RAM或ROM 的地址。这些指令都有一个特点:地址和数据分时出现在P0口)。使用C写程序时,要使用它有效,可用访问内部RAM地址的方法。如:uVariable=*((char *)0x12C),把0x12C地址的内容给uVariable变量。这个过程有效的脚为ALE、RD。 这个信号线的信号生成是MCU硬件电路实现的,不可以人工控制。 在某些内置TOM的MCU里,可以关闭ALE信号输出,以降低EMI。

第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)

6264与51单片机扩展

Intel6264芯片 单片机内存扩展6264芯片 2012-5-2 1.Intel6264芯片 Intel 6264的特性及引脚信号Intel 6264的容量为8KB,是28引脚双列直插式芯片,采用CMOS工艺制造 A12~A0(address inputs):地址线,可寻址8KB的存储空间。 D7~D0(data bus):数据线,双向,三态。 OE(output enable):读出允许信号,输入,低电平有效。 WE(write enable):写允许信号,输入,低电平有效。 CE1(chip enable):片选信号1,输入,在读/写方式时为低电平。 CE2(chip enable):片选信号2,输入,在读/写方式时为高电平。 VCC:+5V工作电压。 GND:信号地。 Intel 6264的操作方式Intel 6264的操作方式由, CE1 , CE2的共同作用决定 ②读出:当和CE1为低电平,且和CE2为高电平时,数据输出缓冲器选通,被选中单元的数据送到数据线D7~D0上。 2. 74LS373 有54S373 和74LS373 两种线路结构型式,其主要电器特性的典型值如下(不同厂家具体值有差别):型号TPD PD 54S373/74S373 7ns 525mW 54LS373/74LS373 17ns 120mW 373 的输出端O0~O7 可直接与总线相连。当三态允许控制端OE 为低电平时,Q0~Q7为正常逻辑状态,可用来驱动负载或总线。当OE 为高电平时,Q0~Q7 呈高阻态,即不驱动总线,也不为总线的负载,但锁存器内部的逻辑操作不受影响。当锁存允许端LE 为高电平时,Q 随数据D 而变。当LE 为低电平时,D 被锁存在已建立

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 单片机的扩展原理。

第11章 MCS-51单片机系统扩展-第1部分 - 1

第十一章 MCS-51单片机系统扩展 11.1 8051/8751的最小系统 80C51片内有4KB的程序存储器,因此,只需要外接晶体振荡器和复位电路就可构成最小系统。 图11-1 最小单片机系统 最小系统的特点如下: (1)由于片外没有扩展存储器和外设,P0、P1、P2、P3都可以作为用户I/O口使用。但P0口作为用户I/O口使用时,需要加上拉电阻。 (2)片内数据存储器有128字节,地址空间00H~7FH,没有片外数据存储器。 (3)内部有4KB程序存储器,地址空间0000H~0FFFH,没有片外程序存储器,EA应接高电平。 (4)可以使用两个定时/计数器T0和T1,一个全双工的串行通信接口,5个中断源。 80C51虽有4个I/O口P0~P3,但在大多数应用系统中,真正用作I/O 口线的只有P1口的8位位线和P3口的某些位线。因此,在I/O接口引脚不够,或在片内的存储器资源还不能满足要求时,需要进行如下的扩展: (1) 外部I/O接口的扩展;【例如74LS164、74LS165等】 (2) 外部程序存储器的扩展; (3) 外部数据存储器的扩展。

11.2 系统扩展结构 单片机采用总线结构,使扩展易于实现,单片机系统扩展结构如图11-2所示。 图11-2 80C51单片机的系统扩展结构 从图11-2可以看出,系统扩展主要包括存储器扩展和I/O接口部件扩展。存储器扩展包括程序存储器扩展和数据存储器扩展。 系统扩展是以单片机为核心,通过总线把单片机与各扩展部件连接起来。因此,首先要利用单片机的I/O口构造系统总线。系统总线按功能通常分为3组,如图11-2所示。 (1)地址总线AB(Address Bus):用于发送CPU发出的地址信号,以便进行存储单元和I/O接口芯片中的寄存器的选择。 地址总线宽度为16位,由P0口经地址锁存器(通常用74LS373)提供地址低8位,P2口直接提供地址高8位,地址信号是由CPU发出的单方向信号。 存储器芯片的地址线的数目由芯片的容量决定。容量(Q)与地址线数目(N)满足关系式:2N Q 。存储器芯片的地址线与单片机的地址总线(A0~A15,P0口为低8位(需用74LS373锁存),P2口为高8位)按由低位到高位的顺序顺次相接。 一般来说,存储器芯片的地址线数目少于单片机地址总线的数目,因此连接后,单片机的高位地址线(P2口)应该有剩余。剩余的地址线一般作为译码线,译码器的输出与存储器芯片的片选信号线(CS或CE)相接。片选

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 单片机的扩展原理。

51单片机存储器结构介绍

MCS-51单片机存储器结构 从用户的角度上,8051单片机有三个存储空间: 1、片内外统一编址的64K的程序存储器地址空间(MOVC) 2、256B的片内数据存储器的地址空间(MOV) 3、以及64K片外数据存储器的地址空间(MOVX) 在访问三个不同的逻辑空间时,应采用不同形式的指令,以产生不同的存储器空间的选通信号。 【程序内存ROM】 寻址范围:0000H ~ FFFFH 容量64KB EA = 1,寻址内部ROM; EA = 0,寻址外部ROM 地址长度:16位 作用:存放程序及程序运行时所需的常数。 七个具有特殊含义的单元是: 0000H ——系统复位,PC指向此处; 0003H ——外部中断0入口 000BH —— T0溢出中断入口 0013H ——外中断1入口 001BH —— T1溢出中断入口 0023H ——串口中断入口 002BH —— T2溢出中断入口 【内部数据存储器RAM】 物理上分为两大区:00H ~ 7FH(低128单元用户RAM 和高128单元SFR区) 作用:作数据缓冲器用。

一个微处理器能够聪明地执行某种任务,除了它们强大的硬件外,还需要它们运行的软件,其实微处理器并不聪明,它们只是完全按照人们预先编写的程序而执行之。那么设计人员编写的程序就存放在微处理器的程序存储器中,俗称只读程序存储器(ROM)。程序相当于给微处理器处理问题的一系列命令。其实程序和数据一样,都是由机器码组成的代码串。只是程序代码则存放于程序存储器中。 MCS-51具有64kB程序存储器寻址空间,它是用于存放用户程序、数据和表格等信息。(对于内部无ROM的8031单片机,它的程序存储器必须外接,空间地址为64kB,此时单片机的EA端必须接地。强制CPU从外部程序存储器读取程序。)对于内部有ROM的8051等单片机,正常运行时,则需接高电平,使CPU先从内部的程序存储中读取程序,当PC 值超过内部ROM的容量时,才会转向外部的程序存储器读取程序。 当=1时,程序从片内ROM开始执行,当PC值超过片内ROM容量时会自动转向外部ROM空间。 当=0时,程序从外部存储器开始执行,例如前面提到的片内无ROM的8031单片机,在实际应用中就要把8031的引脚接为低电平。 8051片内有4kB的程序存储单元,其地址为0000H—0FFFH,单片机启动复位后,程序计数器的内容为0000H,所以系统将从0000H单元开始执行程序。但在程序存储中有些特殊的单元,这在使用中应加以注意: 其中一组特殊是0000H—0002H单元,系统复位后,PC为0000H,单片机从0000H 单元开始执行程序,如果程序不是从0000H单元开始,则应在这三个单元中存放一条无条件转移指令,让CPU直接去执行用户指定的程序。 另一组特殊单元是0003H—002AH,这40个单元各有用途,它们被均匀地分为五段,它们的定义如下: 0003H—000AH 外部中断0中断地址区。 000BH—0012H 定时/计数器0中断地址区。 0013H—001AH 外部中断1中断地址区。 001BH—0022H 定时/计数器1中断地址区。 0023H—002AH 串行中断地址区。 可见以上的40个单元是专门用于存放中断处理程序 的地址单元,中断响应后,按中断的类型,自动转到各 自的中断区去执行程序。从上面可以看出,每个中断服 务程序只有8个字节单元,用8个字节来存放一个中断 服务程序显然是不可能的。因此以上地址单元不能用于 存放程序的其他内容,只能存放中断服务程序。但是通 常情况下,我们是在中断响应的地址区安放一条无条件 转移指令,指向程序存储器的其它真正存放中断服务程 序的空间去执行,这样中断响应后,CPU读到这条转移指 令,便转向其他地方去继续执行中断服务程序。 右图是ROM的地址分配图: 从图中大家可以看到,0000H-0002H,只有三个存储单 元,3个存储单元在我们的程序存放时是存放不了实际意义的程序的,通常我们在实际编写程序时是在这里安排一条ORG指令,通过ORG指令跳转到从0033H开始的用户ROM区域,再来安排我们的程序语言。从0033开始的用户ROM区域用户可以通过ORG指令任意安排,但在应用中应注意,不要超过了实际的存储空间,不然程序就会找不到。

C51的结构和原理习题及答案

第二章80C51的结构和原理习题及答案 1、80C514单片机在功能上、工艺上、程序存储器的配置上有哪些种类? 答:80C51单片机在功能上有两种大类:(1)、基本型;(2)、增强型; 80C51单片机在生产工艺上有两种:(1)、HMOS工艺(即高密度短沟道MOS工艺);(2)、CHMOS工艺(即互补金属氧化物的HMOS工艺); 80C51单片机在程序存储器的配置上有三种形式:(1)、掩膜ROM;(2)、EPROM;(3)、ROMLess(无片内程序存储器)。 2、80C51单片机存储器的组织采用何种结构?存储器地址空间如何划分?各地址空间的地址范围和容量如何?在使用上有何特点? 答: 80C51单片机存储器的组织采用哈佛结构:存储器在物理上设计成程序存储器和数据存储器两个独立的空间。 基本型单片机片内程序存储器容量为4KB,地址范围是0000H~0FFFH。增强型单片机片内程序存储器容量为8KB,地址范围是0000H~0FFFH。 基本型单片机片内数据存储器均为128字节,地址范围是00H~7FH,用于存放运算的中间结果、暂存数据和数据缓冲。这128字节的低32个单元用作工作寄存器,在20H~2FH共16个单元是位寻址区,然后是80个单元的他通用数据缓冲区。 增强型单片机片内数据存储器为256字节,地址范围是00H~FFH。低128字节的配置情况与基本型单片机相同,高128字节为一般RAM,仅能采用寄存器间接寻址方式访问(而与该地址范围重叠的SFR空间采用直接寻址方式访问)。 3、80C51单片机的P0~P3口在结构上有何不同?在使用上有何特点? 答: 80C51单片机各口均由接口锁存器、输出驱动器和输入缓冲器组成,但是结构存在差异:P0、P1口有转换开关MUX,P2、P3口没有;P1~P3口都有上来电阻,但是P0没有。 4个I/O口的使用特点: (1)、P0:P0口是一个多功能的8位口,可按字节访问也可以按位访问。用做通用的I/O口,相当于一个真正的双向口:输出锁存,输入缓冲,但输入是须先将口置1;每根口线可以独立定义输入或输出。用作地址/数据复用总线:作数据总线用时,输入/输出8位数据D0~D7;作地址总线用时,输出低8位地址A0~A7。 (2)、P1:P1口惟一的单功能口,仅能用作通用的I/O口。可按字节访问也可以按位访问,输入时需先输出1,将该口设为输入状态。 (3)、P2:P2口是一个多功能8位口,可按字节访问也可以按位访问。在单片机采用并行扩展方式时,P2口作为地址总线的高8位D8~D15。 (4)、P3:P3口是一个双功能8位口,可按字节访问也可以按位访问。除作I/O口使用(位准双向口)外,每一条接口线还具有不同的第二功能::RXD(串行口输入); :TXD(串行口的输出); :INT0’(外部中断0输入); :INT1’(外部中断0输入);

一文详解51单片机的存储器组织结构

一文详解51单片机的存储器组织结构 程序存储器: ①用于存放程序(可执行的二进制代码映像文件,包括程序中的数据信息),还包括初始化代码等固件。 ②为只读存储器。注意,这里的“只读”,是指单片机(CPU)在正常工作时对其的访问方式是只读的;而现在大多数单片机的程序存储器(不管是内部还是外部)都采用了FLASH ROM,来取代以前所用的ROM、E2PROM等,可方便地进行在线编程(ISP)。 ③标准8051的内部程序存储器大小为4KB(0x0000 ~ 0x0FFF);而具体的51核的兼容单片机的内部ROM大小需要参考其Datasheet,例如P89C51RA2xx的内部程序存储器是8K 的Flash。 ④内部、外部存储器统一编址,在软件设计上(指令系统中)没有差别;是否使用外部程序存储器是通过引脚EA在硬件电路上控制的:不使用外部程序存储器时,EA=0(接地);如果扩展了外部程序存储器,则使EA=1,当寻址到内部存储空间以外时,会自动转向外部程序存储器空间(与扩展外部程序存储器有关的还有PSEN和ALE的时序配合,以及P0和P2口用于地址线)。 [注] 一般直接选用内部程序存储器满足代码大小要求的单片机型号,避免扩展外部存储器,造成系统软硬件设计上的复杂和额外开销。 数据存储器: 为RAM。首先必须要强调的是,不管是物理上还是逻辑上,51单片机的内部、外部数据存储器都在不同的地址空间。两者不是一回事,用途也不一样,访问的指令也不同(内部RAM为MOV指令,外部为MOVX)。 1、内部数据存储器(内部RAM) 相当于内存,为程序(进程)中的变量和常量分配存储空间,掉电后内容消失。 标准8051的内部RAM为256B(0x00 ~ 0xFF):其中可供用户自由使用的是低128B(0x00 ~ 0x7F)区域,高128B中定义了26B的特殊功能寄存器(SFR),其余没有定义,因而没有意

80C51单片机存储器的扩展

接口技术 课程设计说明书 设计题目80C51单片机存储器的扩展 指导教师: 设计者: 系别: 班级: 学号: 机械工程学院班学生课程设计题目: 80C51单片机存储器的扩展

一、课程设计工作日自年月日至年月日 二、同组学生: 三、课程设计任务要求(包括课题来源、类型、目的和意义、基本要求、完成时间、主 要参考资料等) 1、目的及意义 (1)巩固及深化《单片机原理及应用》课程的理论知识,培养,分析,解决实际问题的能力。 (2)掌握80C51系统的总线构成,能根据题目要求确定设计思路、绘制所需的硬件电路图。 2、主要内容 用两片Intel2732为80C51单片机扩展一个8KB的外部程序存储器,要求使用73LS138译码器,地址范围为B000H~CFFFH,请连线并写明扩展步骤。 3、基本要求 (1)熟悉各芯片的使用方法和注意事项。 (2)绘制电路原理图 (3)答辩 4、主要参考资料 单片机基础及应用,赵巍,冯娜,马苏常,刘玉山等,清华大学出版社,2009年 指导教师签字:教研室主任签字: 分析题目: 根据题意知用2片Intel2732给80C51单片机扩展8KB的外程序存储器,分配的地址范

围为B000H~CFFFH,分别采用线选法和译码法。 2732以HMOS-E(高速NMOS硅栅)工艺制成,24脚双列直插式,为4KB容量,地址线12条A0~A11;,数据线8条D0~D7,远为片选端,低电平有效,OE/VPP是输出允许信号,低电平有效,该引脚在编程时也作为编程电压VPP的输入端。VCC为十5V电源,GND 为地。(参考《微型计算机原理及应用》) 由于80C51单片机对外没有专用的地址总线(AB),数据总线(DB)和控制总线(CB),那么在进行系统扩展时,首先需要扩展系统的三总线。 1地址总线:(address bus AB)(《参考单片机基础及应用》P81) 1)AB的特点 地址总线用来传递地址信号,用于外扩展储存单元和I/O端口地址。 地址总线总是单向的,因为地址信号只能从单片机向外传送。 一条地址线提供一位地址,所以地址线的数目决定可寻址储存单元的数目。 2)80C51单片机的地址总线的构成 80C51单片机的地址总线宽度为16位,故可寻址范围为256=64KB. 其中低八位A0~A7由P0口提供,高8位A8~A15由P2口提供。 通过80C51的引脚ALE可实现对外地址总线的扩展。 2数据总线(adta bus,DB)(《参考单片机基础及应用》P82) 1)DB的特点 数据总线用于传送数据,状态,指令和命令。 数据总线的位数应与单片机字长一致。 数据总线是双向的,即可以进行两个方向(读、写)的数据传送。 2)80C51单片机的数据总线的构成 80C51单片机的数据总线由P0口提供,起宽度为8位,该口为三态双向口,是应用系统中使用最为频繁的通道, 数据总线要连到多个连接的外围芯片上,而在同一时间里只能够有一个是有效的数据传送通道。 3控制总线(control bus,CB)(《参考单片机基础及应用》P82) 1)CB的特点 控制总线包括片外系统扩展用控制线和片外信号对单片机的控制线。 2)80C51单片机的控制总线的构成 系统扩展用控制线有WR,RD,PSEN,ALE和EA。 WR,RD:用于片外数据存储器(RAM)的读,写控制。当执行片外数据存储器操作指MOVX 时,这两个控制信号自动生成。 用于片外程序存储器(EPROM)的“读”数控制。 ALE:用于锁存P0口输出的低8位地址数据的控制线。 EA:用于选择片内或片外程序存储器。当EA=0时,只访问外部程序存储器,不论片内有无程序存储器。当EA=1时,先访问片内程序存储器,当片内ROM访问完毕,自动转到片外ROM 继续执行程序。 常用的译码芯片有:74LS193和74LS138等,它们的CMOS型芯片分别是74HC139和74HC138。这里用到的是74LS138芯片,它有3个“选择输入端”C,B.A,它可以选择8个输出线Y0~Y7。当C,B,A的信号组合选择到某个输出线为低电平。74LS138还有3个“使能输入端”G1,当其有效时,即时译码器才能正常工作。

51单片机程序(存储器)

IIC存储器读写 1、LCD.c #include #include unsigned char code number_X[]= { //宽x高=8x16,纵向字节倒序 0x00,0xE0,0x10,0x08,0x08,0x10,0xE0,0x00, //0 0x00,0x0F,0x10,0x20,0x20,0x10,0x0F,0x00, 0x00,0x10,0x10,0xF8,0x00,0x00,0x00,0x00, //1 0x00,0x20,0x20,0x3F,0x20,0x20,0x00,0x00, 0x00,0x70,0x08,0x08,0x08,0x88,0x70,0x00, //2 0x00,0x30,0x28,0x24,0x22,0x21,0x30,0x00, 0x00,0x30,0x08,0x88,0x88,0x48,0x30,0x00, //3 0x00,0x18,0x20,0x20,0x20,0x11,0x0E,0x00, 0x00,0x00,0xC0,0x20,0x10,0xF8,0x00,0x00, //4 0x00,0x07,0x04,0x24,0x24,0x3F,0x24,0x00, 0x00,0xF8,0x08,0x88,0x88,0x08,0x08,0x00, //5 0x00,0x19,0x21,0x20,0x20,0x11,0x0E,0x00, 0x00,0xE0,0x10,0x88,0x88,0x18,0x00,0x00, //6 0x00,0x0F,0x11,0x20,0x20,0x11,0x0E,0x00, 0x00,0x38,0x08,0x08,0xC8,0x38,0x08,0x00, //7 0x00,0x00,0x00,0x3F,0x00,0x00,0x00,0x00, 0x00,0x70,0x88,0x08,0x08,0x88,0x70,0x00, //8 0x00,0x1C,0x22,0x21,0x21,0x22,0x1C,0x00, 0x00,0xE0,0x10,0x08,0x08,0x10,0xE0,0x00, //9 0x00,0x00,0x31,0x22,0x22,0x11,0x0F,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // . 0x00,0x00,0x00,0x00,0x00,0x60,0x60,0x00, 0x00,0x80,0x80,0x80,0x80,0x80,0x80,0x00, //- 0x00,0x01,0x01,0x01,0x01,0x01,0x01,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //nop 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0xC0,0xC0,0x00,0x00,0x00, //: 0x00,0x00,0x00,0x30,0x30,0x00,0x00,0x00 }; void LCD_WriteCommandE1(unsigned char com) { while(CRADD1 & 0x80); CWADD1 = com; } void LCD_WriteDataE1(unsigned char dat)

相关主题