Surenoo SAM0400A-320480 系列 Arduino Mega2560 用戶手冊的 TFT LCD 模塊

商業

產品描述
本產品為3.95吋TFT液晶模組,解析度480×320,16BIT RGB 65K色顯示,內部驅動 IC ST7796S,ST7796S, 8位元和16位元並口通訊和8位元並口通訊。此模組包括LCD顯示器、電阻式觸控螢幕、SD卡插槽和PCB背板。支援SD卡擴展,可直接插入Arduino MEGA2560開發板。也可用於C51和STM32平台
產品特點
- 3.95寸彩屏,支持16BIT RGB 65K色顯示,顯示色彩豐富
- 480×320分辨率清晰顯示
- ILI9488:支援8位元並行匯流排傳輸,傳輸速度快 ST7796S:支援8位元和16位元並行匯流排傳輸,傳輸速度快
- 板載5V/3.3V電平轉換IC,相容於5V/3.3V工作電壓tage
- 支援Arduino Mage2560直接插件使用
- 支援觸摸功能
- 支援SD卡功能擴充
- 提供Arduino庫和豐富的samp程序
- 可在 C51 和 STM32 平台上使用,具有豐富的功能amp程序
- 軍工級製程標準,長期穩定工作
- 提供底層驅動技術支援
產品參數
| 姓名 | 描述 |
| 顯示顏色 | RGB 65K 色 |
| 存貨單位 | MAR3953 |
| 螢幕尺寸 | 3.95(英寸) |
| 類型 | 薄膜電晶體 |
| 驅動IC | ILI9488 / ST7796S |
| 解決 | 480*320(像素) |
| 模塊接口 | ILI9488:8位元並行介面 ST7796S:8位元或16位元並行介面 |
| 活動區域 | 83.52×55.68(毫米) |
| 模組PCB尺寸 | 61.54×105.69(毫米) |
| 背光源 | 6 晶片高亮白光 LED |
| 工作溫度 | -10℃~60℃ |
| 儲存溫度 | -20℃~70℃ |
| 操作量tage | 3.3V/5V |
| 耗電量 | 待定 |
| 產品重量 | 待定 |
| 驅動IC | ILI9488 / ST7796S |
| 解決 | 480*320(像素) |
| 模塊接口 | ILI9488:8位元並行介面 ST7796S:8位元或16位元並行介面 |
| 活動區域 | 83.52×55.68(毫米) |
| 模組PCB尺寸 | 61.54×105.69(毫米) |
| 背光源 | 6 晶片高亮白光 LED |
| 工作溫度 | -10℃~60℃ |
| 儲存溫度 | -20℃~70℃ |
| 操作量tage | 3.3V/5V |
| 耗電量 | 待定 |
| 產品重量 | 待定 |
| 驅動IC | ILI9488 / ST7796S |
| 解決 | 480*320(像素) |
| 模塊接口 | ILI9488:8位元並行介面 ST7796S:8位元或16位元並行介面 |
| 活動區域 | 83.52×55.68(毫米) |
| 模組PCB尺寸 | 61.54×105.69(毫米) |
| 背光源 | 6 晶片高亮白光 LED |
| 工作溫度 | -10℃~60℃ |
| 儲存溫度 | -20℃~70℃ |
| 操作量tage | 3.3V/5V |
| 耗電量 | 待定 |
| 產品重量 | 待定 |
介面說明

