999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于STM32和emWin圖形庫的液晶顯示系統設計

2015-05-05 01:59:38肖林京于鵬杰于志豪岳明臣
電視技術 2015年1期
關鍵詞:系統

肖林京,于鵬杰,于志豪,常 龍,岳明臣

(山東科技大學 機械電子工程學院,山東 青島 266590)

基于STM32和emWin圖形庫的液晶顯示系統設計

肖林京,于鵬杰,于志豪,常 龍,岳明臣

(山東科技大學 機械電子工程學院,山東 青島 266590)

為了滿足現代電子產品對液晶顯示的個性化需求,以STM32微控制器為核心,應用emWin圖形庫設計了一種液晶顯示系統。在分析了STM32微控制器和emWin圖形庫優越性的基礎上,詳細介紹了液晶顯示系統的硬件設計和emWin圖形庫在STM32平臺的移植過程。最后對液晶顯示系統進行實驗驗證,結果表明該液晶顯示系統顯示穩定、性能可靠、界面友好,具有很好的實用效果。

液晶顯示系統;STM32微控制器;emWin圖形庫;移植

目前,隨著液晶器件制造工藝的不斷完善和生產成本的不斷降低,液晶器件在各類電子產品中應用越來越廣泛。同時,液晶器件具有體積小、功耗低、顯示信息量大、壽命長、不產生電磁輻射污染、可以顯示復雜的文字和圖片等優點[1-2],在未來的顯示終端領域將具有廣闊的發展前景。

STM32微控制器是意法半導體(ST)公司生產的32位ARM處理器。該處理器具有內部資源豐富、擴展能力強、功率消耗低、價格便宜等優點,已逐漸成為32位微控制器中的理想器件。emWin圖形庫是一款用于嵌入式開發的通用圖形軟件包,其所有軟件模塊均為C語言源代碼設計[3],可以支持任何CPU和幾乎所有顯示器。同時,由于emWin圖形庫的源代碼是開放的,使其開發使用難度大大降低。因此,將兩者優點結合起來設計一種液晶顯示系統具有積極的實際應用價值。

1 硬件設計

液晶顯示系統采用STM32F103系列的微控制器作為主控制芯片,根據實際的顯示需求,設計了多個功能模塊,共同完成系統數據的接收、轉換、報警和顯示。系統的硬件結構如圖1所示,該系統硬件主要由STM32F103微控制器、CAN總線接口、液晶顯示接口、報警輸出接口組成。同時,還包括電源、擴展Flash、按鍵和報警器等外設。其中,STM32F103微控制器是該液晶顯示系統的核心部分,完成系統信息的處理以及對外設的控制和管理;CAN總線接口是該液晶顯示系統與外部其他系統信息交互的通道,顯示系統通過CAN總線接口從CAN通信網絡中獲取顯示信息;液晶顯示接口是液晶屏的驅動接口,實現了STM32F103微控制器與液晶屏內置的LCD控制器之間的連接;報警輸出接口主要進行報警信號的功率放大,完成對報警器的驅動。

1.1 STM32F103微控制器

STM32F103系列微控制器是新一代基于ARMv7-M體系結構的嵌入式ARM處理器。其內部采用了32位標準RISC(精簡指令集),提供了很高的代碼效率[4]。該液晶顯示系統使用的控制器具體型號是STM32F103VCT6,其最高工作頻率72 MHz;工作電壓為2.0~3.6 V;具有休眠、停止、待機3種低功耗模式;擁有多個通信接口、定時器、中斷源和外設。此外,該款微控制器內部還集成了 FSMC(靈活的靜態存儲器控制器),能夠直接支持8080總線接口的LCD控制器[5]。

圖1 系統硬件結構框圖

1.2 液晶屏及其接口電路

該液晶顯示系統選用型號為DST2001PH的 2.8 in(1 in=2.54 cm)TFT液晶屏作為顯示終端,其內置ILI9320 LCD控制器,采用320×240的屏幕分辨率,支持16 位的 8080并行接口,使用565RGB真彩顯示模式[6],內部自帶顯存,正常工作電壓為2.8~3.3 V。此外,該液晶屏還具有抗干擾能力強和電磁兼容性好的特點。

