3 技术分析报告
本章节主要介绍本设计中各个部分电路的设计原理。通过各个模块的功能描述了解其工作原理以及在设计的中作用。
3.1 STC89C51单片机系统设计
3.1.1 STC89C51的概述
STC89C51是STC公司生产的一种低功耗、高性能CMOS8位微控制器,具有 8K 在系统可编程Flash存储器。STC89C51使用经典的MCS-51内核,但做了很多的改进使得芯片具有传统51单片机不具备的功能。在单芯片上,拥有灵巧的8 位CPU和在系统可编程Flash,使得STC89C51为众多嵌入式控制应用系统提供高灵活、非常有效的解决方案。具有以下标准功能:8k字节Flash,512字节RAM,32位I/O口线,看门狗定时器,内置4KB EEPROM,MAX810复位电路,3个16位定时器/计数器,4个外部中断,一个7向量4级中断结构(兼容传统51的5向量2级中断结构),全双工串行口[6]。另外STC89X52 可降至0Hz 静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU 停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。最高运作频率35MHz,6T/12T可选。
3.1.2 STC89C51的引脚说明
STC89C51有PDIP(40pin)和PLCC(44pin)两种封装形式。在本设计中采用直插式的DIP40的封装,该封装在焊接的时候可以采用一个IC插座进行先焊接然后焊接完成后再将芯片插到IC插座上这样做方便更换芯片,也避免了芯片在高温焊接的时候损坏。STC89C51一共具有40只引脚,其中可以用来控制的引脚有32个分别是P0、P1、P2、P3。这些引脚可以单独位控制也可以对某一位的IO口同时进行控制[7]。在控制的时候非常方便无需定义输入输出,在给IO赋值的时候IO口会自动转变为输出,给读取IO口时IO口会自动转变成输入。STC89C51单片机所以引脚的作用如下表3-1所示。
8
表3-1 STC89C51单片机引脚功能对照表
引脚 引脚名称 对应功能与作用 1~8引脚 P1.0~P1.7(P1) P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4个TTL门电流。P1口管脚写入“1”后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。 9引脚 RST 复位输入引脚,在振荡器复位是需保持两个机器周期的高电平。 10-17引脚 P3.0~P3.7(P3) P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。P3口作为51单片机的一些特殊功能口,管脚 备选功能 18引脚 XTAL2 内部时钟电路的输入、反向振荡放大器的输入口 19引脚 XTAL1 反向振荡器的输出 20引脚 GND 单片机电源地 9
21~28引脚 P2.0~P2.7(P2) P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。 29引脚 PSEN 改引脚为外部程序存储器的一个选通信号口。平时一般没有使用到。 30引脚 ALE 本设计没有使用到不做解释 31引脚 EA/VPP 我们设计中直接该引脚截至VCC让其处于一直高电平的状态。让其工作在内部程序存储器。 32~39引脚 P0.7~0.0(P0) P0口为一个8位漏级开路双向I/O口,每脚可吸收8个TTL门电流。当P0口的管脚第一次写“1”时,被定义为高阻输入。 40引脚 VCC 单片机电源4.5~5.5V正极 STC89C51单片机P3口第二功能对照表如下表3-2所示。
表3-2 STC89C51单片机P3口第二功能对照表
引脚 引脚名称 对应的功能作用 10
10 RXD 该引脚的特殊功能为串行输入口,在单片机下载程序时需要使用到。 11 TXD 该引脚的特殊功能为串行输出口,同样单片机下载程序时需要使用到。 12 INT0 该引脚作为单片机外部中断0触发引脚,触发方式可以进行配置相对应的寄存器来实现。 13 INT1 该引脚作为单片机外部中断1触发引脚,触发方式可以进行配置相对应的寄存器来实现。 14 T0 该引脚可作为单片机外部计数器0触发引脚。 15 T1 该引脚可作为单片机外部计数器1触发引脚。 16 WR 该引脚可作为单片机外部数据写选通口。 17 RD 该引脚可作为单片机外部数据读选通口。 3.1.3 STC89C51单片机的最小系统
单片机最小系统说的通熟易懂的话就是以最少的元器件组成能让单片机工作起来的系统,接下来开始介绍51单片机最小系统必备的器件及其作用。
首先电源这对于一个电子产品的话是必不可少,它提供能源给系统运作,在本设计中由于51单片机的工作电压在4.5~5.5V之间都可以正常工作所以我们采用了USB电源线连接手机充电器插头或者5V的移动电源给系统进行供电。
11
其次晶振电路,XTAL1和XTAL2 是独立的输入和输出反相放大器,它们可以被配置为使用石英晶振的片内振荡器,或者是器件直接由外部时钟驱动。图3-1中采用的是内时钟模式,即采用利用芯片内部的振荡电路,在XTAL1、XTAL2 的引脚上外接定时元件(一个石英晶体和两个电容),内部振荡器便能产生自激振荡。一般来说晶振可以在1.2~12MHz 之间任选,甚至可以达到24MHz 或者更高,但是频率越高功耗也就越大。在本实验套件中采用的12M 的石英晶振。和晶振并联的两个电容的大小对振荡频率有微小影响,可以起到频率微调作用。当采用石英晶振时,电容可以在20 ~40pF 之间选择(本设计使用30pF);当采用陶瓷谐振器件时,电容要适当地增大一些,在30~50pF 之间。通常选取30pF 的陶瓷电容就可以了。
图3-1 晶振电路
再来就是复位电路,复位电路分为:上电自动复位和开关复位。图3-2 中所示的复位电路就包括了这两种复位方式。上电瞬间,电容两端电压不能突变,此时电容的负极和RESET 相连,电压全部加在了电阻上,RESET 的输入为高,芯片被复位。随之+5V电源给电容充电,电阻上的电压逐渐减小,最后约等于0,芯片正常工作。并联在电容的两端为复位按键,当复位按键没有被按下的时候电路实现上电复位,在芯片正常工作后,通过按下按键使RST管脚出现高电平达到手动复位的效果。一般来说,只要RST 管脚上保持10ms 以上的高电平,就能使单片机有效的复位。图中所示的复位电阻和电容为经典值,实际制作是可以用同一数量级的电阻和电容代替,读者也可自行计算RC 充电时间或在工作环境实际测量,以确保单片机的复位电路可靠。
12