圖1.模組引腳絲印圖
筆記
- 模組硬體支援8位元和16位元並口資料匯流排模式切換(如上圖1藍色方塊所示),如下
一種。 將R5焊上0Ω電阻或直接短接,並斷開R4:選擇16位元資料匯流排模式(預設),使用DB0~DB15資料接腳
B. 將R4焊上0Ω電阻或直接短接,並斷開R5:選擇8位元資料匯流排模式,使用DB0~DB7資料接腳
重要提示:
- 以下腳位編號1~30是指我司帶PCB背板的模組接腳號。如果您購買的是裸屏,請參考裸屏規格書的腳位定義,按照訊號類型進行接線,而不是直接按照下面的模組管腳號進行接線。對於前ample: LCD_CS在我們的模組上是20英尺,在不同尺寸的裸屏上可能是x英尺。
- 關於 VCC 電源電壓tage:如果購買的是帶有PCB背板的模組,VCC/VDD電源需要連接5V(模組已集成超低壓差5V轉3.3V電路),如果購買的是裸屏液晶屏,記得只接3.3五、
- 關於背光音量tage:附PCB背板的模組接3.3V,無需手動接取。如果買的是裸屏,LEDA接3.0V-3.3V,LEDKx接地即可。
| 數位 | 模塊引腳 | 引腳說明 |
| 1 | 5V | 電源引腳 |
| 2 | DB0 | 資料匯流排低8位元接腳 |
| 3 | DB1 | |
| 4 | DB2 | |
| 5 | DB3 | |
| 6 | DB4 | |
| 7 | DB5 | |
| 8 | DB6 | |
| 9 | DB7 | |
| 10 | DB8 | 資料匯流排高 8 位元接腳 如果是 8 位元模式,則無連接 |
| 11 | DB9 |
| 12 | DB10 | |
| 13 | DB11 | |
| 14 | DB12 | |
| 15 | DB13 | |
| 16 | DB14 | |
| 17 | DB15 | |
| 18 | 液晶顯示_RS | LCD暫存器/資料選擇引腳 |
| 19 | LCD_WR | LCD寫控制引腳 |
| 20 | 液晶屏_CS | LCD片選控制腳 |
| 21 | LCD_RST | LCD重設控制腳 |
| 22 | 液晶螢幕_讀 | LCD讀取控制引腳 |
| 23 | NC | 未定義,保留 |
| 24 | TP_IRQ | 觸摸屏中斷控制引腳 |
| 25 | SD_CS | 擴充參考:SD卡選擇腳 |
| 26 | 味噌 | SPI匯流排輸入腳 |
| 27 | 摩西 | SPI匯流排輸出腳 |
| 28 | 時鐘 | SPI匯流排時脈引腳 |
| 29 | TP_CS | 觸控螢幕片選腳 |
| 30 | 接地 | 電源接地引腳 |
硬體配置
LCD模組硬體電路包括五個部分:LCD顯示控制電路、電平移位元電路、SD卡控制電路、觸控螢幕控制電路、8位元和16位元資料匯流排模式切換電路。
LCD顯示控制電路用於控制LCD的接腳,包括控制接腳和資料傳輸接腳。
電平轉換電路實現5V/3.3V轉換,使模組相容
3.3V/5V供電。
SD卡控制電路用於SD卡功能擴展,控制SD卡的辨識、讀寫。
觸控螢幕控制電路用於控制觸控螢幕中斷擷取、資料輸出ampling、AD轉換、資料傳輸等。
8位元和16位元資料匯流排模式切換電路用於切換資料匯流排類型(8位元模式和16位元模式)。詳見上圖1紅框部分或參考模組電路原理圖。
工作原理
ST7796S ILI9488控制器簡介
這 ST7796S ILI9488 是一款用於 262 K 色 TFT-LCD 的單晶片控制器。它支援最大解析度320*480,GRAM為345600位元組。它還支援8位、9位、16位和18位並行埠資料匯流排。它還支援3線和4線SPI串行埠。由於支援的解析度比較大,傳輸的資料量較大,所以採用並口傳輸,傳輸速度快。也支持 65K, 262K、16M RGB 彩色顯示,顯示色彩非常豐富,同時支援旋轉顯示和滾動顯示以及視訊播放,顯示方式多種多樣。
這 ST7796S ILI9488控制器使用16bit(RGB565)來控制一個像素顯示,因此每個像素最多可以顯示65K顏色。像素位址設定依行、列順序進行,遞增、遞減方向由掃描模式決定。這 ST7796S ILI9488 顯示方法是透過設定位址然後設定顏色值來實現的。
並口通信簡介
並口通訊寫入模式時序如圖

圖 1:OBI B 型寫入週期
筆記: WAX 是一種不同步訊號,可以在不使用時進行終止
當D:CX訊號被驅動為10低電位時。介面上的輸入資料被解釋為命令資訊。當Me dela為RAM資料或指令參數時,DC%訊號也可以拉至高電平

