新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 基于單片機設計的電子計時牌

        基于單片機設計的電子計時牌

        作者: 時間:2012-06-19 來源:網絡 收藏
        3.2 讀程序分析

          讀一字節子程序同寫一字節子程序是一個道理,首先可設置循環計數值為8,以便為讀取一個8位字節數據做準備,然后在串行時鐘下降沿從P0.2端口讀取一位時鐘數據到C,以進行帶進位的累加器循環右移,這樣,循環8次后,即完成了一個字節時鐘數據的讀取。其結果存放到累加器ACC中。具體讀取一字節數據的程序如下:

          程序

          3.3 安全生產天數的計算

          本系統中的一項功能就是顯示當前的安全生產天數。要得出安全生產天數值,首先應在單片機的內存單元中設定好安全生產天數的起點日期,同時設定一個基準時間,這樣就可以計算出設置的安全生產天數起點日期到這個基準時間的天數,也就是起點的累計天數。然后,當每次讀取時鐘芯片日歷時鐘數據時,系統就會計算出當前讀到的日期到基準時間的天數,也就是當前日期的累計天數,兩個累計天數之差即是要顯示的安全生產天數。

          4 實時監控系統的設計

          本系統的主程序用于完成數據的初始化以及T0定時器的設置等,其它任務均放到定時中斷程序中來執行。圖3所示為其中斷服務程序流程圖。中斷服務程序首先要判斷是否有按鍵按下,即是否進人數據設置狀態?如果不是在設置狀態,就要從時鐘芯片讀取要顯示的數據,以及把每一項顯示緩沖區的數據送數碼管顯示。如果是在設置狀態下,則設置每0.25 s刷新顯示一次數據。

          中斷服務程序流程圖

          若在設置狀態下,則意味著有按鍵按下,那么就要讀取相應的按鍵。本設計中如果按鍵在設置狀態下,不進行相應的數據調整操作,則保存設置的數據,并退出設置狀態。讀鍵時,首先讀出其鍵碼并保存。然后判斷鍵碼穩定否,如果不穩定,說明按鍵已經響應,則不進行數據調整。如果鍵碼穩定,則再判斷是否是調整鍵,如果是調整鍵,則調整修改指針,即每按一次調整鍵,修改指針加一,并進行下一項數據的修改。修改指針一般從安全天數的千、百、十、個到年、

          月、日、星期再到小時、分。如果一開始按下的按鍵不是調整鍵,則不會進入設置狀態。在調整鍵已經響應的情況下,如果再讀到有鍵按下的信號,那么,當其不是調整鍵時,進入數據修改狀態,以進行相應數據的調整。注意:在設置狀態下,每次操作均清除時鐘,以便計時退出。調整好相應數據后,即可保存數據并進行數據的顯示。

          5 數據的顯示

          本設計中采用16片8位串行輸入/并行輸出74HC164N和數碼管來進行串行移位顯示。所用數碼管是共陽極的8段數碼管。由于分成三組輸出來顯示數據,因此,設計時把安全生產天數和溫度顯示部分的74HC164N時鐘線連在一起接到單片機的P0.5,而把年月日星期顯示部分的74HC164N時鐘線連在一起接到單片機的P0.7,另外,把時鐘顯示部分的74HC164N時鐘線連在一起接到單片機的P1.0。

          6 結束語

          本設計在完成過程中進行了多次的試驗,尤其是在對溫度的讀取方面,得到了很多老師的指導,在此一并感謝。


        上一頁 1 2 下一頁

        評論


        技術專區

        關閉
        主站蜘蛛池模板: 栾城县| 镇安县| 高安市| 赣榆县| 昌平区| 宁陵县| 赫章县| 通化市| 松潘县| 城固县| 临江市| 繁昌县| 休宁县| 内黄县| 谷城县| 平舆县| 元谋县| 盐亭县| 横峰县| 内黄县| 饶河县| 富源县| 镇平县| 余姚市| 宣化县| 禄丰县| 德州市| 崇文区| 龙门县| 山丹县| 汕尾市| 青铜峡市| 巫山县| 呼和浩特市| 邵武市| 松滋市| 塔城市| 车险| 福清市| 南通市| 寻乌县|