0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

基于FPGA的LCD1602液晶顯示模塊驅(qū)動(dòng)設(shè)計(jì)

FPGA技術(shù)實(shí)戰(zhàn) ? 來(lái)源:FPGA技術(shù)實(shí)戰(zhàn) ? 2024-10-24 14:42 ? 次閱讀

引言:本文通過(guò)以LCD1602液晶顯示模塊為基礎(chǔ),介紹FPGA驅(qū)動(dòng)LCD1602原理,詳細(xì)介紹硬件原理圖設(shè)計(jì)及FPGA驅(qū)動(dòng)LCD1602軟件設(shè)計(jì),通過(guò)萬(wàn)年歷功能綜合實(shí)現(xiàn)時(shí)鐘功能、LCD1602顯示功能。

1.硬件設(shè)計(jì)原理

1.1 概述

LCD1602液晶顯示器是廣泛使用的一種字符型液晶顯示模塊,它可以顯示字母、數(shù)字和符號(hào)等。

圖1:常見的LCD1602款式

LCD1602由字符型液晶顯示屏(LCD)、控制驅(qū)動(dòng)主電路HD44780及其擴(kuò)展驅(qū)動(dòng)電路HD44100,以及少量電阻、電容元件和結(jié)構(gòu)件等裝配在PCB板上而組成。從圖2中COM信號(hào)、SEG信號(hào)可以看出,LCD1602的驅(qū)動(dòng)原理與數(shù)碼管本質(zhì)上是類似的,只不過(guò)其內(nèi)部LCD驅(qū)動(dòng)電路實(shí)現(xiàn)了對(duì)數(shù)據(jù)的解碼,用戶只需按照控制接口簡(jiǎn)單輸入要顯示的數(shù)據(jù)即可。

wKgZoWcZ7F-ASazfAAEGXwnTv5k101.png

圖2:常見的LCD1602內(nèi)部組成結(jié)構(gòu)

常用的類型有16×1,16×2,20×2和40×2等的模塊。不同廠家生產(chǎn)的LCD1602芯片可能有所不同,但使用方法都是一樣的,本文以16×2為例進(jìn)行介紹。

1.2 LCD1602硬件設(shè)計(jì)

(1)主要技術(shù)參數(shù)

顯示字符容量:16×2個(gè)字符,即顯示兩行字符,每行16個(gè)字符;

工作電壓:4.5V~5.5V(最佳工作電壓5.0V),典型電流2mA@5.0V;

字符尺寸:2.95×4.35(W×H)mm。

(2)尺寸大小

LCD1602尺寸大小如圖3所示。

wKgZoWcZ7F-AKLqXAAGhvhI8SPw533.png

圖3:LCD1602尺寸大小

(3)信號(hào)接口說(shuō)明

信號(hào)接口定義說(shuō)明如下表所示。

表1:LCD1602信號(hào)定義

wKgaoWcZ7F-AZPgqAAFMNEyjXPY640.png

管腳說(shuō)明:

管腳1,2,為電源管腳,15,16為背光管腳,均推薦5.0V供電

管腳3為,對(duì)比度調(diào)節(jié)管腳,需提供偏壓電壓。其用于LCD1602液晶屏對(duì)比度控制,該管腳電壓在1.2V±0.1V左右顯示對(duì)比度較佳,硬件連接是建議采用滑動(dòng)變阻器對(duì)其電壓進(jìn)行控制;

管腳4 RS,為數(shù)據(jù),命令選擇管腳:H:數(shù)據(jù)選擇,L:命令選擇;

管腳5 R/W,為讀寫管腳:H:讀操作,L:寫;

管腳6 E,為是能管腳,該信號(hào)下降沿有效時(shí),數(shù)據(jù)傳輸給內(nèi)部模塊;

管腳714 D0D7,為數(shù)據(jù)或命令。

(4)原理圖設(shè)計(jì)

LCD1602硬件原理圖設(shè)計(jì)如4所示。

wKgaoWcZ7F-AQeIYAADoZsKVftE629.png

圖4:LCD1602硬件原理圖

2.軟件設(shè)計(jì)

2.1 LCD1602顯示及指令說(shuō)明

