3.1 AT89S52单片机及相关电路
3.1.1 AT89S52单片机概述
AT89S52的塑封图如图3.1所示,它为DIP40双列直插塑料封装。AT89S52作
为系统的核心控制元件,只有它能正常工作后才能使其它的元件进入正常工作状态。因此,下面对AT89S52进行必要的说明,AT89S52的管脚如图3.2所示。
图3.1 AT89C52封装图 图3.2 AT89s52引脚图
单片机电路在本系统中作为主控芯片首先对外部电路采集到的温度信号进行反应,发PWM信号给L297,然后通过L298驱动步进电机。同时按键扫描实现手动自动控制。
用DS1302时钟芯片,DS18B20温度传感器,以及1602液晶,实现时间、温度的显示。以及闹钟、温度报警等功能。
(1)VCC:40脚,供电电压,一般接+5V电压。 (2)GND:20脚,接工作地。
7
(3)P0口:1~8脚,P0口是一个8位漏极开路的双向I/O口。作为输出口,每位能驱动8个
TTL逻辑电平。对P0端口写“1”时,引脚用作高阻抗输入。
当访问外部程序和数据存储器时,P0口也被作为低8位地址/数据复用。在这种模式下,P0具有内部上电阻。但是P0口在程序校验作为输出指令字节时,需要外部加上拉电阻,一般上拉电阻选4.7K~10K为宜。本设计中用5.1K的排阻对P0口进行上拉电平。
(4)P1口:32~39脚,P1口是一个内部具有上拉电阻的8位双向I/O口,P1口缓冲器能接收
输出4个TTL门电流。P1端口写入“1”后,被内部上拉电阻把端口拉高,此时可以作为作输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流。 (5)P2口:20~27脚,P2 口是一个具有内部上拉电阻的8 位双向I/O 口,P2 输出缓冲器能
驱动4 个TTL 逻辑电平。对P2 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。
(6)P3口:10~17脚,P3 口是一个具有内部上拉电阻的8 位双向I/O 口,P3 输出缓冲器能
驱动4 个TTL 逻辑电平。对P3 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。
(7)RESET:9脚,复位输入端。当振荡器复位器件时,要保持RST脚两个机器周期的高电平
时间。
(8)ALE/P:30脚,当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字
节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于系统校验。
(9)PSEN:29脚,外部程序存储器的选通信号。
(10)RST/VP:31脚,访问外部程序存储器控制信号。当EA为低电平时,读取外部程序存
储器;当EA端为高电平时,则读取内部程序存储器,设计中一般接高电平。
(11)XTAL1:19脚,振荡器反相放大器和内部时钟发生电路的输入端。如采用外部时钟源时,
XTAL1为输入端。
(12)XTAL2:18脚,振荡器反相放大器的输出端。如采用外部时钟源时,XTAL2应悬空不接。
8
3.2.2晶振电路
电路中的晶振即石英晶体震荡器。由于石英晶体震荡器具有非常好的频率稳定性和抗外界干扰的能力,所以,石英晶体震荡器是用来产生基准频率的。通过基准频率来控制电路中的频率的准确性。同时,它还可以产生振荡电流,向单片机发出时钟信号。
图3.3是单片机的晶振电路。片内电路与片外器件就构成一个时钟产生电路,CPU的所有操作均在时钟脉冲同步下进行。片内振荡器的振荡频率非常接近晶振频率,一般多在1.2MHz~24MHz之间选取。C1、C2是反馈电容,其值在20pF~100pF之间选取,典型值为30pF。本电路选用的电容为30pF,晶振频率为12MHz。 振荡周期=112?s;
机器周期Sm?1?s 指令周期T=1~4?s。
XTAL1接外部晶体的一个引脚,XTAL2接外晶体的另一端。在单片机内部, 接至上述振荡器的反相放大器的输出端。采用外部振荡器时,对HMOS单片机,该引脚接外部振。在石英晶体的两个管脚加交变电场时,它将会产生一定频率的机械变形,而这种机械振动又会产生交变电场,上述物理现象称为压电效应。一般情况下,无论是机械振动的振幅,还是交变电场的振幅都非常小。但是,当交变电场的频率为某一特定值时,振幅骤然增大,产生共振,称之为压电振荡。这一特定频率就是石英晶体的固有频率,也称谐振频率。石英晶振起振后要能在XTAL2线上输出一个3V左右的正弦波,以便使MCS-51片内的OSC电路按石英晶振相同频率自激振荡。通常,OSC的输出时钟频率fOSC为0.5MHz-16MHz,典型值为12MHz或者11.0592MHz。电容C1和C2可以帮助起振,典型值为30pF,调节它们可以达到微调fOSC的目的。
9
图3.3 单片机晶振电路图
3.2.3复位电路
复位电路的主要功能是使单片机进行初始化,在初始化的过程中需要在复位引脚RST上加大于2个机器周期的高电平。复位后的单片机地址初始化为0000H,然后继续从0000H单元开始执行程序。在复位电路中提供复位信号,等到系统电源稳定后,再撤销复位信号。但是为了在复位按键稳定的前提下,电源稳定后还要经一定的延时才撤销复位信号,以防在按键过程中引起的抖动而影响复位。图3.4所示的 RST 复位电路可以实现上述基本功能。
10
图3.4 复位电路图
3.2.4时钟电路
DS1302芯片的接口电路如图3.5所示。
图3.5 时钟电路图
本设计使用的实时时钟电路芯片是美国DALLAS公司生产的一种高性能、低功耗、带RAM的实时时钟电路芯片DS1302,时钟芯片在本系统中除了起到时间的显示外,还在时间控制中起到重要作用,所以是必不可少的。
11