Transcript LCD Module

[1017] Lecture 3
LCD Module
 了解LCD Module
 懂得編輯header檔案並加入專案中
 了解Header 檔案中的method
 在LCD上顯示訊息
LCD Module
利用EVM上的LCM顯示訊息
LCD Module
型號:YJD1602A-1
可操作在4-bits 或 8-bits 的模式
工作電壓 : 5V±10%
LCD Module
Vss : 接地
VDD: 接上+5 V電源.
V0: 調整顯示對比度,0V(GND)為最大。
RS: 選擇暫存器,選擇存取指令或資料。
Low 為指令,High為資料.
LCD Module
R/W: 讀寫暫存器,Low為寫入,High為讀取。
E: Enable Signal, 當E pin產生一個H to L 的
edge時,將設定的訊息往LCD送.
DB0-DB7: Data bus,透過DBx讓我們能寫入
資料到LCD Module裡面,或是從LCD中讀取
資料。
BLA and K: 背光電源模組.
A 連接 +5V and K 連接 GND.
LCD Module
LCM 在開發板上的腳位配置
LCD Module
E: 位於P11.0。
R/W: 位於P11.1。
RS: 位於P11.2。
BLA and K: A位於 P9.6,B位於P9.7。
DBx: 由DB0~DB7分別對應到P10.0~P10.7
LCD Module
指令模式:
對RS 輸出Low,R/W輸出0,
即可利用DBx對LCD Module下指令。
LCM模組支援指令如下頁表格:
LCD Module
LCM模組支援指令如下頁表格:
Value Instruction
Value
Instruction
1
Clear display screen
E
Display on, cursor blinking off
2
Return home
F
Display on, Cursor blinkong
4
Decrement cursor(Shift cursor to left)
10
Shift cursor position to left
6
Increment cursor(Shift cursor to right)
14
Shift cursor position to right
5
Shift display right
18
Shift the entire display to the left
7
Shift display left
1C
Shift the entire display to the right
8
Display off, cursor off
80
Force cursor th beginning of 1st line
A
Display off, cursor on
C0
Force cursor th beginning of 2nd line
C
Display on, Cursor off
38
2 lines and 5x7 matrix
LCD Module
資料模式:
對RS 輸出High,R/W輸出0,
即可利用DBx對LCD Module輸出資料。
對LCD Module 輸出的資料為ASCII code,文
字型的LCD Module 已經內建有文字圖形的
資料了,因此只需要送出ASCII code 即可。
LCD Module
無論是資料模式或是指令模式,LCD Module
每接受到一筆要求都會要有一段執行時間。
執行時間內,再收到的指令都不會被接受。
各種指令與訊息處理的延遲時間可在微處理
機課本第12章當中可以找到。
因此,需要在傳送中間加上一個間隔時間,
或者透過讀取LCM上的Busy flag來判斷。
LCD Module
LCM 上的Busy flag 位於DB7。
透過RS 設LOW,R/W設1,即可從DB7上讀
取Busy flag的狀態。
LCD.h
透過引用Header 檔案,簡化開發過程。
在http://ares.ee.nchu.edu.tw/nslab/lcd.h
下載lcd.h 檔案
將lcd.h加入到專案當中。
在source file中 #include 該header file.
LCD.h
Header檔案是將某些特定常用的程式碼放入
其中,在程式編譯的時候一同編譯。
Header檔案當中的內容多半是以
function(method) 組成。
我們只要理解該function的名稱,敘述以及引
數類型,即可直接叫用這些function來達成我
們的功能。
LCD.h
EX:
#include "msp430x54x.h"
#include "lcd.h"
void main(void)
{
WDTCTL = WDTPW + WDTHOLD;
LCD_main();
lcdwda(0,0,“Hello World ");
}
[1003] Lecture 2
練習:
在LCD 上顯示:
Upper line 顯示學號。
Lower line 顯示英文姓名(任意)。
[1003] Lecture 2
練習:
在LCD 上顯示:
Upper line顯示 固定字串
Lower line顯示 一組數字,並隨時間遞增,
至少加到60。
[1003] Lecture 2
 完成後,找到專案裡面的source file,以附
檔形式寄到 [email protected],並在
主旨中註明姓名、系級與學號,
source檔名稱請利於辨識。
EX:
 主旨:
微處理機實習 LAB3 胡國治 電機碩二 7101064123