1. 程式人生 > >12864點陣型液晶顯示屏的基本原理與使用方法(很詳細)

12864點陣型液晶顯示屏的基本原理與使用方法(很詳細)

點陣LCD的顯示原理

     在數位電路中,所有的資料都是以0和1儲存的,對LCD控制器進行不同的資料操作,可以得到不同的結果。對於顯示英文操作,由於英文字母種類很少,只需要8位(一位元組)即可。而對於中文,常用卻有6000以上,於是我們的DOS前輩想了一個辦法,就是將ASCII表的高128個很少用到的數值以兩個為一組來表示漢字,即漢字的內碼。而剩下的低128位則留給英文字元使用,即英文的內碼。

     那麼,得到了漢字的內碼後,還僅是一組數字,那又如何在螢幕上去顯示呢?這就涉及到文字的字模,字模雖然也是一組數字,但它的意義卻與數字的意義有了根本的變化,它是用數字的各位資訊來記載英文或漢字的形狀,如英文的'A'在字模的記載方式如圖1所示:

圖1 “A”字模圖

     而中文的“你”在字模中的記載卻如圖2所示:

圖2 “你”字模圖

12864點陣型LCD簡介

     12864是一種圖形點陣液晶顯示器,它主要由行驅動器/列驅動器及128×64全點陣液晶顯示器組成。可完成圖形顯示,也可以顯示8×4個(16×16點陣)漢字。

管腳號

管腳名稱

LEVER

管腳功能描述

1

VSS

0

電源地

2

VDD

+5.0V

電源電壓

3

V0

-

液晶顯示器驅動電壓

4

D/I(RS)

H/L

D/I=“H”,表示DB7∽DB0為顯示資料

D/I=“L”,表示DB7∽DB0為顯示指令資料

5

R/W

H/L

R/W=“H”,E=“H”資料被讀到DB7∽DB0

R/W=“L”,E=“H→L”資料被寫到IR或DR

6

E

H/L

R/W=“L”,E訊號下降沿鎖存DB7∽DB0

R/W=“H”,E=“H”DDRAM資料讀到DB7∽DB0

7

DB0

H/L

資料線

8

DB1

H/L

資料線

9

DB2

H/L

資料線

10

DB3

H/L

資料線

11

DB4

H/L

資料線

12

DB5

H/L

資料線

13

DB6

H/L

資料線

14

DB7

H/L

資料線

15

CS1

H/L

H:選擇晶片(右半屏)訊號

16

CS2

H/L

H:選擇晶片(左半屏)訊號

17

RET

H/L

復位訊號,低電平復位

18

VOUT

-10V

LCD驅動負電壓

19

LED+

-

LED背光板電源

20

LED-

-

LED背光板電源

表1:12864LCD的引腳說明

     在使用12864LCD前先必須瞭解以下功能器件才能進行程式設計。12864內部功能器件及相關功能如下:

1. 指令暫存器(IR)

     IR是用於寄存指令碼,與資料暫存器資料相對應。當D/I=0時,在E訊號下降沿的作用下,指令碼寫入IR。

2.資料暫存器(DR)

     DR是用於寄存資料的,與指令暫存器寄存指令相對應。當D/I=1時,在下降沿作用下,圖形顯示資料寫入DR,或在E訊號高電平作用下由DR讀到DB7∽DB0資料匯流排。DR和DDRAM之間的資料傳輸是模組內部自動執行的。

3.忙標誌:BF

     BF標誌提供內部工作情況。BF=1表示模組在內部操作,此時模組不接受外部指令和資料。BF=0時,模組為準備狀態,隨時可接受外部指令和資料。

     利用STATUS READ指令,可以將BF讀到DB7匯流排,從檢驗模組之工作狀態。

4.顯示控制觸發器DFF

     此觸發器是用於模組螢幕顯示開和關的控制。DFF=1為開顯示(DISPLAY OFF),DDRAM的內容就顯示在螢幕上,DFF=0為關顯示(DISPLAY OFF)。

     DDF的狀態是指令DISPLAY ON/OFF和RST訊號控制的。

