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