2007年9月14日 星期五

用 8051 控制文字型 LCD

本文在 2007/09/14 18:10 發表於 Yahoo!奇摩部落格
因Yahoo!奇摩部落格將於2013年12月26日終止服務故遷移至此


市面上有賣一種 LCD
它是以文字為基礎的
也就是畫面上預先分割好幾個格子
每個格子裡可以放一個字元
它可以用來顯示一些訊息
像是微控制器偵測到的狀態等
今回展示用 8051 控制這種玩具

這種顯示器本身也是一個嵌入式系統
它有處理器,記憶體
接受輸入,印出訊息到顯示器上
我買到的這顆是以 HD44780 控制器為基礎的 LCD
根據 datasheet 可以知道它有這些指令



HD44780 instruction set
FunctionRSRWDB7DB6DB5DB4DB3DB2DB1DB0 Exec time
Clear display00000000011.64ms
Return home000000001x1.64ms
Entry mode set 00000001I/DS40us
Display ON/OFF set0000001DCB40us
Cursor or Display shift000001S/CR/Lxx40us
Function set00001DLNFxx40us
Set CG RAM address 0001ACG40us
Set DD RAM address 001ADD40us
Read busy flag & address01BFAC1 us
Write data to CG/DD RAM10Write Data40us
Read data for CG/DD RAM11Read Data40us

要操控它很簡單
只要先把 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

沒有留言:

張貼留言

注意:只有此網誌的成員可以留言。