找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 127|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

51單片機時鐘,匯編代碼

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:1132023 發(fā)表于 2025-5-17 11:23 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
實驗一 數(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)

51hei2.png

51hei1.png (96.79 KB, 下載次數(shù): 0)

51hei1.png

c51.zip

44.52 KB, 下載次數(shù): 0, 下載積分: 黑幣 -5

代碼

fz.zip

42.17 KB, 下載次數(shù): 0, 下載積分: 黑幣 -5

PROTEUS仿真

評分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復(fù) 返回頂部 返回列表