單片機技術應用項目化教程(C語言版)(第2版) 課件 任務3.3_第1頁
單片機技術應用項目化教程(C語言版)(第2版) 課件 任務3.3_第2頁
單片機技術應用項目化教程(C語言版)(第2版) 課件 任務3.3_第3頁
單片機技術應用項目化教程(C語言版)(第2版) 課件 任務3.3_第4頁
單片機技術應用項目化教程(C語言版)(第2版) 課件 任務3.3_第5頁
已閱讀5頁,還剩8頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

項目3交通燈控制系統(tǒng)任務3.3數(shù)碼管顯示0000-9999明確任務任務:采用數(shù)碼管動態(tài)驅(qū)動方式來實現(xiàn)循環(huán)顯示0000-9999。

本任務要求顯示4位數(shù)據(jù),顯然需要4個數(shù)碼管。如果按照任務一單片機直接驅(qū)動數(shù)碼管靜態(tài)顯示方式,那么需要32個口,但是單片機只有32口,就不能再與外界進行其他信息交換了,是對單片機資源的浪費,如果采用任務3.2,可以很好的實現(xiàn),但是成本可能比較高。知識鏈接

一、數(shù)碼管動態(tài)驅(qū)動原理

所謂動態(tài)顯示,就是一位一位的輪流點亮各位數(shù)碼管,對于每一個數(shù)碼管來說,每隔一段時間點亮一次。

若數(shù)碼管的位數(shù)不大于8位,則控制數(shù)碼管COM口,只需一個I/O口(位碼掃描口),控制各位數(shù)碼管所顯示的字形也需要一個8位口(稱為段碼數(shù)據(jù)口)。

動態(tài)顯示的硬件接法是將所有的數(shù)碼管的段選線并在一起,接到一個8位的I/O接口上,而位選線則分開接到各自的I/O線上。

由于各LED的段選線是并到一起的,如果不加控制,在送顯示字模時各LED會顯示同樣的內(nèi)容,怎么解決這一問題?

動態(tài)掃描用分時的方法輪流控制各個數(shù)碼管的COM端,使各個數(shù)碼管輪流點亮。在輪流點亮數(shù)碼管的掃描過程中,每位數(shù)碼管的點亮時間極為短暫。但由于人的視覺暫留現(xiàn)象及發(fā)光二極管的余輝,給人的印象就是一組穩(wěn)定的顯示數(shù)據(jù)。

優(yōu)點:當顯示位數(shù)較多時,采用動態(tài)顯示方式比較節(jié)省I/O口,硬件電路也較靜態(tài)顯示簡單。

缺點:其穩(wěn)定度不如靜態(tài)顯示方式。而且在顯示位數(shù)較多時CPU要輪番掃描,占用CPU較多的時間。二、編程技巧

根據(jù)動態(tài)驅(qū)動原理,要想動態(tài)驅(qū)動數(shù)碼管顯示4位或更多位數(shù)據(jù)必須逐個顯示,利用人眼視覺分辨率較低來進行實現(xiàn)。

將要顯示段碼和控制位碼同時送出,其他控制位碼無效,延時后更換下一個數(shù)據(jù)。第1位數(shù)碼管段碼位碼顯示延時第2位數(shù)碼管段碼位碼顯示延時三、硬件電路圖四、軟件設計與編程

(1)數(shù)碼管動態(tài)顯示1234成靜止狀態(tài)

注意:四位一體數(shù)碼管為共陽型,段碼低電平有效,位碼高電平有效(可接上拉電阻提高驅(qū)動能力)。

P2=0X01; //第一個數(shù)碼管位碼P1=SMG[1]; //第一個數(shù)碼管顯示1delay();//延時P2=0X02; //第二個數(shù)碼管位碼P1=SMG[2]; //第二個數(shù)碼管顯示2delay(); //延時P2=0X04; //第三個數(shù)碼管位碼P1=SMG[3]; //第三個數(shù)碼管顯示3delay();P2=0X08;//第三個數(shù)碼管位碼P1=SMG[4]; //第四個數(shù)碼管顯示4delay();思考:如果1、2、3、4,顯示不明顯、出現(xiàn)逐個顯示或是抖動,應該怎么處理?(2)循環(huán)顯示0000-9999數(shù)字

理解兩種動,一是同一組數(shù)據(jù)上的動態(tài)顯示;二是數(shù)據(jù)本身是在不斷不換的動。在程序設計時,采用讓數(shù)據(jù)動態(tài)顯示多次(如100次)后,數(shù)據(jù)內(nèi)容再加1。

動態(tài)顯示各位數(shù)據(jù)i自加數(shù)據(jù)加1,數(shù)據(jù)處理i>100是否用數(shù)碼管顯示多于2位數(shù)的整數(shù)時,需要把整數(shù)的各個位給拆解成0~9中的數(shù),然后分別進行顯示。利用算術運算中的“/”和

“%”進行整數(shù)各位的拆解:先拆解高位再拆解低位:如1234拆解,1234/1000=1得到千位數(shù)1,1234/100%10=2得到百位數(shù)2,1234/10%10=3得到十位數(shù)3,1234%10=4得到個位數(shù)4。規(guī)律:要拆解某位數(shù),先除以該數(shù)所在位的權,然后再對10進行求余。任務實施1.學生分組,制定方案。2.查閱資料,設計電路原理圖,列出元件清單。3.準備元件及工具,搭接電路

溫馨提示

  • 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

提交評論