Ht1621使用手冊及編程說明_第1頁
Ht1621使用手冊及編程說明_第2頁
Ht1621使用手冊及編程說明_第3頁
Ht1621使用手冊及編程說明_第4頁
Ht1621使用手冊及編程說明_第5頁
已閱讀5頁,還剩2頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、Ht1621液晶顯示驅(qū)動使用說明1         概述    HT1621是128點(diǎn)內(nèi)存映象和多功能的LCD驅(qū)動器,HT1621的軟件配置特性使它適用于多種LCD應(yīng)用場合,包括LCD模塊和顯示子系統(tǒng)。用于連接主控制器和HT1621的管腳只有4或5條,HT1621還有一個(gè)節(jié)電命令用于降低系統(tǒng)功耗。    在虎風(fēng)所做的這個(gè)系統(tǒng)中ht1621用于驅(qū)動一個(gè)靜態(tài)的LCD液晶顯示器。液晶顯示的方式分為靜態(tài)顯示和動態(tài)顯示。靜態(tài)與動態(tài)的區(qū)別

2、在于靜態(tài)顯示是持續(xù)供電的,而動態(tài)顯示是利用人的視覺停留效果,快速掃描數(shù)碼管各個(gè)段,讓人在視覺上感覺到數(shù)碼管是同時(shí)顯示的。2         HT1621接線原理圖 3         靜態(tài)LCD結(jié)構(gòu)圖 4         幾個(gè)曾經(jīng)糾結(jié)的概念Time base:時(shí)基,即時(shí)間基準(zhǔn),可以用來輸出,作為外部時(shí)鐘的時(shí)間

3、基準(zhǔn)。占空比:將所有公共電極(COM)各施加一次掃描電壓的時(shí)間叫一幀,單位時(shí)間內(nèi)掃描多少幀的頻率叫幀頻,將掃描公共電極(COM)選通的時(shí)間與幀周期之比叫占空比。通常占空比等于公共電極數(shù)N的倒數(shù),即1/N。這就是說假如你要驅(qū)動4個(gè)液晶,就需要4個(gè)COM,那么你的占空比就要設(shè)定為1/4。偏壓比:指的是液晶的偏壓系數(shù),可以看看專業(yè)技術(shù)文章,偏壓目的是克服交叉效應(yīng),通過把半選擇點(diǎn)與非選擇點(diǎn)的電壓平均,適度提高非選擇點(diǎn)的電壓來抵消半選擇點(diǎn)上的一部分電壓,使半選擇點(diǎn)上的電壓下降,從而提高顯示對比度;最終行半選擇點(diǎn)和非選擇點(diǎn)上的電壓均為顯示電壓的1/a,1/a就稱為偏壓系數(shù),也稱為偏壓。此方法稱為1/a偏壓

4、的平均電壓法,簡稱為1/a偏壓法。VLCD(LCD驅(qū)動電壓): LCD的驅(qū)動電壓為加在點(diǎn)亮部分的段電壓與公共電壓之差(峰-峰值)。5         關(guān)于RAM地址映射的概念    為了這個(gè)問題困擾了很久,虎風(fēng)太愚鈍啦    Ht1621有一個(gè)32*4的LCD驅(qū)動,映射到32*4的RAM地址。    上圖中寫命令101后面跟6位RAM地址,那么這個(gè)地址是如何確定的呢?其實(shí)說白了也很簡單,

5、RAM地址就是SEG的序號。我們要點(diǎn)亮一段液晶管需要給他提供一個(gè)電平,而這個(gè)電平是由SEG管腳提供的,SEG管腳電平的輸出又取決于對應(yīng)RAM地址中的值。    驅(qū)動一個(gè)8段數(shù)碼管的順序是A,B,C,D,E,F,G,DP,我們認(rèn)為前面LCD結(jié)構(gòu)圖中的數(shù)碼管3為我們要顯示的低位,那么連接原理圖中A3的是SEG12,我們就說此時(shí)的RAM地址為0b001100,連接B3的是SEG11,對應(yīng)的RAM地址為0b001011,依次類推,第一個(gè)數(shù)碼管的所有地址為:0b001100,0b001011,0b001010,0b001001,0b001000,0b001101,

6、0b001110,0b000111/DP2;    其余地址類似,在此不再解釋。6         程序Unsigned char LCD_ADD=0b00001100,0b00110100,0b00010100,0b00100100,0b00000100,0b00101100,0b00011100,0b00111000,0b00000010,0b00111100,0b00011000,0b00101000,0b00001000,0b00100010,0b00010

