吉林工程技术师范学院毕业论文 24
吉林工程技术师范学院毕业论文 第五章 系统软件编程
5.1 LCD驱动程序
主要包括一些初始化设置,具体包括以下内容:
void GUI_Initialize(void) {
LCD_PortInit(); //初始化LCD端口 LCD_ControlInit(); // 初始化LCD控制器 LCD_DispOn(); // 打开LCD显示
}
在上面的GUI_Initialize()函数里面,包括LCD_PortInit()初始化函数和LCD_ControlInit()初始化函数。
其中LCD_PortInit()用来初始化LCD的PORT C端口和PORT D端口,其中PORT C端口用来设置VCLK、HSYNC、VSYNC、VM等LCD时序控制线和VD2-VD7LCD数据总线,PORT D端口用来设置VD10-VD15、 VD18--VD23等LCD数据总线。
5. 2 画点函数及放大算法
画点函数是在指定的坐标位置,用某种颜色将其显示出来,定义画点函数为uint32 GUI_Point(uint16 x, uint16 y, TCOLOR color),其中x、y是坐标点,color是点的颜色,在该函数里面,首先要进行参数过滤,即判断实参是否超过了规定的显示屏显示范围,如果超过,则将此点删除不显示;如果在显示范围,则将该点的坐标值送到LCD显示缓冲区,计算显示点对应显示缓冲区的位置,最后再赋给颜色值,将该点(x、y)在LCD上显示出来。
25
吉林工程技术师范学院毕业论文 但在实际应用当中,由于我采用的是8英寸640?480像素的LQ080V3DG01液晶显示屏,按照如上所述的方法进行编辑程序,显示出来的点很小,不易观察。所以我们要对其放大,放大函数是集画点函数、画线函数,填充函数于一体的一个函数。
5. 3 字模函数
LCD液晶显示的方法有很多种,通常可分为段式、字符式、点阵式,在本系统的设计过程中,为了对使用者作出必要的提示,需要在LCD上显示汉字,所以有必要对其作一研究。
汉字的显示一般采用图形的方式,事先从微机中提取要显示的汉字的点阵码,一般用字模提取软件来获得。我们将显示汉字函数定义为void GUI_Disp ( uint16 x, uint16 y, uint16 w, uint16 h,uint16 *buffer),其中x,y是汉字显字的起始点,w,h分别是汉字显示的长度和宽度,buffer是要显示的汉字的点阵码。在该函数当中,首先对显示区域参数过滤,如果在该区域,则对要显示的汉字的点阵码送到LCD缓冲区,进行显示。其关键点在于点阵码的提取和分块显示。
5.4系统软件设计
本设计是基于S3C24210A处理器,该芯片具有丰富的软硬件资源,我们通过在软件中定义其各自的寄存器,来完成设计要求,在设计过程中,我们主要用到了LCD模块和触摸屏模块,所以在软件的主函数当中,首先要对其进行初始化,然后进入一开始界面,并且将LCD停留在该界面,等待触摸屏的中断。当触笔被按下时,就会转入中断子程序,开始触点坐标值的采样,直到触笔抬起为止。
26
嵌入式系统设计
第六章 系统测试结果与分析
6.1系统概述
该软件系统是在基于ARM920内核的三星公司S3C2410为处理器,通过外置触摸屏和LCD显示屏,可以把在触摸屏上画出的点线即各种图形符号,显示在LCD显示屏上,其主要可以实现以下几个功能:
? 画图 即可以在屏幕上画出各种图形的功能;
? 清屏 即当在屏幕上画的各种符号较多或需要重新画图时,将屏
幕清除的功能;
? 取色 即可以根据个人的需要,预先设定图形符号的颜色的功能。
6.2系统软件运行流程图
系统软件运行具体流程图如图6-1所示,刚开始时,系统处在主菜单中,然后往复循环,判断是否启动画图面板,如果启动,则进入画图面板,在这个界面,我们有两种选择:画图选择和取色选择。如果选择取色功能,则将进入取色界面,在这里,我们提供了多种颜色,而且在这个界面,只能选择颜色,不可以进行画图,用户可以多次选择颜色,但以最后一次为准,当取完合适的颜色后,点击返回选项,系统将会自动返回画图界面,进行再次操作;否则一直将会停留在取色界面。如果选择画图功能,则打开画图面板,可以进行画图。在进行画图的过程中,用户可以使用清屏选项,将屏幕上所有的痕迹清除掉,也可以使用取色选项,再次更换相应的颜色。
1
嵌入式系统设计
6.1.2 软件运行截图
图 6-2 软件开始界面图
图 6-3 软件主界面图
图 6-4 软件取色界面图
2