而本文采用STC89C52单片机系统实现检测水温水位的功能。单片机软件编程灵活度大,自由度大。可用软件编程实现各种控制算法和逻辑控制。单片机系统可以用数码管显示水温,用键盘输入设定值。选用STC89C52芯片不需要外扩展存储器,使得系统整体结构简单。具体系统框图如图2-2所示。
图2-2 单片机系统检测水温水位系统框图
3 硬件电路设计
3。1 主控电路设计
3。1。1 单片机STC89C52
STC89C52是STC公司生产的一种低功耗、高性能CMOS8位微控制器,具有8K字节系统可编程Flash存储器。STC89C52使用经典的MCS-51内核,但做了很多的改进使得芯片具有传统51单片机不具备的功能。在单芯片上,拥有灵巧的8位CPU和系统可编程Flash,使得STC89C52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。STC89C52具体管脚如图3-1所示。
图3-1 STC92C52 引脚图
管脚说明:
1。电源线
VCC(40脚):正电源引脚,正常工作时接+5V电源。
GND(20脚):接地引脚。
2。端口线
(1)P0口(32—39脚):
双向8位三态I/O接口,作为输出口用时,每位能吸收电流的方式驱动8个TTL逻辑门电路,对端口P0写1时,可作为高阻抗输入端用。
(2)P1口(1—8脚):8位准双向I/O接口,内部有上拉电阻,一般作为通用I/O接口使用,它的每一位都可以分别定义为输入线或输出线,作输入时,锁存器必须置1。每个引脚可驱动4个TTL负载。P1。0和P1。1还可分别作为定时/计数器2的外部计数输入(P1。0/T2)和输入(P1。1/T2EX)。
(3)P2口(21—28脚):8位准双向I/O接口,内部有上拉电阻,可直接连接外部I/O设备。它与地址总线高8位复用,可驱动4个TTL负载。一般作为外部扩展时的高8位地址总线。
(4)P3口(10—17脚):8位准双向I/O接口,内部有上拉电阻,它是双功能复用口,每个引脚可驱动4个TTL负载。
3。控制线
(1)RST(9)脚
RST脚是复位输入。当振荡器工作时,RST引脚出现两个机器周期以上高电平使单片机复位。
(2)ALE/PROG(30脚)
地址锁存允许/编程/引脚。当访问外部程序存储器时,ALE的输出用于锁存地址的低位字节,以便P0口实现地址/数据复用。当不访问外部程序存储器时,ALE端将输出一个1/6时钟频率的正脉冲信号,这个信号可以用于识别单片机是否工作,也可以当做一个时钟向外输出。当访问外部数据存储器时,ALE会跳过一个脉冲。第二功能是对EPROM型芯片进行编程和校验时,此此引脚传送52ms宽的负脉冲选通信号,程序计数器PC的16位地址数据将出现在P0和P2扣上,外部程序存储器则是把指令码放到P0口上,由CPU写入并执行。文献综述
(3)EA/VPP(31脚)
是允许访问片外程序存储器/编程电源线。内置有4KB的程序存储器,当EA为高电平且程序地址小于4KB时,读取内部程序存储器指令数据,而超过4KB地址时,则读取外部程序存储器指令。如果EA为低电平,则不管地址大小,一律读取外部程序存储器指令。显然,对片内无程序存储器的EA端必须接地。第二功能是片内EPROM编程/校验时电源线,在编程时,需要加上21V编程电压。
(4)XTAL1和XTAL2(18,19脚)
XTAL1脚是片内振荡电路的输入端,XTAL2脚是片内振荡电路的输出端。时钟有两种,一种是片内时钟振荡方式,但需要在18和19脚外界石英晶体和振荡电容,临一中是外部时钟方式,即将XTAL1接地,外部时钟信号从XTAL2脚输入。