硬件设计
4)增加外部掉电检测电路/P4.6,可在掉电时,及时将数据保存进EEPROM,正常工作时无需操作EEPROM。
5)低功耗设计:空闲模式(可由任意一个中断唤醒)。
6)低功耗设计:掉电模式(可由外部中断唤醒),可支持下降沿/上升沿和远程唤醒。
7)支持掉电唤醒的管脚: INT0/P3.2,INT1/P3.3,T0/P3.4,T1/P3.5,RxD/P3.0, CCP0/P1.3(或P4.2),CCP1/P1.4(或P4.3),EX_LVD/P4.6。 8) 工作频率:0~35MHz,相当于普通8051:0~420MHz。
9) 时钟:外部晶体或内部RC振荡器可选,在ISP下载编程用户程序时设置。 10) 8/16/20/32/40/48/52/56/60/62K字节片内Flash程序存储器,擦写次数10万次以上。
11) 1280字节片内RAM数据存储器。
12) 芯片内EEPROM功能,擦写次数10万次以上。
13) ISP / IAP,在系统可编程/在应用可编程,无需编程器/仿真器。 14) 8通道,10位高速ADC,速度可达25万次/秒,2路PWM还可当2路D/A使用。
15) 2通道捕获/比较单元(PWM/PCA/CCP),也可用来再实现2个定时器或2个外部中断(支持上升沿/下降沿中断)。
16) 4个16位定时器,兼容普通8051的定时器T0/T1,2路PCA实现2个定时器。
17) 可编程时钟输出功能,T0在P3.4输出时钟,T1在P3.5输出时钟,BRT在P1.0输出时钟。
18) 硬件看门狗(WDT)。 19) 高速SPI串行通信端口。
20) 全双工异步串行口(UART),兼容普通8051的串口。
21) 通用I/O口(36/40/44个),复位后为: 准双向口/弱上拉(普通8051传统I/O口)。可设置成四种模式:准双向口/弱上拉,推挽/强上拉,仅为输入/高阻,开漏。每个I/O口驱动能力均可达到20mA,但整个芯片最大不得超过120mA。
第 7 页 共 48 页
翻斗量油仪的设计
图2 STC5A60S2单片机引脚图
引脚功能说明:
VCC:供电电压; GND:接地;
P0 口:P0 口是一组 8 位漏极开路型双向 I/O 口,也即地址/数据总线复用口。作为输出口用时,每位能吸收电流的方式驱动8个TTL逻辑门电路,对端口写“1”可作为高阻抗输入端用。 在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低8位)和数据总线复用,在访问期间激活内部上拉电阻。在Flash编程时,P0口接收指令字节,而在程序校验时,输出指令字节,校验时,要求外接上拉电阻。
P1口:P1是一个带内部上拉电阻的8位双向I/O口,P1的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对端口写“1” ,通过内部的上拉电阻把端口拉到高电平,此时可作输入口。作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。 Flash编程和程序校验期间,P1接收低
第 8 页 共 48 页
硬件设计
8位地址。
P2口:P2是一个带有内部上拉电阻的8位双向I/O口,P2的输出缓冲级可驱(吸收或输出电流)4个TTL逻辑门电路。对端口写“1” ,通过内部的上拉电阻把端口拉到高电平,此时可作输入口,作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。在访问外部程序存储器或16位地址的外部数据存储器(例如执行MOVX@DPTR指令)时,P2口送出高8位地址数据。在访问 8 位地址的外部数据存储器(如执行 MOVX@RI 指令)时,P2 口线上的内容(也即特殊功能寄存器(SFR)区中R2寄存器的内容),在整个访问期间不改变。Flash编程或校验时,P2亦接收高位地址和其它控制信号。
P3口:P3口是一组带有内部上拉电阻的 8 位双向 I/O 口。P3 口输出缓冲级可驱动(吸收或输出电流)4 个 TTL逻辑门电路。对 P3 口写入“1”时,它们被内部上拉电阻拉高并可作为输入端口。作输入端时,被外部拉低的 P3 口将用上拉电阻输出电流(IIL)。 P3口除了作为一般的I/O口线外,更重要的用途是它的第二功能,如下表(表2.2)所示:
表1 P3口的第二功能
端口引脚 P3.0 P3.1 P3.2 P3.3 P3.4 P3.5 P3.6 P3.7 第二功能 RXD(串行输入口) TXD(串行输出口) INT0(外部中断0) INT1(外部中断1) T0(定时/计数器0外部输入) T1(定时/计数器1外部输入) WR(外部数据存储器写选通) RD(外部数据存储器读选通) P3口还接收一些用于Flash闪速存储器编程和程序校验的控制信号。
第 9 页 共 48 页
翻斗量油仪的设计
STC12C5A60S2还有另外2排I/O口,P4和P5口。对STC12C5A60S2系列单片机的P4/P5口的访问,如同访问正常的P1/P2/P3口,并且均可为寻址,P4的地址C0H,P5的地址是C8H。
NA/P4.4:0,复位后P4SW.4=0,NA/P4.4脚是弱上拉,无任何功能,通过设置P4SW.4=1,将NA/P4.4脚设置成I/O口(P4.4)
ALE/P4.5:0,复位后P4SW.5=0,ALE/P4.5脚是ALE信号,只有在用MOVX指令访问外部扩展器件时才有信号输出1,通过设置P4SW.5=1,将ALE/P4.5脚设置成I/O口(P4.5)
EX_LVD/P4.6:0,复位后P4SW.6=0,EX_LVD/P4.6脚是外部低电压检测脚,可以实用查询方式或设置中断来检测。1,通过设置P4SW.6=1,将EX_LVD/P4.6脚设置成I/O口(P4.6)
RST/P4.7在ISP烧录程序的时候选择是复位脚还是P4.7口,如设置成P4.7口,必须使用外部时钟。
RST:复位输入。当振荡器工作时,RST引脚出现两个机器周期以上高电平将使单片机复位。
图3 单片机复位电路
单片机内部集成MAX810专用复位电路,时钟频率在12M以下时,复位脚可以接1K电阻再接地。也可以如左图接法。
ALE/PROG: 当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8位字节。即使不访问外部存储器,ALE 仍以时钟振荡频率
第 10 页 共 48 页
硬件设计
的l/6 输出固定的正脉冲信号,因此它可对外输出时钟或用于定时目的。要注意的是:
每当访问外部数据存储器时将跳过一个ALE脉冲。
对Flash存储器编程期间,该引脚还用于输入编程脉冲(PROG)如有必要,可通过对特殊功能寄存器(SFR)区中的 8EH单元的 DO 位置位,可禁止 ALE 操作。该位置位后,只有一条MOVX和MOVC指令ALE才会被激活。此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置ALE无效。
PSEN:程序储存允许(PSEN)输出是外部程序存储器的读选通信号,当 AT89C51 由外部程序存储器取指令(或数据)时,每个机器周期两次PSEN有效,即输出两个脉冲。在此期间,当访问外部数据存储器,这两次有效的PSEN信号不出现。
EA/VPP:外部访问允许。欲使CPU仅访问外部程序存储器(地址为0000H—FFFFH),EA端必须保持低电平(接地)。需注意的是:如果加密位LB1被编程,复位时内部会锁存EA端状态。 如EA端为高电平(接VCC端),CPU则执行内部程序存储器中的指令。 Flash存储器编程时,该引脚加上+12V的编程允许电源Vpp,当然这必须是该器件是使用12V编程电压Vpp。
XTAL1:振荡器反相放大器的及内部时钟发生器的输入端。 XTAL2:振荡器反相放大器的输出端。
时钟振荡器: AT89C5l 中有一个用于构成内部振荡器的高增益反相放大器,引脚 XTAL1 和 XTAL2 分别是该放大器的输入端和输出端。这个放大器与作为反馈元件的片外石英晶体或陶瓷谐振器一起构成自激振荡器,振荡电路参见图2.3。外接石英晶体(或陶瓷谐振器)及电容C1、C2接在放大器的反馈回路中构成并联振荡电路。对外接电容C1、C2虽然没有十分严格的要求,但电容容量的大小会轻微影响振荡频率的高低、振荡器工作的稳定性、起振的难易程序及温度稳定性,如果使用石英晶体,我们推荐电容使用30pF±10pF,而如使用陶瓷谐振器建议选择40pF±10F。用户也可以采用外部时钟。采用外部时钟的电路如图2.4所示。这种情况下,外部时钟脉冲接到XTAL1端,即内部时钟发生器的输入端,XTAL2则悬空。外部时钟的电路如图2.4情况下,外部时钟脉冲接到XTAL1端,即内部时钟发生器的输入端,XTAL2则悬空。
第 11 页 共 48 页