液晶顯示幕 LCD 模組之應用 第十三章 2018/11/30 例說 89S51-C 語言 13-1 本章內容 2018/11/30 例說 89S51-C 語言 13-2 1
液晶顯示幕 LCD 之日常應用 3 https://s.yimg.com/hg/pimg2/ae/60/p099374833664-item-2330xf2x0600x0600-m.jpg 液晶顯示幕 LCD 之日常應用 4 http://www.twns.tw//site/4f3e17df/4f45cdf4/4f45ce14/files/y T0178-001B.jpg 2
液晶顯示幕 LCD 之日常應用 2018/11/30 https://rukminim1.flixcart.com/image/704/704/monitor/n/f/p/ 例說 89S51-C 語言 13-5 acer-p166hql-original-imaebhytrev6egf7.jpeg?q=70 2018/11/30 例說 89S51-C 語言 13-6 3
LCD 模組 ( 英文 ) ( 左邊為正面圖 右邊為背面圖 ) 2018/11/30 例說 89S51-C 語言 13-7 LCD 字型編碼表 2018/11/30 例說 89S51-C 語言 13-8 4
中文 LCM-WG14432B-YYH- N#T000 2018/11/30 例說 89S51-C 語言 13-9 LCD 液晶顯示器功能 14 IC LCD 顯示器內部具有字元產生器, 因此它可以接收 ASCII 字元碼, 供許多 LCD 顯示方式的控制指令, 例如清除顯示畫面 游標歸位 顯示 On/Off 游標 On/Off 閃爍顯示 游標移動等功能 2018/11/30 例說 89S51-C 語言 13-10 5
LCD 字型編碼表 ASCII 字元碼 2018/11/30 例說 89S51-C 語言 13-11 HD44780 LCM 內部結構 2018/11/30 例說 89S51-C 語言 13-12 6
LCD 液晶簡介 LCD(Liquid Crystal Display) 液晶顯示器, 顯示方式可分為 : 文字型 LCD 與繪圖型 LCD 兩種 常見文字型 LCD 有 16 字 X2 列 20 字 X2 列 40 字 X2 列幾種, 而其介面以 14 支信號接腳最為常見 ( 有背光 +A, K 接腳 ) 2018/11/30 例說 89S51-C 語言 13-13 LCM 之包裝 SIP14 包裝 IDC14 包裝 2018/11/30 例說 89S51-C 語言 13-14 7
計算 LCD 記憶體位址 2 列 x 16 字 R1 R2 C1 C2 C3 C4 ~ C16 80H 81H 82H 83H ~ 8FH C0H C1H C2H C3H ~ CFH 2018/11/30 例說 89S51-C 語言 13-15 計算 LCD 記憶體位址 20x2 LCD 80H 81H 82H 83H~90H 91H 92H 93H C0H C1H C2H C3H~D0H D1H D2H D3H 2018/11/30 例說 89S51-C 語言 13-16 8
接腳表 2018/11/30 例說 89S51-C 語言 13-17 明亮度控制 Vo = 0 最亮 2018/11/30 例說 89S51-C 語言 13-18 9
LCD 接腳圖與功能 = 0 最亮 0: 指令暫存器 (IR), 1: 資料暫存器 (DR) = 1 0:WRITE, 1:READ 2018/11/30 例說 89S51-C 語言 13-19 暫存器之選擇與控制介面信號 P1.2 P1.1 P1.0 E R/W RS 作用 1 0 0 寫入指令暫存器 (IR) 1 1 0 讀取忙碌旗標 (BF) 位址計數器 (AC) P1=0x04; P1=0x06; 1 0 1 寫入資料暫存器 (DR) 1 1 1 讀取資料暫存器 (DR) P1=0x05; P1=0x07; 2018/11/30 例說 89S51-C 語言 13-20 10
電路製作範例 8 (P0) (DB0~DB7) (P1.0~P1.2) (RS,RW,E) 2018/11/30 例說 89S51-C 語言 13-21 LCD 與 8051 的電路 P0 P1 2018/11/30 例說 89S51-C 語言 13-22 11
E = 1 RS=0: 指令暫存器 (IR) R/W=0:WRITE P1=0x04; P0=0x01; 清除顯示幕指令 2018/11/30 例說 89S51-C 語言 13-24 E = 1 RS=0: 指令暫存器 (IR) R/W=0:WRITE P1=0x04; P0=0x02; 游標歸位指令 或 P0=0x03; 2018/11/30 例說 89S51-C 語言 13-25 12
E = 1 RS=0: 指令暫存器 (IR) R/W=0:WRITE 設定輸入模式指令 2018/11/30 例說 89S51-C 語言 13-26 E = 1 設定顯示幕指令 2018/11/30 例說 89S51-C 語言 13-27 13
E = 1 設定移位方式指令 0 0 0 1 1 0 0 0 0x18 2018/11/30 例說 89S51-C 語言 13-28 E = 1 RS=0: 指令暫存器 (IR) R/W=1: Read 讀取 BF 與 AC 指令 LCM 的忙碌旗標 BF 將放置在資料匯流排上的 D7 位元, 而 LCM 的位址計數器 AC 內容也將放置在資料匯流排上的 D6- D0 位元, 分別為 A6 A5 A4 A3 A2 A1 A0 2018/11/30 例說 89S51-C 語言 13-31 14
E = 1 RS=0: 指令暫存器 (IR) R/W=0:WRITE DD RAM 定址指令 其中的 A6 A5 A4 A3 A2 A1 A0 代表所要操作的 DD RAM 位址 R1 R2 C1 C2 C3 C4 ~ C16 80H 81H 82H 83H ~ 8FH C0H C1H C2H C3H ~ CFH 2 列 x 16 字 2018/11/30 例說 89S51-C 語言 13-32 E = 1 P1=0x05; R/W=0:Write RS=1: 資料暫存器 (DR) 資料寫入指令 P0= A ; 或 P0=65; 或 P0=0x41; 在資料匯流排上的資料 (ASCII) 將寫入前一個指令所指定的 DD RAM 或 CG RAM 位址裡 P0= 1 ; 或 P0=49; 或 P0=0x31; 15
ASCII 字元碼 A =65=0x41 1 =49=0x31 2018/11/30 例說 89S51-C 語言 13-34 E = 1 RS=1: 資料暫存器 (DR) R/W=1:Read 讀取資料指令 前一個指令所指定的 DD RAM 或 CG RAM 位址中的資料, 將被放置在資料匯流排上 而讀取資料之後, 位址計數器將自動加 1, 指向下一個位址 讀取 ASCII 字元碼 2018/11/30 例說 89S51-C 語言 13-35 16
程式流程 1. LCD 8 5x7 2. 3. (CMD=1) 4. 5. 2018/11/30 例說 89S51-C 語言 13-36 LCD 晶片輸出入 指令功能 RS RW D7 D6 D5 D4 D3 D2 D1 D0 清除螢幕 3 0 0 0 0 0 0 0 0 0 1 游標回到原點 0 0 0 0 0 0 0 0 1 * 進入模態設定 0 0 0 0 0 0 0 1 ID S 螢幕 / 游標顯示開關 2 0 0 0 0 0 0 1 D C B 螢幕 / 游標移位控制 0 0 0 0 0 0 SC RL * * 功能設定 1 0 0 0 0 1 DL N F * * 指定顯示位置 4 0 0 1 ADD 顯示資料 5 1 0 寫入 ASCII 資料 讀取資料 1 1 讀取 ASCII 資料 2018/11/30 例說 89S51-C 語言 13-37 17
LCD 晶片輸出入 1 P1=0x04; P0=0x3B; 1 1 0 1 1 2018/11/30 例說 89S51-C 語言 13-38 LCD 與 8051 的電路 P0=0x3B; P0 P1 P1=0x04; 2018/11/30 例說 89S51-C 語言 13-39 18
LCD 晶片輸出入 3 P1=0x04; P0=1; 2 P1=0x04; P0=0x0E; 1 1 0 2018/11/30 例說 89S51-C 語言 13-40 LCD 晶片輸出入 4 P1=0x04; P0= 0x80, 0xC0, 2018/11/30 例說 89S51-C 語言 13-41 19
E = 1 RS=0: 指令暫存器 (IR) R/W=0:WRITE DD RAM 定址指令 其中的 A6 A5 A4 A3 A2 A1 A0 代表所要操作的 DD RAM 位址 R1 R2 C1 C2 C3 C4 ~ C16 80H 81H 82H 83H ~ 8FH C0H C1H C2H C3H ~ CFH 2 列 x 16 字 2018/11/30 例說 89S51-C 語言 13-42 LCD 晶片輸出入 指令功能 RS RW D7 D6 D5 D4 D3 D2 D1 D0 清除螢幕 0 0 0 0 0 0 0 0 0 1 游標回到原點 0 0 0 0 0 0 0 0 1 * 進入模態設定 0 0 0 0 0 0 0 1 ID S 螢幕 / 游標顯示開關 0 0 0 0 0 0 1 D C B 螢幕 / 游標移位控制 0 0 0 0 0 0 SC RL * * 功能設定 0 0 0 0 1 DL N F * * 指定顯示位置 5 0 0 1 ADD 顯示資料 P1=0x05; 1 0 P0= 寫入 ASCII 資料 讀取資料 1 1 讀取 ASCII 資料 2018/11/30 例說 89S51-C 語言 13-43 20
E = 1 R/W=0:Write P1=0x05; RS=1: 資料暫存器 (DR) 資料寫入指令 在資料匯流排上的資料 (ASCII) 將寫入前一個指令所指定的 DD RAM 或 CG RAM 位址裡 P0= A ; 或 P0=65; 或 P0=0x41; 2018/11/30 例說 89S51-C 語言 13-44 16x2 LCD 16x2 LCD 動態規劃 2018/11/30 例說 89S51-C 語言 13-45 21
8 位元模式之初始設定程式範例 -1 2 0 P1=0x04; 2018/11/30 例說 89S51-C 語言 13-47 8 位元模式之初始設定程式範例 -2 2018/11/30 例說 89S51-C 語言 13-48 22
檢查忙碌函數 2018/11/30 例說 89S51-C 語言 13-49 寫入指令函數 2018/11/30 例說 89S51-C 語言 13-50 23
初始設定的函數 2018/11/30 例說 89S51-C 語言 13-51 寫入資料函數 2018/11/30 例說 89S51-C 語言 13-52 24
Arduino IoT 物聯網專題 專題 : 智慧生活環境監控系統 https://world.taobao.com/item/553130866640.htm 25
Q&A Thank you! 2018/11/30 例說 89S51-C 語言 13-55 26