5.XY地址計數器

     XY地址計數器是一個9位計數器。高3位是X地址計數器,低6位為Y地址計數器,XY地址計數器實際上是作為DDRAM的地址指標,X地址計數器為DDRAM的頁指標,Y地址計數器為DDRAM的Y地址指標。

     X地址計數器是沒有記數功能的,只能用指令設定。

     Y地址計數器具有迴圈記數功能,各顯示資料寫入後,Y地址自動加1,Y地址指標從0到63。

6.顯示資料RAM(DDRAM)

     DDRAM是儲存圖形顯示資料的。資料為1表示顯示選擇,資料為0表示顯示非選擇。DDRAM與地址和顯示位置的關係見DDRAM地址表。

7.Z地址計數器

     Z地址計數器是一個6位計數器,此計數器具備迴圈記數功能,它是用於顯示行掃描同步。當一行掃描完成,此地址計數器自動加1,指向下一行掃描資料,RST復位後Z地址計數器為0。

     Z地址計數器可以用指令DISPLAY START LINE預置。因此,顯示螢幕的起始行就由此指令控制,即DDRAM的資料從哪一行開始顯示在螢幕的第一行。此模組的DDRAM共64行,螢幕可以迴圈滾動顯示64行。

12864LCD的指令系統及時序

     該類液晶顯示模組(即KS0108B及其相容控制驅動器)的指令系統比較簡單,總共只有七種。其指令表如表2所示:

指令名稱

控制訊號

控制程式碼

R/W

RS

DB7

DB6

DB5

DB4

DB3

DB2

DB1

DB0

顯示開關

0

0

0

0

1

1

1

1

1

1/0

顯示起始行設定

0

0

1

1

X

X

X

X

X

X

頁設定

0

0

1

0

1

1

1

X

X

X

列地址設定

0

0

0

1

X

X

X

X

X

X

讀狀態

1

0

BUSY

0

ON/OFF

RST

0

0

0

0

寫資料

0

1

寫資料

讀資料

1

1

讀資料

表2:12864LCD指令表

各功能指令分別介紹如下。

  • 顯示開/關指令

R/WRS

DB7 DB6 DB5 DB4 DB3DB2DB1 DB0

00

00111111/0

當DB0=1時,LCD顯示RAM中的內容;DB0=0時,關閉顯示。

2、顯示起始行(ROW)設定指令

R/WRS

DB7 DB6 DB5 DB4 DB3DB2DB1 DB0

00

11顯示起始行(0~63)

該指令設定了對應液晶屏最上一行的顯示RAM的行號,有規律地改變顯示起始行,可以使LCD實現顯示滾屏的效果。

3、頁(PAGE)設定指令

R/WRS

DB7 DB6 DB5 DB4 DB3DB2DB1 DB0

00

10111頁號(0~7)

顯示RAM共64行,分8頁,每頁8行。

4、列地址(Y Address)設定指令

R/WRS

DB7 DB6 DB5 DB4 DB3DB2DB1 DB0

00

01顯示列地址(0~63)

設定了頁地址和列地址,就唯一確定了顯示RAM中的一個單元,這樣MPU就可以

用讀、寫指令讀出該單元中的內容或向該單元寫進一個位元組資料。

5、讀狀態指令

R/WRS

DB7 DB6 DB5 DB4 DB3DB2DB1 DB0

10

BUSY0ON/OFFREST0000

該指令用來查詢液晶顯示模組內部控制器的狀態,各參量含義如下:

BUSY:1-內部在工作0-正常狀態

ON/OFF:1-顯示關閉0-顯示開啟

RESET:1-復位狀態0-正常狀態

在BUSY和RESET狀態時,除讀狀態指令外,其它指令均不對液晶顯示模組產生作用。

在對液晶顯示模組操作之前要查詢BUSY狀態,以確定是否可以對液晶顯示模組進行操作。

6、寫資料指令

R/WRS

DB7 DB6 DB5 DB4 DB3DB2DB1 DB0

01

寫資料

  • 讀資料指令

R/WRS

DB7 DB6 DB5 DB4 DB3DB2DB1 DB0

11

讀顯示資料

     讀、寫資料指令每執行完一次讀、寫操作,列地址就自動增一。必須注意的是,進行讀操作之前,必須有一次空讀操作,緊接著再讀才會讀出所要讀的單元中的資料。

12864點陣型LCD軟硬體設計例項

     通過以上學習,現在就來實際應用12864LCD的軟硬體設計。本例項將在LCD上顯示如圖3所示內容:

