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

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 單片機(jī)驅(qū)動(dòng)數(shù)碼管顯示設(shè)計(jì)

          單片機(jī)驅(qū)動(dòng)數(shù)碼管顯示設(shè)計(jì)

          作者: 時(shí)間:2013-01-15 來(lái)源:網(wǎng)絡(luò) 收藏

          ②靜態(tài)顯示驅(qū)動(dòng):靜態(tài)驅(qū)動(dòng)也稱(chēng)直流驅(qū)動(dòng)。靜態(tài)驅(qū)動(dòng)是指每個(gè)數(shù)碼管的每一個(gè)段碼都由一個(gè)的I/O端口進(jìn)行驅(qū)動(dòng),或者使用如BCD碼二-十進(jìn)制譯碼器譯碼進(jìn)行驅(qū)動(dòng)。靜態(tài)驅(qū)動(dòng)的優(yōu)點(diǎn)是編程簡(jiǎn)單,顯示亮度高,缺點(diǎn)是占用I/O端口多,如驅(qū)動(dòng)5個(gè)數(shù)碼管靜態(tài)顯示則需要5×8=40根I/O端口來(lái)驅(qū)動(dòng),要知道一個(gè)89S51可用的I/O端口才32個(gè)呢:),實(shí)際應(yīng)用時(shí)必須增加譯碼驅(qū)動(dòng)器進(jìn)行驅(qū)動(dòng),增加了硬件電路的復(fù)雜性。

          前面我們學(xué)習(xí)了數(shù)碼管的基礎(chǔ)知識(shí),現(xiàn)在馬上來(lái)看看S51增強(qiáng)型實(shí)驗(yàn)板的數(shù)碼管吧(圖4),S51實(shí)驗(yàn)板上有5位高亮度共陽(yáng)數(shù)碼管DG1~DG5,可以用來(lái)做計(jì)數(shù)器(最大計(jì)數(shù)值99999)、溫度顯示、電子鐘等顯示實(shí)驗(yàn),掌握數(shù)碼管的靜態(tài)顯示驅(qū)動(dòng)和動(dòng)態(tài)顯示驅(qū)動(dòng)。

          點(diǎn)擊瀏覽下一頁(yè)
          圖4

          S51增強(qiáng)型實(shí)驗(yàn)板的數(shù)碼管驅(qū)動(dòng)原理圖如下圖5所示。

          點(diǎn)擊瀏覽下一頁(yè)
          圖5

          從原理圖可以看出,S51增強(qiáng)型實(shí)驗(yàn)板中數(shù)碼管的段碼a,b,c,d,e,f,g,dp分別與的P0.0~P0.7相連,控制數(shù)碼管中顯示的字形;數(shù)碼管的位選通由5個(gè)PNP三極管控制,分別接到單片機(jī)的P2.0、P2.1、P2.2、P2.3、P2.4端口上,程序中通過(guò)控制P2.0~P2.4端口的輸出電平就可以控制數(shù)碼管的顯示與關(guān)閉。如P2.0輸出低電平時(shí),三極管T1導(dǎo)通,+5V電源加到第一個(gè)數(shù)碼管的COM端,那么第一個(gè)數(shù)碼管DG1就會(huì)顯示出相應(yīng)的數(shù)字,顯示的數(shù)字由單片機(jī)P0.0~P0.7輸出段碼決定,當(dāng)P2.0輸出高電平時(shí),三極管T1截止,數(shù)碼管DG1就不顯示,從而實(shí)現(xiàn)數(shù)碼管位選通控制。同理,當(dāng)P2.1輸出低電平時(shí),則數(shù)碼管DG2顯示。。。

          單片機(jī)驅(qū)動(dòng)數(shù)碼管的靜態(tài)顯示編程

          上面我們學(xué)習(xí)了一大堆的理論知識(shí),對(duì)數(shù)碼管已經(jīng)有了較全面的認(rèn)識(shí),是否躍躍欲試了呀!馬上動(dòng)手編一個(gè)簡(jiǎn)單的程序驗(yàn)證一下理論吧,現(xiàn)在我們編程讓實(shí)驗(yàn)板上的第一個(gè)數(shù)碼管DG1顯示數(shù)字“6”,最終的實(shí)驗(yàn)效果見(jiàn)上面圖4所示。

          啟動(dòng)Keil C51單片機(jī)集成開(kāi)發(fā)環(huán)境,新建一個(gè)工程,工程命名為smg1.uv2,(不懂如何建立新工程的初學(xué)者請(qǐng)看網(wǎng)頁(yè) 手把手教你建立Keil工程),打開(kāi)一個(gè)文本編輯窗,在文本編輯窗中輸入如下代碼:

          ;********** 下面是"6"的程序 **********

          MAIN:CLR P0.0;P0.0輸出低電平,點(diǎn)亮數(shù)碼管段碼"a"
           SETBP0.1;P0.1輸出高電平,熄滅數(shù)碼管段碼"b"
           CLR P0.2;P0.2輸出低電平,點(diǎn)亮數(shù)碼管段碼"c"
           CLR P0.3;P0.3輸出低電平,點(diǎn)亮數(shù)碼管段碼"d"
           CLR P0.4;P0.4輸出低電平,點(diǎn)亮數(shù)碼管段碼"e"
           CLR P0.5;P0.5輸出低電平,點(diǎn)亮數(shù)碼管段碼"f"
           CLR P0.6;P0.6輸出低電平,點(diǎn)亮數(shù)碼管段碼"g"
           SETBP0.7;P0.7輸出高電平,熄滅數(shù)碼管小數(shù)點(diǎn)段碼"dp"

           CLR P2.0;P2.0輸出低電平,選通數(shù)碼管DG1
           SETBP2.1;P2.1輸出高電平,不選通數(shù)碼管DG2
           SETBP2.2;P2.2輸出高電平,不選通數(shù)碼管DG3
           SETBP2.3  ;P2.3輸出高電平,不選通數(shù)碼管DG4
           SETBP2.4;P2.4輸出高電平,不選通數(shù)碼管DG5

           AJMPMAIN;跳轉(zhuǎn)到開(kāi)始重新進(jìn)行
           END ;程序結(jié)束

          注:程序中分號(hào)“;”后面的中文為每一行程序的注釋?zhuān)欠奖阄覀冮喿x程序的,可以不輸入。

          上面的源程序輸入完畢后,保存為"smg1.asm",然后添加到工程smg1.uv2中,最后源程序經(jīng)過(guò)編譯得到目標(biāo)文件"smg1.hex"(見(jiàn)下面的圖6所示),不熟悉Keil工程建立、設(shè)置及源程序編譯等詳細(xì)操作的初學(xué)者請(qǐng)參考網(wǎng)頁(yè) >>> 手把手教你建立Keil工程。>>>

          手機(jī)電池相關(guān)文章:手機(jī)電池修復(fù)


          單片機(jī)相關(guān)文章:單片機(jī)教程


          單片機(jī)相關(guān)文章:單片機(jī)視頻教程


          單片機(jī)相關(guān)文章:單片機(jī)工作原理




          評(píng)論


          相關(guān)推薦

          技術(shù)專(zhuān)區(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); })();