根據ILI9320 LCD控制器的顯示控制機理,其內部RAM可以看作不帶地址總線的靜態隨機存儲器,STM32微控制器通過將相應的GPIO口設置工作在FSMC總線方式[7]下,按照16位的8080并行接口的通信要求,以訪問靜態隨機存儲器的形式訪問LCD控制器,實現對LCD控制器的驅動控制。其中,ILI9320 LCD控制器的信號線包括:數據總線DB[15∶0]、片選信號CS、命令/數據轉換信號RS、讀數據信號RD、寫數據信號WR,與之對應相連接的FSMC信號線為數據總線FSMC _D[15∶0]、地址信號FSMC_ A16、片選FSMC_NE1、讀使能FSMC_NOE、寫使能FSMC_NWE。具體的液晶屏接口電路連接圖如圖2所示。

1.3 CAN總線接口電路

CAN總線由于布線簡單,成本低廉,可靠性高,已越來越多的應用于測量控制系統和工業控制現場中。本系統CAN總線接口主要是用于接收CAN網絡中的各種顯示信息。STM32F103VCT6微控制器自帶2個CAN通信的接口,其支持CAN協議2.0A和2.0B。該接口電路主要由CAN總線收發器和隔離芯片組成。其中,CAN總線收發器選用了具有差動接收和發送能力的PCA82C250芯片;隔離芯片選用雙通道數字隔離器ADUM1201芯片。

圖2 液晶屏接口電路連接圖

1.4 報警輸出接口電路

液晶顯示系統進行信息顯示過程中,為了能夠對接收的異常信息進行提示,系統需要有報警器。報警輸出接口電路作為STM32F103微控制器驅動報警器的接口電路,主要由功率放大電路和隔離電路組成。隔離電路通過選用的可控制光電耦合器件TLP521芯片,實現微控制器與功率放大電路之間的隔離,減少了功率放大電路對微控制器的干擾;功率放大電路選用SS9013三極管,利用其電流放大特性,對報警信號進行功率放大,實現對報警器的驅動。

2 軟件設計

液晶顯示系統軟件部分設計的主要任務有emWin圖形庫在STM32平臺的移植和系統顯示界面整體程序的編寫。

2.1 emWin圖形庫在STM32平臺的移植

2.1.1 emWin的層次結構

emWin作為一種復雜高效的圖形用戶界面,可以移植到眾多顯示控制器和操作系統中,具有模塊化的特點,并采用分層結構[3]。如圖3所示,emWin主要包括應用層、圖形庫層、驅動層和硬件層4個層次。在emWin完成顯示的過程中,應用層中的用戶應用程序先調用圖形庫層的功能函數,然后各個功能函數通過驅動層的底層驅動函數,實現對硬件的電路驅動,完成顯示界面的顯示。

2.1.2 emWin圖形庫的移植

emWin圖形庫的移植是在MDK-ARM 5.0開發環境中完成的,使用的emWin圖形庫是NXP公司公開提供的版本為emWin V5.18圖形庫,該庫提供了圖形用戶界面設計所需要的豐富控件集。emWin圖形庫的移植過程主要分為4部分:添加相應文件到項目工程中;配置LCD文件;配置GUI文件;編寫底層驅動函數。

1)添加相應文件到項目工程中

emWin圖形庫的移植,首先需要在emWin V5.18圖形庫中選擇相應的底層配置文件和庫文件,添加到MDK-ARM 5.0開發環境中的項目工程里。然后通過對底層配置文件進行相應修改,使得emWin圖形庫能夠在項目工程中正常運行。其中,添加的底層配置文件包括LCD文件(LCDConf.c和LCDConf.h)、GUI文件(GUIConf.c和GUIConf.h)和時間文件(GUI_X.c);庫文件需添加與STM32F103微控制器Cortex-M3內核相對應的 emWin_518_ Keil4_M3_ LE.lib 庫文件。

