单片机原理与接口技术第 4章第 4章 单片机的最小系统及系统扩展第 4章单片机的最小系统及系统扩展
开发设计 MCS-51应用系统,通常是由一个简单的系统开始的,通过这个过程,
可以逐步地掌握 MCS-51系列单片机的性能和开发技巧 。
第 4章 单片机的最小系统及系统扩展
4.1 AT89C51单片机性能介绍
AT89C51是一种带 4KB可编程/可擦除只读存储器的低电压,高性能 CMOS的
8位微处理器。该器件采用 ATMEL高密度非易失存储器制造技术制造,与工业标准的 MCS-51的指令集和输出管脚相兼容。
由于将多功能 8位 CPU和闪烁存储器组合在单个芯片中,因而 ATMEL的 AT89C51
是一种高效微控制器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。
第 4章 单片机的最小系统及系统扩展
4.1.1.主要特性
● 与 MCS-51兼容
● 4KB可编程闪烁存储器;
●寿命为 1000次写 /擦循环:
●数据保留时间为 10年;
●全静态工作 0~ 24Hz;
●三级程序存储器锁定;
第 4章 单片机的最小系统及系统扩展
● 128× 8位内部 RAM;
● 32位可编程 I/ O线;
●两个 16位定时器/计数器:
● 5个中断源:
●可编程串行通道;
●低功耗的闲置和掉电模式;
●片内振荡器和时钟电路。
主要特性第 4章 单片机的最小系统及系统扩展
4.1.2
管脚说明第 4章 单片机的最小系统及系统扩展
P0口:
P0口为一个 8位漏级开路双向 I/ O口,
每脚可吸收 8TTL门电流。当 P1口的管脚第一次写 1时,被定义为高阻输入。 P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在 FLASH编程时,P0口作为原码输入口,当 FLASH进行校验时,P0输出原码,此时 P0外部必须被拉高。
第 4章 单片机的最小系统及系统扩展
P1口:
P1口是一个内部提供上拉电阻的 8位双向 I/O口,P1口缓冲器能接收输出 4个
TTL门电流。 P1口管脚写入 1后,被内部上拉为高,可用做输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在 FLASH编程和校验时,
P1口作为第八位地址接收。
第 4章 单片机的最小系统及系统扩展
P2口:
P2口为一个内部上拉电阻的 8位双向 I/O口,
P2口缓冲器可接收,输出 4个 TTL门电流,当 P2
口被写,1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。
第 4章 单片机的最小系统及系统扩展
P2口
P2口当用于外部程序存储器或 16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址,1”时,它利用内部上拉优势,当对外部 8位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。 P2口在 FLASH编程和校验时接收高 8位地址信号和控制信号。
第 4章 单片机的最小系统及系统扩展
P3口管脚是 8个带内部上拉电阻的双向 I/O口,可接收输出 4个 TTL门电流。当
P3口写入,1”后,由于内部有拉电阻而变为高电平,并作为输入信号。
P3口也可作为 AT89C51的一些特殊功能口。
P3口:
第 4章 单片机的最小系统及系统扩展
P3口具有特殊功能如下:
P30 (RDX) 串行口输入端
P31 (TDX) 串行口输出端
P32 (INT0) 外部中断 0输入端
P33 (INT1) 外部中断 1输入端第 4章 单片机的最小系统及系统扩展
P3口具有特殊功能如下:
P34 (T0) 定时器 0外部输入端
P35 (T1) 定时器 1外部输入端
P36 (WR) 单片机的写入信号
P37 (RD) 单片机的读取信号第 4章 单片机的最小系统及系统扩展
RST:
复位输入。当振荡器复位器件时,要保持 RST脚两个机器周期的高电平时间。
第 4章 单片机的最小系统及系统扩展
ALE/ PROG:
当访问外部存储器时,地址锁存允许的输出电平用于锁存地址。在 FLASH编程期间,此管脚用于输入编程脉冲。在平时,
ALE端以不变的频率周期输出正脉冲信号,
此频率为振荡器频率的 1/6。因此它可用做对外部输出的脉冲或用于定时目的。
第 4章 单片机的最小系统及系统扩展
ALE/ PROG
要注意的是:每当用做外部数据存储器时,将跳过一个 ALE脉冲。
外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次 PSEN有效。但在访问外部数据存储器时,这两次有效的 PSEN信号将不出现。
第 4章 单片机的最小系统及系统扩展当 EA保持低电平时,则在此期间访问外部程序存储器 (0000H-FFFFH),不管是否有内部程序存储器。注意加密方式 1
时,EA将内部锁定为 RESET;当 EA端保持高电平时,此间访问内部程序存储器。
在 FLASH编程期间,此管脚也用于施加
12V编程电源 (Vpp)。
EA/ Vpp:
第 4章 单片机的最小系统及系统扩展
XTALl 和 XTAL2
XTALl:
反向振荡放大器的输入及内部时钟工作电路的输入。
XTAL2:
来自反向振荡器的输出。
第 4章 单片机的最小系统及系统扩展
XTALl和 XTAL2分别为反向放大器的输入和输出。该反向放大器可以配置为片内振荡器。石晶振荡和陶瓷振荡均可采用。如采用外部时钟源驱动器件,
XTAL2应不接。输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。
4.1.3.振荡器特性第 4章 单片机的最小系统及系统扩展
XTALl和 XTAL2分别为反向放大器的输入和输出。该反向放大器可以配置为片内振荡器。石晶振荡和陶瓷振荡均可采用。
振荡器特性第 4章 单片机的最小系统及系统扩展振荡器特性如采用外部时钟源驱动器件,XTAL2
应不接。输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。
第 4章 单片机的最小系统及系统扩展整个 EPROM阵列和三个锁定位的电擦除可通过正确的控制信号组合,并保持 ALE
管脚处于低电平 10ms来完成。在芯片擦操作中,代码阵列全被写,1”且在任何非空存储字节被重复编程以前,该操作必须被执行。
4.1.4.芯片擦除第 4章 单片机的最小系统及系统扩展
AT89C51设有稳态逻辑此外,AT89C51设有稳态逻辑。在闲置模式下,CPU停止工作。但 RAM、定时器、计数器、串口和中断系统仍在工作。
在掉电模式下,保存 RAM的内容并且冻结振荡器,禁止使用其他芯片功能,直到下一个硬件复位为止。
第 4章 单片机的最小系统及系统扩展
4.2 MCS-51单片机最小应用系统由于 AT98C51(或 8751)内部具有 RAM
和 EEPROM,所以在芯片的外部接上时钟电路和上电复位电路就可以构成一个基本的应用系统了,如图 4-2所示第 4章 单片机的最小系统及系统扩展
AT89C51单片机构成的最小系统第 4章 单片机的最小系统及系统扩展
AT89C51单片机构成的最小系统由于内部的程序空间有限,不适合编写较大、较复杂的程序,所以,这个系统适合于简单的控制系统的应用。
第 4章 单片机的最小系统及系统扩展在 8051单片机中,P1口是双向的 I/0口,
可以置位,所以可以用来做控制使用。
P1口是双向的 I/ 0口第 4章 单片机的最小系统及系统扩展由图 4-3可知,P1口连接 8个发光二极管,然后通过一个电阻接 5V电源,当
P1口是低电平时,发光二极管亮,当 P1
口是高电平时,发光二极管灭。
例 4-1:
第 4章 单片机的最小系统及系统扩展
1.延时程序首先,要编写一个延时程序,运行这个延时程序,可以产生一段时间的延时,
这样,程序中需要设定时间的时候直接调用就可以了。
第 4章 单片机的最小系统及系统扩展延时程序注意到每执行一次 while(--t);对于时钟为 8MHz的 8751(8051),需要 2μs的时间,
以编写的延时程序如下:
第 4章 单片机的最小系统及系统扩展图 4-3单片机 P1口用于输出口第 4章 单片机的最小系统及系统扩展应用程序
void delay(unsigned char t)
{t=0;
While (i<50000)
t++;
}
第 4章 单片机的最小系统及系统扩展
2,P1 口的声明操作 P1口时,首先要对 P1口的寄存器声明。在 KeilC51编译器中,声明包含在头文件 reg51,h中,所以在编写程序时,要把这个头文件包含进去,声明的语句为
#include <reg51,h>
第 4章 单片机的最小系统及系统扩展
sfr P1=0x90;
对控制 P1特殊寄存器的声明可以用这样的语句:
sfr P1=0x90;
由于 P1口可以位操作,所以我们声明一个位变量 P1.1,这样对 P1.1的控制只要直接对位变量赋值就可以了。
第 4章 单片机的最小系统及系统扩展
Sbit p1.1=p1^1
用语句 Sbit p1.1=p1^1;,将 P1口定义为位操作方式。
如果需要 P1.1是高电平,可用语句
,P1.1=1;”。
如果需要 P1.1是低电平,则用语句
"P1.1=0”非常方便。
第 4章 单片机的最小系统及系统扩展
3.控制 LED指示灯的源程序
#include<reg51,h>
Sbit p1.1=p1^1;
void delay(unsigned char t);
void main( )
{unsigned char k;
第 4章 单片机的最小系统及系统扩展
while(1); // 循环
{K=1000
While(--k); // 循环 1000次,延时 1s
{delay ( 500 ) ; // 调用延时函数 }
}
第 4章 单片机的最小系统及系统扩展
P1.1=0 / / Pl,1 低电平
}
}
void delay ( unsigned chart ) //延时 lms
{ while ( -- t ) ;
}
第 4章 单片机的最小系统及系统扩展
4.3单片机的系统扩展在许多情况下,单片机本身的存储器容量太小,不能满足用户的要求,这时就需要系统的扩展。
目前,存储器已经使用了各种规格的集成电路工艺,制作成常用字的芯片,所谓的系统扩展就是设计单片机与这些芯片的接口电路和和编写相应的应用程序。
第 4章 单片机的最小系统及系统扩展
4,3,1程序存储器的扩展性能
1、数据存储器与程序存储器的片外 64KB扩展地址空间( 0000H~FFFFH)完全重叠。
它们并联挂接在外部系统总线上。至于哪类存储器选通操作,由控制信号和片选信号来确定。外部程序存储器的读信号是
PSEN,低电平有效。
第 4章 单片机的最小系统及系统扩展程序存储器的扩展性能
2、扩展的外部程序存储器的地址指针为程序计数器 PC和数据指针 DPTR。
3、扩展的外部程序存储器可以使用 EPROM
存储器,这是一种用紫外线擦除的程序存储器。
第 4章 单片机的最小系统及系统扩展
4,3,2外部程序存储器的操作时序图 4-4 是外部程序存储器读指令的时序图。图中反映了地址、指令或数据、控制信号和 ALE等相关信息在一个机器周期中的时间配合关系。
第 4章 单片机的最小系统及系统扩展图 4-4 外部程序存储器读指令时序图第 4章 单片机的最小系统及系统扩展外部程序存储器的操作时序
P2口和 P0口共同构成了地址总线,
取指令时,读外部程序存储器。 P0口在前半个周期内,输出地址信号,后半个周期输入指令码。
第 4章 单片机的最小系统及系统扩展说明由图可知,取指令一开始,S2,P1
之后 P2口输出地址总线的高 8位( PCH),
S3,P1时,读信号 PSEN变为有效状态,
此时 PSEN为低电平,存储器输出允许。
S4,P1时,按 PC值读出的指令出现在数据总线 P0口上,CPU在 PSEN的上升沿前将指令读入,并寄存到指令寄存器 IR中。
第 4章 单片机的最小系统及系统扩展说明从图中可以看到,在访问外部程序存储器的一个周期时序中,ALE信号与信号两次有效。这表示在一个机器周期中,允许单片机两次访问外部程序存储器,也就是取出两个指令字节。对于单字节指令,
第二次读出的指令被放弃。
第 4章 单片机的最小系统及系统扩展
4,3,3外部程序存储器的扩展方法
1、单片机与外部程序存储器的连接单片机与外部程序存储器的三总线连接如图
4-5所示。
第 4章 单片机的最小系统及系统扩展图 4-5 外部程序存储器读指令时序图第 4章 单片机的最小系统及系统扩展说明图中 P2口与 EPROM的高 8位地址线及片选信号连接,P0口经地址锁存器输出的地址线与 EPROM的低 8位地址线相连,同时 P0口又与 EPROM的数据线相连。单片机的 ALE连接锁存器的锁存控制端。连接 EPROM的输出允许,由于使用的是外部程序存储器,所以接地。
第 4章 单片机的最小系统及系统扩展
2,Flash存储器
Flash存储器又称为闪速存储器或快擦写存储器,它是在 EPROM工艺的基础上增添了芯片整体电擦除和再编程功能,
使其成为性价比高、可靠性高、擦写快、
非易失的存储器。 Flash存储器逐步取代了 EPROM,新型的单片机中的程序存储器都是采用 Flash。项目开发者可以借助通用编程器将程序代码写入片内的 Flash
存储器。
第 4章 单片机的最小系统及系统扩展
3,Flash存储器的编程方法
Flash存储器的芯片内有产品型号编码,也称为 ID码,其擦除和编程都是通过对内部寄存器写命令字进行读取和识别的,以确定编码算法。不同的厂商命令字不同,内部命令寄存器的地址和存放 ID码的地址也不同,用户可以从厂商的网址上找到。
第 4章 单片机的最小系统及系统扩展
Flash存储器的编程对于 Flash存储器的编程,多数产品是按扇区进行的。要写入 Flash首先要查找产品 ID码的命令字,再指定的存储单元中读取 ID码,再发编程命令字,置扇区地址,
置扇区内字节地址,最后写入一个字节。
用这种方法一个字节一个字节地写,直到一个扇区内所有字节全都写完。
第 4章 单片机的最小系统及系统扩展芯片的的擦除方法对芯片的的擦除方法是,对指令地址写入 3个以上的命令字就可完成整片的擦除。
如果硬件电路连接正确,就可以产生
Flash擦除所需要的信号,就能完成擦除的操作。
第 4章 单片机的最小系统及系统扩展
4,Flash存储器的扩展
Flash存储器是 EPROM的改进,单片机外部扩展 Flash既可以作为程序,程序也可以作为数据存储器存放需周期性更改的数据,由于扇区写的特点,也可以使其中的一部分作为程序存储器,而另一部分作为数据存储器。下面以 AT29C256为例,
介绍单片机扩展 Flash的方法。
第 4章 单片机的最小系统及系统扩展
AT29C256的引脚图图 4-6 是 AT29C256的引脚图,
AT29C256是 Atmel公司生产的 CMOS型的 Flash存储器,它的存储容量为 32K× 8
位。
第 4章 单片机的最小系统及系统扩展图 4-6
AT29
C256
的引脚图第 4章 单片机的最小系统及系统扩展表 4.1 AT29C256的引脚功能表第 4章 单片机的最小系统及系统扩展
AT29C256的性能指标如下:
电擦除可改写的数据或程序存储器,
断电时数据可保持。
读出时间为 70ns,擦除时间为 10ms,
写出时间为 100ms/页,一页为 64K字节。
第 4章 单片机的最小系统及系统扩展
AT29C256的性能指标如下:
1、单一电源供电,电源电压为 5V。
2、重复改写次数超过一万次。
3、低功耗,工作电流为 50mA,待机电流为 300uA。
第 4章 单片机的最小系统及系统扩展单片机 8051与 AT29C256的连线图图中单片机采用 8051系列的单片机,
Flash存储器采用 AT29C256。由于 P0口既是地址线,又是数据线,所以要通过
8D锁存器将数据信号和地址信号分离出来,这里采用 74LS373,OE端接地,说明锁存器一直处于选通状态。当 ALE为高电平时,P0口送出地址信号,ALE为低电平时,P0口提取存储器的数据。
第 4章 单片机的最小系统及系统扩展单片机
8051与
AT29C
256的连线图第 4章 单片机的最小系统及系统扩展
4.3.4外部数据存储器的扩展外部数据存储器的扩展,其地址总线和数据总线的连接方式与程序存储器的扩展基本相同。控制信号中主要是读信号
RD和写信号 WR有所不同。
第 4章 单片机的最小系统及系统扩展外部数据存储器的扩展
8051的 RD信号与外部 RAM的输出允许信号 OE端相连,8051的写信号 WR与外部 RAM的写信号 WR相连。外部 RAM的片选信号与外部数据接口的片选信号由统一译码器产生。
第 4章 单片机的最小系统及系统扩展图 4-8
6264的引脚图第 4章 单片机的最小系统及系统扩展各引脚的功能
A0~A12 地址线
CE1 片选线 1,低电平有效。
WE 写允许线,低电平有效。
D0~D7 双向数据线。
CE2 片选线 2,低电平有效。
OE 读允许线,低电平有效。
第 4章 结束