CSX為片選訊號,用於啟用和禁止並口通信,低電平有效RESX為外部重設訊號,低電平有效D/CX為資料或指令選擇訊號,1-寫資料或指令參數,0-寫指令WRX為寫入資料控制訊號D[X:0]為並口資料位,有8位、9位、16位、18位四種。
進行寫入操作時,在重設的基礎上,先置位資料或指令選擇訊號,然後將片選訊號拉低,然後從主機輸入要寫入的內容,然後將寫入資料控制訊號拉低。當拉高時,資料在寫入控制訊號的上升沿寫入 LCD 控制 IC。最後將片選訊號拉高,完成資料寫入操作。
使用說明
Arduino 說明
接線說明:
引腳分配請參閱介面說明。此模組可直接插入Arduino UNO和Mega2560,無需手動接線,如下圖:

mega2560直插圖片
| 直接的 插入 指示 為了 Arduino 超2560 微控制器 測試 程式 針腳 | |||
| 數位 | 模塊引腳 | 對應MEGA2560開發板直接插針 | |
| 8位模式 | 16位模式 | ||
| 1 | 5V | 5V | |
| 2 | DB0 | 37 | |
| 3 | DB1 | 36 | |
| 4 | DB2 | 35 | |
| 5 | DB3 | 34 | |
| 6 | DB4 | 33 | |
| 7 | DB5 | 32 | |
| 8 | DB6 | 31 | |
| 9 | DB7 | 30 | |
| 10 | DB8 | 未使用 | 22 |
| 11 | DB9 | 23 | |
| 12 | DB10 | 24 | |
| 13 | DB11 | 25 | |
| 14 | DB12 | 26 | |
| 15 | DB13 | 27 | |
| 16 | DB14 | 28 | |
| 17 | DB15 | 29 | |
| 18 | 液晶顯示_RS | 38 | |
| 19 | LCD_WR | 39 | |
| 20 | 液晶屏_CS | 40 | |
| 21 | LCD_RST | 41 | |
| 22 | 液晶螢幕_讀 | 43 | |
| 23 | NC | 未使用 | |
| 24 | TP_IRQ | 44 | |
| 25 | SD_CS | 48 | |
| 26 | 味噌 | 50 | |
| 27 | 摩西 | 51 | |
| 28 | TP_CS | 53 | |
| 29 | 時鐘 | 52 | |
| 30 | 接地 | 接地 | |
操作步驟:
A. 依照上述接線說明將液晶模組直接插入Arduino MCU,並上電;
B. 將測試包Install libraries目錄下的依賴庫複製到Arduino工程目錄的libraries文件夾中(如果不需要依賴庫,則不需要復制);
C. 打開Arduino測試程序所在目錄,選擇examp你要測試的文件,如下圖:(測試程序說明請參考測試包中的測試程序說明文檔)

