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