找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 922|回復(fù): 0
收起左側(cè)

一個(gè)單片機(jī)七段數(shù)碼管顯示設(shè)計(jì)文檔

[復(fù)制鏈接]
ID:1128134 發(fā)表于 2024-7-4 15:16 | 顯示全部樓層 |閱讀模式
這是我學(xué)習(xí)過(guò)程中設(shè)計(jì)的一個(gè)七段數(shù)碼管的顯示。完成了用一個(gè)七段數(shù)碼管,在數(shù)碼管上順序顯示0~F,顯示間隔1s

請(qǐng)解決如下問(wèn)題:
1.使用一個(gè)七段數(shù)碼管,在數(shù)碼管上順序顯示0~F,顯示間隔1s。
2.使用 8個(gè)七段數(shù)碼管,完成一個(gè)數(shù)字鐘,顯示效果:23 -59 -59。 要求計(jì)時(shí)準(zhǔn)確,顯示清晰,穩(wěn)定,同時(shí)具有基本功能:①4個(gè)按鍵,一個(gè)模式鍵,一個(gè)+鍵,一個(gè)-鍵,一個(gè)清零鍵;②校時(shí)功能,調(diào)整小時(shí)和分鐘;③清零功能。附加功能:①增加鬧鐘功能,鬧鐘到時(shí)進(jìn)行聲音提示;②增加倒計(jì)時(shí)功能,歸零時(shí)進(jìn)行聲音提示;③增加使用聲、光進(jìn)行整點(diǎn)報(bào)時(shí)的功能。

目錄

機(jī)械與電子信息學(xué)院通信工程系    1
一 實(shí)驗(yàn)要求    3
1.1用一個(gè)七段數(shù)碼管,在數(shù)碼管上順序顯示 0~F。    3
1.2用 8個(gè)七段數(shù)碼管,完成一個(gè)數(shù)字鐘。    3
二 實(shí)驗(yàn)方案    3
2-1-1 硬件準(zhǔn)備    3
2-1-2 代碼編寫(xiě)思路    3
2-2-1 硬件準(zhǔn)備    3
2-2-2 代碼編寫(xiě)思路    3
三 硬件電路實(shí)現(xiàn)    4
四 測(cè)試方法及結(jié)果    5
六 心得體會(huì)    5
6-1 遇到的困難及解決方法    5
6-1-1 軟件編程挑戰(zhàn)    5
6-1-2 功能整合難題    5
6-1-3  測(cè)試與調(diào)試    5
6-2 學(xué)習(xí)與鞏固    5
6-2-1軟件編程技能    5
6-2-1問(wèn)題解決能力    5

一 實(shí)驗(yàn)要求
1.1用一個(gè)七段數(shù)碼管,在數(shù)碼管上順序顯示 0~F。
使用一個(gè)七段數(shù)碼管,在數(shù)碼管上順序顯示 0~F,顯示間隔 1s。
1.2用 8個(gè)七段數(shù)碼管,完成一個(gè)數(shù)字鐘。
使用 8個(gè)七段數(shù)碼管,完成一個(gè)數(shù)字鐘,顯示效果:23-59-59。要求計(jì)時(shí)準(zhǔn)確,顯示清晰,穩(wěn)定,同時(shí)具有基本功能:①4個(gè)按鍵,一個(gè)模式鍵,一個(gè)+鍵,一個(gè)-鍵,一個(gè)清零鍵;②校時(shí)功能,調(diào)整小時(shí)和分鐘;③清零功能。附加功能:①增加鬧鐘功能,鬧鐘到時(shí)進(jìn)行聲音提示;②增加倒計(jì)時(shí)功能,歸零時(shí)進(jìn)行聲音提示;③增加使用聲、光進(jìn)行整點(diǎn)報(bào)時(shí)的功能。

二 實(shí)驗(yàn)方案
2-1-1 硬件準(zhǔn)備:本次實(shí)驗(yàn)由Proteus仿真實(shí)現(xiàn)。
2-1-2 代碼編寫(xiě)思路:設(shè)置定時(shí)器中斷,每隔1秒觸發(fā)一次。在中斷服務(wù)程序中改變顯示的數(shù)值。使用七段數(shù)碼管的譯碼函數(shù)將十六進(jìn)制數(shù)轉(zhuǎn)換為對(duì)應(yīng)的七段顯示輸出。