D。打開選定的sample項目,編譯下載。 Arduino測試程序依賴庫拷貝、編譯、下載的具體操作方法如下:
http://www.lcdwiki.com/res/PublicFile/Arduino_IDE_Use_Illustration_EN.pdf
E。如果液晶模組正常顯示字元和圖形,則程式運作成功;
C51指令
接線說明:
引腳分配請參閱介面說明
| STC89C52RC 微控制器 測試 程式 接線 指示 | |||
| 數位 | 模塊引腳 | 對應STC89 開發板接線針 | |
| 8位模式 | 16位模式 | ||
| 1 | 5V | 5V | |
| 2 | DB0 | P30 | |
| 3 | DB1 | P31 | |
| 4 | DB2 | P32 | |
| 5 | DB3 | P33 | |
| 6 | DB4 | P34 | |
| 7 | DB5 | P35 | |
| 8 | DB6 | P36 | |
| 9 | DB7 | P37 | |
| 10 | DB8 |
無需連接 |
P20 |
| 11 | DB9 | P21 | |
| 12 | DB10 | P22 | |
| 13 | DB11 | P23 | |
| 14 | DB12 | P24 | |
| 15 | DB13 | P25 | |
| 16 | DB14 | P26 | |
| 17 | DB15 | P27 | |
| 18 | 液晶顯示_RS | P12 | |
| 19 | LCD_WR | P11 | |
| 20 | 液晶屏_CS | P13 | |
| 21 | LCD_RST | P14 | |
| 22 | 液晶螢幕_讀 | P10 | |
| 23 | NC | 無需連接 | |
| 24 | TP_IRQ | 無需連接(無法測試觸摸) | |
| 25 | SD_CS | 無需連接 | |
| 26 | 味噌 | 無需連接(無法測試觸摸) | |
| 27 | 摩西 | 無需連接(無法測試觸摸) | |
| 28 | TP_CS | 無需連接(無法測試觸摸) | |
| 29 | 時鐘 | 無需連接(無法測試觸摸) | |
| 30 | 接地 | 接地 | |
| STC12C5A60S2 微控制器 測試 程式 接線 指示 | |||
| 數位 | 模塊引腳 | 對應STC12開發 電路板接線針 | |
| 8位模式 | 16位模式 | ||
| 1 | 5V | 5V | |
| 2 | DB0 | P00 | |
| 3 | DB1 | P01 | |
| 4 | DB2 | P02 | |
| 5 | DB3 | P03 | |
| 6 | DB4 | P04 | |
| 7 | DB5 | P05 | |
| 8 | DB6 | P06 | |
| 9 | DB7 | P07 | |
| 10 | DB8 |
無需連接 |
P20 |
| 11 | DB9 | P21 | |
| 12 | DB10 | P22 | |
| 13 | DB11 | P23 | |
| 14 | DB12 | P24 | |
| 15 | DB13 | P25 | |
| 16 | DB14 | P26 | |
| 17 | DB15 | P27 | |
| 18 | 液晶顯示_RS | P12 | |
| 19 | LCD_WR | P11 | |
| 20 | 液晶屏_CS | P13 | |
| 21 | LCD_RST | P33 | |
| 22 | 液晶螢幕_讀 | P10 | |
| 23 | NC | 無需連接 | |
| 24 | TP_IRQ | P40 | |
| 25 | SD_CS | 無需連接 | |
| 26 | 味噌 | P35 | |
| 27 | 摩西 | P34 | |
| 28 | TP_CS | P37 | |
| 29 | 時鐘 | P36 | |
| 30 | 接地 | 接地 | |
操作步驟:
A. 依照上述接線連接液晶模組和C51單晶片
說明並開機;
B. 開啟C51測試程式所在目錄,選擇examp待測試文件,如下圖:
(測試程序說明請參閱測試程序說明文件)

