采用EM78P468單片機的計算機監(jiān)視器的設(shè)計
1 系統(tǒng)組成及功能
1.1 系統(tǒng)的構(gòu)成
電腦監(jiān)視器由EM78P468單片機、按鍵模塊、風(fēng)扇測速模塊、測溫模塊、顯示模塊、報警模塊等組成,其系統(tǒng)總體結(jié)構(gòu)框圖如圖1所示。
1.2 系統(tǒng)的主要功能
設(shè)計主要實現(xiàn)的功能是及時檢測電腦CPU的溫度,當(dāng)溫度達到報警溫度時則報警,同時檢測并顯示風(fēng)扇轉(zhuǎn)速,當(dāng)風(fēng)扇不工作或工作出現(xiàn)故障時都可及時地從轉(zhuǎn)速發(fā)現(xiàn)問題。另外,可顯示真實時間或電腦工作時間,以確定電腦工作壽命。
2 系統(tǒng)硬件設(shè)計
系統(tǒng)硬件電路部分包括:EM78P468單片機、按鍵模塊、風(fēng)扇測速模塊、測溫模塊、顯示模塊、報警模塊。
2.1 EM78P468單片機
EM78P468是采用低功耗高速CMOS工藝設(shè)計開發(fā)出來的8位單片機。其內(nèi)部有4K×13位一次性編程ROM,集成了看門狗,RAM,可編程時鐘計數(shù)器,內(nèi)部和外部的中斷,掉電模式,LCD驅(qū)動,紅外發(fā)射功能,三態(tài)雙向I/O口;并且提供程序保護位來防止寫入的程序被他人非法讀出。其芯片為64引腳封裝,工作電壓為2.2~5.5 V,工作溫度在0~70℃之間。
2.2 RC測溫模塊
RC測溫模塊實際上是通過標準電阻和待測熱敏電阻的比例關(guān)系來求出當(dāng)前溫度。它的電路圖如圖3所示。電路由單片機和電阻Rs,Rm,Rd及電容C組成。在圖2中,Rs是標準電阻,用于校正和定標;Rm是被檢測的熱敏電阻;Rd是一個限流電阻,為了使充電電流能保證單片機不會損壞,Rd一般取500 Ω左右??梢詼y出標定電阻和熱敏電阻的放電時間分別為ts。,tm,從而Rm=tmRs/ts。再根據(jù)熱敏電阻的分度表查出對應(yīng)的溫度。
2.3 報警模塊
報警模塊的電路圖如圖3所示。電路由4.7 kΩ電阻、NPN三極管和蜂鳴器構(gòu)成。當(dāng)溫度超過報警溫度時,由P67腳發(fā)出一個4 kHz的方波來驅(qū)動蜂鳴器發(fā)出報警聲。
2.4 電壓檢測模塊
電壓檢測模塊如圖4所示,通過P54腳檢測當(dāng)前電壓來決定是否進入睡眠模式以省電。圖中的PowerJack相當(dāng)于一個多路開關(guān),提供多路電源并為系統(tǒng)供電,當(dāng)系統(tǒng)正常工作的時候,開關(guān)接5 V電源,P54腳通過Power Detect檢測結(jié)果為高電平,由于二極管的單向?qū)ㄐ阅埽琕CC左邊的二極管導(dǎo)通,而VCC右邊的二極管處于截止狀態(tài),不使用電池;當(dāng)系統(tǒng)掉電時,PowerJack接的是地,所以P54腳通過Power Detect檢測結(jié)果為低電平,VCC左邊的二極管處于截止狀態(tài),而VCC右邊的二極管處于導(dǎo)通狀態(tài),系統(tǒng)直接進入睡眠狀態(tài)。
2.5 風(fēng)扇測速模塊
風(fēng)扇測速模塊如圖5所示。系統(tǒng)的三路風(fēng)扇分別接到三路風(fēng)扇插座上面,每路風(fēng)扇都由12 V電源供電;每路風(fēng)扇插座的1號端口由VCC(5 V)供電,并通過Rpm接到I/O端口上。當(dāng)風(fēng)扇正常工作的時候,會在每個插座的1號端口輸出一系列周期為毫秒級的方波,這樣只要測出相應(yīng)的I/O端口單位時間(1 s)內(nèi)的方波個數(shù),就可以計算出風(fēng)扇轉(zhuǎn)速。
3 系統(tǒng)軟件設(shè)計
3.1 主程序流程圖
系統(tǒng)軟件采用匯編語言編寫,程序主要流程圖如圖6所示。系統(tǒng)程序主要包括了初始化、按鍵子程序、A/D轉(zhuǎn)換子程序、報警子程序、風(fēng)扇測速子程序、工作時鐘子程序、顯示子程序、真實時鐘子程序總共8個模塊,共同作用完成本系統(tǒng)所要實現(xiàn)的功能。在本系統(tǒng)當(dāng)中,雖然按鍵僅只有“set”鍵、“up'’鍵和 “down”鍵3個,但這是設(shè)計中的一個難點。下面重點介紹按鍵子程序。
3.2 按鍵子程序
3.2.1 按鍵要求實現(xiàn)的功能
(1)溫度顯示單位℃/°F的切換:在初始狀態(tài)下,按“up"鍵可以切換溫度的顯示單位。
(2)CPU報警溫度的設(shè)定:在初始狀態(tài)下,按“set”鍵,溫度顯示由實際溫度轉(zhuǎn)換為報警溫度(預(yù)設(shè)值為60℃&140°F)。此時,按“up" 或"down"鍵可以設(shè)定報警溫度,設(shè)定完后按“set”鍵鎖定進入時間設(shè)定界面;當(dāng)溫度達到報警溫度時,蜂鳴器開始報警,直到按一下“set”鍵后,方才能解除報警。
(3)時間設(shè)定:在初始狀態(tài)下按“set”鍵,溫度顯示由實際溫度轉(zhuǎn)換為報警溫度(預(yù)設(shè)值為60 ℃&140 °F),再壓“set”鍵將進入時間設(shè)定界面,按“up"或“down”鍵可以調(diào)整時針的整數(shù)值,調(diào)整完時針之后再按“set”鍵鎖定并進入分針的設(shè)定模式,同樣按“up"或“down”鍵就可以調(diào)整它的值了,按“set"鍵鎖定。
(4)真實時間和工作時間的轉(zhuǎn)換:在初始狀態(tài)下按“down”鍵可以切換時間模式的顯示,累計工作時間在24 h之內(nèi)顯示單位為時/分,超過24 h就顯示為天。
(5)LCD Reset:同時按住“up"和“down”鍵約2 s,LCD將復(fù)位,所有值將回到出廠設(shè)置狀態(tài)。
3.2.2 按鍵子程序流程圖
通過上面的按鍵功能的描述,可以把按鍵子程序理解成為可以通過“set”鍵調(diào)整狀態(tài),然后每個狀態(tài)下又有各自的子狀態(tài),這些子狀態(tài)可以通過“up”或者“down”鍵來進行調(diào)整;最后還有2個特殊狀態(tài),解除警報和LCD復(fù)位。按鍵子程序流程如圖7所示。
4 結(jié) 語
經(jīng)過現(xiàn)場調(diào)試和運行,本系統(tǒng)能及時檢測電腦CPU的溫度和風(fēng)扇轉(zhuǎn)速,當(dāng)溫度達到報警溫度時則報警,從風(fēng)扇轉(zhuǎn)速可以判斷風(fēng)扇的情況。還可以顯示電腦的工作時間,了解電腦的壽命。系統(tǒng)結(jié)構(gòu)簡單,功能齊全,具有低成本、低功耗、高可靠性等特點,實現(xiàn)了用戶的需求。
評論