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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 基于單片機的HT1621液晶顯示系統(tǒng)設計

          基于單片機的HT1621液晶顯示系統(tǒng)設計

          作者: 時間:2011-02-21 來源:網(wǎng)絡 收藏

          2 硬件電路設計
          考慮到的外圍擴展電路盡可能少,硬件結(jié)構(gòu)越簡單越好。如果液晶顯示器的8位數(shù)據(jù)線與采用并行接口的話,數(shù)據(jù)線就占用了8位,再加上其他的一些控制線,將占用較多的I/O口線,因此在很多儀器儀表的應用中,將液晶顯示器的8位數(shù)據(jù)線與通過串行輸入并行輸出器件進行串行接口,實現(xiàn)實用準確的數(shù)據(jù)傳輸方式。HT1621與微控制器之間只需三根線進行連接,即將HT1621的三個管腳,DATA和分別與單片機的P3.4,P3.3和P3.5相連。
          HT1621D只有四根管腳用于接口,管腳用于初始化串行接口電路和結(jié)束主控制器與HT1621之間的通訊。管腳設置為“1”時,主控制器和HT1621之間的數(shù)據(jù)和命令無效并初始化。在產(chǎn)生模式命令或模式轉(zhuǎn)換之前,必須用一個高電平脈沖初始化HT1621的串行接口。管腳DATA是串行數(shù)據(jù)輸入/輸出管腳,讀/寫數(shù)據(jù)和寫命令通過管腳DATA進行。管腳是讀時鐘輸入管腳,在信號的下降沿時,數(shù)據(jù)輸出到管腳DATA上,在信號上升沿和下一個下降沿之間,主控制器應讀取相應的數(shù)據(jù)。管腳是寫時鐘輸入管腳,在信號上升沿時,管腳DATA上的數(shù)據(jù)、地址和命令被寫入HT1621??蛇x的管腳可用作主控制器和HT1621之間的接口,可用軟件設置作為定時器輸出或WDT溢出標志輸出。主控制器與HT1621的相連接后,可以實現(xiàn)時基或WDT功能。其硬件電路如圖2所示。

          c.JPG

          3 軟件設計
          3.1 驅(qū)動器相關命令
          HT1621可以用軟件設置。兩種模式的命令可以配置HT1621和傳送所顯示的數(shù)據(jù)。HT1621的配置模式稱為命令模式,命令模式類型碼為100。命令模式包括一個系統(tǒng)配置命令,一個系統(tǒng)頻率選擇命令,一個配置命令,一個聲音頻率選擇命令,一個定時器設置命令和一個操作命令。數(shù)據(jù)模式包括READ,WRITE和READ-MODIFY-WRITE操作,數(shù)據(jù)和命令模式類型如下:

          b.JPG

          模式命令應在數(shù)據(jù)或命令傳送前運行。如果執(zhí)行連續(xù)的命令,命令模式代碼即100,將被忽略。當系統(tǒng)在不連續(xù)命令模式或不連續(xù)地址數(shù)據(jù)模式下,管腳應設為“1”,而且先前的操作模式將復位。當管腳返回“0”時,新的操作模式類型碼應先運行。
          3.2 工作時序
          只看掌握和熟悉了HT1621的工作時序圖才能更好地進行軟件編程。HT1621的命令模式時序圖如圖3所示,寫模式的時序圖如圖4所示。

          d.JPG



          關鍵詞: 單片機 LCD

          評論


          相關推薦

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