在初始化时,需对RTC和数码管部分进行初始化,其中数码管部分初始化在本章的8.4节有详述,此处不再赘述。开启LSE的库函数如下:同时,选择RTC时钟源及使能时钟函数如下:初始化RTC,设置RTC的分频和配置参数。第2个日期初始化参数结构体RTC_DateTypeDef的定义如下:这4个参数分别用来设置日期的星期、月份、日期、年份。2.读取RTC信息并显示过程RTC模块初始化完成后,在需要使用时直接调用固件函数获取RTC模块当前日期和时间即可。......
2023-11-21
系统启动后,首先对TFT-LCD屏显示功能用到的各I/O口进行初始化配置,将其配置为推挽输出方式,通过调用自定义函数LCD_IO_ENABLE来实现;再对TFT-LCD屏做初始化配置,具体功能包括功能函数测试和屏幕初始设置等,通过调用自定义函数LCD_Init来实现。
在主循环体内,可以完成颜色刷屏、中英文字符显示、图片显示及画图等功能。这些功能在TFT-LCD屏厂家及第三方提供的接口文件LCD.c中。此处简要介绍几种常用的接口函数。
1.与刷屏有关的接口函数
接口函数中与刷屏有关的主要是void LCD_Clear和void LCD_Fill,功能介绍如下:
(1)void LCD_Clear(u16 Color)的函数功能:清屏函数,以Color参数的颜色清屏。颜色参数可参阅头文件LCD.h中的颜色常量,也可按照RGB565格式自己定义。
(2)void LCD_Fill(u16 xsta,u16 ysta,u16 xend,u16 yend,u16 color)的函数功能:在指定区域中填充颜色,区域大小为(xend-xsta)×(yend-ysta)。
2.与英文或数字显示有关的接口函数
接口函数中与英文或数字显示有关的主要是void LCD_ShowChar、void LCD_ShowNum、void LCD_Show2Num和void LCD_ShowString,功能介绍如下。
(1)void LCD_ShowChar(u16 x,u16 y,u8 num,u8 mode)的函数功能:在指定坐标(x,y)处显示一个字符,num为字符ASCII码,当为叠加方式时mode为1,当为非叠加方式时mode为0。
(2)void LCD_ShowNum(u16 x,u16 y,u32 num,u8 len)的函数功能:在指定坐标(x,y)处显示2字节的数字,前端不足位补空,num为数字值,len为数字长度。
(3)void LCD_Show2Num(u16 x,u16 y,u16 num,u8 len)的函数功能:在指定坐标(x,y)处显示2字节的数字,前端不足位补0,num为数字值,len为数字长度。
(4)void LCD_ShowString(u16 x,u16 y,const u8*p)的函数功能:在指定坐标(x,y)处显示字符串,p为字符串变量名,或直接给出字符串内容。
3.与中文显示有关的接口函数
接口函数中与中文显示有关的是void showhanzi,功能介绍如下:(www.chuimin.cn)
void showhanzi(unsigned int x,unsigned int y,unsigned char index)的函数功能:在指定坐标位置(x,y)显示一个汉字字符,汉字字模存储于文件font.c中的hanzi[]数组中,此函数使用某个汉字的序号来指向对应的字模。
说明:汉字可以通过一些字模提取工具转换为相应的的字模,汉字显示的大小由字模的横向与纵向的像素点数来决定。此外,由于hanzi[]数组中字模都是预先存入的汉字,因此只能显示这部分汉字,适用于一定数量固定汉字显示的情况。如果需要实现大量汉字的显示,则需要加入汉字字模库来解决。
4.与画图显示有关的接口函数
接口函数中与画图显示有关的主要是void LCD_DrawPoint、void LCD_DrawPoint_big、void LCD_DrawLine、void LCD_DrawRectangle和void Draw_Circle,功能介绍如下:
void LCD_DrawPoint(u16 x,u16 y)的函数功能:在指定坐标(x,y)处画点,点大小为1像素。
void LCD_DrawPoint_big(u16 x,u16 y)的函数功能:在指定坐标(x,y)处画点,点大小为3像素×3像素。
void LCD_DrawLine(u16 x1,u16 y1,u16 x2,u16 y2)的函数功能:从点(x1,y1)到点(x2,y2)画直线。
void LCD_DrawRectangle(u16 x1,u16 y1,u16 x2,u16 y2)的函数功能:以点(x1,y1)和点(x2,y2)为对角定点画矩形。
void Draw_Circle(u16 x0,u16 y0,u8 r)的函数功能:以点(x0,y0)为圆心,r为半径画圆。
5.图形图片的显示方法
关于图形图片显示的方法是先定位图形图片显示区域坐标,采用接口函数Address_set设置;再引入图形图片对应的图像数据。图形图片可以通过一些图像生成工具(如Image2Lcd)转换为相应的LCD图像数据。主要源程序如下:
上述函数为常用的与显示相关的函数,直接使用这些函数可以完成常见的各类显示功能。对于有兴趣的读者,可以深入学习这些函数内部执行过程,真正理解如何通过控制信号和数据信号向TFT-LCD屏送显示信息的方法。
有关嵌入式系统原理及应用:基于ARM Cortex-M4体系结构的文章
在初始化时,需对RTC和数码管部分进行初始化,其中数码管部分初始化在本章的8.4节有详述,此处不再赘述。开启LSE的库函数如下:同时,选择RTC时钟源及使能时钟函数如下:初始化RTC,设置RTC的分频和配置参数。第2个日期初始化参数结构体RTC_DateTypeDef的定义如下:这4个参数分别用来设置日期的星期、月份、日期、年份。2.读取RTC信息并显示过程RTC模块初始化完成后,在需要使用时直接调用固件函数获取RTC模块当前日期和时间即可。......
2023-11-21
ARM公司在经典处理器ARM11以后的产品改用Cortex命名,并分成A、R和M三类,旨在为各种不同的市场提供服务。Cortex系列属于ARMv7架构。ARMv7架构定义了三大分工明确的系列,其中,A系列面向尖端的基于虚拟内存的操作系统和用户应用,R系列面向实时系统,M系列面向微控制器。由于应用领域不同,基于ARMv7架构的Cortex处理器系列所采用的技术也不相同,基于ARMv7A的处理器称为Cortex-A系列,基于ARMv7R的处理器称为Cortex-R系列,基于ARMv7M的处理器称为Cortex-M系列。......
2023-11-21
在PDA类的设备中,系统在全速运行的时候远比空闲的时候少,所以可以通过设置,使CPU尽可能工作在空闲状态,然后通过相应的中断唤醒CPU,恢复到正常工作模式,处理响应的事件,然后再进入空闲模式。CPU空闲时,降低时钟频率;处于工作状态时,提高时钟频率以全速运行处理事务。......
2023-11-08
DSP处理器是专门用于信号处理方面的处理器。DSP处理器对系统结构和指令进行了特殊设计,使其适合于执行DSP算法。DSP的理论算法在20世纪70年代就已经出现,但是由于专门的DSP处理器还未出现,所以这种理论算法只能通过MPU等元件实现。嵌入式DSP处理器比较有代表性的产品是Texas Instruments公司的TMS320系列和Mo-torola公司的DSP56000系列。DSP56000目前已经发展成为DSP56000、DSP56100、DSP56200和DSP56300等几个不同系列的处理器。......
2023-11-08
ARM微处理器目前包括下面几个系列。其中,ARM7TMDI是目前使用最广泛的32位嵌入式RISC处理器,属低端ARM处理器核。ARM10E系列微处理器主要应用于下一代无线设备、数字消费品、成像设备、工业控制、通信和信息系统等领域。......
2023-11-08
以3.2英寸的TFT-LCD屏模块为例,该模块支持65K色显示,显示分辨率为320像素×240像素,接口为16位的8080并口,自带触摸屏。另外,ILI9341有许多内部命令,有兴趣的读者可以查阅ILI9341的技术手册,由于生产厂家通常会提供完整的接口函数,因此对设计人员而言,熟悉并能够使用这些接口函数即可。该TFT-LCD屏模块采用16位并口方式与外部连接,其信号线功能描述如下:CS:TFT-LCD片选信号。......
2023-11-21
1.像素像素是组成图像的最基本单元要素,显示屏的像素指它成像最小的点,即前面讲解液晶原理中提到的一个显示单元。2.分辨率一些嵌入式设备的显示屏常以“行像素值×列像素值”表示屏幕的分辨率。4.显示屏尺寸显示屏的大小一般以英寸表示,如5英寸、21英寸、24英寸等,这个长度是指屏幕对角线的长度,通过显示屏的对角线长度及长宽比可确定显示屏的实际长宽尺寸。LED点阵显示屏的点距一般比较大,适合远距离观看。......
2023-11-21
GBLS伪指令用于定义一个全局的字符串变量,并初始化为空。例如:4.寄存器列表定义伪指令RLIST格式:名称RLIST{寄存器列表}功能:RLIST伪指令可用于对一个通用寄存器列表定义名称,使用该伪指令定义的名称可在ARM指令LDM/STM中使用。......
2023-11-21
相关推荐