使用移位寄存器的 3 線串行 LCD
出處:維庫電子市場網(wǎng) 發(fā)布于:2024-12-04 16:34:57 | 671 次閱讀
關(guān)于74HC595 74HC595是一款高速8位串行輸入、串行或并行輸出移位寄存器,具有存儲寄存器和三態(tài)輸出。

移位寄存器和存儲寄存器具有獨立的時鐘,分別為SH_CP和ST_CP。移位寄存器中的數(shù)據(jù)在 SH_CP 正向跳變時移位,移位寄存器的內(nèi)容將在 ST_CP 正向跳變時傳輸?shù)酱鎯拇嫫?。如果我們將兩個時鐘連接在一起,移位寄存器將始終比存儲寄存器早一個時鐘。當輸出使能(OE)為低電平時,存儲寄存器的 8 位數(shù)據(jù)將出現(xiàn)在并行輸出(Q0-Q7)處。
在此項目中,SH_CP 和 ST_CP 捆綁在一起。因此,如果我們想在Q0-Q7處接收串行傳輸?shù)?位并行形式,則在傳輸串行數(shù)據(jù)的第8位后需要一個額外的時鐘脈沖,因為時鐘是捆綁的并且存儲寄存器是1個時鐘移位寄存器后面。
基于HD44780的字符液晶屏
所有基于 HD44780 的字符 LCD 顯示器均使用 14 條線連接:8 條數(shù)據(jù)線 (D0-D7)、3 條控制線(RS、E、R/W)和 3 條電源線(Vdd、Vss、Vee)。某些 LCD 可能具有 LED 背光,因此它們可能具有額外的連接(通常是兩個:LED+ 和 LED-)。
引腳排列_2
電路圖 該項目的硬件部分相當簡單。具有挑戰(zhàn)性的部分是編寫驅(qū)動程序軟件,該軟件負責將字符數(shù)據(jù)和命令串行傳輸?shù)?74HC595 串行輸入并行輸出移位寄存器所需的正確操作序列。移位寄存器并行輸出然后連接到 LCD 數(shù)據(jù)線 (D4-D7) 和 RS 控制引腳。這種布置需要微控制器的 3 個引腳在并行 LCD 顯示器上顯示字符數(shù)據(jù):2 個引腳用于向 74HC595 提供時鐘和數(shù)據(jù),1 個引腳用于 LCD 模塊的使能控制 (E) 引腳。由于數(shù)據(jù)傳輸采用 4 位模式,因此任何 8 位命令或字符數(shù)據(jù)都分兩步發(fā)送:先發(fā)送高半字節(jié),然后發(fā)送低半字節(jié)。 R/W 控制引腳接地,因此在這種情況下無法從 LCD 模塊讀取數(shù)據(jù)或狀態(tài)。

75HC595 的 SH_CP (11) 和 ST_CP (12) 時鐘輸入連接在一起,并由一個微控制器引腳驅(qū)動。來自微控制器的串行數(shù)據(jù)通過 DS (14) 引腳饋送到移位寄存器。 OE(13)引腳接地,復位引腳MR(10)拉高。 74HC595 的并行輸出 Q0-Q3 連接到 LCD 模塊的 D4-D7 引腳。同樣,Q4 輸出用作 RS 控制引腳。如果 LCD 模塊帶有內(nèi)置背光 LED,則可以通過上面所示的 LED 控制引腳簡單地打開或關(guān)閉它。將 LED 引腳拉至邏輯高電平將打開背光。
電路焊接在通用原型板上
首先,2 個時鐘后,饋送到 74HC595 DS 引腳的一位數(shù)據(jù)出現(xiàn)在 Q0 輸出處(因為 SH_CP 和 ST_CP 相連)。因此,發(fā)送 4 位數(shù)據(jù) (D4-D7) 和 RS 信號需要 6 個時鐘脈沖,直到它們分別出現(xiàn)在 Q0-Q4 輸出處。當LCD模塊打開時,它被初始化為8位模式。應發(fā)送多個初始化命令以在 4 位模式下操作 LCD 模塊。這里討論的所有驅(qū)動程序例程都是用 mikroC 編譯器編寫的。它們僅適用于 16×2 LCD 模塊。用戶可以修改 Initialize_LCD() 例程內(nèi)的初始化操作以考慮其他 LCD 配置。驅(qū)動程序及其功能如下所述。
Initialize_LCD() :初始化 LCD 模塊,使其工作為 4 位模式、2 行顯示、5×7 大小字符、顯示 ON、無光標。Write_LCD_Data() :發(fā)送一個字符字節(jié)以在當前光標位置顯示。Write_LCD_Cmd() :向 LCD 模塊寫入命令字節(jié)。Write_LCD_Nibble() :數(shù)據(jù)或命令字節(jié)作為兩個半字節(jié)發(fā)送到 LCD 模塊。因此,該函數(shù)例程負責將半字節(jié)數(shù)據(jù)發(fā)送到 LCD 模塊。Write_LCD_Text() :該例程用于發(fā)送字符串以在當前光標位置顯示。Position_LCD() :改變當前光標位置
在程序開始時,您需要為所選的微控制器端口定義 Data_Pin、Clk_Pin 和 Enable_Pin。我將在這里演示如何使用這些驅(qū)動程序例程在不同位置顯示兩個閃爍的字符串 Message1 和 Message2。我將使用 PIC12F683 微控制器測試我們的串行 LCD 模塊。測試電路如下圖所示。
鎖定、數(shù)據(jù)和啟用線路通過 GP1、GP5 和 GP2 端口提供服務。

版權(quán)與免責聲明
凡本網(wǎng)注明“出處:維庫電子市場網(wǎng)”的所有作品,版權(quán)均屬于維庫電子市場網(wǎng),轉(zhuǎn)載請必須注明維庫電子市場網(wǎng),http://www.58mhw.cn,違反者本網(wǎng)將追究相關(guān)法律責任。
本網(wǎng)轉(zhuǎn)載并注明自其它出處的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點或證實其內(nèi)容的真實性,不承擔此類作品侵權(quán)行為的直接責任及連帶責任。其他媒體、網(wǎng)站或個人從本網(wǎng)轉(zhuǎn)載時,必須保留本網(wǎng)注明的作品出處,并自負版權(quán)等法律責任。
如涉及作品內(nèi)容、版權(quán)等問題,請在作品發(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利。