如圖3右側(cè)所示,液晶屏每個(gè)字符其實(shí)是有5×8個(gè)LED燈組成,由于LCD1602內(nèi)部已經(jīng)集成了專門的驅(qū)動(dòng)芯片,無(wú)需用戶像數(shù)碼管那樣單獨(dú)的去控制每一個(gè)LED燈,降低了開發(fā)難度,減少了硬件連接信號(hào)線。

(1)LCD1602內(nèi)部RAM地址映射圖

wKgaoWcZ7F-AcqY9AAC84X0CFjY786.png

圖5:LCD1602內(nèi)部RAM地址映射圖

LCD1602內(nèi)部控制器帶有80×8位(80字節(jié))的RAM緩沖區(qū)如圖5所示。LCD1602內(nèi)部字符表編碼如圖6所示。

wKgaoWcZ7F-AVeJxAAAznDedPR0341.png

圖6:LCD1602內(nèi)部字符表編碼:

(2)指令說(shuō)明

初始化設(shè)置指令:

顯示模式設(shè)置指令38H:

wKgaoWcZ7F-AYrC7AABBLZtZ9bk794.png

顯示開/關(guān)、光標(biāo)功能

wKgZoWcZ7GCAFOzGAAFazw8UHYk085.png

(3)數(shù)據(jù)控制

控制器內(nèi)部設(shè)有一個(gè)數(shù)據(jù)指針,用戶可以通過(guò)他們方位內(nèi)部的全部80字節(jié)RAM。

數(shù)據(jù)指針設(shè)置:即如果要在01位置顯示字符,RAM的地址必須是01H+80H,即81H,其他位置類似,均需要加上80H。

wKgZoWcZ7F-AGdbxAABbON5aHaA394.png

(4)其他設(shè)置

顯示清屏和顯示回車指令:

wKgaoWcZ7GCAUldZAACD-JcAZ5U584.png

2.2 讀寫操作時(shí)序

(1)讀操作

讀操作時(shí)序如圖7所示。

wKgZoWcZ7F-AKnolAAC1unaTuBE511.png

圖7:讀操作時(shí)序

讀狀態(tài):輸入:RS = L,RW = H,E = H,輸出D0~D7狀態(tài)字;

讀數(shù)據(jù):輸入:RS = H,RW = H,E = H,輸出D0~D7數(shù)據(jù)。

(2)寫操作

寫操作時(shí)序如圖8所示。

wKgZoWcZ7F-AKnolAAC1unaTuBE511.png

圖8:讀操作時(shí)序

寫指令:輸入:RS = L,RW = L,D0~D7=指令碼,E = H,輸出無(wú);

寫數(shù)據(jù):輸入:RS = H,RW = L,D0D7=指令碼,E = H,輸出D0D7數(shù)據(jù)。

讀寫操作需要注意的是,D0~D7數(shù)據(jù)要在使能E信號(hào)的下降沿寫入控制器,要注意tHD2保持時(shí)間必須滿足手冊(cè)要求,其他時(shí)序參數(shù)也要參考手冊(cè)要求。

2.3 LCD1602上電初始化操作

LCD1602上電必須進(jìn)行初始化操作,初始化過(guò)程如下:

(1)硬件上電后,延遲15ms;

(2)寫指令38H(可不檢測(cè)忙信號(hào));

(3)延遲5ms;

(4)寫指令38H(可不檢測(cè)忙信號(hào));

(5)延遲5ms;

(6)寫指令38H(可不檢測(cè)忙信號(hào),以后每次寫指令、讀寫操作前均需檢測(cè)忙信號(hào),也可通過(guò)增大延遲,如5ms,不檢測(cè)忙信號(hào));

(7)寫指令38H:顯示模式設(shè)置;

(8)寫08H:關(guān)閉顯示;

(9)寫0H:顯示清屏;

(10)寫指令06H:顯示光標(biāo)移動(dòng)設(shè)置;

(11)寫指令0CH:顯示開及光標(biāo)設(shè)置。

2.4 軟件設(shè)計(jì)

本文要利用LCD1602實(shí)現(xiàn)萬(wàn)年歷顯示。具體功能如下:

(1)DS1302芯片SPI接口驅(qū)動(dòng)功能;

(2)DS1302芯片寄存器讀寫控制功能,可以實(shí)現(xiàn)時(shí)鐘初始化設(shè)置;

(3)按鍵消抖功能;

(4)LCD1602顯示萬(wàn)年歷靜態(tài)設(shè)置時(shí)間;