圖3 emWin層次結構圖

2)配置LCD文件

LCD文件主要是對LCD控制器進行的配置。根據液晶屏的參數,通過修改LCD文件中相應的宏定義,一方面完成LCD控制器的顯示尺寸、顯示方向、顏色模式和顯示驅動等部分的配置,另一方面根據液晶屏接口電路連接情況完成對LCD控制器的命令寄存器和數據寄存器地址進行配置。配置如下:

/*定義顯示屏顯示尺寸*/

#define XSIZE_PHYS 240

#define YSIZE_PHYS 320

/*定義顏色模式*/

#define COLOR_CONVERSION GUICC_565

/*選擇ili9320 LCD控制器*/

#define LCD_CONTROLLER 9320

/*選擇支持ili9320控制器的顯示驅動*/

#define DISPLAY_DRIVER GUIDRV_FLEXCOLOR

/*設置命令寄存器地址*/

#define LCD_REG_ADDRESS(*((volatile U16 *)(0x60000000UL)))

/*設置數據寄存器地址*/

#define LCD_DAT_ADDRESS(*((volatile U16 *)(0x60020000UL)))

/*定義顯示屏顯示方向*/

#define GUI_SWAP_XY(1)

3)配置GUI文件

GUI文件主要是對emWin圖形庫的顯示緩沖區、顏色字體以及一些高層次的可用功能進行的配置。配置如下:

#define GUI_NUMBYTES(1024)*72//設置emWin動態顯示緩沖區大小

#define GUI_DEFAULT_FONT &GUI_Font6x8//設置默認字體

#define GUI_DEFAULT_BKCOLOR GUI_BLACK//設置背景顏色

#define GUI_DEFAULT_COLOR GUI_WHITE//設置前景顏色

#define GUI_OS 0//設置emWin支持多任務

#define GUI_SUPPORT_TOUCH 0//設置支持可選觸摸屏

#define GUI_SUPPORT_MOUSE 0//設置支持可選鼠標

#define GUI_WINSUPPORT 1//設置支持可選窗口管理器

#define GUI_SUPPORT_MEMDEV 1//設置支持可選存儲設備

#define GUI_SUPPORT_ROTATION1//設置支持文字旋轉

#define WM_SUPPORT_STATIC_MEMDEV 1//設置支持靜態存儲設備

#define GUI_NUM_LAYERS 16//設置可用層/顯示器的最大數量

4)編寫底層驅動函數

底層驅動函數是LCD驅動程序中最底層的函數。底層驅動函數主要包括LCD初始化函數和LCD顯示緩沖區讀寫函數。emWin圖形庫中所有其他的功能函數都是通過調用這些底層驅動函數來實現其各自的功能的。

STM32F103微控制器是以總線上模擬的8080接口與ILI9320 LCD控制器連接的,其采用16位的并口模式對顯示屏進行控制[8]。微控制器通過FSMC的A16地址線的高低電平(A16=0/A16=1),實現對ILI9320 LCD控制器命令操作和數據操作的區分。當A16地址線為高電平時,通過底層寫函數ili9320_Write()向LCD控制器寫入數據,通過底層讀函數ili9320_Read()讀取LCD控制器的數據。當A16地址線為低電平時,通過底層寫函數ili9320_Write()向LCD控制器寫入命令,通過底層讀函數ili9320_Read()讀取LCD控制器寄存器值。因此,編寫底層驅動函數只需完成對底層寫函數ili9320_Write()和底層讀函數ili9320_Read()的編寫。編寫底層函數代碼如下:

//*LCD控制器初始化*//

voidili9320_int(){

ili9320_set_cs();

ili9320_clr_reset();

GUI_X_Delay(50);

ili9320_set_reset();

GUI_X_Delay(50);

}

//*底層寫函數*//

void ili9320_Write (uint16_t c){

ili9320_data_out_L = (unsigned char)c;

ili9320_ data_out_H = c >> 8;

ili9320_clr_cs();

ili9320_clr_wr();

ili9320_set_cs();

ili9320_set_wr();

}

