色婷婷AⅤ一区二区三区|亚洲精品第一国产综合亚AV|久久精品官方网视频|日本28视频香蕉

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 液晶1602/1620/1604的問(wèn)題及解答

          液晶1602/1620/1604的問(wèn)題及解答

          作者: 時(shí)間:2016-11-27 來(lái)源:網(wǎng)絡(luò) 收藏
          1.M16C20板子在重新啟動(dòng)后,寫入的顯示程序只能顯示一行

          回答:發(fā)現(xiàn)每次重新啟動(dòng)后,需要通過(guò)指令給板子一個(gè)電壓穩(wěn)定到2,7V到4,5V之間的時(shí)間.
          解決方法-在main入口多進(jìn)行一次或者多次初始化程序,為了穩(wěn)定電壓,也為了確定初始化指令確實(shí)被執(zhí)行
          2.指令間的延時(shí)不同,有時(shí)候lcd不會(huì)顯示字符.
          回答:指令間的時(shí)間延時(shí)長(zhǎng)短必須有,對(duì)于單指令系統(tǒng),長(zhǎng)短沒(méi)有區(qū)別,但是如果往lcd上面寫數(shù)據(jù)的時(shí)候,因?yàn)槭?*10個(gè)點(diǎn)陣,這個(gè)期間一直處于忙得狀態(tài),所以需要比較長(zhǎng)的時(shí)間.
          解決方法-a.加長(zhǎng)延時(shí)時(shí)間b.寫一個(gè)檢查忙得程序
          3.顯示一個(gè)流水字符程序在lcd上的時(shí)候,光標(biāo)老是在第一行第一個(gè)字符上停留。
          回答:清屏指令(0001H)的原因,現(xiàn)在沒(méi)有解決
          解決方法-重新寫一個(gè)清屏程序,把2*16個(gè)字符設(shè)定成空字符。
          4.Lcd初始化的時(shí)候,不是顯示2行,老是顯示1行
          回答:有幾種情況應(yīng)該考慮
          a. 因?yàn)閘cd打開電源以后默認(rèn)的是8位接口(DB0~BD7),所以要先寫入3次03H命令,這個(gè)時(shí)候因?yàn)橐?位處理,所以中間要加入一定延長(zhǎng)時(shí)間。因?yàn)槭褂玫氖?位數(shù)據(jù)指令,所以然后要寫入一次02H指令,防止沒(méi)有寫入,不加延時(shí)再執(zhí)行一次02H,這個(gè)時(shí)候有2種可能,一種以4bit處理,一種是以8bit處理。緊接著開始進(jìn)行l(wèi)cd的初始化,在進(jìn)行初始化前要加入延時(shí)。
          delay_1(100);
          writeini(0x03);
          delay_1(50);
          writeini(0x03);
          delay_1(10);
          writeini(0x03);
          delay_1(10);
          writeini(0x02);
          writeini(0x02);
          delay_1(50);
          lcd_writeCommand(LCD_SETDISPLAY);
          b、啟動(dòng)電壓到電壓穩(wěn)定,需要一定的時(shí)間,這個(gè)時(shí)間要在初始化程序中體現(xiàn)出來(lái)。
          在主程序中,可以利用2次初始化,來(lái)滿足這段時(shí)間。
          void main()
          {
          unsigned char i,address1,address2,address22;
          for(i = 0;i < 80;i++)
          for(i = 0;i < 80;i++)

          本文引用地址:http://cafeforensic.com/article/201611/322197.htm

          ini_sys();
          ini_sys();
          ini_sys();

          5.練習(xí)了往lcd1602中寫入自己的字符圖形并且輸出,發(fā)現(xiàn)沒(méi)有初始化的字符行列卻出現(xiàn)了字符。
          回答:在重新往CGRAM中寫字符的時(shí)候,應(yīng)該對(duì)5*8行列或者5”10行列的每一行進(jìn)行初始化,否則沒(méi)有初始化的地方就會(huì)出現(xiàn)亂碼,在最后一行的光標(biāo)位應(yīng)該全部初始化為0。

          附:LCD1602液晶(驅(qū)動(dòng)器為HD44780)學(xué)習(xí)總結(jié)
          1.能夠區(qū)分清楚DDRAM與CGROM,1602使用的字符存儲(chǔ)器是EEPROM,而不是手冊(cè)中說(shuō)的EPROM。
          2.HD44780帶有192字符的字符庫(kù),可以自定義8個(gè)5*8的字符
          3.在寫程序的時(shí)候要嚴(yán)格按照”指令-----數(shù)據(jù)”的格式考慮
          4.通過(guò)學(xué)習(xí)建立了分控制位和數(shù)據(jù)位的概念
          5.掌握了讀懂時(shí)序圖的基本方法,寫程序的時(shí)候應(yīng)該嚴(yán)格參照時(shí)序圖
          6.Character code與character address與character pattern是不同的概念,以后要區(qū)分清楚
          7.Lcd有14個(gè)端口可與單片機(jī)連接,8個(gè)數(shù)據(jù)位,3個(gè)控制位,剩下3個(gè)為電源,地,調(diào)節(jié)電源。

          6.LCD1602/1604的行地址

          (1)LCD1602:

          第一行:0x00+(0x80)

          第二行:0x40+(0x80)

          (2)LCD1604:

          第一行:0x00+(0x80)

          第二行:0x40+(0x80)

          第三行:0x10+(0x80)

          第四行:0x50+(0x80)



          關(guān)鍵詞: 液晶問(wèn)題及解

          評(píng)論


          技術(shù)專區(qū)

          關(guān)閉