2-2-1 硬件準(zhǔn)備:本次實(shí)驗(yàn)由Proteus仿真實(shí)現(xiàn)。
2-2-2 代碼編寫(xiě)思路:使用實(shí)時(shí)操作系統(tǒng)或裸機(jī)編程,根據(jù)優(yōu)先級(jí)分配任務(wù)。實(shí)現(xiàn)一個(gè)定時(shí)器中斷服務(wù)程序(ISR),用于獲取精確的時(shí)間。設(shè)計(jì)主循環(huán)負(fù)責(zé)更新顯示和檢測(cè)按鍵輸入。編寫(xiě)函數(shù)將時(shí)間格式化為兩位數(shù)(小時(shí)、分鐘、秒),并在數(shù)碼管上顯示。循環(huán)遍歷八個(gè)數(shù)碼管,顯示當(dāng)前時(shí)間。
  使用按鍵切換顯示模式(正常時(shí)間、校時(shí)、鬧鐘設(shè)置、倒計(jì)時(shí)等)。在校時(shí)模式下調(diào)整小時(shí)和分鐘,倒計(jì)時(shí)模式下遞增/遞減剩余時(shí)間。用請(qǐng)零鍵在任何模式下都能重置時(shí)間為0或取消鬧鐘。 當(dāng)處于校時(shí)模式時(shí),+鍵和-鍵用來(lái)調(diào)整小時(shí)和分鐘。校時(shí)完成后,按下模式鍵返回正常顯示模式。

四 測(cè)試方法及結(jié)果
具體如視頻所示,將keil編寫(xiě)的代碼導(dǎo)入芯片后進(jìn)行運(yùn)行即可。
六 心得體會(huì)
6-1 遇到的困難及解決方法
6-1-1 軟件編程挑戰(zhàn)
   - 困難:在編寫(xiě)程序時(shí),我發(fā)現(xiàn)自己對(duì)于中斷服務(wù)程序的理解不夠深入,導(dǎo)致計(jì)時(shí)不準(zhǔn)確。
   - 解決方法:我查閱了大量的資料,并在網(wǎng)上尋找相關(guān)教程,逐步理解了中斷的工作原理和編程技巧。通過(guò)反復(fù)實(shí)驗(yàn)和修改,終于實(shí)現(xiàn)了準(zhǔn)確的計(jì)時(shí)功能。

6-1-2 功能整合難題
   - 困難:如何有效地整合校時(shí)、清零、鬧鐘和倒計(jì)時(shí)等功能,而不影響整體性能?
   - 解決方法:我采用了分層設(shè)計(jì)的方法,將每個(gè)功能獨(dú)立出來(lái),然后通過(guò)主程序協(xié)調(diào)它們的工作。這樣既保證了功能的完整性,又不會(huì)相互干擾。


6-1-3  測(cè)試與調(diào)試
   - 困難:在仿真時(shí),發(fā)現(xiàn)某些功能偶爾會(huì)出現(xiàn)異常。
   - 解決方法:我記錄下了所有異常情況,逐一分析原因,找到了幾個(gè)關(guān)鍵的bug,并及時(shí)修正。

6-2 學(xué)習(xí)與鞏固

6-2-1軟件編程技能
   - 掌握了C/C++語(yǔ)言在嵌入式系統(tǒng)中的應(yīng)用。
   - 學(xué)會(huì)了如何編寫(xiě)高效的中斷服務(wù)程序和定時(shí)器中斷。
   - 學(xué)會(huì)了如何編寫(xiě)用戶友好的界面代碼。

6-2-1問(wèn)題解決能力
   - 學(xué)會(huì)了如何快速定位問(wèn)題并提出解決方案。
   - 學(xué)會(huì)了如何從錯(cuò)誤中學(xué)習(xí),不斷提高自己。



51hei.png
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

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