圖3 模擬顯示效果圖

     在除錯前先將顯示切換開關切換到LCD顯示狀態。

圖4 128*64LCD實驗演示圖

硬體原理圖

圖5 硬體原理圖

程式流程圖

圖6 軟體流程圖

軟體程式碼

     在編寫軟體程式碼之前必須要先掌握漢字取模的方法。要得到上表中的文字,我們可以藉助取模軟體來完成。目前點陣LCD的取模軟體有很多,我們以本開發板配套的取模軟體為例來介紹一下漢字的取模方法。

     開啟取模軟體出現如下顯示介面:

     在文字輸入區中輸入文字,我們以輸入一個歡迎的“歡”字為例,瞭解其取模過程。在文字輸入區中輸入“歡”後按CTRL+ENTER組合鍵後就看到“歡”字已經在模擬顯示區顯示出來了

     在“取模方式”中選擇“C51格式”就可以在“點陣生成區”得到你要的漢字“歡”的顯示程式碼。

 

     經過以上步驟後一個漢字就取模成功了,在程式中只要呼叫這段程式碼就可顯示出漢字“歡”了,其它漢字也用同樣的方法。取完要顯示的全部漢字程式碼後我們就可以程式設計了。

相關推薦

12864陣型液晶顯示屏基本原理使用方法(詳細)

點陣LCD的顯示原理      在數位電路中,所有的資料都是以0和1儲存的,對LCD控制器進行不同的資料操作,可以得到不同的結果。對於顯示英文操作,由於英文字母種類很少,只需要8位(一位元組)即可。而對於中文,常用卻有6000以上,於是我們的DOS前輩想了一個辦法,就是

12864陣型液晶顯示屏的工作原理

12864點陣型液晶顯示屏的工作原理  大家好,通過以前的學習,我們已經對51微控制器綜合學習系統的使用方法及學習方式有所瞭解與熟悉,學會了1602字元型液晶顯示的基本知識,體會到了綜合學習系統的易用性與易學性,這一期我們將一起學習12864點陣型液晶顯示屏的基本原理與使用方法。 點陣LCD的顯示原理  

防盜鏈的基本原理實現

