(以字节为单位)不够时,可以另外扩片外程序存储器或片外存储器。
(4)MCS-51系列单片机引脚功能及一些简单电路介绍:
下图2-3为MC-51系列单片机引脚图及逻辑符号,各引脚功能如下:
图3-5 MCS-51系列单片机引脚图及逻辑符号
① 电源引脚Vcc和Vss Vcc(40脚):电源端,接+5V。 Vss(20脚):接地端。
通常Vcc和Vss之间应接高频和低频滤波电容。 ② 时钟电路引脚XTAL1和XTAL2
XTAL1(19脚):接外部石英晶体和微调电容一端,在片内它是振荡器倒相放大器的输入。若使用外部时钟时,该引脚必须接地。
XTAL2(18脚);接外部石英晶体和微调电容的另一端,在片内它是振荡器倒相放大器的输出。若使用外部时钟时,该引脚作为外部时钟的输入端。
图2-4为利用石英晶振作为时钟输入的电路图。石英晶振起振后要能在XTAL2线上输出一个3V左右的正弦波,使MCS-51片内的OSC电路按石英晶振相同频率自激振荡。通常,OSC的输出时钟频率fosc为0.5—16MHz,典型值为12MHz或11.0592MHz。电容C01和C02可以帮助起振,典型值为30pf,调节它们可以达到微调fosc的目的。
图3-6 MCS—51OSC晶振连接图
③ 控制信号引脚ALE、PSEN、EA和RST
ALE/PROG(ADDRESS LATCH ENABLE/PROGRAMMING,30脚);地址锁存信号输出端。在存取片外存储器时,用于锁存低8位地址。当单片机上电正常工作后,ALE端就周期性地以时钟振荡频率的1/6的固定频率向外输出正脉冲信号。此引脚的第二功能PROG是对片内带有4K字节EPROM的8751固化程序时,作为编程脉冲输入端。
PSEN(PROGRAM STORE ENABLE,29脚):程序存储允许输出端。是片外程序存储器的读选通信号,低电平有效。
EA/Vpp(ENABLE ADDRSS/VOLTAGE PUL OF PROGRAMMING,3l脚);程序存储器地址允许输入端。当EA为高电平时,CPU执行片内程序存储器指令,但当PC中的值超过0FFFH时.将自动转向执行片外程序存储器指令。当EA为低电平时,
CPU只执行片外程序存储器指令。在8051中,当对片内EPROM编程时,该端接12V的编程电压。
RST/VPD(9脚):复位信号输入端。高电平有效,在此输入端保持两个机器周期的高电平后,就可以完成复位操作。复位以后,P0—P3口均为高电平,SP指针重新赋值为07H,PC被赋值为0000H。复位有自动上电复位和人工按钮复位两种,电路如图2-5所示。此外,该引脚还有掉电保护功能,若在该端接十5V备用电源,一旦在使用中Vcc突然消失(掉电),则可以保护片内RAM中信息不丢失。
A 自动上电复位 B 人工复位
图3-7 MCS-51复位电路图
(5)MCS-51单片机I/O口概述
MCS-51单片机有4个8位并行输入/输出口,分别称为P0、P1、P2和P3口,每个口都是8位准双向口,这4个接口可以并行输入或输出8位数据,也可按位使用,即每一根输人/输出线都能独立作为输入或输出;每个端口都包括一个数据锁存器(即特殊功能寄存器P0--P3),—个输出驱动器和输入缓冲器。作输出时数据可以锁存,作输入时数据可以缓冲,但这四个通道的功能并不完全相同。
在无片外扩展存储器的系统中,这4个端口都可以作为准双向通用I/O口使用,但在具有片外扩展存储器的系统中,P2口可用作输出高8位地址,P0口作为双向总线,分时输出低8位地址和输入/输出数据。
图3-8 P0口的一位结构图
① P0口(P0.0—P0.7,39—32脚):
P0口是一个漏极开路的8位准双向I/O口,每位能驱动8个LSTTL负载,在访问片外存储器时,它分时作为8位地址线和8位双向数据线。当P0口作为普通输入口使用时,应先向口锁存器写“1。”
从图2-6可以看出,P0口的输出驱动器中有两个场效应管,上面的管子导通,下面的管子截止,输出为高电平;上面的管截止,下面的管导通,输出为低电平;上、下管均截止时输出浮空。P0口的输出驱动器中含有一个多路电子开关,当其接至口锁存器-Q端时,作为双向I/O口使用。将“1”写至口锁存器时,上、下管均为截止,输出浮空。一般这时应外上拉电阻,将口线拉至高电平.否则,P0口输出的信号不确定。将“0”写至锁存器时,下管导通,输出低电平。作输入时,口锁存器应置“1”,保证从引脚读人的数据正确。
当多路开关接至地址/数据端时,P0口作为地址/数据端口使用,分时输出外部存储
器的低8位地址(A0—A7)和传送数据(D0—D7)。由于存储器在被访问期间要求地址信号一直有效,而P0口是分时传输地址、数据信号,地址信号只在某个时间段出现,并非一直有效,所以需要由地址锁存允许信号ALE将低8位的地址锁存到外部地址锁存器中,接着P0口便输入/输出数据。P0口输出的低8位地址来源于程序计数器PC低8位、数据指针DPTR8位、R1或R0。
图3-9 P1口的一位结构图
② P1口(P1.0—P1. 7,1—8脚):
P1口是一个带内部上拉电阻的8位淮双向I/O口.P1口的每一位能驱动4个LSTTL负载,P1口作为输入口使用时,应先向口锁存器写“1。”
输出时,将“1”写入P1口的某一位锁存器,则对应连接在-Q上的场效应管截止,该位的输出由内部的上拉电阻将引脚拉成高电乎,输出“1”。将“0”写入锁存器,则对应连接在-Q上的场效应管导通,该位的引脚输出低电平,即输出“0。”
输入时,口锁存器必须置“1”,使输出场效应管截止,这时该位引脚由内部上拉电阻拉成高电平,也可以由外部电路拉成低电平。此时,引脚的状态由外接的输出设备的输出状态决定。CPU读Pl引脚的状态时,实际就是读外部输出设备的输出信息。P1口作为输入线时,可以被任何TTL电路或MOS电路驱动。由于内部有上拉电阻,也可以被集电极开路或漏极开路的电路驱动。
图3-10 P2口的一位结构图
③ P2口(P2.0—P2.7,21—28脚):
P2口为准双向I/O口,有两种功能,对于内部拥有程序存储器,无须扩展外部ROM且无外部ROM的应用场合(无高8位地址需求),P2口可作为输入/输出口使用,直接与外部设备相连。P2口也可用于系统扩展的地址总线口,输出地址总线的高8位A8—A15。对于内部没有程序存储器的单片机(如8031),一般情况下只能作为系统扩展的高8位地址总线输出口.而不能作为与外部设备相连接的输入/输出口。
P2口的输出驱动器有一个多路电子开关(MUX),当MUX开关接至输出锁存器Q输出端时,P2口作为第一功能输出线,与P1口的功能相似;当MUX开关接至地址端时,P2口的状态由CPU送出的地址确定:访问程序存储器时,地址来源于程序计数器PC的高8位,输出地址A8—A15;访问数据存储器或I/O设备时,地址来源于数据指针DPTR的高8位DPH,特殊的采用间址寄存器R1或R0时,则P2口保持原有的地址信息不变。
图3-11 P3口的一位结构图
④ P3口(P3.0—P3.7,10—17脚):
P3口为准双向多功能I/O口,可以分别定义为第一功能输入/输出线或第二功能输入/输出线。当P3口定义为第一功能输入/输出出线时,第二功能翰出线总是高电平。此引脚输出电平取决于口锁存器的状态,当输出“1”时,写人口锁存器的数据从Q端输出,使输出场效应管截止,引脚由上拉电路拉成高电平;当输出“0”时,写人口锁存器的数据从Q端输出,使输入场效应管导通,引脚输出低电平。同样,P3口的某一位作为输入线时,该位口锁存器应保持“1”,使输出场效应管截止,引脚状态由外部输入电平所确定。
当P3口定义为第二功能输入输出线时,该位的口锁存器必须保持“1”,输出场效应管的状态由第二功能输出确定。P3口的第二功能定义如下:
P3.0 RXD(串行输入口) P3.1 TXD(串行输出口) P3.2 INT0(外部中断0输入口) P3.2 INT1(外部中断1输入口) P3.4 T0(定时器0外部输入口) P3.5 T1(定时器1外部输入口) P3.6 WR(写选通输出口) P3.7 RD(读选通输出口) 3.1.4 EEPROM24C02的功能特性及电路连接 (1)EEPROM 概述
EEPROM是一种可用电气方法在线擦除和再编程的只读存储器。它既有RAM在连机操作中可读可改写的特性,又具有非易失性存储ROM在掉电后仍然能够保持所存储的数据的优点。写入的数据在常温下至少可以保持10年。
EEPROM芯片有两类接口:并行接口和串行接口芯片。并行接口EEPROM一般相对容量大、速度快、功耗大和价格贵,但读写方法简单。串行EEPROM芯片的特点是体积小、功耗低、价格便宜,使用中占用系统的信号线较少;但相对工作速度慢,读写方法稍许复杂些。对于那些需要存放有时需要改变特征代码或参数的系统,通常所需要的字节和写入的次数不会很多,写入速度也没太高要求,这种情况下采用串行EEPROM是非常合适的。 (2)24C02的特点简介
24C02(A)是一种采用CMOS工艺制成的128/256/512/1K/2K/4K/8K*8位/14位引脚的串行的可用电擦除可编程只读存储器。自定时写周期包括自动擦除时间不超过
10MS,典型时间为5MS。而MICROCHIP公司的串行EEPROM的擦除和写入1个字节数据时间可缩短为1毫秒以下。串行EEPROM一般具有两种写入方式,一种是字节写入,一种是页写入,允许在一个写周期内同时对1个字节到一页的若干字节进行编程写入,一页的大小取决于芯片内页寄存器的大小,不同公司的同种型号存储器的页寄存器可能不一样。例如ATMEL的 AT24C01/01A/02A的页寄存器为4B/8B/8B,而MICROCHIP的24C01/01A/02A页寄存器都为2B,24AA01页寄存器为8B。擦除/写入周期寿命一般都已经达到10万次以上,有的产品已经达到1000万次。
采用单一电源+5V+/-0.1V,低功耗工作电流1毫安,备用状态时只有10微安;三态输出,与TTL电平兼容。一般商业品工作温度范围为0度—70度,工业品为-40度—85度。这个系列的芯片有8引脚DIP封装、8引脚SOIC封装形式,一部分型号还有14引脚SOIC封装形式。 该系列芯片是二线制(3)引脚说明
用于基本总线操作的引脚只有SCL和SDA。其管脚定义如下:
SCL 串行时钟端。这个信号用于对输入和输出数据的同步,写入串行EEPROM
的数据用其上升沿同步,输出数据用其下降沿同步。
SDA 串行数据(/地址)输入/输出端。这是串行双向数据输入/输出线。这个引
脚是漏极开路驱动,可以与任何数目的其他漏极开路或集电极开路的器件“线或”连接。
WP 写保护。这个引脚用于硬件数据保护功能,当其接地时,可以对整个存储
器进行正常的读/写操作;当其接电源时,芯片就具有数据保护功能,被保护部分因不同型号芯片而异。被保护的部分的读操作不受影响,实际少年宫这时被保护部分就可以作为串行只读存储器使用。
A0、A1、A2 片选或页面选择地址输入。
VCC 电源电压接5V VSS 接地端 (3)内部框图以及功能描述
串行EEPROM芯片,有硬件写保护引脚WP。