由於 NOKIA (諾基亞) 5110 LCD 液晶屏模塊是使用介面為串列外設介面(SPI:Serial Peripheral Interface),所以理所當然是使用串列介面連接,但也可以使用一般的 I/O 介面連接。筆者在設計電路時,也考慮到 NOKIA 5110 LCD 液晶屏連接,可以使用串列外設介面(SPI)或一般的 I/O 介面編程是最好,所以 DIN(Serial Data Input) 和 CLK(Serial Clock Input) 會連接到 SDO1/RF8 和 SCLK1/RF6,而 CE(Chip Enable) 和 DC(Data/Command Selection) 便連接到一般的 RE1/RE2 I/O 接口。
PIC24FJ64GA008 NOKIA 5110 LCD 模塊 I/O 電路圖 |
Microchip
PIC24FJ64GA008 和 1.6吋 NOKIA 5110 LCD 液晶屏連接:
LCD
|
Signal
|
Description
|
I/O Bus
|
MCU
|
Signal
|
1
|
RST
|
Reset (Active
Low)
|
11
|
76
|
RE0
|
2
|
CE
|
Chip Enable
(Active Low)
|
12
|
77
|
RE1
|
3
|
DC
|
Data/Command Selection
Low – Write Commnad
High – Write Data
|
13
|
78
|
RE2
|
4
|
DIN
|
Serial Data Input
|
19
|
43
|
SDO1/RF8
|
5
|
CLK
|
Serial Clock Input
|
23
|
45
|
SCK1/RF6
|
6
|
VCC
|
2.7 ~ 3.3V
|
1
|
+3.3V
|
|
7
|
BL
|
Backlight
|
15
|
79
|
RE3
|
8
|
GND
|
Ground
|
6
|
GND
|
工作原理:
Philips (飛利浦)PCD8544 控制器芯片與 Microchip PIC24FJ64GA008 是採用串列外設介面(SPI:Serial Peripheral Interface Bus)連接,而 PCD8544 的 I/O 控制已經連接到 8腳的連接器,DIN(Data Input Line - Pin 4)接至 MCU 的 SDO1/RF8(SPI Data Input 1 / RF8 - Pin 43),CLK(SPI Clock Input Line - Pin 5)接至 MCU 的 SCK1/RF6(SPI Clock Output 1 /RF6 - Pin 45),RST(Reset - Pin 1)接至 MCU 的 PMD0/RE0(RE0 - Pin 76),CE(Chip Enable - Pin 2)接至 MCU 的 PMD1/RE1(RE1 - Pin 77),D/C(Data / Command - Pin 3)接至 MCU 的 PMD2/RE2(RE2 - Pin 78),和 BL(Backlight Control - Pin 7)接至 MCU 的 PMD3/RE3(RE3 - Pin 79)。由於 SPI 是引腳是可以作 SPI 和一般 I/O使用,所以可試驗簡單的 I/O 操作。
Microchip PIC24FJ64GA008 PCD8544 LCD屏接腳 I/O 程式定義:
// Definitions for Reset pin
#define RST_TRIS_BIT TRISEbits.TRISE0
#define RST_LAT_BIT LATEbits.LATE0
// Definitions for CS pin
#define CS_TRIS_BIT TRISEbits.TRISE1
#define CS_LAT_BIT LATEbits.LATE1
// Definitions for RS pin
#define RS_TRIS_BIT TRISEbits.TRISE2
#define RS_LAT_BIT LATEbits.LATE2
// Definitions for Backlight enable pin
#define LED_TRIS_BIT TRISEbits.TRISE3 // Output
#define LED_LAT_BIT LATEbits.LATE3
// Definitions for CLK pin
#define CLK_TRIS_BIT TRISFbits.TRISF6
#define CLK_LAT_BIT LATFbits.LATF6
//Definition for data BUS
#define
DAT_TRIS_BIT TRISFbits.TRISF8
#define
DAT_LAT_BIT LATFbits.LATF8
#define
DAT_PORT_BIT PORTFbits.RF8
|
Microchip PIC24FJ64GA008 PCD8544 LCD屏初始化程式:
void nokia_init(void)
{
AD1PCFG = 0xFFFF;
_PMPEN = 0;
// Start Reset Device
// Set I/O as Input=1/Output=0
RST_TRIS_BIT = 0; // Reset = Output = 0
CS_TRIS_BIT
= 0; // Chip Select = Output =
0
RS_TRIS_BIT
= 0; // Command/Data = Output =
0
DAT_TRIS_BIT = 0; // Data D0~D7 = Output = 0
CLK_TRIS_BIT = 0; // SCLK = Output = 0
LED_TRIS_BIT = 0; // Backlight LED = Output = 0
// Backlight LED ON
LED_LAT_BIT = 1; // Backlight LED On = 1
RS_LAT_BIT
= 1; // Data/-Command
CS_LAT_BIT
= 0; // Chip Select ON = 0
// Hardward Reset LCD Device
RST_LAT_BIT = 0; // Reset LCD On = 0 >100ms
delayms(250);
CS_LAT_BIT = 1; // Chip Select Off = 1
RST_LAT_BIT = 1; // Reset LCD Off = 1
delayms(200);
nokia_write_command(0x21); // set extended instruction set
nokia_write_command(0xB1); // 0x90 was 0xc2 LCD=;3.06+162*0.06=4.02
nokia_write_command(0x04);
nokia_write_command(0x14); //0x13
bias 1:48 -> n=4
nokia_write_command(0x0C);
//0x13 bias 1:48 -> n=4
nokia_write_command(0x20); // horiz mode Droite, X autoincremente
delayms(150);
nokia_write_command(0x0C); // mod
control normal change
delayms(50);
CS_LAT_BIT = 1; // Chip Select Off = 1
}
|
PIC24FJ64GA008 NOKIA 5110 LCD 模塊 I/O 電路試驗 |
2016年 12月 26日 天氣報告
氣溫:20.8度 @ 20:30
相對濕度:百分之 75%
天氣:大致多雲
沒有留言:
張貼留言