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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 51單片機與74HC164靜態(tài)顯示接口

          51單片機與74HC164靜態(tài)顯示接口

          作者: 時間:2016-11-23 來源:網絡 收藏
          單片機應用系統(tǒng)中,顯示器顯示常用兩種方法:靜態(tài)顯示和動態(tài)掃描顯示。所謂靜態(tài)顯示,就是每一個顯示器都要占用單獨的具有鎖存功能的I/O接口用于筆劃段字形代碼。這樣單片機只要把要顯示的字形代碼發(fā)送到接口電路,就不用管它了,直到要顯示新的數據時,再發(fā)送新的字形碼,因此,使用這種方法單片機中CPU的開銷小。可以提供單獨鎖存的I/O接口電路很多,這里以常用的串并轉換電路74LS164為例,介紹一種常用靜態(tài)顯示電路,以使大家對靜態(tài)顯示有一定的了解。

          MCS-51單片機串行口方式0為移位寄存器方式,外接6片74LS164作為6位LED顯示器的靜態(tài)顯示接口,把8031的RXD作為數據輸出線,TXD作為移位時鐘脈沖。74LS164為TTL單向8位移位寄存器,可實現(xiàn)串行輸入,并行輸出。其中A、B(第1、2腳)為串行數據輸入端,2個引腳按邏輯與運算規(guī)律輸入信號,共一個輸入信號時可并接。T(第8腳)為時鐘輸入端,可連接到串行口的TXD端。每一個時鐘信號的上升沿加到T端時,移位寄存器移一位,8個時鐘脈沖過后,8位二進制數全部移入74LS164中。R(第9腳)為復位端,當R=0時,移位寄存器各位復0,只有當R=1時,時鐘脈沖才起作用。Q1…Q8(第3-6和10-13引腳)并行輸出端分別接LED顯示器的hg···a各段對應的引腳上。在給出了8個脈沖后,最先進入74LS164的第一個數據到達了最高位,然后再來一個脈沖會有什么發(fā)生呢?再來一個脈沖,第一個脈沖就會從最高位移出,搞清了這一點,下面讓我們來看電路,6片7LS164首尾相串,而時鐘端則接在一起,這樣,當輸入8個脈沖時,從單片機RXD端輸出的數據就進入到了第一片74LS164中了,而當第二個8個脈沖到來后,這個數據就進入了第二片74LS164,而新的數據則進入了第一片74LS164,這樣,當第六個8個脈沖完成后,首次送出的數據被送到了最左面的164中,其他數據依次出現(xiàn)在第一、二、三、四、五片74LS164中。

          驅動程序:

          入口:把要顯示的數分別放在顯示緩沖區(qū)60H-65H共6個單元中,并且分別對應各個數碼管LED0-LED5。

          出口:將預置在顯示緩沖區(qū)中的6個數成相應的顯示字形碼,然后輸出到顯示器中顯示。

          顯示程序如下:

          DISP:MOVSCON,#00H;初始化串行口方式

          MOVR1,#06H;顯示6位數

          MOVR0,#65H;60H-65H為顯示緩沖區(qū)

          MOVDPTR,#SEGTAB;字形表的入口地址

          LOOP:

          MOVA,@R0;取最高位的待顯示數據

          MOVCA,@A+DPTR;查表獲取字形碼

          MOVSBUF,A;送串口顯示

          DELAY:JNBTI,DELAY;等待發(fā)送完畢

          CLRTI;清發(fā)送標志

          DECR0;指針下移一位,準備取下一個待顯示數

          DJNZR1,LOOP;直到6個數據全顯示完。

          RET

          SETTAB:;字形表

          DB03H9FH27H0DH99H49H41H1FH01H09H0FFH

          ;0123456789消隱碼

          測試用主程序

          ORG0000H

          AJMPSTART

          ORG30H

          START:MOVSP,#6FH

          MOV65H,#0

          MOV64H,#1

          MOV63H,#2

          MOV62H,#3

          MOV61H,#4

          MOV60H,#5

          LCALLDISP

          SJMP

          如果按圖示數碼管排列,則以上主程序將顯示的是543210,想想看,如果要顯示012345該怎樣送數?

          你們只接了一個數碼管,想想應該很容易吧。

          74LS165是一個8位并入串出的移位寄存器,原理一樣。


          評論


          技術專區(qū)

          關閉
          看屁屁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); })();