<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 51單片機(jī)學(xué)習(xí)記錄——數(shù)碼管動態(tài)顯示

          51單片機(jī)學(xué)習(xí)記錄——數(shù)碼管動態(tài)顯示

          作者: 時間:2016-11-19 來源:網(wǎng)絡(luò) 收藏
          正在學(xué)習(xí)51的數(shù)碼管以及中斷,打算利用六位數(shù)碼管實(shí)現(xiàn)一個時鐘的功能。

          但使用數(shù)碼管輸出時,如果不添加延時語句,那么一直有顯示混亂的現(xiàn)象,有時完全無法分辨清楚數(shù)字。

          本文引用地址:http://www.ex-cimer.com/article/201611/318260.htm

          如果在傳送完數(shù)據(jù)以后延時1ms,顯示混亂情況會好轉(zhuǎn)。

          同時發(fā)現(xiàn)延時的時間越長,顯示效果越好。但是當(dāng)然,相應(yīng)的顯示穩(wěn)定程度也會下降,即數(shù)碼管閃爍。

          程序中在送完段選數(shù)據(jù)以后已經(jīng)使用了參考書中的“消影”語句:

          1 dula=1;2 P0=table[k];3 dula=0;4 P0=0xff;//“消影”

          可是這個語句只是在有延時的情況下才有效果,如果我不寫延時語句,那么顯示依舊混亂。

          雖然在顯示過程延時不會影響中斷的計(jì)時,但是我總不想依賴for語句寫出來的延時。= =

          于是自己就嘗試了很多方法,想要解決這個問題,我的目標(biāo)就是不寫延時語句讓數(shù)碼管正常顯示。

          我有試過先向P0傳送數(shù)據(jù),然后打開鎖存器,馬上關(guān)閉。

          如:

          1 P0=table[k];2 dula=1;3 dula=0;

          但是問題依舊

          也嘗試過在打開任一鎖存器之前,再鎖一次另一鎖存器(即送一次低電平),仍然無效。

          最后發(fā)現(xiàn)需要在輸出數(shù)據(jù)之前加這么一段代碼:

          1         P0=0xff;2         wela=1;3         wela=0;4         P0=0x00;5         dula=1;6         dula=0;//初始化消除干擾

          加了這段代碼,數(shù)碼管顯示不再混亂。語句的功能就類似于初始化一下鎖存器的內(nèi)容。

          經(jīng)過兩天的研究,終于明白了期中的貓膩?,F(xiàn)在發(fā)出來跟大家分享一下:(轉(zhuǎn)載請說明出處)

          數(shù)碼管之所以有“影”,根本原因是段選,位選數(shù)據(jù)無法同時送達(dá)。

          具體解釋一下:當(dāng)我改變了位選的值后(改變了要顯示的數(shù)碼管),接下來才改變段選的值(改變要顯示的數(shù)字)。而在這中間有微小的時間間隔,位選的值改變了,但是段選的值沒變。也就是說,我改變了要顯示的數(shù)碼管,但是這個數(shù)碼管顯示的是上一個數(shù)碼管的數(shù)字!想到這里,我有如醍醐灌頂,豁然開朗!當(dāng)然,反之亦然,如果你是先段選再位選,同樣有問題。請大家自己考慮。

          所以不難解釋上面那段代碼的作用了,就是在輸出之前將之前那個數(shù)碼管顯示空(或者不選擇任何數(shù)碼管)。

          所以顯然這個初始化代碼還可以簡化,但是要取決于你是先段選還是先位選。如果先位選,那么就要清空段選數(shù)據(jù)。

          1 P0=0x00;2 dula=1;3 dula=0;

          反過來也一樣。如果先段選,那么清空位選數(shù)據(jù)即可。

          百度百科有人問了一個差不多的問題,這里引用過來供大家參考:

          經(jīng)驗(yàn)總結(jié):數(shù)碼管的顯示,段選數(shù)據(jù)和位選數(shù)據(jù)要緊貼,中間不要夾雜其他語句。換句話說,計(jì)算在先,最后一次性傳送數(shù)據(jù)。



          評論


          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();