<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 光電顯示 > 設計應用 > 通用型LCD1602自定義字符的顯示

通用型LCD1602自定義字符的顯示

作者: 時(shí)間:2017-10-21 來(lái)源:網(wǎng)絡(luò ) 收藏

  主要用來(lái)顯示數字、字母、圖形以及少量自定義字符。由于其顯示控制簡(jiǎn)單,性?xún)r(jià)比高,廣泛用于電子表、冰箱、空調、汽車(chē)電子儀表等裝置。本文主要研究一下如何在顯示自定義字符。雖然技術(shù)含量不高,但是注意編程的細節還是很有必要去探討一番。

本文引用地址:http://dyxdggzs.com/article/201710/367196.htm

  1.引言

  液晶顯示器的英文名是Liquid CrystalDisplay,簡(jiǎn)稱(chēng)LCD.液晶顯示器作為顯示器件具有體積小、重量輕、功耗低,性?xún)r(jià)比高等優(yōu)點(diǎn),所以L(fǎng)CD日漸成為各種便攜式電子產(chǎn)品的理想顯示器,1602液晶也叫1602字符型液晶,它是一種專(zhuān)門(mén)用來(lái)顯示字母、數字、符號等的點(diǎn)陣型液晶模塊,它有若干個(gè)5X7或5X11點(diǎn)陣字符位組成,每個(gè)點(diǎn)陣字符位都可以顯示一個(gè)字符。每位之間有一個(gè)點(diǎn)距的間隔,每行之間也有間隔,起到了字符間距和行間距的作用,正因為如此,所以它不能像12864一樣顯示圖形,但是有時(shí)候很想要用圖形表示,那么提供了8個(gè)空間的自定義字符,如圖1所示,顯示的年月日,.C就是自定義字符。

  

  2.通用型LCD1602操作方法

  LCD1602是指顯示的內容為16X2,即可以顯示兩行,每行16個(gè)字符液晶模塊(顯示字符和數字)。

  目前市面上字符液晶絕大多數是基于HD44780液晶芯片的,控制原理是完全相同的,因此基于HD44780寫(xiě)的控制程序可以很方便地應用于市面上大部分的字符型液晶。

  如圖2所示,字符型LCD1602通常有14條引腳線(xiàn)或16條引腳線(xiàn)的LCD,多出來(lái)的2條線(xiàn)是背光電源線(xiàn)VCC(15腳)和地線(xiàn)GND(16腳),從左到右分別是1引腳到16引腳在這里要說(shuō)明的是:

 ?。?)要用1602型LCD顯示字符必須解決3個(gè)問(wèn)題:a.待顯示字符ASCII標準碼產(chǎn)生;b.液晶顯示模式的設置;c.字符顯示位置的指定。

 ?。?)若想在00H處顯示數據的話(huà),則必須將00H加上80H,即0x00H+0x80H,若要在01H處顯示數據,也必須加0x80H,例如要將某字符顯示在第2行第5列,則確定地址的指令代碼應為80H+44H=C4H.依次類(lèi)推。

 ?。?)CGRAM是用戶(hù)自定義的字符圖形,可以定義8個(gè)。

 ?。?)LCD1602只有11條指令,學(xué)會(huì )使用這11條指令,就可以輕松控制。

 ?。?)要讓液晶顯示字符,必須對有無(wú)光標、光標的移動(dòng)方向、光標是否閃爍及字符的移動(dòng)方向等進(jìn)行設置,才能獲得所需的顯示效果。

  1602液晶顯示模式的設置是通過(guò)控制指令對內部的控制器控制而實(shí)現的,常用的控制指令見(jiàn)表8-5.例如,要將顯示模式設置為“16X2顯示,5X7點(diǎn)陣,8位數據接口”,只要向液晶模塊寫(xiě)二進(jìn)制指令代碼00111 000B,即16進(jìn)制代碼38H就可以了。

 ?。?)LCD是一個(gè)慢顯示器件,所以在寫(xiě)每條指令前一定要先讀LCD的忙碌狀態(tài),如果LCD正忙于處理其他指令,就等待;如果不忙,再執行寫(xiě)指令。為此,1602型LCD專(zhuān)門(mén)設了一個(gè)忙碌標志位BF,該位鏈接在8位雙向數據線(xiàn)的DB7位上。如果BF為低電平“0”,表示LCD不忙;如果BF為高電平“1”,則表示LCD處于忙碌狀態(tài),需要等待。假定1602型LCD的8位雙向數據線(xiàn)(DB0~DB7)是通過(guò)單片機的P0口進(jìn)行數據傳遞的,那么只要檢測P0口的P0.7引腳電平(DB連P0.7)就可以知道忙碌標志位BF的狀態(tài)。

  3.LCD1602的硬件連接及顯示

  LCD1602的顯示主要根據硬件原理圖焊接好,學(xué)會(huì )使用11條指令,再根據時(shí)序圖(如圖3所示)寫(xiě)出寫(xiě)指令函數,寫(xiě)數據函數,以及讀忙標志函數,那么就可以輕松去調用。

 ?。?)1602和單片機的連接圖

  

  其中途中的JPBG直接接電源,第3引腳的可調電位器的兩端一定要連接電源和地。

  P2.0,P2.1,P2.2分別是RS,R/W和E三個(gè)控制位,P0.0-P0.7是8位數據線(xiàn)。三個(gè)控制位詳見(jiàn)說(shuō)明,RS=0表示寫(xiě)或讀指令,RS=1表示寫(xiě)數據。R/W是讀寫(xiě)指令,R/W=1是讀,R/W=0是寫(xiě)。E是使能端,要根據時(shí)序圖去寫(xiě)對應的程序,具體時(shí)序圖如圖3所示。

 ?。?)讀操作時(shí)序(用的不多)

  

 ?。?)寫(xiě)操作時(shí)序

  

  分析時(shí)序圖可知操作1602液晶的流程如下:

  a.通過(guò)RS確定是寫(xiě)數據還是寫(xiě)命令,寫(xiě)命令包括使液晶的光標顯示/不顯示,光標閃爍/不閃爍,需不需要移頻,在液晶的什么位置顯示等。寫(xiě)數據時(shí)要顯示什么內容;

  b.R/W為讀寫(xiě)控制端,一般設置為寫(xiě)模式,即低電平;c.將數據或命令送達數據線(xiàn)上;

  d.給E一個(gè)高脈沖將數據送入液晶控制器,完成寫(xiě)操作。

  4.1602LCD的自定義字符:

  從CGRAM表上可以看到,在表的最左邊是一列可以允許用戶(hù)自定義的CGRAM,從上往下看是16個(gè),實(shí)際只有8個(gè)字節可用。首先設置CGRAM地址的指令如下:

  

  也就是說(shuō)要想寫(xiě)自定義字符,從這個(gè)指令可以看出指令數據的高2位已固定是01,只有后面的6位是地址數據,而這6位中的高3位就表示這八個(gè)自定義字符,最后的3位就是字模數據的八個(gè)地址了。例如第一個(gè)自定義字符的字模地址為 01000000-01000111八個(gè)地址。

  向這8個(gè)字節寫(xiě)入字模數據,讓它能顯示出“℃”具體自定義字符的字模數據如下圖:

  

  針對上圖所示的字模數據,具體模塊化程序如下:

  writezl(0&TImes;40);//寫(xiě)指令告訴是寫(xiě)自定義字符

  for(j=0;j《8;j++)//把年的8個(gè)字節寫(xiě)進(jìn)去

  {writesj(wendu[j]);}

  writedz(0x4c);//具體在1602中顯示的位置,如本文圖1所示

  writesj(0&TImes;00);//向DDRAM寫(xiě)入00H.、

  根據以上程序,要顯示第二個(gè)字符,那么首先必須寫(xiě)指令writezl(0&TImes;48);然后把自定義字符的8個(gè)字模數據寫(xiě)入字模數據,然后再定義具體在什么位置顯示,然后必須要向DDRAM中寫(xiě)入01H,以此類(lèi)推,如果要寫(xiě)入第8個(gè)自定義字符就寫(xiě)入 00000111(07H),這點(diǎn)特別要注意。

  5.小結

  LCD1602的顯示簡(jiǎn)單易行,自定義字符也是LCD1602中的一個(gè)小亮點(diǎn),適當的加這么幾個(gè)漢字或者加一個(gè)小圖標,給LCD1602的顯示更形象生動(dòng)化。



關(guān)鍵詞: LCD1602

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>