|
實驗一 數碼管顯示
一、實驗內容
在 4 位數碼管上精確地顯示時間的分鐘秒信息,并且能夠每秒自動更新顯示內容,以實時反映時間的流逝。通過外部開關的閉合動作,將系統切換至時間設置模式。在此模式下,借助不同的開關操作,實現對當前時間的加 1 和減 1 調整,從而完成時間的設置功能
二、方案設計
(一)硬件設計
選用 AT89C51 單片機作為核心控制單元,充分利用其豐富的內部資源與強大的控制能力。
對于 4 位數碼管,采用共陽極連接方式,通過單片機的 P0 口連接數碼管的段選線,以實現對數碼管各段顯示內容的精確控制;利用 P2 口作為位選控制端口,精準地控制每個數碼管的顯示與否,確保時間信息能夠準確無誤地在相應數碼管上顯示。
將時間設置開關分別連接至單片機的 P1.0(斷開開關以時間設置),P1.1(用于加 1 操作)和 P1.2(用于減 1 操作)引腳,通過對這些引腳電平狀態的監測,及時捕捉開關動作,進而觸發相應的時間設置處理程序。
(二)軟件設計
單片機定時器經初始化設定,以產生周期為 10ms 的中斷信號。在中斷服務程序內,設有一計數變量,每次中斷發生時,該變量自動累加。當累計次數達 100 時,此即表示已歷經 1 秒時長,此刻便對寄存器 R2 予以更新,作為時間更新的關鍵依據。在主程序循環中,持續監測 R2 值。一旦 R2 大于 10,意味著秒數個位已達進位條件,隨即對十位秒緩存值進行更新。同時,系統依照相同邏輯,依次對十位秒、分、十位分的緩存值展開判斷與更新操作。例如,當秒數累滿 60,分鐘緩存值遞增;分鐘累滿 60,則十位分鐘緩存值相應改變,以此確保時間數據的準確推進與更新。對于按鍵控制,當讀取到P1.0呈現低電平時,立即暫停定時器運行,P1.1,P1.2用于更新時間。
|
-
51hei2.png
(125.82 KB, 下載次數: 0)
下載附件
2025-5-17 15:16 上傳
-
51hei1.png
(96.79 KB, 下載次數: 0)
下載附件
2025-5-17 15:16 上傳
-
-
c51.zip
2025-5-17 11:18 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
44.52 KB, 下載次數: 0, 下載積分: 黑幣 -5
代碼
-
-
fz.zip
2025-5-17 11:18 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
42.17 KB, 下載次數: 0, 下載積分: 黑幣 -5
PROTEUS仿真
評分
-
查看全部評分
|