STC公司主要致力于新一代增强型8051单片机的开发,提供满足中国市场要求的世界级高性能单片机技术,在业内处于领先位置。STC单片机以其卓越的性能和良好的价格,为其在中国市场赢得良好的声誉和广泛的客户群体。
80C51核心处理器单元;3V/5V工作电压,操作频率0~33MHz(STC89LE516AD最高可达90MHz);5V工作电压,操作频率0~40MHz;支持12时钟(默认)或6时钟模式;大容量内部数据RAM(1KB RAM);64/32/16/8KB片内Flash程序存储器,具有在应用可编程(IAP)和在系统可编程(ISP),可实现远程软件升级,无须编程器;STC89系列有些单片机内置看门狗和STC810复位电路,加强了系统的稳定和可靠性;双DPTR数据指针;SPI(串行外围接口)和增强型UART;PCA(可编程计数器阵列),具有PWM的捕获/比较功能;4个8位I/O口,含3个高电流P1口,可直接驱动LED;3个16位定时/计数器;可编程看门狗定时器(WDT);低EMI方式(ALE禁止);兼容TTL和COMS逻辑电平;掉电检测和低功耗模式等。
STC89系列单片机有多种型号,每种型号具有一定的含义,以下是其产品命名方法:
STC89系列单片机分别包含了32条I/O口线、3个16位的定时/计数器、8输入4优先级嵌套中断结构、1个串行I/O口等。表1-1所列为STC89系列单片机的主要性能指标。
表1-1STC89系列单片机的主要性能指标
为适应不同产品的需求,STC89系列单片机采用了LQFP—44(Low Quad Flat Package,薄型方块平面封装)、PQFP—44(Plastic Quad Flat Package,塑料方块平面封装)、PLCC—44(Plastic Leaded Chip Carrier)和PDIP—40(Plastic Dual In-line Package,塑料双直列直插式)这4种不同的封装方式,其外形及引脚名称如图1-1所示。4种封装的单片机实物外形如图1-2所示。
下面以PDIP封装形式为例,介绍STC89系列单片机的引脚功能。
1)电源引脚VSS和VCC
● VCC(40脚):电源端,接+5V。
● VSS(20脚):接地端。
图1-1 STC89系列单片机引脚图
图1-2 STC89系列单片机实物外形
2)时钟电路引脚XTAL1和XTAL2
● XTAL1(19脚):接外部晶振和微调电容的一端,在片内它是振荡器反相放大器的输入,若使用外部TTL时钟时,该引脚必须接地。
● XTAL2(18脚):接外部晶振和微调电容的一端,在片内它是振荡器反相放大器的输出,若使用外部TTL时钟时,该引脚为外部时钟的输入端。
3)控制或其他电源复用引脚ALE/ 、 、 、RST
● ALE/ (30脚):地址锁存/编程脉冲输入引脚,用于控制地址锁存器锁存P0口输出的低8位地址,从而实现数据与低位地址的复用。该引脚可驱动(吸收或输出电流)8个LSTTL(Low-power Schottky TTL,低功耗甚高速TTL,功耗值为传统TTL的1/5)负载。
● (29脚):外部程序存储器读选通信号输出端。它是读外部程序存储器的选通信号,低电平有效。
● (31脚):内部程序存储器和外部程序存储器选择端。 引脚为高电平时,CPU执行片内程序存储器指令。但是,当PC(程序计数器)值超过片内Flash地址范围时,将自动转向访问片外程序存储器。当 为低电平时,不论片内是否有程序存储器,单片机只能访问片外程序存储器。
● RST(9脚):单片机复位信号输入端。该信号高电平有效,在输入端保持两个机器周期的高电平后,就可以完成复位操作。
4)4组I/O端口P0、P1、P2和P3
● P0(P0.0~P0.7):P0端口是一个8位三态双向I/O端口,在访问外部存储器时,它是分时作低8位地址线和8位双向数据总线用。在不访问外部存储器时,作通用I/O端口用,用于传送CPU的I/O数据。P0端口能以吸收电流的方式驱动8个LSTTL负载,一般作为扩展时地址/数据总线使用。
● P1(P1.0~P1.7):P1端口是一个带内部上拉电阻的8位准双向I/O端口(作为输入时,端口锁存器置1)。对P1端口写1时,P1端口被内部的上拉电阻拉为高电平,这时可作为输入口。当P1端口作为输入端口时,因为有内部上拉电阻,那些被外部信号拉低的引脚会输出一个电流。P1端口能驱动(吸收或输出电流)4个TTL(Transistor-Transistor Logic)负载,它的每一个引脚都可定义为输入或输出线,其中P1.0、P1.1兼有特殊的功能。
◇ T2/P1.0:定时/计数器2的外部计数输入/时钟输出。
◇ T2EX/P1.1:定时/计数器2重装载/捕捉/方向控制。
● P2(P2.0~P2.7):P2端口是一个带内部上拉电阻的8位准双向I/O端口,当外部无扩展或扩展存储器容量小于256B时,P2端口可作一般I/O端口使用,扩充容量在64KB范围时,P2口为高8位地址输出端口。当作为一般I/O口使用时,可直接连接外部I/O设备,能驱动4个LSTTL负载。
● P3(P3.0~P3.7):P3端口是一个带内部上拉电阻的8位准双向I/O端口。向P3端口写入1时,P3端口被内部的上拉电阻上拉为高电平,可用做输入口。当作为输入时,被外部拉低的P3端口会因为内部上拉而输出电流。第一功能作为通用I/O端口,第二功能作控制口,见表1-2。P3端口能驱动4个LSTTL(Low-power Schottky TTL)负载。
表1-2P3端口引脚的第二功能
STC89单片机带有非易失性Flash存储器,所有Flash单片机都将程序存储器ROM和数据存储器RAM分为不同的逻辑空间,可用8位地址来访问数据存储器,这样可提高8位CPU的存储和处理速度,也可以通过数据指针DPTR寄存器来产生16位的数据存储器地址。程序存储器存放程序及常数、表格等;数据存储器作数据缓冲。图1-3所示为STC89系列单片机存储器空间结构。
图1-3 STC89系列单片机存储器空间结构
程序存储器是只可读不可写,用于存放编好的程序和表格常数。STC89系列单片机可寻址的程序存储器总空间为64KB,内部和外部的64KB的地址空间是统一编址的。程序存储器低端地址可以在片内Flash中,也可在外部存储器中。在STC89系列单片机中, 接高电平时,程序计数器(PC)的值在0000H~0FFFH/1FFFH/3FFFH/7FFFH/FFFFH(4KB/8KB/16KB/32KB/64KB)地址范围内,单片机执行内部ROM中的命令,超出此地址范围则自动执行片外ROM中的命令;当 接低电平时,单片机将忽略内部存储器,直接从外部程序存储器中读取指令。
数据存储器RAM是用于存放运算的中间结果、数据暂存、缓冲、标志位、待调试的程序。STC89系列单片机的片内数据存储器又分为片内基本数据存储器(相应于MCS—51单片机的片内数据存储器)和片内扩展数据存储器,其中片内基本数据存储器的存储范围为00H~FFH;片内扩展数据存储器是在片内基本数据存储器的基础上再增加256B/1024B(即实现片内512B或1280B的存储空间),其片内扩展数据存储空间(00H~FF/3FFH);片外数据存储范围为0000H~FFFFH,即片外为64KB。