HT1621液晶顯示驅動詳細原理及程序_第1頁
HT1621液晶顯示驅動詳細原理及程序_第2頁
HT1621液晶顯示驅動詳細原理及程序_第3頁
HT1621液晶顯示驅動詳細原理及程序_第4頁
HT1621液晶顯示驅動詳細原理及程序_第5頁
免費預覽已結束,剩余1頁可下載查看

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、Ht1621液晶顯示詳細驅動使用說明以及程序1. 概述HT162健128點內存映象和多功能的LCtM動器,HT162酌軟件配置特性使它適用于多種LCIE 用場合,包括LCDI塊和顯示子系統(tǒng)。用于連接主控制器和 HT162的管腳只有4或5條,HT162處有 一個節(jié)電命令用于降低系統(tǒng)功耗。在虎風所做的這個系統(tǒng)中ht1621用于驅動一個靜態(tài)的LCD(晶顯示器。液晶顯示的方式分為靜 態(tài)顯示和動態(tài)顯示。靜態(tài)與動態(tài)的區(qū)別在于靜態(tài)顯示是持續(xù)供電的,而動態(tài)顯示是利用人的視覺停 留效果,快速掃描數(shù)碼管各個段,讓人在視覺上感覺到數(shù)碼管是同時顯示的。2. HT1621接線原理圖3. 靜態(tài)LCD吉構圖 ,I,I ;

2、. / ;'/4. 幾個曾經(jīng)糾結的概念;-7 J/ U; | Time base:時基,即時間基準,可以用來輸出,作為外部時鐘的時間基準。占空比:將所有公共電極(COM各施加一次掃描電壓的時間叫一幀,單位時間內掃描多少幀的 頻率叫幀頻,將掃描公共電極(COM選通的時間與幀周期之比叫占空比。 通常占空比等于公共電極 數(shù)N的傕J數(shù),即1/N。這就是說假如你要驅動4個液晶,就需要4個COMBB么你的占空比就要設定為1/4。偏壓比:指的是液晶的偏壓系數(shù),可以看看專業(yè)技術文章,偏壓目的是克服交叉效應,通過把 半選擇點與非選擇點的電壓平均,適度提高非選擇點的電壓來抵消半選擇點上的一部分電壓,使半選

3、擇點上的電壓下降,從而提高顯示對比度;最終行半選擇點和非選擇點上的電壓均為顯示電壓的 1/a, 1/a就稱為偏壓系數(shù),也稱為偏壓。此方法稱為 1/a偏壓的平均電壓法,簡稱為1/a偏壓法。VLCD(LCD區(qū)動電壓):LCD的驅動電壓為加在點亮部分的段電壓與公共電壓之差(峰-峰值)。5. 關于RAMfe址映射的概念為了這個問題困擾了很久,虎風太愚鈍啦Ht1621有一個32*4的LCE區(qū)動,映射到32*4的RAM1址。上圖中寫命令101后面跟6位RAMfe址,那么這個地址是如何確定的呢?其實說白了也很簡單, RAMfe址就是SEG勺序號。我們要點亮一段液晶管需要給他提供一個電平,而這個電平是由SEG

4、管腳提供的,SEGT腳電平的輸出又取決于對應 RAMfe址中的值。驅動一個8段數(shù)碼管的順序是A,B,C,D,E,F,G,DP ,我們認為前面LCD結構圖中白數(shù)碼管3為 我們要顯示的低位,那么連接原理圖中 A3的是SEG12我們就說此時的RAMfe址為0b001100,連 接B3的是SEG11對應的RAM1址為0b001011,依次類推,第一個數(shù)碼管的所有地址為:0b001100,0b001011,0b001010,0b001001,0b001000,0b001101,0b001110,0b000111DP2;其余地址類似,在此不再解釋。6. 程序Unsigned charLCD_ADD=0b0

5、0001100,0b00110100,0b00010100,0b00100100,0b00000100,0b00101100,0b000111 00,0b00111000,0b00000010,0b00111100,0b00011000,0b00101000,0b00001000,0b00100010,0b000 10010,0b00110000,0b00001010,0b00110010,0b00010000,0b00100000,0b00000000,0b00101010,0b 00011010;void HT1621_Dis_Char(unsigned char d,unsigned c

6、har d_loca)I 1 unsigned char j;,I I I .- IIunsigned char seg_cnt=8 ;一,b J/.'y hif (d_loca=(HT1621_DATA_NUM-1)".» 7 )了 J' I seg_cnt=7;/送3位模式碼101及6位首地址000000 0b000000101for (j=0; j<seg_cnt; j+) /送 cache_size 組數(shù)據(jù) HT1621_PORT&=_BV(HT1621_CS);HT1621_Send_Bits(0x05,3);1 /送寫命令代碼 10

7、1,高到低HT1621_Send_Bits(LCD_ADDd_loca*8+j,6); / 送每段對應的地址HT1621_Send_Bits(d&0x01,4); / 送數(shù)據(jù),com0對應的低位,低到高 d=d>>1;/ 右移位 v <y-.|HT1621_PORT|=_BV(HT1621_CS); I /*=顯示小數(shù)點=輸入?yún)?shù):Poi_loca,為小數(shù)點的位置(0是第一位,1是第二位)*/void HT1621_Pri_Point(unsigned char Poi_loca)unsigned char seg_cnt=8;if (Poi_loca<2) H

8、T1621_PORT&=_BV(HT1621_CS);HT1621_Send_Bits(0x05,3);/送寫命令代碼 101HT1621_Send_Bits(LCD_ADDPoi_loca*seg_cnt+7,6); /送點對應的地址/送數(shù)據(jù)HT1621_Send_Bits(1,4);HT1621_PORT|=_BV(HT1621_CS); » r- -1 |_/*=:# 示 INT 型數(shù)據(jù),IL”;dat-待顯示數(shù)據(jù) */ 'I :; .i *void HT1621_Print_onlyInt(unsigned long dat)unsigned char i;u

9、nsigned char dataHT1621_DATA_NUM; 4. .1if (dat>=HT1621_DATA_max)dat=dat%HT1621_DATA_max;"I1for(i=0;i<HT1621_DATA_NUM;i+) datai=LCD_CODEHT1621_NoPrint_Loc;/初始化為不顯示if(dat<10) data0 = LCD_CODE(unsigned char) (dat);/個位數(shù)else if(dat<100) data1 =LCD_CODE(unsigned char) (dat/10); X? v I |da

10、ta0=LCD_CODE(unsigned char) (dat%10) ;/ 十位數(shù)else data2 =LCD_CODE(unsigned char) (dat/100%10);data1 =LCD_CODE(unsigned char) (dat/10%10);data0 =LCD_CODE(unsigned char) (dat%10); / 百位數(shù)for(i=0;i<HT1621_DATA_NUM;i+)/從低位到高位,調用顯示每個數(shù)的函數(shù)HT1621_Dis_CharHT1621_Dis_Char(datai,i);/*/打印INT型數(shù)據(jù)/dat-待顯示數(shù)據(jù)/chk-顯示的

11、數(shù)據(jù)位數(shù):0-關閉13時,顯示對應的數(shù)據(jù);大于 3時只顯示3位;(從 左到右)/point_loc-顯示的小數(shù)點的位置:0以及大于2時:不顯示小數(shù)點;1-顯示第1個,2-顯示第2個;(從左到右)/*/I 1void HT1621_Print_Int(unsigned long dat,unsigned char chk,unsigned char point_loc) .I .1 I ' lt >.unsigned char i;unsigned char dataHT1621_DATA_NUM;/chk 為0,則屏幕不顯示for(i=0;i<HT1621_DATA_NUM

12、;i+) datai= LCD_CODEHT1621_NoPrint_Loc; Xjif(chk>0) data0 = LCD_CODE(unsigned char) (dat%10);dat=dat/10; I1if(chk>1) data1 = LCD_CODE(unsigned char) (dat%10);dat=dat/10; if(chk>2) data2 = LCD_CODE(unsigned char) (dat%10);* L 弋、|/顯示小數(shù)點、二 11I Iif (point_loc=1)data0|=0x80;else if (point_loc=2)

13、data1|=0x80;/從低位到高位,調用顯示每個數(shù)的函數(shù)HT1621_Dis_Charfor(i=0;i<HT1621_DATA_NUM;i+)HT1621_Dis_Char(datai,i);*/送d_count位數(shù)據(jù)d;從低位開始送/*/void HT1621_Send_Bits(unsigned char d, unsigned char d_count)unsigned char j;for (j=0; j<d_count; +j)HT1621_PORT&=_BV(HT1621_WR); /wr 置低;HT1621_Delay(50);if (d & 0

14、x01=1)/ 置數(shù)據(jù)位;HT1621_PORT|=_BV(HT1621_DATA); /data 置 0else ,i r." ' iJHT1621_PORT&=_BV(HT1621_DATA); /data1 1HT1621_PORT|=_BV(HT1621_WR); /wr 置高; X tWsHT1621_Delay(50);d =(d>>1); / 右移位 I1/*/HT1621初始化/*/void HT1621_Init()DDRC |= _BV(4)|_BV(5)|_BV;/HT1621_PORT&=_BV(HT1621_CS);HT1621_Send_Bits(0x18,9);/HT1621_Send_Bits(0x80,9);/HT1621_Send_Bits(0x94,9)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論