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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 基于PIC12C508的LED顯示電路

          基于PIC12C508的LED顯示電路

          作者: 時間:2011-05-18 來源:網(wǎng)絡(luò) 收藏

          0 引 言
          LED顯示以其使用方便,價格低廉等優(yōu)點(diǎn)而得到廣泛應(yīng)用。它的顯示接口按驅(qū)動方式可分為靜態(tài)顯示和動態(tài)顯示兩種。靜態(tài)顯示雖然亮度高,無閃動,但具有功耗大,占I/O口多,成本高等缺點(diǎn)。在I/O口緊張的情況下大多采用動態(tài)顯示方式。目前,市場上有許多專用的動態(tài)顯示接口芯片可供選擇。但是,這些芯片價格普遍較高,而不適合在廉價系統(tǒng)中應(yīng)用。有些專用芯片(如MC14489)采用硬件譯碼方式,顯示的信息量有限,難以滿足各種要求,影響了它的應(yīng)用。在此介紹一種價格低廉,效果良好的LED動態(tài)顯示電路,通過軟件譯碼,串行顯示方式,節(jié)省大量I/O線,不僅能顯示數(shù)字,而且可以顯示大部分英文字母。

          1 硬件說明及工作原理
          主要硬件包括:單片機(jī),2片移位寄存器74HC595,8個LED數(shù)碼管,8個220 Ω左右的限流電阻。
          1.1 的介紹
          是MICROCHIP公司開發(fā)的具有低價格、低功耗、高性能、8位、全靜態(tài)等特點(diǎn)的CMOS單片機(jī)。它采用RISC結(jié)構(gòu),有著廣泛的應(yīng)用范圍,尤其適用于便攜式電子產(chǎn)品。
          PIC12C508引腳圖(見圖1)說明如下:
          GP0:雙向輸入/輸出端口/串行編程數(shù)據(jù)端;
          GP1:雙向輸入/輸出端口/串行編程時鐘端;
          GP2:雙向I/O端口;
          GP3:輸入端口;
          GP4:雙向I/O端口;
          GP5:雙向I/O端口。
          1.2 74HC595的介紹
          74HC595具有8位移位寄存器,1個存儲器和三態(tài)輸出功能。移位寄存器為串行輸入,8位并行(或串行)輸出。移位寄存器和存儲器分別是時鐘、數(shù)據(jù)在SR-CLK上升沿的輸入并移位:Q0→Q1→Q2→…→Q7,在RCLK上升沿進(jìn)入存儲寄存器。當(dāng)E為低電平時,存儲寄存器的數(shù)據(jù)輸出到總線。74HC595引腳圖(見圖2)功能如下:

          Q0~Q7:并行數(shù)據(jù)輸出端;
          Q7':級聯(lián)輸出端;
          SRCLK:移位寄存器的時鐘脈沖輸入端;
          RCLK:存儲寄存器的時鐘脈沖輸人端;
          SER:串行數(shù)據(jù)輸入端;
          E:輸出有效(低電平);
          SRCLR:主復(fù)位(低電平)。


          上一頁 1 2 3 下一頁

          關(guān)鍵詞: PIC12C508 LED顯示電路

          評論


          相關(guān)推薦

          技術(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); })();