(5)LCD1602顯示萬(wàn)年歷動(dòng)態(tài)時(shí)間。

軟件功能模塊劃分如圖9所示。

wKgZoWcZ7F-AUY-MAAJFwtTlXhE857.png

圖9:軟件設(shè)計(jì)模塊劃分框圖

各個(gè)模塊功能:

(1)lcd1602_calendar.v模塊為萬(wàn)年歷頂層模塊,實(shí)現(xiàn)模塊間互聯(lián);

(2)spi_driver.v實(shí)現(xiàn)DS1302 SPI接口通信功能;

(3)ds1302_ctrl_m.v實(shí)現(xiàn)DS1302寄存器讀寫控制功能,包括將設(shè)置值寫入芯片和將芯片寄存器值讀出控制。

(4)set_init_time.v實(shí)現(xiàn)通過(guò)按鍵實(shí)現(xiàn)萬(wàn)年歷初始值設(shè)置;

(5)lcd1602_driver.v驅(qū)動(dòng)LCD1602接口實(shí)現(xiàn)萬(wàn)年歷顯示功能(動(dòng)態(tài)顯示年、月、日、星期、時(shí)、分、秒,溫度靜態(tài)顯示);

(6)KeyJitters.v實(shí)現(xiàn)按鍵消抖功能。

3.測(cè)試結(jié)果

軟件下載至電路板,通過(guò)SignaTap II在線邏輯分析儀抓取LCD1602接口寫數(shù)據(jù)如下圖所示。

wKgZoWcZ7F-AK9yTAAC_u4M3WW4069.png

圖10:LCD1602寫操作

通過(guò)按鍵設(shè)置萬(wàn)年歷初始值,顯示在LCD1602上,如圖11所示,可以看到萬(wàn)年歷時(shí)間已經(jīng)正確顯示。

wKgZoWcZ7GCAbL8mAAbuhdJZzZM094.png

圖11:LCD1602萬(wàn)年歷初始值設(shè)置顯示

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • FPGA
    +關(guān)注

    關(guān)注

    1624

    文章

    21568

    瀏覽量

    600587
  • 液晶屏
    +關(guān)注

    關(guān)注

    18

    文章

    709

    瀏覽量

    42673
  • 液晶顯示器
    +關(guān)注

    關(guān)注

    11

    文章

    574

    瀏覽量

    43552
  • LCD1602
    +關(guān)注

    關(guān)注

    14

    文章

    607

    瀏覽量

    52447

原文標(biāo)題:FPGA入門基礎(chǔ)之LCD1602液晶屏萬(wàn)年歷顯示