C. 打開選中的測試程序工程,編譯下載; C51測試程序編譯和下載的詳細說明可以參考以下文檔:
http://www.lcdwiki.com/res/PublicFile/C51_Keil%26stcisp_Use_Illustration_EN.pdf
D。如果液晶模組正常顯示字元和圖形,則程式運行成功
STM32指令
引腳分配請參閱介面說明。
| STM32F103RCT6單晶片測試程序 接線 指示 | |||
| 數位 | 模塊引腳 | 對應MiniSTM32開發板 接線針 | |
| 8位模式 | 16位模式 | ||
| 1 | 5V | 5V | |
| 2 | DB0 | PB0 | |
| 3 | DB1 | PB1 | |
| 4 | DB2 | PB2 | |
| 5 | DB3 | PB3 | |
| 6 | DB4 | PB4 | |
| 7 | DB5 | PB5 | |
| 8 | DB6 | PB6 | |
| 9 | DB7 | PB7 | |
| 10 | DB8 |
無需連接 |
PB8 |
| 11 | DB9 | PB9 | |
| 12 | DB10 | PB10 | |
| 13 | DB11 | PB11 | |
| 14 | DB12 | PB12 | |
| 15 | DB13 | PB13 | |
| 16 | DB14 | PB14 | |
| 17 | DB15 | PB15 | |
| 18 | 液晶顯示_RS | PC8 | |
| 19 | LCD_WR | PC7 | |
| 20 | 液晶屏_CS | PC9 | |
| 21 | LCD_RST | PC10 | |
| 22 | 液晶螢幕_讀 | PC6 | |
| 23 | NC | 無需連接 | |
| 24 | TP_IRQ | PC1 | |
| 25 | SD_CS | 無需連接 | |
| 26 | 味噌 | PC2 | |
| 27 | 摩西 | PC3 | |
| 28 | TP_CS | PC13 | |
| 29 | 時鐘 | PC0 | |
| 30 | 接地 | 接地 | |
| STM32F429IGT6、STM32F767IGT6、STM32H743IIT6 微控制器 測試 程式 接線 指示 | |||
| 數位 | 模塊引腳 | 對應Apollo STM32F4/F7開發電路板接線針 | |
| 8位模式 | 16位模式 | ||
| 1 | 5V | 5V | |
| 2 | DB0/NC | PE0 | |
| 3 | DB1/NC | PE1 | |
| 4 | DB2/NC | PE2 | |
| 5 | DB3/NC | PE3 | |
| 6 | DB4/NC | PE4 | |
| 7 | DB5/NC | PE5 | |
| 8 | DB6/NC | PE6 | |
| 9 | DB7/NC | PE7 | |
| 10 | DB8 |
無需連接 |
PE8 |
| 11 | DB9 | PE9 | |
| 12 | DB10 | PE10 | |
| 13 | DB11 | PE11 | |
| 14 | DB12 | PE12 | |
| 15 | DB13 | PE13 | |
| 16 | DB14 | PE14 | |
| 17 | DB15 | PE15 | |
| 18 | 液晶顯示_RS | PC8 |
| 19 | LCD_WR | PC7 |
| 20 | 液晶屏_CS | PC9 |
| 21 | LCD_RST | PC10 |
| 22 | 液晶螢幕_讀 | PC6 |
| 23 | NC | 無需連接 |
| 24 | TP_IRQ | PH10 |
| 25 | SD_CS | 無需連接 |
| 26 | 味噌 | PH11 |
| 27 | 摩西 | PH12 |
| 28 | TP_CS | PH13 |
| 29 | 時鐘 | PH9 |
| 30 | 接地 | 接地 |
操作步驟
A。依照上述接線連接液晶模組和STM32 MCU
說明並開機;
B。開啟STM32測試程式所在目錄,選擇examp待測試文件,如下圖:(測試程序說明請參考測試程序說明文件)

C。開啟選定的測試程式項目,編譯並下載; STM32測試程式編譯和下載的詳細說明可以參考以下文件:
http://www.lcdwiki.com/res/PublicFile/STM32_Keil_Use_Illustration_EN.pdf
D. 如果液晶模組正常顯示字元和圖形,則程式運作成功;
軟體說明
代碼架構
A. Arduino程式碼架構說明
程式碼架構如下圖

Arduino的測試程式程式碼由兩部分組成:LCDWIKI函式庫和應用程式程式碼。 LCDWIKI庫包含三個部分:LCDWIKI_KBV庫、LCDWIKI_GUI庫和LCDWIKI_TOUCH庫。該應用程式包含幾個測試examp文件,每個文件都有不同的測試內容;
LCDWIKI_KBV是底層函式庫,與硬體相關。主要負責操作暫存器,包括硬體模組初始化、資料和命令傳輸、像素座標和顏色設定、顯示模式配置等;
LCDWIKI_GUI是中間層庫,負責利用底層庫提供的API繪製圖形、顯示字元;
LCDWIKI_TOUCH是觸控螢幕的底層庫,主要負責觸控中斷偵測、觸控資料處理ampling和AD轉換,以及觸控資料傳輸。
該應用程式是使用LCDWIKI庫提供的API來編寫一些測試examp文件並實現測試功能的某些方面;
C51和STM32代碼架構說明
代碼架構如下圖:

測試程式碼中包含主程式執行時的Demo API程式碼;
LCD初始化和相關bin並口寫資料操作都包含在
液晶顯示代碼;
GUI代碼中包含繪製點、線、圖形及中英文字符顯示相關操作;
main函數實現應用運行;
平台代碼因平台而異;
觸控螢幕相關操作包含在觸控程式碼中;
按鍵代碼中包含按鍵處理相關代碼(C51平台沒有按鍵處理代碼);
led配置操作相關的代碼包含在led代碼中;
GPIO定義說明
A.Arduino測試程式GPIO定義說明
此模組插入Arduino Mage2560,因此不允許修改GPIO連接埠定義。
B. C51測試程序GPIO定義說明
C51測試程式GPIO定義放在lcd.h中 file 如下圖(以STC12C5A60S2單晶片測試程序為例amp樂):