rec eal limit ole 站點 new exceptio stub text 1. 我的實現防盜鏈的做法,也是參考該位前輩的文章。基本原理就是就是一句話:通過判斷request請求頭的refer是否來源於本站。(當然請求頭是來自於客戶端的,是可偽造的,暫不在本文

交換機的基本原理配置

mac地址 console 以太網幀 securecrt 楊書凡 交換機工作在數據鏈路層,負責網絡相鄰節點之間的數據通信,並進行流量控制,主要通過幀在對等層間數據傳輸。在物理線路上提供可靠的數據傳輸,對網絡層而言為一條無差錯的線路。 MAC地址 計算機聯網的必備硬件是網卡,每

路由器的基本原理配置命令(靜態路由和默認路由)

路由技術 路由表 route命令 路由環路 楊書凡 路由器工作在OSI參考模型的網絡層,它的重要作用是為數據包選擇最佳路徑,最終送達目的地。那麽路由器是怎樣選擇路徑的呢?如果主機A要和主機B通信,就需要一種方法判斷源主機和目標主機所經過的最佳路徑,從而進行數據轉發,這就是路由技術。

【網絡爬蟲入門02】HTTP客戶端庫Requests的基本原理基礎應用

多應用 多服務器 技術學 用戶 iis unicode licensed content sed 【網絡爬蟲入門02】HTTP客戶端庫Requests的基本原理與基礎應用 廣東職業技術學院 歐浩源 1、引言 實現網絡爬蟲的第一步就是要建立網絡連接並向服務器或網頁等

docker第一天:docker的基本原理安裝

原理 docker安裝 Docker官網:www.docker.com 一、docker是虛擬機嗎?不是,很多人在剛開始接觸docker的時候往往會進入一個誤區,其實docker≠VM 圖(一)在兩者的原理圖中不難看出,虛擬機運行多個應用時,如圖(一)所示:Serv

跨站請求偽造攻擊的基本原理防範

介紹 策略 範圍 二次 ued 養成 cookie 認證 request請求 摘要:文章介紹了跨站請求偽造攻擊的基本情況,並以兩種常見的場景作為講解的範例,分析了該類攻擊的主要原理與產生條件。針對跨站請求偽造攻擊的主要 目標和所利用的漏洞,重點介紹了5種不同的

Flask-基本原理核心知識

對象 import .py code 效果 環境 from 配置 一個 虛擬環境 使用pipenv創建一個虛擬環境和項目綁定,安裝:E:\py\qiyue\flask>python3 -m pip install pipenv 和項目綁定:到項目的目錄中pipenv

docker基本原理docker 網路 記憶體 cpu資源控制 目錄掛載

說 docker之前,有必要知道 LUX的基本概念 說LUX之前,首先要知道兩個概念,一個是cgroups,一個是namespace。          cgroups 是用於資源的限制與資源的使用監控,cgroups能夠為程序分配資源,使l

DNS劫持的基本原理解決方案方案

   檢測網站是否被劫持 域名是否被牆 DNS汙染檢測 網站開啟速度檢測 網站是否被黑 被入侵 被改標題 被掛黑鏈 網站監控    DNS劫持又稱域名劫持,是指在劫持的網路範圍內攔截域名解析的請

java:N叉樹堆排序基本原理例項

堆排序(Heapsort)概念:是指利用堆這種資料結構所設計的一種排序演算法; 堆(英語:heap) 概念:電腦科學中一類特殊的資料結構的統稱。堆通常是一個可以被看做一棵樹的陣列(集合)物件。 原理圖(圖示為三叉樹):  擴充套件說明:     堆

服務發現的基本原理比較:Eureka vs Consul vs Zookeeper

前言 在雲端計算和容器化技術發展火熱的當下,對於微服務架構,服務註冊與發現元件是必不可少的。在傳統的服務架構中,服務的規模處於運維人員的可控範圍內。當部署服務的多個節點時,一般使用靜態配置的方式實現服務資訊的設定。在微服務應用中,服務例項的數量和網路地址都是動態變化的,這對系統運維提出了

docker基本原理docker 網路 記憶體 cpu資源控制

說 docker之前,有必要知道 LUX的基本概念 說LUX之前,首先要知道兩個概念,一個是cgroups,一個是namespace。          cgroups 是用於資源的限制與資源的使用監控,cgroups能夠為程序分配資源,使linux的資源不再是全域性性的

Neutron的基本原理程式碼實現

分享正文 大家好,很高興今天能與大家分享一些Neutron的知識。今天分享的思路是:Openstack網路基礎、Neutron的軟體實現、Nova虛擬機器啟動時的網路處理以及OVS流表分析。 一、Openstack網路基礎 下面對Openstack和Neutr

HDFS基本原理工作機制(一)——初識HDFS

HDFS簡介 HDFS 源於 Google 在2003年10月份發表的GFS(Google File System) 論文。 是 GFS 的一個克隆版本 HDFS(Hadoop Distributed File System)是Hadoop專案的核心子專案,是分散式計算中資料

爬蟲基本原理實戰---12、選擇器的用法

Scrapy提取資料有自己的一套機制,被稱作選擇器(selectors),通過特定的Xpath或者CSS表示式來選擇HTML檔案的某個部分 Xpath是專門在XML檔案中選擇節點的語言,也可以用在HT

YAML的Java實現——JYAML基本原理示例(1)匯出資料為YAML格式檔案

1. Overview JYAML是YAML的Java實現,YAML的全稱是YAML Ain't Markup Language,是否定遞迴定義,和LINUX的Linux Is Not UniX是一個意思。其結構之簡單,常常成為匯出或匯入配置檔案、資料結構等應用場景的常用A

K-近鄰演算法—基本原理實戰

概述     k-近鄰演算法(k-Nearest Neighbor, KNN),是一個理論上比較成熟的方法,也是最簡單的機器學習演算法之一,用於預測資料的類別,以及對資料進行分類。該方法的簡要思路就是採用測量不同特徵值之間的距離來進行分類。 特點

Zookeeper基本原理應用場景

        Zookeeper是層次化的目錄結構,命名符合常規檔案系統規範。每個節點在zookeeper中叫做znode,並且其有一個唯一的路徑標識。節點Znode可以包含資料和子節點(EPHEMERAL型別的節點不能有子節點)。Znode中的資料可以有多個版本,比如某一個路徑下存有多個數據版本,那麼查詢