文章出處:【微信號(hào):FPGA技術(shù)實(shí)戰(zhàn),微信公眾號(hào):FPGA技術(shù)實(shí)戰(zhàn)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    LCD1602液晶顯示屏的驅(qū)動(dòng)設(shè)計(jì)與實(shí)現(xiàn)

    LCD1602是一種工業(yè)字符型液晶,能夠同時(shí)顯示16x02即32個(gè)字符。LCD1602液晶顯示的原理是利用
    的頭像 發(fā)表于 12-08 11:24 ?9757次閱讀
    <b class='flag-5'>LCD1602</b><b class='flag-5'>液晶顯示</b>屏的<b class='flag-5'>驅(qū)動(dòng)</b>設(shè)計(jì)與實(shí)現(xiàn)

    LCD1602液晶顯示模塊

    LCD1602液晶顯示模塊LCD1602(Liquid Crystal Display), 每行可顯示16個(gè)字符共2行。實(shí)物圖引腳圖主要引腳
    發(fā)表于 07-20 06:48

    請(qǐng)問(wèn)如何驅(qū)動(dòng)LCD1602液晶顯示屏?

    LCD1602液晶顯示屏的原理是什么?如何驅(qū)動(dòng)LCD1602液晶顯示屏?
    發(fā)表于 01-17 08:29

    液晶顯示模塊LCD1602應(yīng)用

    液晶顯示模塊LCD1602應(yīng)用
    發(fā)表于 09-25 16:58 ?683次下載
    <b class='flag-5'>液晶顯示</b><b class='flag-5'>模塊</b><b class='flag-5'>LCD1602</b>應(yīng)用

    基于ARM的LCD1602液晶顯示源代碼

    基于ARM的LCD1602液晶顯示源代碼。
    發(fā)表于 05-20 16:29 ?18次下載

    lcd1602顯示原理,LCD1602液晶顯示器的分類有哪些?

    LCD1602是一種工業(yè)字符型液晶,能夠同時(shí)顯示16x02即32個(gè)字符。LCD1602液晶顯示原理 LC
    發(fā)表于 10-20 10:32 ?3.6w次閱讀

    液晶顯示模塊LCD1602中文資料

    本文主要介紹了液晶顯示模塊LCD1602中文資料。
    發(fā)表于 06-05 08:00 ?26次下載

    LCD1602液晶顯示屏的基礎(chǔ)驅(qū)動(dòng)程序免費(fèi)下載

    本文檔的主要內(nèi)容詳細(xì)介紹的是LCD1602液晶顯示屏的基礎(chǔ)驅(qū)動(dòng)程序免費(fèi)下載。
    發(fā)表于 08-16 17:32 ?17次下載
    <b class='flag-5'>LCD1602</b><b class='flag-5'>液晶顯示</b>屏的基礎(chǔ)<b class='flag-5'>驅(qū)動(dòng)</b>程序免費(fèi)下載

    LCD1602點(diǎn)陣字符型液晶顯示模塊驅(qū)動(dòng)封裝的工程詳細(xì)講解

    本文檔的主要內(nèi)容詳細(xì)介紹的設(shè)計(jì)LCD1602點(diǎn)陣字符型液晶顯示模塊驅(qū)動(dòng)封裝的工程詳細(xì)講解資料免費(fèi)下載。
    發(fā)表于 05-15 18:08 ?0次下載
    <b class='flag-5'>LCD1602</b>點(diǎn)陣字符型<b class='flag-5'>液晶顯示</b><b class='flag-5'>模塊</b><b class='flag-5'>驅(qū)動(dòng)</b>封裝的工程詳細(xì)講解

    lcd1602液晶顯示屏介紹_lcd1602引腳功能

    本文首先闡述了lcd1602液晶顯示屏的概念,其次闡述了LCD1602外形尺寸,最后介紹了lcd1602引腳功能。
    發(fā)表于 04-23 08:53 ?7.1w次閱讀

    LCD1602液晶顯示器的使用要點(diǎn)

    LCD1602液晶顯示器是最為廣泛使用的一種字符型液晶顯示模塊。
    的頭像 發(fā)表于 07-11 16:56 ?1.6w次閱讀

    51單片機(jī)怎么顯示當(dāng)前時(shí)間_(記錄)51單片機(jī)——LCD1602液晶顯示模塊

    51單片機(jī)怎么顯示當(dāng)前時(shí)間_(記錄)51單片機(jī)——LCD1602液晶顯示模塊
    發(fā)表于 11-16 15:06 ?29次下載
    51單片機(jī)怎么<b class='flag-5'>顯示</b>當(dāng)前時(shí)間_(記錄)51單片機(jī)——<b class='flag-5'>LCD1602</b><b class='flag-5'>液晶顯示</b><b class='flag-5'>模塊</b>

    LCD1602液晶顯示模塊學(xué)習(xí)筆記

    LCD1602液晶顯示模塊LCD1602(Liquid Crystal Display), 每行可顯示16個(gè)字符共2行。實(shí)物圖引腳圖主要引腳
    發(fā)表于 12-01 17:21 ?32次下載
    <b class='flag-5'>LCD1602</b><b class='flag-5'>液晶顯示</b><b class='flag-5'>模塊</b>學(xué)習(xí)筆記

    LCD1602液晶顯示模塊

    LCD602字符型液晶顯示模塊是一種專門用于顯示字母、數(shù)字、符號(hào)等點(diǎn)陣式LCD,目前常用161,162,202和402行等的
    發(fā)表于 01-13 16:46 ?23次下載
    <b class='flag-5'>LCD1602</b><b class='flag-5'>液晶顯示</b><b class='flag-5'>模塊</b>

    lcd1602液晶顯示模塊工作原理

    LCD1602液晶顯示模塊是一種常用的顯示設(shè)備,可以顯示文字和簡(jiǎn)單的圖形。它常被用于各種電子設(shè)備中,比如計(jì)算器、電子表格、儀器儀表等。本文將
    的頭像 發(fā)表于 12-20 10:30 ?6426次閱讀