?整體框架:
時鐘部分:
?數碼管動態(tài)顯示:
1.數碼管(共陰極)如何顯示數字:位選+段選(單個)
位選:138譯碼器通過P22、P23、P24三個端口輸入二進制數(011、000等)來選擇連同譯碼器右邊的哪一條線,而這些線又分別連著數碼管的LED12345678、決定選擇哪一個來顯示數字
段選:決定輸出什么數字,數碼管下方又連著一個編譯器,編譯器的右端連接每個的abcdefg決定哪一根管亮,左邊為二進制輸入,0為亮、1為不亮。
?如何動態(tài)顯示:(多個同時由數字)
位選 段選 消影?位選 段選 消影 (輸出掃描)
寫法:
首先設置一個函數smg(x,y),x代表位選變量,y代表段選變量。
位選:case01234567代表位選編譯器中選中哪一根線
?段選:設置一個一維數組存儲0123456789,在調取數組內的元素代表要用什么數字
?
最后調用函數即可:
?即位選7,段選2(顯示2數字)。?
如何計時:
定時器構成:
?
計時單元:
? ? ? ? ? ? 計時原理:常用左上的開關選擇處(C/T'=0)圈起來部分為定時器儲存部分,每來一個脈? ? ? ? ? ? ? ? ? 沖這部分加1實現計時功能。
時鐘:???????SYSclk為系統(tǒng)自帶時鐘,頻率為11.0592,為計時單元提供脈沖。
中斷系統(tǒng):(單片機通過配置寄存器來進行內部電路的連接)電路圖為第二張圖的下半部分。
? ? ? ? ? ? ? ? ? ?通過配置手冊的設置寄存器如TF=0等一系列使得第二圖定時器與中斷系統(tǒng)電路連
? ? ? ? ? ? ? ? ? ? 通起來,實現中斷作用。
? ? ? ? ? ? ? ? ? ?(注:這一部分不是很懂。)
?
?以上連起來實現了時鐘的計時走動功能,接下來通過獨立按鍵來實現時鐘的可調功能。
實現時鐘可調功能:
利用獨立按鍵調節(jié):
用shi、fen、miao代表。
四個獨立按鍵對應四個接口,P31、P30、P32、P33,等于0時表示按下。(用if語句,當等于0時執(zhí)行什么操作。)
技巧:可給這些口命名,則后續(xù)寫代碼時方便。
?使按下調整時間按鍵時閃爍:
原理:定義一個量(Timesetflashflag),利用定時中斷程序使得數碼管上的數每隔一段時間不顯示,(Timesetflashflag==0時不顯示,=1時顯示)則產生閃爍的效果
再用一個if語句讓其再按鍵按下的情況且imesetflashflag==0的情況下,使得數碼管顯示不顯示。
鬧鐘部分:
設置時鐘:
與時鐘調節(jié)部分相同。這是此時用shi1、fen1、miao1代表。
按鍵調節(jié):
利用矩陣鍵盤來進行:(輸入掃描)
對比獨立按鍵與之原理相似。
例:按行掃描,如圖101那三條線代表選擇哪一行,0表示選中。
? ? ? ? 剩下四條線代表選中的行中的哪一個。
? ? ? ? 按列掃描的話,則是從那個下面開始數下面的三條線代表選中那一列,上面四條線代表選中? ? ? ? ? ? 這列的哪一個。????????
?鬧鐘響:文章來源:http://www.zghlxwxcb.cn/news/detail-742617.html
利用蜂鳴器,當shi1=shi、fen1=fen、miao1=miao時,則蜂鳴器就響。文章來源地址http://www.zghlxwxcb.cn/news/detail-742617.html
到了這里,關于51單片機(數碼管可調時鐘)的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網!