摘 要: 開發了一種基于按鍵觸發方式的PDA產品壽命檢測系統" title="檢測系統">檢測系統。詳細介紹了該系統的功能、工作原理、設計方案及硬件結構;并針對實時性較強的多任務程序設計,介紹了集中調用、參數返回的程序調用方法。實際應用表明,該系統安全性高、穩定可靠、操作簡單靈活。
關鍵詞: 按鍵觸發 接觸力檢測 界面轉換
由于PDA產品外觀小巧、操作方便、便于攜帶,使其深受消費者的青睞。有些PDA產品在使用過程中經常出現屏幕損壞、按鍵失效等現象,導致產品的壽命達不到規定要求。所以作為PDA產品關鍵部件的屏幕,其壽命往往決定PDA產品的使用壽命,而作為易損件的按鍵也是限制PDA產品壽命的一個瓶頸。本文研制的檢測系統可用來檢測PDA產品在規定的極限溫度和濕度環境中按鍵的疲勞壽命。
1 檢測原理
通常,PDA產品都具有節能工作模式或者自動關機功能,若長時間不對其進行操作,屏幕就處于非工作狀態" title="工作狀態">工作狀態。屏幕檢測就是不斷地觸發PDA產品的按鍵,保證屏幕在檢測過程中處于工作狀態。檢測時,PDA產品被放在一個溫度和濕度可調的密閉環境中。
按鍵壽命檢測是記錄按鍵在正常狀態下被按下的次數。方法是在按鍵每次被按下時,檢測按鍵觸發探頭和按鍵間的接觸力,如果接觸力在正常范圍內,則認為按鍵處于正常工作狀態,按鍵觸發次數加1;如果接觸力超出正常范圍,則認為按鍵被卡死;如果接觸力低于正常范圍,則認為按鍵沒有及時彈起。后兩種情況都認為按鍵出現故障。
2 系統組成及功能介紹
檢測控制系統由主控電路、觸發檢測裝置、人機交互裝置、電源自動關閉定時裝置和電壓變換及過流保護裝置組成,如圖1所示。
CPU為控制系統的核心,采用89C55WD單片機,該芯片自帶看門狗電路,片內存儲器容量大,完全兼容其它51系列單片機的特點,使得外圍電路簡單[1]。由于要同時檢測多個PDA產品,選用8255A對89C55WD的I/O口進行擴展。觸發記錄采用×25045完成,該芯片具有電壓保護功能并具有4K串行輸入輸出的E2PROM,可用來記錄按鍵被按下的次數。當檢測系統停止工作時,E2PROM記錄的數據不會丟失;當系統再次工作時,可以在上次記錄的基礎上進行記錄。觸發檢測裝置包括按鍵觸發探頭(這里采用繼電器)、壓力傳感器、放置PDA產品的伸縮滑道及溫度濕度可調的密封容器。
檢測時,被測PDA產品按照一定順序放置在伸縮滑道的規定位置上,CPU通過調整繼電器的通電時間及通電頻率控制觸發探頭接觸PDA產品按鍵的時間及觸發頻率。
壓力傳感器檢測按鍵與觸發探頭接觸時的壓力,檢測結果經過A/D" title="A/D">A/D轉換接口被送到CPU進行處理。
繼電器和CPU之間設有光電隔離及功率放大電路,前者阻止繼電器電流的變化對主控制電路的干擾,后者用于放大繼電器的驅動電流。
人機交互裝置包括鍵盤和LCD顯示兩部分。通過操作鍵盤,操作者可以選擇被測對象、輸入檢測時間和觸發頻率等檢測參數,還可隨時停止對某個PDA的檢測。LCD為操作者提供了上述參數的設置界面,并實時地顯示設置的檢測參數、檢測的時間進程和按鍵的觸發次數。
利用電源自動關閉定時裝置可以設定檢測系統的工作時間,當操作人員忘記關閉檢測系統的電源時,系統會自動斷電,防止事故發生。該定時裝置的定時時間可調。
電壓變換及過流保護裝置將220V交流電轉換為穩定的5V及12V直流電。由于有時需要同時對多個PDA產品檢測,系統的輸出電流較大,因此為保護直流電源,這里采取了過流保護措施。
3 系統的硬件設計
硬件設計主要包括繼電器輸出控制設計、LCD顯示和鍵盤電路設計等部分。
3.1 繼電器輸出控制電路
繼電器輸出控制電路如圖2所示。功放電路采用ULN2803。ULN2803是八組NPN型達林頓功放三極管集成芯片,典型的輸入電壓是5V,集電極輸出功率可達50V×600mA。續流二極管D用來保護ULN2803[2],L、RL分別為繼電器的電感和內阻,Bi、Ci為八路輸入輸出中的一路。光電隔離電路采用TLP521。控制信號由89C55WD產生,通過8255A的輸出口加在TLP521的輸入端。
3.2 LCD顯示電路設計
LCD采用內藏T6963C控制器的圖形液晶模塊。點陣為160×128,工作頻率為5.5MHz,可滿足實時監控的要求,并帶有背光。圖3為89C55WD與該液晶控制模塊的電路連接圖。
3.3 鍵盤電路設計
這里采用4×4鍵盤,十個數字鍵、四個方向鍵、一個“確認”鍵和一個“清除”鍵。鍵盤電路和A/D轉換電路都比較簡單,不再贅述。
4 系統軟件設計
4.1集中調用、參數返回的程序調用方法
集中調用是指只有主程序" title="主程序">主程序具有調用某些子程序" title="子程序">子程序的權限,而子程序之間沒有相互調用的權力;參數返回就是指當需要從某個子程序轉換到另一個子程序時,程序并不直接進入后者的入口地址,而是將后者的入口地址作為參數返回,主程序根據該參數調用相應的子程序。該方法有效地避開了多個子程序相互嵌套、遞歸調用的層次太深的缺陷[3~4],使程序運行可靠、可讀性強。
本軟件系統包括定時中斷、時間處理、觸發控制、觸發壓力檢測、鍵盤處理及各界面顯示等子程序。這里通過介紹主程序及檢測狀態界面子程序來說明集中調用、參數返回的程序設計方法在子程序相互轉換中的實現。限于篇幅,其它子程序不作詳細介紹。
4.2 主程序設計
根據液晶屏幕的大小,將顯示的內容分為四類,分別用四種界面顯示,即開機界面、檢測狀態界面、參數設置界面和停止檢測選擇界面,每一界面對應一個子程序。
檢測狀態界面如圖4所示,它將操作者設置的每個PDA產品的檢測參數、監控進程(已完成的檢測時間)和按鍵被按下的次數實時地顯示出來。由于要同時檢測多個PDA產品,該界面由若干幀組成,每一幀顯示四個PDA產品的檢測情況,具有設置、停止、繼續和返回四個命令按鈕。
參數設置界面為操作者提供了對檢測參數進行設置的環境,包括選擇要測試的PDA產品以及設置檢測時間、繼電器觸發頻率等。
停止檢測選擇界面可以讓操作者有選擇地終止某個正在檢測的PDA產品,而不影響其它產品的正常檢測。
以上四類界面子程序間的相互轉換采用了集中調用、參數返回的程序調用方法,圖5為主程序流程圖。
4.3 檢測狀態界面子程序
參見圖4,操作者可通過鍵盤上的方向鍵將屏幕光標移動到屏幕上的四個命令按鈕處,按下鍵盤上的“確認”鍵,表示該命令按鈕被選中。程序進入到該子程序時,首先判斷設置按鈕是否被選中,如果選中則將參數設置子程序的入口地址作為返回值返回主程序,主程序根據該返回值調用參數設置子程序。若該按鈕沒有被選中,則繼續判斷其它按鈕是否被選中。如果所有按鈕都沒有被選中,則依次調用時間處理子程序、觸發控制子程序、觸發力檢測子程序,讀取壓力傳感器的輸入值并進行A/D轉換及其它處理。最后調用鍵盤處理子程序判斷是否有功能鍵被按下,進入到檢測狀態界面子程序的入口處,完成一個循環。檢測狀態界面子程序框圖如圖6所示。其它界面子程序的設計方法與此類似,這里不再說明。
經用戶使用證明,本文介紹的PDA按鍵觸發檢測控制系統可以在不同溫度、濕度下對PDA屏幕及按鍵進行壽命檢測,且安全可靠、操作簡單、使用靈活、具有很好的人機交互界面。
參考文獻
1馬忠梅. 單片機C語言應用程序設計(修訂本)[M]. 北京:北京航空航天大學出版社,1999
2 陳維山,趙 杰. 機電系統計算機控制[M].哈爾濱:哈爾濱工業大學出版社,1999
3 閔光太. C語言程序設計與數據結構實踐[M].北京:高等教育出版社,2000