//*底層讀函數*//

uint16_t ili9320_ Read(uint16_t c){

ili9320_clr_cs();

ili9320_clr_rd();

c =ili9320_data_in_L | ((uint16_t ) ili9320_data_in_H << 8;

ili9320_set_cs();

ili9320_set_rd();

}

2.2 系統程序流程圖

系統程序的流程如圖4所示。系統首先需要對STM32F103微控制器進行初始化,初始化主要是對其內部的系統時鐘、通用I/O口、中斷控制器、CAN控制器和定時器等資源進行設置;接著初始化emWin圖形庫和運行系統主要程序。系統根據實際的顯示需求,對主要程序中的任務設置了不同的優先級,保證了系統中不同任務的有序運行。系統主要程序中先判斷是否接收到新的CAN報文,對接收的新報文信息進行處理和顯示;再通過中斷的方式判斷是否有界面切換按鍵信息和報警信息出現,實現相應的界面切換和異常信息的報警。

圖4 系統程序流程框圖

3 實驗結果

3.1 搭建實驗平臺

為驗證該液晶顯示系統的顯示效果,在設計的硬件電路圖基礎上,制作完成本系統的實驗電路板,并配置相應的開關按鍵、報警器、液晶顯示屏等外設,形成了能夠滿足實際需求的液晶顯示系統實驗平臺。具體的實物如圖5所示。

圖5 液晶顯示系統實物圖

3.2 實驗應用及結果顯示

將文中的液晶顯示系統應用到鋰離子蓄電池礦用電機車電池管理系統中,該系統通過CAN總線接口接收電池管理系統其他模塊發送的電池信息,實現了電機車電池管理系統中各個電池模塊的電壓、電流、剩余電量等信息的詳細顯示。顯示結果從如圖6可以看出。

圖6 液晶顯示結果圖

4 結束語

本文以STM32微控制器和2.8 in的TFT-LCD液晶屏作為硬件基礎,軟件方面采用了emWin圖形庫,通過軟硬件的結合,設計完成了一種液晶顯示系統。經實驗驗證,設計的液晶顯示系統,具有編程簡單、運行穩定、顯示界面友好等優點,可滿足不同場合的顯示要求,具有很強的實用價值。

[1]龍燕,李劍鋒,曹科峰,等.以FPGA為核心的液晶顯示電路設計與實現[J].液晶與顯示,2006,21(3):274-278.

[2]彭志紅,袁野,林韻英,等.國內液晶顯示技術的發展概況[J],電視技術,2013,37(S2):425-426.

[3]陳新,蒲慶文.基于emWin圖形庫的電動汽車液晶儀表設計[J].儀表技術與傳感器,2013(7):105-107.

[4]孫書鷹,陳志佳,寇超. 新一代嵌入式微控制器STM32F103開發與應用[J].微型計算機應用,2010,31(12):59-63.

[5]孫林軍,賀鋒濤.基于STM32控制器液晶的接口實現[J],電視技術,2013,37(1):77-79.

[6]周立功,張華.深入淺出ARM7[M].北京:北京航天航空大學出版社,2008.

[7]王蘭英.基于STM32嵌入式系統的uCGUI移植與實現[J].四川理工學院學報:自然科學版,2012,25(1):56-58.

[8]石億,黃輝先,趙娟,等.uC/OS-II與uC/GUI在Cortex-M3上的移植研究與實現[J].微型計算機信息,2012,28(9):159-161.

Design of LCD Display System Based on STM32 and emWin

XIAO Linjing,YU Pengjie,YU Zhihao,CHANG Long,YUE Mingchen

(CollegeofMechanicalandElectronicEngineering,ShandongUniversityofScienceandTechnology,ShandongQingdao266590,China)

In order to meet the personalized needs of modern electronic products for liquid crystal display, a LCD display system is designed in this paper, which is based on STM32 micro controller and the application of emWin graphics library. Based on the analysis of the superiority of STM32 micro controller and emWin graphics library, the hardware design of the LCD display system and the transplant of emWin graphic library in STM32 platform in detail are introduced. Finally, the LCD display system is verified through a practical experiment. The results show that the LCD display system is steady, reliable, user-friendly and has a good practical effect.

LCD display system; STM32 micro controller; emWin graphic library; transplant

山東省科技發展計劃項目(2012GSF11606)

TN27

A

10.16280/j.videoe.2015.01.010

2014-06-06

【本文獻信息】肖林京,于鵬杰,于志豪,等.基于STM32和emWin圖形庫的液晶顯示系統設計[J].電視技術,2015,39(1).

肖林京(1966— ),教授,博士生導師,主要從事煤礦機電一體化、煤礦新能源車輛方面的研究;

于鵬杰(1990— ),碩士生,主研弱信號檢測和現場總線通信技術。

責任編輯:許 盈

猜你喜歡
系統
Smartflower POP 一體式光伏系統
工業設計(2022年8期)2022-09-09 07:43:20
WJ-700無人機系統
ZC系列無人機遙感系統
北京測繪(2020年12期)2020-12-29 01:33:58
基于PowerPC+FPGA顯示系統
基于UG的發射箱自動化虛擬裝配系統開發
半沸制皂系統(下)
FAO系統特有功能分析及互聯互通探討
連通與提升系統的最后一塊拼圖 Audiolab 傲立 M-DAC mini
一德系統 德行天下
PLC在多段調速系統中的應用
主站蜘蛛池模板: 久久国产高清视频| 亚洲日韩精品无码专区97| 欧美福利在线播放| 国产欧美视频在线观看| 中文字幕在线播放不卡| 久久综合五月婷婷| 国产成人免费观看在线视频| 就去吻亚洲精品国产欧美| 一级毛片免费观看不卡视频| 性色在线视频精品| 亚洲精品日产精品乱码不卡| 国产成人资源| h网址在线观看| 试看120秒男女啪啪免费| 国产成人1024精品| 亚洲精品无码高潮喷水A| 国产一级妓女av网站| 欧美日韩精品在线播放| 九九香蕉视频| 国产情侣一区| 久久不卡国产精品无码| 无码久看视频| 国产香蕉在线| 中文字幕永久视频| 日韩大片免费观看视频播放| 女高中生自慰污污网站| 亚洲国产日韩在线观看| www.精品视频| 午夜人性色福利无码视频在线观看| 欧美日本激情| 国产一二三区视频| 欧美日韩动态图| 国产精品一区二区在线播放| 无码内射中文字幕岛国片| 国产乱码精品一区二区三区中文 | 日韩精品专区免费无码aⅴ| 女人av社区男人的天堂| 欧美啪啪精品| 青青草原国产免费av观看| 国产视频 第一页| 999精品免费视频| 最近最新中文字幕在线第一页| 日韩国产高清无码| 一本大道AV人久久综合| 欧美成人手机在线观看网址| 三区在线视频| 综合人妻久久一区二区精品| 在线免费不卡视频| 国产毛片基地| 精品日韩亚洲欧美高清a| 欧美精品在线看| 国产91麻豆视频| 国产午夜无码片在线观看网站| 免费一级成人毛片| 亚洲香蕉久久| 91麻豆国产在线| 亚洲婷婷在线视频| 88国产经典欧美一区二区三区| 欧美a在线| 国产嫖妓91东北老熟女久久一| 亚洲日本中文字幕乱码中文| 国产精品视频观看裸模 | 国产美女丝袜高潮| 在线不卡免费视频| 天堂av综合网| 国产精品任我爽爆在线播放6080| 精品1区2区3区| 女人毛片a级大学毛片免费| 国产99热| 婷婷色中文| 欧美日韩国产在线人成app| 99国产在线视频| 午夜影院a级片| 亚洲国产系列| 亚洲精品男人天堂| 一级一级一片免费| 日韩国产亚洲一区二区在线观看| 成人国产精品一级毛片天堂| 久久亚洲欧美综合| 亚洲欧美另类专区| 国产精品久久久久无码网站| 日本国产精品一区久久久|