7、010,0b00110000,0b00001010,0b00110010,0b00010000,0b00100000,0b00000000,0b00101010,0b00011010; void HT1621_Dis_Char(unsigned char d,unsigned char d_loca)    unsigned char j;   unsigned char seg_cnt=8 ;   if (d_loca=(HT1621_DATA_NUM-1)  &

8、#160;  seg_cnt=7;                  /送3位模式碼101及6位首地址000000 0b000000101    for (j=0; j<seg_cnt; j+)  /送cache_size組數(shù)據(jù)     HT1621_PORT&=_BV(HT1621_

9、CS);     HT1621_Send_Bits(0x05,3);                  /送寫命令代碼101,高到低      HT1621_Send_Bits(LCD_ADDd_loca*8+j,6);   /送每段對應(yīng)的地址   

10、   HT1621_Send_Bits(d&0x01,4);  /送數(shù)據(jù),com0對應(yīng)的低位,低到高     d=d>>1;/右移位     HT1621_PORT|=_BV(HT1621_CS);        void HT1621_Pri_Point(unsigned char Poi_loca)    

11、; unsigned char seg_cnt=8;    if (Poi_loca<2)     HT1621_PORT&=_BV(HT1621_CS);     HT1621_Send_Bits(0x05,3);                  /送寫命令代碼

12、101      HT1621_Send_Bits(LCD_ADDPoi_loca*seg_cnt+7,6);   /送點(diǎn)對應(yīng)的地址     /送數(shù)據(jù)      HT1621_Send_Bits(1,4);     HT1621_PORT|=_BV(HT1621_CS);      

13、60;void HT1621_Print_onlyInt(unsigned long dat)    unsigned char i;    unsigned char dataHT1621_DATA_NUM;    if (dat>=HT1621_DATA_max)     dat=dat%HT1621_DATA_max;   for(i=0;i<HT1621_DATA_NUM;i+

14、) datai=LCD_CODEHT1621_NoPrint_Loc;/初始化為不顯示   if(dat<10)  data0 = LCD_CODE(unsigned char) (dat);                             &#

15、160;    /個(gè)位數(shù)    else if(dat<100) data1 =LCD_CODE(unsigned char) (dat/10);                     data0 =LCD_CODE(unsigned char) (dat) ;   &#

16、160;     /十位數(shù)    else          data2 =LCD_CODE(unsigned char) (dat/100);         data1 =LCD_CODE(unsigned char) (dat/10) ;       &

17、#160; data0 =LCD_CODE(unsigned char) (dat);           /百位數(shù)   for(i=0;i<HT1621_DATA_NUM;i+)/從低位到高位,調(diào)用顯示每個(gè)數(shù)的函數(shù)HT1621_Dis_Char     HT1621_Dis_Char(datai,i);       /打

18、印INT型數(shù)據(jù)/dat-待顯示數(shù)據(jù)/chk-顯示的數(shù)據(jù)位數(shù): 0-關(guān)閉  13時(shí),顯示對應(yīng)的數(shù)據(jù);大于3時(shí)只顯示3位;(從左到右)/point_loc-顯示的小數(shù)點(diǎn)的位置:0以及大于2時(shí):不顯示小數(shù)點(diǎn);1-顯示第1個(gè),2-顯示第2個(gè);(從左到右) void HT1621_Print_Int(unsigned long dat,unsigned char chk,unsigned char point_loc)    unsigned char i;    unsigned char d

19、ataHT1621_DATA_NUM;    /chk為0,則屏幕不顯示   for(i=0;i<HT1621_DATA_NUM;i+) datai= LCD_CODEHT1621_NoPrint_Loc;     if(chk>0) data0 =  LCD_CODE(unsigned char) (dat);           &

20、#160;   dat=dat/10;        if(chk>1) data1 =  LCD_CODE(unsigned char) (dat);              dat=dat/10;       if(chk>2) data2

21、=  LCD_CODE(unsigned char) (dat);                 /顯示小數(shù)點(diǎn)   if (point_loc=1)       data0|=0x80;   else if (point_loc=2)   

22、0;  data1|=0x80;  /從低位到高位,調(diào)用顯示每個(gè)數(shù)的函數(shù)HT1621_Dis_Char    for(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) &

23、#160; unsigned char j;     for (j=0; j<d_count; +j)                  HT1621_PORT&=_BV(HT1621_WR);       /wr置低;    

24、0;   HT1621_Delay(50);             if (d & 0x01=1)                /置數(shù)據(jù)位;         HT1621_POR

25、T|=_BV(HT1621_DATA);  /data置0              else          HT1621_PORT&=_BV(HT1621_DATA); /data置1            

26、;    HT1621_PORT|=_BV(HT1621_WR);        /wr置高;        HT1621_Delay(50);       d =(d>>1);  /右移位     /HT1621初始化 void HT1

27、621_Init()     DDRC  |= _BV(4)|_BV(5)|_BV(7);       /定義端口PC4-PC5-PC7輸出   HT1621_PORT&=_BV(HT1621_CS);        /CS端清零    HT1621_Send_Bits(0x01,3);            /送3位命令模式碼100 0x80=0b10000000   HT1621_Send_Bits(0x18,9);       

溫馨提示

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

評論

0/150

提交評論