加入星計(jì)劃,您可以享受以下權(quán)益:

  • 創(chuàng)作內(nèi)容快速變現(xiàn)
  • 行業(yè)影響力擴(kuò)散
  • 作品版權(quán)保護(hù)
  • 300W+ 專業(yè)用戶
  • 1.5W+ 優(yōu)質(zhì)創(chuàng)作者
  • 5000+ 長(zhǎng)期合作伙伴
立即加入
  • 正文
    • 1.硬件設(shè)計(jì)原理
    • 2.軟件設(shè)計(jì)
    • 3.測(cè)試結(jié)果
  • 推薦器件
  • 相關(guān)推薦
  • 電子產(chǎn)業(yè)圖譜
申請(qǐng)入駐 產(chǎn)業(yè)圖譜

FPGA入門基礎(chǔ)之LCD1602液晶屏萬年歷顯示

06/10 10:25
5296
閱讀需 9 分鐘
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點(diǎn)資訊討論

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

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

1.1 概述

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

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ì)上是類似的,只不過其內(nèi)部LCD驅(qū)動(dòng)電路實(shí)現(xiàn)了對(duì)數(shù)據(jù)的解碼,用戶只需按照控制接口簡(jiǎn)單輸入要顯示的數(shù)據(jù)即可。

圖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所示。

圖3:LCD1602尺寸大小

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

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

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

管腳說明:

    • 管腳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)部模塊;

管腳7~14 D0~D7,為數(shù)據(jù)或命令。

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

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

圖4:LCD1602硬件原理圖

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

2.1 LCD1602顯示及指令說明

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

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

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

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

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

(2)指令說明

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

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

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

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

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

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

(4)其他設(shè)置

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

2.2 讀寫操作時(shí)序

(1)讀操作

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

圖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所示。

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

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

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

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

2.3 LCD1602上電初始化操作

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

(1)硬件上電后,延遲15ms;
(2)寫指令38H(可不檢測(cè)忙信號(hào));
(3)延遲5ms;
(4)寫指令38H(可不檢測(cè)忙信號(hào));(5)延遲5ms;
(6)寫指令38H(可不檢測(cè)忙信號(hào),以后每次寫指令、讀寫操作前均需檢測(cè)忙信號(hào),也可通過增大延遲,如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)萬年歷顯示。具體功能如下:

(1)DS1302芯片SPI接口驅(qū)動(dòng)功能;
(2)DS1302芯片寄存器讀寫控制功能,可以實(shí)現(xiàn)時(shí)鐘初始化設(shè)置;
(3)按鍵消抖功能;
(4)LCD1602顯示萬年歷靜態(tài)設(shè)置時(shí)間;

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

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

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

各個(gè)模塊功能:

(1)lcd1602_calendar.v模塊為萬年歷頂層模塊,實(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)通過按鍵實(shí)現(xiàn)萬年歷初始值設(shè)置;(5)lcd1602_driver.v驅(qū)動(dòng)LCD1602接口實(shí)現(xiàn)萬年歷顯示功能(動(dòng)態(tài)顯示年、月、日、星期、時(shí)、分、秒,溫度靜態(tài)顯示);

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

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

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

圖10:LCD1602寫操作

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

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

測(cè)試結(jié)果詳見視頻號(hào):FPGA技術(shù)實(shí)戰(zhàn)。

歡迎關(guān)注FPGA技術(shù)實(shí)戰(zhàn)公眾號(hào),喜歡就多多轉(zhuǎn)發(fā)吧!

推薦器件

更多器件
器件型號(hào) 數(shù)量 器件廠商 器件描述 數(shù)據(jù)手冊(cè) ECAD模型 風(fēng)險(xiǎn)等級(jí) 參考價(jià)格 更多信息
5M160ZE64I5N 1 Intel Corporation Flash PLD, 14ns, 128-Cell, CMOS, PQFP64, 9 X 9 MM, 0.40 MM PITCH, LEAD FREE, PLASTIC, EQFP-64

ECAD模型

下載ECAD模型
$4.8 查看
EPM240T100C5N 1 Altera Corporation Flash PLD, 7.5ns, 192-Cell, CMOS, PQFP100, 16 X 16 MM, 0.50 MM PITCH, LEAD FREE, TQFP-100

ECAD模型

下載ECAD模型
$18.04 查看
A3P250-FGG144T 1 Microsemi Corporation Field Programmable Gate Array, 6144 CLBs, 250000 Gates, 350MHz, 6144-Cell, CMOS, PBGA144, 1 MM PITCH, GREEN, FBGA-144
暫無數(shù)據(jù) 查看

相關(guān)推薦

電子產(chǎn)業(yè)圖譜

專注FPGA技術(shù)開發(fā),涉及Intel FPGA、Xilinx FPGA技術(shù)開發(fā),開發(fā)環(huán)境使用,代碼風(fēng)格、時(shí)序收斂、器件架構(gòu)以及軟硬件項(xiàng)目實(shí)戰(zhàn)開發(fā),個(gè)人公眾號(hào):FPGA技術(shù)實(shí)戰(zhàn)。