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