河北工程大学科信学院毕业设计说明书
第3章 系统硬件模块电路设计
3.1 控制模块设计
3.1.1 AT89C51单片机的介绍
AT89C51是美国ATMEL公司推出的与MCS-51单片机兼容的衍生机型,在我国目前的8位单片机市场中占有较大的市场份额。
ATMEL公司是美国20世纪80年代发展起来的半导体公司,1994年以E2PROM技术与Intel公司的80C51的内核使用权进行交换。ATMEL公司的技术优势是其Flash存储器技术,将Flash技术与80C51的内核技术相结合,形成了片内带有Flash存储器的AT89C5X/AT89S5x系列单片机。该系列单片机继承了MCS-51的原有功能,与MCS-51系列单片机在原有功能、引脚及指令系统方面完全兼容。此外,其中某些品种又增加了一些新的功能。AT89C51与MCS-51系列中的87C51相比,片内4KB Flash存储器取代了片内4KB的EPROM,可在线编程或使用编程器重复编程,且价格较低,因此收到了应用设计者的欢迎,AT89C51是目前取代MCS-51系列单片机的主流芯片之一。
AT89C51的上限工作频率为33MHz ,其片内硬件组成结构如图3.1:
图3.1 AT89C51片内硬件组成结构
有如下功能部件和特性: (1)8位微处理器(CPU); (2)数据存储器(128B RAM); (3)程序存储器(4KB Flash ROM);
(4)4个8位可编程并行I/O口(P0口、P1口、P2口和P3口); (5)1个全双工的异步串行口;
(6)2个可编程的16位定时器/计数器; (7)1个看门狗定时器;
8
河北工程大学科信学院毕业设计说明书
(8)中断系统具有5个中断源、5个中断向量; (9)特殊功能寄存器(SFR)26个;
(10)低功耗模式有空闲模式和掉电模式,且具有掉电模式 下的中断恢复模式; (11)3个程序加密锁定位。
AT89C51与51系列中各型号芯片的引脚互相兼容,目前多采用40只引脚双列直插。
图3.2 AT89C51双列直插封装方式的引脚
引脚按其功能可分为如下3类:
(1)电源及时钟引脚——VCC、VSS;XTAL1、XTAL2。
(2)控制引脚——PSEN、ALE/ PROG、EA/VPP、RST(RESET)。 (3)I/O口引脚——P0、P1、P2、P3,为4个8位I/O口。 1.电源引脚
(1)VCC(40脚):+5V电源。 (2)VSS(20脚):数字地。 2.时钟引脚
(1)XTAL1(19脚):片内振荡器反相放大器和时钟发生器电路输入端。用片内振荡器时,该脚接外部石英晶体和微调电容。外接时钟源时,该脚接外部时钟振荡器的信号。
(2)XTAL2(18脚):片内振荡器反相放大器的输出端。当使用片内振荡器,该脚连接外部石英晶体和微调电容。当使用外部时钟源时,本脚悬空。
3.控制引脚
(1)RST (RESET,9脚):复位信号输入,在引脚加上持续时间大于2个机器周期的
9
河北工程大学科信学院毕业设计说明书
高电平,可使单片机复位。正常工作,此脚电平应≤0.5V。当看门狗定时器溢出输出时,该脚将输出长达96个时钟振荡周期的高电平。
(2)EA/VPP (Enable Address/Voltage Pulse of Programing,31脚):
EA引脚第一功能,即外部程序存储器访问允许控制端。EA=1,在
PC值不超出0FFFH
(即不超出片内4KB Flash存储器的地址范围)时,单片机读片内程序存储器(4KB)中的程序,但PC值超出0FFFH (即超出片内4KB Flash地址范围)时,将自动转向读取片外60KB(1000H-FFFFH)程序存储器空间中的程序。EA=0,只读取外部的程序存储器中的内容,读取的地址范围为0000H~FFFFH,片内的4KB Flash 程序存储器不起作用。VPP:引脚第二功能,对片内Flash编程,接编程电压。
(3)ALE/PROG(Address Latch Enable/PROGramming,30脚):
ALE为CPU访问外部程序存储器或外部数据存储器提供地址锁存信号,将低8位地址锁存在片外的地址锁存器中。此外,单片机正常运行时,ALE端一直有正脉冲信号输出,此频率为时钟振荡器频率fosc的1/6。可用作外部定时或触发信号。
PROG:引脚第二功能,对片内 Flash
编程,为编程脉冲输入脚。
(4)PSEN(Program Strobe Enable,29脚):片外程序存储器读选通信号,低电平有效。
4.并行I/O口引脚
(1)P0口:8位,漏极开路的双向I/O口。当外扩存储器及I/O接口芯片时,P0口作为低8位地址总线及数据总线的分时复用端口。
P0口也可用作通用的I/O口,需加上拉电阻,这时为准双向口。作为通用I/O输入,应先向端口写入1。可驱动8个LS型TTL负载。
(2)P1口:8位,准双向I/O口,具有内部上拉电阻。准双向I/O口,作为通用I/O输入时,应先向端口锁存器写1P1口可驱动4个LS型TTL负载。
P1.5/MOSI、P1.6/MISO和P1.7/SCK可用于对片内Flash存储器串行编程和校验,它们分别是串行数据输入、输出和移位脉冲引脚。
(3)P2口:8位,准双向I/O口,具有内部上拉电阻。当AT89S51扩展外部存储器及I/O口时,P2口作为高8位地址总线用,输出高8位地址。P2口也可作为普通的I/O口使用。当作为通用I/O输入时,应先向端口输出锁存器写1。P2口可驱动4个LS型TTL负载。
(4)P3口:8位,准双向I/O口,具有内部上拉电阻。可作为通用的I/O口使用。作为通用I/O输入,应先向端口输出锁存器写入1。可驱动4个LS型TTL负载。
10
河北工程大学科信学院毕业设计说明书
P3口还可提供第二功能。第二功能定义见表3-1。
表3-1 P3口的第二功能定义
引脚 P3.0 P3.1 P3.2 P3.3 P3.4 P3.5 P3.6 P3.7 第二功能 RXD TXD INT0 INT1 说明 串行数据输入口 串行数据输出口 外部中断0输入 外部中断1输入 定时器0外部计数输入 定时器1外部计数输入 外部数据存储器写选通输出 外部数据存储器读选通输出 T0 T1 WR RD 3.1.2 时钟电路设计 时钟电路产生AT89C51工作时所必需的控制信号,在时钟信号的控制下,严格按时序执行指令。时钟频率直接影响单片机的速度,时钟电路的质量也直接影响单片机系统的稳定性。常用的时钟电路有两种方式,一种是内部时钟方式,另一种是外部时钟方式。
图 3.3 内部时钟方式电路 图3.4 外部时钟方式电路
1.内部时钟方式
AT89S51内部有一个用于构成振荡器的高增益反相放大器,输入端为芯片引脚XTAL1,输出端为引脚XTAL2。这两个引脚跨接石英晶体振荡器和微调电容,构成一个稳定的自激振荡器,图3.3是AT89C51内部时钟方式的电路。
2.外部时钟方式
用现成的外部振荡器产生脉冲信号,常用于多片AT89C51同时工作,以便于多片AT89C51单片机之间的同步,一般为低于12MHz的方波。
外部时钟源直接接到XTAL1端,XTAL2端悬空,见图3.4。 3.1.3 复位电路设计
单片机的初始化操作,给复位脚RST加上大于2个机器周期(即24个时钟振荡周
11