- 目錄第三講 單片機(jī)驅(qū)動(dòng)彩色液晶屏 控制RA8889軟件:如何初始化 第七講 單片機(jī)驅(qū)動(dòng)彩色液晶屏 控制RA8889軟件:顯示文字:Part3.自建字庫(kù)
第八講 單片機(jī)驅(qū)動(dòng)彩色液晶屏 控制RA8889軟件:顯示圖片
第九講 單片機(jī)驅(qū)動(dòng)彩色液晶屏 控制RA8889軟件:認(rèn)識(shí)顯存并進(jìn)行讀、寫(xiě)、復(fù)制
第十講 單片機(jī)驅(qū)動(dòng)彩色液晶屏 控制RA8889軟件:圖像運(yùn)算
第十一講 單片機(jī)驅(qū)動(dòng)彩色液晶屏 控制RA8889軟件:播放avi視頻
第十二講 單片機(jī)驅(qū)動(dòng)彩色液晶屏 如何打包bin檔
第十三講 單片機(jī)驅(qū)動(dòng)彩色液晶屏 bin檔的燒錄方法
先來(lái)了解一下RA8889的軟件框架:
液晶屏參數(shù)、頻率、通信接口等配置均放在userdef.h中用宏定義設(shè)置:
一、初始化配置硬件部份:
(1)MCU接口通信
若是并口,請(qǐng)選擇Parallel_8080;這里是采用SPI-4,其它類推:// #define Parallel_8080
// #define Parallel_6800
// #define Serial_3
#define Serial_4
// #define Serial_I2C
(2)液晶屏參數(shù)#define AT070TN92 //##INNOLUX_800x480
該宏定義實(shí)際參數(shù)在RA8889.c里面,不同的屏,不同的分辨率,只需要在此模板進(jìn)行微調(diào)即可,最后六個(gè)參數(shù)調(diào)整水平和垂直方向的偏移:
#ifdef AT070TN92
//**[10h]**//
Select_LCD_Sync_Mode(); // Enable XVSYNC, XHSYNC, XDE.
// Select_LCD_DE_Mode(); // XVSYNC & XHSYNC in idle state.
PCLK_Falling();
//PCLK_Rising();VSCAN_T_to_B();
PDATA_Set_RGB();HSYNC_Low_Active();
VSYNC_Low_Active();
DE_High_Active();
//DE_Low_Active();LCD_HorizontalWidth_VerticalHeight(800,480);
/* [16h][17h] : Figure 19-3 [HND] Non Display or Back porch (pixels) = (HNDR + 1) * 8 + HNDFTR
[18h] : Figure 19-3 [HST] Start Position or Front porch (pixels) = (HSTR + 1)x8
[19h] : Figure 19-3 [HPW] Pulse Width(pixels) = (HPW + 1)x8
*/
LCD_Horizontal_Non_Display(38);
LCD_HSYNC_Start_Position(208);
LCD_HSYNC_Pulse_Width(8);
/* [1Ch][1Dh] : Figure 19-3 [VND] Non-Display Period(Line) = (VNDR + 1)
[1Eh] : Figure 19-3 [VST] Start Position(Line) = (VSTR + 1)
[1Fh] : Figure 19-3 [VPW] Pulse Width(Line) = (VPWR + 1)
*/
LCD_Vertical_Non_Display(8);
LCD_VSYNC_Start_Position(22);
LCD_VSYNC_Pulse_Width(15);#endif
(3)FLASH型號(hào):
已經(jīng)做好配置,直接選擇,主流FLASH均支持,一般選用NOR FLASH即可。// #define MX25L25635E
#define W25Q256FV
(4)外接集通字庫(kù)型號(hào):
可支持的字庫(kù)芯片型號(hào)以及字形碼請(qǐng)參考RA8889的規(guī)格書(shū)說(shuō)明。// #define GT21L16T1W
// #define GT30L16U2W
#define GT30L24T3Y
// #define GT30L24M1Z
// #define GT30L32S4W
// #define GT20L24F6Y
// #define GT21L24S1W
二、初始化配置 軟件部分
(1)頻率
分別是晶振頻率、SDRAM頻率、主頻和液晶掃描頻率(即PCLK)。晶振要求使用10MHz,SDRAM最高可支持到166MH,CORE最高支持到133MHz,實(shí)際可依據(jù)顯示效果適當(dāng)微調(diào)。#define OSC_FREQ 10 // OSC clock frequency, unit: MHz.
#define DRAM_FREQ 120 // SDRAM clock frequency, unit: MHz.
#define CORE_FREQ 120 // Core (system) clock frequency, unit: MHz.
#define SCAN_FREQ 30 // Panel Scan clock frequency, unit: MHz.
???
(2)MCU通信接口和色深
RA8889可支持如下幾種方式,MCU可采用8bit或者16bit通信標(biāo)準(zhǔn);色深可定義為8bpp、16bpp或者24bpp,其中24bpp在16bit通信標(biāo)準(zhǔn)下衍生兩種模式,具體可以參考RA8889的規(guī)格書(shū),顯示效果差別不大。// #define MCU_8bit_ColorDepth_8bpp
#define MCU_8bit_ColorDepth_16bpp
// #define MCU_8bit_ColorDepth_24bpp
// #define MCU_16bit_ColorDepth_16bpp
// #define MCU_16bit_ColorDepth_24bpp_Mode_1
// #define MCU_16bit_ColorDepth_24bpp_Mode_2
?
(3)圖像、畫(huà)布寬度,屏的寬度和高度
畫(huà)布和圖像寬度一般是相同,這個(gè)參數(shù)一般是設(shè)定為屏寬的n倍。#define canvas_image_width 1600 //畫(huà)布寬度
#define main_image_width 1600 //圖像寬度
#define LCD_width 800 //屏寬
#define LCD_height 480 //屏高
三、主程序的初始化部份
(1)GPIO配置及延時(shí)函數(shù)/* System Clocks Configuration */
RCC_Configuration();
delay_init(72);
GPIO_Configuration();
SPI_Peripheral_Init();
??
?
(2)配置FSMC/* Enable the FSMC Clock */
RCC_AHBPeriphClockCmd(RCC_AHBPeriph_FSMC, ENABLE);
FSMC_LCD_Init_H();
(3)RA8889初始化
該初始化會(huì)調(diào)用userdef.h中的宏定義參數(shù),再將參數(shù)寫(xiě)入相關(guān)寄存器。RA8889_Initial();
(4)測(cè)試顯示
初始化做完之后,再打開(kāi)顯示。彩虹條是用于液晶屏顯示測(cè)試的,若正常顯示,則說(shuō)明屏的初始化已基本做完。Display_ON(); //打開(kāi)顯示
Color_Bar_ON(); //顯示彩虹條
delay_seconds(1);
Color_Bar_OFF(); //關(guān)閉彩虹條
彩虹條如下圖,注意顏色排列順序由黑、藍(lán)、綠…白色排列,循環(huán)下去。若顏色不一致 或者有偏移,再檢查接線以及微調(diào)屏參。
第三講 THE END
分享到:
相關(guān)熱詞搜索:RA8889 液晶控制芯片 初始化
上一篇:一招教你判斷TFT接口連接是否正常(RA8889,RA8876的應(yīng)用)
下一篇:第四講 單片機(jī)驅(qū)動(dòng)彩色液晶屏 控制RA8889軟件:繪圖
>>延伸閱讀:0