因Yahoo!奇摩部落格將於2013年12月26日終止服務故遷移至此
市面上有賣一種 LCD
它是以文字為基礎的
也就是畫面上預先分割好幾個格子
每個格子裡可以放一個字元
它可以用來顯示一些訊息
像是微控制器偵測到的狀態等
今回展示用 8051 控制這種玩具
這種顯示器本身也是一個嵌入式系統
它有處理器,記憶體
接受輸入,印出訊息到顯示器上
我買到的這顆是以 HD44780 控制器為基礎的 LCD
根據 datasheet 可以知道它有這些指令
HD44780 instruction set
Function | RS | RW | DB7 | DB6 | DB5 | DB4 | DB3 | DB2 | DB1 | DB0 | Exec time |
Clear display | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1.64ms |
Return home | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | x | 1.64ms |
Entry mode set | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | I/D | S | 40us |
Display ON/OFF set | 0 | 0 | 0 | 0 | 0 | 0 | 1 | D | C | B | 40us |
Cursor or Display shift | 0 | 0 | 0 | 0 | 0 | 1 | S/C | R/L | x | x | 40us |
Function set | 0 | 0 | 0 | 0 | 1 | DL | N | F | x | x | 40us |
Set CG RAM address | 0 | 0 | 0 | 1 | ACG | 40us | |||||
Set DD RAM address | 0 | 0 | 1 | ADD | 40us | ||||||
Read busy flag & address | 0 | 1 | BF | AC | 1 us | ||||||
Write data to CG/DD RAM | 1 | 0 | Write Data | 40us | |||||||
Read data for CG/DD RAM | 1 | 1 | Read Data | 40us |
要操控它很簡單
只要先把 Enable 拉起
接著照上表對 RS, RW, Data 填入指令
然後 delay 一點時間等資料存入
接著把 Enable 拉下,負緣觸發
然後再 delay 一點時間讓它處理資料
delay 所需的時間 datasheet 上都有詳述 (或是 check busy state)
這樣就可以讓它工作
要能工作必須先初始化
做一些像是設定處理模式,清除記憶體,把指標指到最前面
最後設定輸入模式,就可以開始送資料
這些範例 datasheet 上都有,相當容易
成品 :
懶得再洗版,裸線連接
叔叔是練過的,好孩子別學喔~♡ (毆)
我用 P0.0~2 當 En / RS / RW (需並上 10k pull-up 電阻)
P2 傳 data, 採 8-bit 模式處理
HD44780 是日本人做的處理器
所以有日文支援
隨便亂打,有可能拼錯,內容無視XD
太簡單沒有挑戰性嗎?XD
請參考新文章:控制繪圖型 LCD
沒有留言:
張貼留言
注意:只有此網誌的成員可以留言。