並行引腳定義需要選擇整套GPIO連接埠組,如P0、P2等,這樣在傳輸資料時,操作方便。其他引腳可以定義為任何空閒的 GPIO。
觸控螢幕GPIO連接埠定義放在touch.h中,如下圖(僅12C5A60S2可以測試觸控)

觸摸屏的GPIO定義是可以修改的,可以定義成任何其他空閒的GPIO。
如果微控制器沒有 P4 GPIO 群組,您可以將 penirq 定義為另一個 GPIO。
STM32測試程序GPIO定義說明
STM32 IO模擬測試程式lcd螢幕GPIO定義放在lcd中。 file,如下圖(以STM32F103RCT6測試程序為example

資料並口引腳定義需要選擇一套完整的GPIO連接埠群組,如PB,傳輸資料時,操作方便。
其他引腳可以定義為任何空閒的 GPIO。
觸控螢幕GPIO連接埠在touch.h中定義 file 如下圖所示(取
(STM32F103RCT6測試程序作為example)

如果使用IO模擬測試程序,可以修改括號內的值。所有引腳定義都可以修改,並且可以定義為任何其他空閒的 GPIO。
並口通信代碼實現
A.Arduino測試程式並口通訊程式碼實現
如果mcu_8bit_magic.h中使用了8位元模式相關代碼 file LCDWIKI_KBV庫的內容,如下圖:

如果mcu_16bit_magic.h中使用了16位元模式相關代碼 file 的
LCDWIKI_KBV庫,如下圖:

B. C51測試程序並口通信代碼實現
相關程式碼在LCD.c中實現 file 如下圖:

實現了8位和16位命令以及8位和16位資料讀寫
C.STM32測試程序並口通信代碼實現
STM32測試程序並口通信代碼實現於
液晶顯示器。 file.IO模擬測試程式實作如下圖:

實現了 8 位元和 16 位元命令以及 8 位元、16 位元資料傳輸。
4.觸控螢幕校準說明
A.Arduino測試程序觸控螢幕校準說明
Arduino觸控螢幕校準需要先執行touch_screen_校準程序,然後根據提示進行校準。標定通過後,需要將螢幕顯示的標定參數寫入到cali_para.h中 file LCDWIKI_TOUCH庫的內容,如下圖:

B.C51測試程序觸控螢幕校準說明
C51觸控螢幕校準需要執行Touch_Adjust測試項目(僅在STC12C5A60S2測試程序中可用),如下圖:

觸摸校準通過後,需要儲存校準參數
在touch.c中顯示在螢幕上 file,如下圖:

三、STM32測試程序觸控螢幕校準說明
STM32觸控螢幕校準程序會自動識別是否需要校準或透過按鍵手動進入校準。
包含在觸控螢幕測試項目中。校準標記和校準參數保存在AT24C02 flash 中。如有必要,從閃存讀取。校準過程如下圖所示:

常用軟件
這組測試前amples需要中英文、符號和圖片的顯示,所以使用取模軟件。 有兩種類型的取模軟件:
Image2Lcd 和 PCtoLCD2002。這裡只是測試程式的取模軟體的設置
這 PC到LCD2002 取模軟體設定如下:
點陣格式選擇 暗碼
模數模式選擇 漸進模式
拿型號來選擇 方向(高位優先)
輸出數制選擇 十六進制數
自定義格式選擇C51格式
具體設置方法如下:
http://www.lcdwiki.com/Chinese_and_English_display_modulo_settings
Image2Lcd取模軟體設定如下圖:

Image2Lcd軟體需要設定為水平、從左到右、從上到下、
低位為前掃描模式。
文件/資源
![]() |
適用於 Arduino Mega0400 的 Surenoo SAM320480A-2560 系列 TFT LCD 模組 [pdf] 使用者手冊 SAM0400A-320480, SAM0400A-320480 系列 Arduino Mega2560 TFT LCD 模組, Arduino Mega2560 TFT LCD 模組, Arduino Mega2560 LCD 模組, Arduino Mega2560 模組 |








