使用單片機控制數(shù)碼管顯示輸出數(shù)字 課件_第1頁
使用單片機控制數(shù)碼管顯示輸出數(shù)字 課件_第2頁
使用單片機控制數(shù)碼管顯示輸出數(shù)字 課件_第3頁
使用單片機控制數(shù)碼管顯示輸出數(shù)字 課件_第4頁
使用單片機控制數(shù)碼管顯示輸出數(shù)字 課件_第5頁
已閱讀5頁,還剩7頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

模塊三——并行接口及其應用使用單片機控制數(shù)碼管顯示輸出數(shù)字3.2使用并行接口點亮數(shù)碼管課堂練習通過proteus虛擬仿真,使用單片機P1口控制數(shù)碼管顯示數(shù)字53.2使用并行接口點亮數(shù)碼管原理圖中為數(shù)碼管連接了一個排阻,其目的是為數(shù)碼管提供點亮的電源,同時串聯(lián)的電阻可以保護數(shù)碼管。原件介紹排阻是一排電阻的簡化形式實質上就是多個電阻,排阻在Proteus中有兩種一種是帶有公共端的名稱為RESPACK不帶公共端的名稱為RX8Proteus中七段數(shù)碼管的英文名稱為7SEG共陽極為AN

共陰極為CATRX8RESPACK3.2使用并行接口點亮數(shù)碼管仿真中所用的數(shù)碼管為共陰極數(shù)碼管代碼分析通過學習已知,欲顯示數(shù)字5,需要先確定其段選碼內(nèi)容(01101101,即0x6DH)即通過P1口輸出0x6D即可控制該數(shù)碼管點亮由此編寫出以下顯示數(shù)字5的驅動程序3.2使用并行接口點亮數(shù)碼管上例中如果讓數(shù)碼管從0顯示到9,且每隔50毫秒就變換一個數(shù)字又該如何實現(xiàn)呢?顯然可以通過編寫一個延時函數(shù)來實現(xiàn)上述功能延時函數(shù)就是通過讓單片機執(zhí)行一些無意義的語句耗費一點CPU的時間,以此達到延緩系統(tǒng)其他語句執(zhí)行的目的但這里涉及到延時50毫秒時間問題,那么又如何確保延時函數(shù)延時了50毫秒呢?3.2使用并行接口點亮數(shù)碼管單片機指令的執(zhí)行時間與系統(tǒng)的頻率密切相關,即使是同一程序在不同的頻率下,同一條指令的執(zhí)行時間也是不同的,但是在相同的頻率下執(zhí)行同一指令的時間是相同的。2.精確調(diào)整的延時函數(shù)①將開發(fā)工程中的單片機晶振頻率調(diào)整為12MHz。此處調(diào)整時鐘頻率,與編譯后生成的代碼無關,僅與使用keil調(diào)試代碼時有關。3.2使用并行接口點亮數(shù)碼管voiddelay(intx){inty,z;

for(y=x;y>0;y--)for(z=120;z>0;z--);

}②編寫延時函數(shù)在這個延時函數(shù)中,會接收一個參數(shù)X,它就是要延時的時長,這個函數(shù)通過測試執(zhí)行一次大約為0.986毫秒,十分接近1毫秒可以近似當做1毫秒。delay()函數(shù)的一次執(zhí)行時間(0.986ms)與晶振的頻率是密切相關的。晶振的頻率越高,delay()的一次執(zhí)行時間就越短。單片機指令的執(zhí)行時間與系統(tǒng)的頻率密切相關,即使是同一程序在不同的頻率下,同一條指令的執(zhí)行時間也是不同的,但是在相同的頻率下執(zhí)行同一指令的時間是相同的。2.精確調(diào)整的延時函數(shù)3.2使用并行接口點亮數(shù)碼管單片機指令的執(zhí)行時間與系統(tǒng)的頻率密切相關,即使是同一程序在不同的頻率下,同一條指令的執(zhí)行時間也是不同的,但是在相同的頻率下執(zhí)行同一指令的時間是相同的。2.精確調(diào)整的延時函數(shù)③程序編寫完成后,點擊工具欄上的圖標,會出現(xiàn)程序調(diào)試窗口。工具欄上的和就分別表示單步執(zhí)行和跳過函數(shù)繼續(xù)執(zhí)行。配合這兩個工具按鈕以及屏幕左側的系統(tǒng)運行時間,就可以計算得出執(zhí)行一次延時函數(shù)所需要的時間了。兩次時間之差就是延時函數(shù)的延時時長。3.2使用并行接口點亮數(shù)碼管進入設計程序后,我們先點擊,進行單步運行,當程序運行到delay(1)時,我們記下此時系統(tǒng)運行已經(jīng)耗用的時間為0.0039100秒,(1)接著再點擊,執(zhí)行一次delay(1),再記錄一下此時系統(tǒng)的時間為0.00137700秒,二者之差為0.986毫秒。(2)這就是延時函數(shù)執(zhí)行一次所用的時間。(3)3.2使用并行接口點亮數(shù)碼管在擁有了比較精確的延時函數(shù)后,我們很容易地用它來制作一個倒計時表。思考:實現(xiàn)數(shù)碼管倒計時的方法?就是依次地從P1口輸出對應的9-0的段選碼,每輸出一個數(shù)字,延時1秒鐘。應用數(shù)組對上面方法進行簡化,就是使用循環(huán)配合數(shù)組,實現(xiàn)9-0的依次輸出。但這種方法代碼書寫的數(shù)量較多,容易寫錯。優(yōu)點易于理解。3.2使用并行接口點亮數(shù)碼管C51的數(shù)組數(shù)據(jù)類型code

數(shù)組名[]={元素1,元素2,......,元素n}注意:定義數(shù)組時使用的code表示將該數(shù)組存放在程序存儲器空間。加了code后,數(shù)組就只能被調(diào)用但不修改!具有只讀性數(shù)組定義方式數(shù)組名[下標]注意:C51中數(shù)組元素的下

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論