LCD 液晶屏的驅動蕊片的讀寫方式各異,所以要特別注意,否則便無法將指令和資料讀寫到驅動蕊片。筆者在 ILITEK 的 ILI9341 選擇了 8080-II 系列並行雙向接口(8080-Ⅱ Series Parallel Interface)的數據連接,所以也是要根據 ILI9341 的讀寫方式, 這接口方式是由 IM0 ~ IM3 的引腳作設定,但 LCD 的模塊已經簡化了設定,可以選擇 8080-II 系列並行雙向接口 8-bit 或 16-bit 數據通訊。
ILI9341 LCD 的數據通訊選擇 |
寫入時間序列是由 WRX 信號從高後低開始,當信號由低昇上高位時(Rising Edge)便會作寫入操作,在這時 MCU 處理器已提供穩定的指令 / 數據信息,在 WRX 的上升沿(Rising Edge)LCD 顯示模塊會捕捉信息。當 D / CX 信號是低電平(Low),信息是指令(Command),等 LCD 顯示模塊接收指令後,D / CX 信號是高電平(High),MCU 會發出信息便是數據(Data),LCD 顯示模塊便會繼續接收數據。
ILI9341 寫入時間序列(Write Cycle Sequence) |
詳盡的 ILI9341 寫入時間序列(Write Cycle Sequence) |
Microchip
PIC24FJ64GA008 2.8吋 TFT LCD 液晶屏寫入時間序列(Write Cycle Sequence):
unsigned char ILI9341_RD_DATA()
{
unsigned char data;
// Read
Data Operation Ready RS=1
RS_LAT_BIT = 1; //
Select Data On = 1
CS_LAT_BIT = 0; // Chip
Set On = 0
DAT_TRIS_BIT |= 0x00FF; // Data D0~D7 = Input = 1
// Read
Data = data
RD_LAT_BIT = 0; // Read
Data from LCD
Nop();Nop(); // Delay
data =
DAT_PORT_BIT; // data = Data
RD_LAT_BIT = 1; // Read
Data off = 1
return data; // Return data
}
|
讀入時間序列是由 RDX 信號從 MCU 從高後低開始,當信號由低昇上高時(Rising Edge)便會作讀入操作。首先當 D / CX 信號是低電平(Low)和 WRX 是低電平(Low),MCU 會發出信息是指令(Command),等 LCD 顯示模塊接收指令後,D / CX 信號是高電平(High)和 WRX 是高電平(High),但 RDX 會變成低電平(Low),LCD 顯示模塊會發出信息是數據(Data),MCU 便會讀入數據處理。
ILI9341 讀入時間序列(Read Cycle Sequence) |
詳盡的 ILI9341 讀入時間序列(Read Cycle Sequence) |
Microchip
PIC24FJ64GA008 2.8吋 TFT LCD 液晶屏讀入時間序列(Read Cycle Sequence):
void ILI9341_WR_DATA(unsigned char data)
{
// Write
Data Operation Ready RS=1
RS_LAT_BIT = 1; // Select
Data On = 1
CS_LAT_BIT = 0; // Chip Set
On = 0
RD_LAT_BIT = 1; // Read Device
Off = 1
DAT_TRIS_BIT &= 0xFF00; // Data D0~D7 = Output = 0
// Write
Data = data
DAT_LAT_BIT = data; // Data D0~D7 = data
WR_LAT_BIT = 0; // Write
data to LCD On = 0
//
Finished Write Data 8bits
WR_LAT_BIT = 1; // Write
Command Off = 1
CS_LAT_BIT = 1; // Chip
Selet Off = 1
}
|
2016年 6月 26日 天氣報告
氣溫:30.9度 @ 19:30
相對濕度:百分之 75%
天氣:天色大致良好※ 酷熱天氣警告現正生效
沒有留言:
張貼留言