2016年7月17日 星期日

DIY - PIC24:XPT2046 電阻式觸摸屏模塊電路(二十六)

DIY - PIC24XPT2046 電阻式觸摸屏模塊電路(二十六): 

2.8 TFT LCD 液晶屏模塊(Thin Film Transistor Liquid Crystal Display Module)的電阻式觸摸屏是使用 Xptek(矽普特)的 XPT2046 控制器芯片,XPT2046 控制器芯片是使用採用 3線制 SPI 通信介面,資料線和控制線都連接到 34腳(2x17腳)的連接器上。

XPT2046 電阻式觸摸屏模塊電路
工作原理:
XPT2046 控制器芯片與 Microchip PIC24FJ64GA008 是採用 SPI Serial Peripheral Interface Bus)連接,而 XPT2046 I/O 控制已經連接到 34腳的連接器,SPI_MISOSPI Master Input Slave Output - Pin 29)接至 MCU RG7/SDI2SPI Data Input 2 - Pin 7),SPI_MOSISPI Master Output Slave Input - Pin 30)接至 MCU RG8/SDO2SPI Data Output 2 - Pin 8),T_PENTouch Pen Output - Pin 31)接至 MCU RE8/INT1Interrupt 1 - Pin 13),T_CSTouch Chip Select - Pin 68)接至 MCU RD6Pin 68)和SPI_CLKSPI Clock Input - Pin 34)接至 MCU RG6/SCK2SPI Clock Output - Pin 6)。

Microchip PIC24FJ64GA008 2.8 TFT LCD 液晶屏連接:
LCD
Signal
MCU
Signal
LCD
Signal
MCU
Signal
1
LCD_CS
57
RD11
2
LCD_RS
39
RF4
3
LCD_WR
66
PMWR
4
LCD_RD
67
RD5
5
LCD_RST
65
RF4
6
DB1

GND
7
DB2

GND
8
DB3

GND
9
DB4

GND
10
DB5

GND
11
DB6

GND
12
DB7

GND
13
DB8

GND
14
DB10
76
PMD0
15
DB11
77
PMD1
16
DB12
78
PMD2
17
DB13
79
PMD3
18
DB14
80
PMD4
19
DB15
1
PMD5
20
DB16
2
PMD6
21
DB17
3
PMD7
22
SD_CS


23
BL_CTR
55
RD9
24
VCC

3.3V
25
VCC

3.3V
26
GND

GND
27
GND

GND
28
NC


29
SPI_MISO
7
RG7
30
SPI_MOSI
8
RG8
31
T_PEN
13
RE8
32
FLASH_CS


33
T_CS
68
RD6
34
SPI_CLK
6
RG6

就算 XPT2046 是採用 SPI 連接,但亦可以使用一般的 I/O,不用 SPI 功能,但筆者仍然選用了 SPI 腳作連接,可以使用一般 I/OSPI 功能。T_PEN 是當觸摸屏有觸摸事件發生,這個引腳就會拉低,所以把這個引腳接到 MCU 的中斷1引腳,就可以隨時偵測到觸摸屏有被按下,但也可以不用中斷功能。 

Microchip PIC24FJ64GA008 XPT2046 觸摸屏接腳程式定義:
//Definitions for T_MOSI pin (SDO2) Output
#define T_MOSI_TRIS_BIT                            TRISGbits.TRISG8
#define T_MOSI_LAT_BIT                             LATGbits.LATG8

//Definitions for T_MISO pin (SDI2) Input
#define T_MISO_TRIS_BIT                            TRISGbits.TRISG7
#define T_MISO_PORT_BIT                           PORTGbits.RG7

//Definitions for T_CLK pin (SCK2) Output
#define T_SCK_TRIS_BIT                               TRISGbits.TRISG6
#define T_SCK_LAT_BIT                                LATGbits.LATG6

//Definitions for T_PEN INT1 pin LCD=31P (RE8) Input
#define T_PEN_TRIS_BIT                               TRISEbits.TRISE8
#define T_PEN_PORT_BIT                             PORTEbits.RE8

// Definitions for Chip Select enable pin (RD6)
#define T_CS_TRIS_BIT                               TRISDbits.TRISD6 // Chip Select
#define T_CS_LAT_BIT                                 LATDbits.LATD6


2016年 7月 17日 天氣報告
氣溫:31.4@ 16:10
相對濕度:百分之 70%
天 氣:間有陽光

沒有留言:

張貼留言