何 靜
摘 要:介紹一種基于EM78P468單片機的電腦監視器,詳細闡述系統組成結構和軟硬件設計。系統采用測溫模塊反映當前電腦CPU的溫度并顯示,當溫度達到報警溫度時則報警。采用風扇測速模塊檢測并顯示三路風扇轉速,利用按鍵模塊實現LCD的復位,溫度顯示單位的轉換;報警溫度的設定;時間的設定;真實時間和工作時間的顯示等功能。系統結構簡單,功能齊全,具有低成本、低功耗、高可靠性等特點。
關鍵詞:EM78P468單片機;LCD顯示;A/D轉換;電腦監視器
中圖分類號:TP3681文獻標識碼:B
文章編號:1004-373X(2009)12-139-03
Design of Computer Monitor Based on EM78P468 Single Chip Computer
HE Jing
(Hunan University of Commerce,Changsha,410205,China)
Abstract:The computer monitor based on EM78P468 is introduced in this paper.It is expatiated on the basic frame and the design of software and hardware.It examines computer CPU temperature by temperature module.When the temperature achieves the alarm temperature,then alarming.Simultaneously examines and demonstrates the ventilator speed,Moreover,the design can realize the LCD reset,the unit conversion of temperature display,alarm temperature setting,time setting,work time and real time display by key module.The whole system has characteristics of simple structure,strong functions,low cost,low power and high reliability.
Keywords:EM78P468;LCD display;A/D conversion;computer monitor
0 引 言
在計算機技術逐漸滲入社會生活各個層面的今天,使用計算機的人越來越多。在這些人群當中,有很大一部分對電腦硬件并不熟悉,或不懂得維護。在此設計一個電腦監控器,它的功能是及時反映出電腦主機內部CPU溫度及風扇運轉情況等,可及時有效地對電腦進行維護。
1 系統組成及功能
1.1 系統的構成
電腦監視器由EM78P468單片機、按鍵模塊、風扇測速模塊、測溫模塊、顯示模塊、報警模塊等組成,其系統總體結構框圖如圖1所示。
1.2 系統的主要功能
設計主要實現的功能是及時檢測電腦CPU的溫度,當溫度達到報警溫度時則報警,同時檢測并顯示風扇轉速,當風扇不工作或工作出現故障時都可及時地從轉速發現問題。另外,可顯示真實時間或電腦工作時間,以確定電腦工作壽命。
圖1 系統總體框圖
2 系統硬件設計
系統硬件電路部分包括:EM78P468單片機、按鍵模塊、風扇測速模塊、測溫模塊、顯示模塊、報警模塊。
2.1 EM78P468單片機
EM78P468是采用低功耗高速CMOS工藝設計開發出來的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 RC測溫模塊
2.3 報警模塊
報警模塊的電路圖如圖3所示。電路由4.7 kΩ電阻、NPN三極管和蜂鳴器構成。當溫度超過報警溫度時,由P67腳發出一個4 kHz的方波來驅動蜂鳴器發出報警聲。
圖3 報警模塊
2.4 電壓檢測模塊
電壓檢測模塊如圖4所示,通過P54腳檢測當前電壓來決定是否進入睡眠模式以省電。圖中的Power Jack相當于一個多路開關,提供多路電源并為系統供電,當系統正常工作的時候,開關接5 V電源,P54腳通過Power Detect檢測結果為高電平,由于二極管的單向導通性能,VCC左邊的二極管導通,而VCC右邊的二極管處于截止狀態,不使用電池;當系統掉電時,Power Jack接的是地,所以P54腳通過Power Detect檢測結果為低電平,VCC左邊的二極管處于截止狀態,而VCC右邊的二極管處于導通狀態,系統直接進入睡眠狀態。
2.5 風扇測速模塊
風扇測速模塊如圖5所示。系統的三路風扇分別接到三路風扇插座上面,每路風扇都由12 V電源供電;每路風扇插座的1號端口由VCC(5 V)供電,并通過Rpm接到I/O端口上。當風扇正常工作的時候,會在每個插座的1號端口輸出一系列周期為毫秒級的方波,這樣只要測出相應的I/O端口單位時間(1 s)內的方波個數,就可以計算出風扇轉速。
圖4 電壓檢測模塊
圖5 風扇測速模塊
3 系統軟件設計
3.1 主程序流程圖
系統軟件采用匯編語言編寫,程序主要流程圖如圖6所示。系統程序主要包括了初始化、按鍵子程序、A/D轉換子程序、報警子程序、風扇測速子程序、工作時鐘子程序、顯示子程序、真實時鐘子程序總共8個模塊,共同作用完成本系統所要實現的功能。在本系統當中,雖然按鍵僅只有“set”鍵、“up”鍵和“down”鍵3個,但這是設計中的一個難點。下面重點介紹按鍵子程序。
圖6 系統主程序流程圖
3.2 按鍵子程序
3.2.1 按鍵要求實現的功能
(1) 溫度顯示單位℃/℉的切換:在初始狀態下,按“up”鍵可以切換溫度的顯示單位。
(2) CPU報警溫度的設定:在初始狀態下,按“set”鍵,溫度顯示由實際溫度轉換為報警溫度(預設值為60 ℃&140℉)。此時,按“up”或“down”鍵可以設定報警溫度,設定完后按“set”鍵鎖定進入時間設定界面;當溫度達到報警溫度時,蜂鳴器開始報警,直到按一下“set”鍵后,方才能解除報警。
(3) 時間設定:在初始狀態下按“set”鍵,溫度顯示由實際溫度轉換為報警溫度(預設值為60℃&140℉),再壓“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”鍵來進行調整;最后還有2個特殊狀態,解除警報和LCD復位。
按鍵子程序流程如圖7所示。
4 結 語
經過現場調試和運行,本系統能及時檢測電腦CPU的溫度和風扇轉速,當溫度達到報警溫度時則報警,從風扇轉速可以判斷風扇的情況。還可以顯示電腦的工作時間,了解電腦的壽命。系統結構簡單,功能齊全,具有低成本、低功耗、高可靠性等特點,實現了用戶的需求。
圖7 按鍵子程序流程圖
參考文獻
[1]李學海.EM78單片機實用教程——基礎篇[M].北京:電子工業出版社,2003.
[2]李學海.EM78單片機實用教程——擴展篇[M].北京:電子工業出版社,2003.
[3]沈小豐.EM78系列單片機原理與應用設計[M].北京:北京航空航天大學出版社,2002.
[4]周航慈.單片機程序設計基礎[M].北京:北京航空航天大學出版社,2004.
[5]周航慈.單片機應用程序設計技術[M].北京:北京航空航天大學出版社,2003.
[6]王莉.EMC單片機在糧倉庫門控制系統中的應用[J].農機化研究,2007(12):170-172.
[7]王永生,全書海.EM78系列單片機的編程技巧[J].單片機與嵌入式系統應用,2005(3):72-74.