计算机技术逐渐渗入社会生活各个层面的今天,使用计算机的人越来越多。在这些人群当中,有很大一部分对电脑硬件并不熟悉,或不懂得维护。在此设计一个电脑监控器,它的功能是及时反映出电脑主机内部CPU温度及风扇运转情况等,可及时有效地对电脑进行维护。
1 系统组成及功能
1.1 系统的构成
电脑监视器由EM78P468、按键模块、风扇测速模块、测温模块、显示模块、报警模块等组成,其系统总体结构框图如图1所示。
1.2 系统的主要功能
设计主要实现的功能是及时检测电脑CPU的温度,当温度达到报警温度时则报警,同时检测并显示风扇转速,当风扇不工作或工作出现故障时都可及时地从转速发现问题。另外,可显示真实时间或电脑工作时间,以确定电脑工作寿命。
2 系统硬件设计
系统硬件部分包括:EM78P468单片机、按键模块、风扇测速模块、测温模块、显示模块、报警模块。
2.1 EM78P468单片机
EM78P468是采用低功耗高速工艺设计开发出来的8位单片机。其内部有4K×13位一次性编程ROM,集成了看门狗,RAM,可编程时钟计数器,内部和外部的中断,掉电模式,LCD驱动,红外发射功能,三态双向I/O口;并且提供程序保护位来防止写入的程序被他人非法读出。其芯片为64引脚封装,工作为2.2~5.5 V,工作温度在0~70℃之间。
2.2 RC测温模块
RC测温模块实际上是通过标准和待测热敏的比例关系来求出当前温度。它的电路图如图3所示。电路由单片机和电阻Rs,Rm,Rd及C组成。在图2中,Rs是标准电阻,用于校正和定标;Rm是被检测的热敏电阻;Rd是一个限流电阻,为了使充电能保证单片机不会损坏,Rd一般取500 Ω左右。可以测出标定电阻和热敏电阻的放电时间分别为ts。,tm,从而Rm=tmRs/ts。再根据热敏电阻的分度表查出对应的温度。
2.3 报警模块
报警模块的电路图如图3所示。电路由4.7 kΩ电阻、NPN三极管和蜂鸣器构成。当温度超过报警温度时,由P67脚发出一个4 k的方波来驱动蜂鸣器发出报警声。
2.4 电压检测模块
电压检测模块如图4所示,通过P54脚检测当前电压来决定是否进入睡眠模式以省电。图中的PowerJack相当于一个多路开关,提供多路并为系统供电,当系统正常工作的时候,开关接5 V,P54脚通过Power Detect检测结果为高,由于的单向导通性能,V左边的二极管导通,而VCC右边的二极管处于截止状态,不使用电池;当系统掉电时,PowerJack接的是地,所以P54脚通过Power Detect检测结果为低电平,VCC左边的二极管处于截止状态,而VCC右边的二极管处于导通状态,系统直接进入睡眠状态。
2.5 风扇测速模块
风扇测速模块如图5所示。系统的三路风扇分别接到三路风扇插座上面,每路风扇都由12 V电源供电;每路风扇插座的1号端口由VCC(5 V)供电,并通过Rpm接到I/O端口上。当风扇正常工作的时候,会在每个插座的1号端口输出一系列为毫秒级的方波,这样只要测出相应的I/O端口单位时间(1 s)内的方波个数,就可以计算出风扇转速。
3 系统软件设计
3.1 主程序流程图
系统软件采用汇编语言编写,程序主要流程图如图6所示。系统程序主要包括了初始化、按键子程序、A/D转换子程序、报警子程序、风扇测速子程序、工作时钟子程序、显示子程序、真实时钟子程序总共8个模块,共同作用完成本系统所要实现的功能。在本系统当中,虽然按键仅只有“set”键、“up'’键和 “down”键3个,但这是设计中的一个难点。下面重点介绍按键子程序。
3.2 按键子程序
3.2.1 按键要求实现的功能
(1)温度显示单位℃/°F的切换:在初始状态下,按“up"键可以切换温度的显示单位。
(2)CPU报警温度的设定:在初始状态下,按“set”键,温度显示由实际温度转换为报警温度(预设值为60℃&140°F)。此时,按“up" 或"down"键可以设定报警温度,设定完后按“set”键锁定进入时间设定界面;当温度达到报警温度时,蜂鸣器开始报警,直到按一下“set”键后,方才能解除报警。
(3)时间设定:在初始状态下按“set”键,温度显示由实际温度转换为报警温度(预设值为60 ℃&140 °F),再压“set”键将进入时间设定界面,按“up"或“down”键可以调整时针的整数值,调整完时针之后再按“set”键锁定并进入分针的设定模式,同样按“up"或“down”键就可以调整它的值了,按“set"键锁定。
(4)真实时间和工作时间的转换:在初始状态下按“down”键可以切换时间模式的显示,累计工作时间在24 h之内显示单位为时/分,超过24 h就显示为天。
(5)LCD Reset:同时按住“up"和“down”键约2 s,LCD将复位,所有值将回到出厂设置状态。
3.2.2 按键子程序流程图
通过上面的按键功能的描述,可以把按键子程序理解成为可以通过“set”键调整状态,然后每个状态下又有各自的子状态,这些子状态可以通过“up”或者“down”键来进行调整;{zh1}还有2个特殊状态,解除警报和LCD复位。按键子程序流程如图7所示。
4 结 语
经过现场调试和运行,本系统能及时检测电脑CPU的温度和风扇转速,当温度达到报警温度时则报警,从风扇转速可以判断风扇的情况。还可以显示电脑的工作时间,了解电脑的寿命。系统结构简单,功能齐全,具有低成本、低功耗、高可靠性等特点,实现了用户的需求。