賈電如++田俊芳++賈利敏



摘要:本設計以AT89C51單片機為核心元件,并配以微功耗LED顯示屏和應用石英晶振作為單片機的外接頻率,應用74LS245 寄存器來驅動數碼管,組合成的六位智能秒表系統。并通用proteus7.7和keil uvision4仿真調試的實現。單片機應用開發中采用proteus仿真不僅提高了教學和開發質量,而且對于培養學生的自主能力、創新能力、分析和解決問題的能力都起到了潛移默化的作用。
關鍵詞:單片機;六位秒表;定時中斷;LED動態顯示
中圖分類號:TP274 文獻標識碼:A 文章編號:1007-9416(2017)02-0035-02
單片機課程是一門理論實踐性都很強的專業基礎課程,但理論學習必須緊密地與實踐結合起來。當今時代是一個新技術層出不窮的時代,特別是單片機已廣泛應用到國家的經濟建設和日常生活中,成為現代化測控技術必只不過所必不可少的重要工具,單片機體積小、功能強、成本低等優點,是智能控制與自動化控制[1]。在單片機應用開發中通過軟件proteus技術仿真出實驗結果,進一步開發產品,提高電子產品制作的效率,還節約了成本。下面以具體智能秒表設計。
1 硬件設計
基于AT89C51單片機所設計的一種六位智能秒表系統,硬件電路部分給出了單片機的最小系統,輸入輸出端口按鍵和數碼管的顯示[2]。時間的顯示是通過LED數碼管動態顯示技術,應用單片機I/O擴展口,設計4個按鍵,分別控制小時,分鐘,秒值,可以通過按鍵來設置時間,還有一個按鍵是清0鍵,保證復位操作,加電秒表會自動開始計時。下面簡答介紹所用到的器件[3,4]。硬件設計框圖如圖1所示。
2 軟件設計
在本系統中,軟件的設計方面主要有兩個方面,一個是主程序,另一個是中斷子程序。主程序任務是實時監測有沒有鍵按下,如果有鍵按下,則應判斷是哪個鍵按下的,如果是小時鍵按下,則小時值加1;如果是分鐘鍵按下,則分鐘值加1;如果是秒鍵按下,則秒值加1;如果是rst鍵按下,則表示復位,各個時間值清0。并且通過led數碼管動態顯示出來。另一個定時中斷服務子程序主要負責自動秒值的計算,如果沒有外部打擾時,六位智能秒表一直工作在計時狀態。如圖2是判斷按鍵部分的流程圖及中斷部分程序代碼。
INT_T:
MOV TL0,#0B0H
MOV TH0,#3CH
INC TCNT
MOV A,TCNT
CJNE A,#20,RETEND
INC SECOND
MOV TCNT,#0
MOV A,SECOND
CJNE A,#60,RETEND
INC MINUTE
MOV SECOND,#0
MOV A,MINUTE
CJNE A,#60,RETEND
INC HOUR
MOV MINUTE,#0
MOV A,HOUR
CJNE A,#24,RETEND
MOV HOUR,#0
MOV MINUTE,#0
MOV SECOND,#0
MOV TCNT,#0
RETEND: RETI
3 系統仿真
通過proteus搭建硬件電路和利用keil uvision4編譯軟件對單片機進行編程,調試,產生HEX可執行文件,加載到AT89C51單片機中,可以實現六位智能秒表的顯示,如圖3所示,并且可以通過按鍵來設置時鐘的時,分,秒,以達到了自動秒表和數字時鐘的完美組合。
4 結語
通過上述的仿真設計,可以清晰看到實驗結果,實現容易,所需器件造價低,操作簡單。單片機應用開發中采用proteus仿真不僅提高了教學和開發質量,改善了教學手段,豐富了教學內容,提高了課堂教學效率,而且對于培養學生的自主能力、創新能力、分析和解決問題的能力都起到了潛移默化的作用。當然,也要注意仿真教學的輔助作用和實際工程能力的重要性,兩者必須相輔相成,相互結合。
參考文獻
[1]雷躍榮,詹旭,杜玲燕,等.基于單片機的只能秒表設計[J].《四川理工學院學報:自然科學報》,2010年第5期.
[2]司尚卓,楊恢東,等.基于單片機的超長時間定時控制器研制[J].微計算機信息,2010,2-2:113-115.
[3]樊清海,劉培培,耿娟平.基于單片機的數字時鐘C語言設計[J].《北華航天工業學院學報》,2010年第6期.
[4]楊遠成,趙創社,雷金利.基于FPGA的數字秒表的設計[J].《裝備制造技術》,2009年第9期.