APP下载

基于ARM2410s的LCD绘图设计

2021-12-17王斯帆马江凯姜赫谦禧王颖指导老师

电子制作 2021年22期
关键词:斜线五角星底色

王斯帆,马江凯,姜赫谦禧,王颖(指导老师)

(大连理工大学城市学院,辽宁大连,116000)

0 引言

科技飞速发展、电子产品不断更新换代的时代,ARM的应用极为广泛。嵌入式系统是应用极为广泛的一种专用计算机系统,通常由嵌入式微处理器、嵌入式操作系统、应用软件及外围设备接口的嵌入式计算机系统和被控对象组成,具有系统内核小、系统精简和专用性强等特点。LCD(Liquid Crystal Display)液晶显示屏具有体积小、功耗小、显示信息量大和无电磁辐射等特点,并且在工业发展中得到大量使用,如工业化自动产品上、医疗设备中等;在日常生活中的应用也十分广泛,如笔记本电脑、电视机、监视器等。所以对于研究利用ARM嵌入式来控制液晶显示屏上图案的显示极有意义。

1 原理

嵌入式系统是一种完全嵌入于受控器件内部,为特定应用设计的专用计算机系统,它只针对于一项特殊任务,它的工作核心是由一个或多个预先编写好的程序来执行少数任务。ARM2410s是SAMSUNG公司推出的基于ARM9 的RISC微处理器,集成LCD、UART、IIC、SPI、IIS、USB、SD控制器等片内外围接口,支持ROM和NAND Flash引导;LCD控制器的信号线经过驱动电路后即可连接LCD模块,LCD控制器负责把显存中的LCD图形数据传输到LCD驱动器上,并产生必须的LCD控制信号,从而控制和完成图像的显示、翻转、叠加、或缩放等一系列复杂的图像显示功能。LCD的显示面板薄膜被分为很多小栅格,每个小栅格由一个电极控制,通过改变栅格上电极的电压状态控制栅格内液晶分子排列,从而控制光路通断,再利用光的三基色不同比例的混合显示不同的色彩。

2 总体设计

本次设计是要在LCD显示屏上显示一个刚果民主共和国国旗的图案。该显示系统的硬件电路部分由640×480像素的显示屏ARM2410s和外围电路组成。设计思路就是,以显示屏的一个角作为坐标原点,将显示屏分为640×480个小单元,建立二维直角坐标系,再将国旗以同样的比例将颜色对应到这些小单元中,写出函数式子划分不同颜色覆盖区域。程序实现部分的思路为:先确定五角星的位置,完成五角星形状和颜色的部分,之后再以蓝色为底色进行底色填充,最后在蓝色的底色之上重复覆盖上黄色和红色的底色。进入开发环境,利用编写的程序对开发板和LCD初始化,并且将像素点点亮,从而达到实现最终要求的目的。总体来说就是图像经过预处理后可将图片分为显示屏对应像素数量的数组,将其编入程序中,赋予相应的色彩,再经过ARM处理器将其传给LCD屏,就可以在LCD液晶屏上显示图像。

图1 S3C2410A内部结构方框图

图2 软件部分设计思路

3 详细设计

下面代码为实现在LCD上填充色彩,显示出一个刚果民主共和国国旗的主程序。本次设计用的是像素为640×480的LCD显示屏,在设计程序时以左上角的顶点为原点建立一个二维直角坐标系,首先用一个圆周及公式;i=0,1,2,3,4]辅助确定五角星的五个像素点的位置,根据确定好的五个点坐标两两确定一条斜线,写出其斜线线方程,画出五角星的边缘斜线,用C语言语句实现出来,组成一个五角星,再将五角星中的每个像素点用“ LCDBufferII2[j][i]=0x0000fcf8”语句赋予黄色,即可得到黄色五角星;同样的方式,底色的显示可通过计算出国旗中其余四条线的斜线方程,用if...else...的嵌套语句,划分出不同颜色的区域,然后给每区域赋上对应的颜色。

4 实现

每一帧图像由多行组成,每行有多个像素点组成,相当于一个二维直角坐标。软件部分通过C语言划分颜色显示模块,显示屏根据程序化分模块以左上角的顶点为原点,点亮第一个像素点,在接收到LCD控制器发出的CLK信号移动到下一个像素点继续点亮,在完成一行像素点点亮工作后,与LCD相连的HSYNC信号线发出一次脉冲,即可跳到下一行。重复完成这样的步骤点亮640×480个像素点后,在LCD显示屏上就可以显示出图像。由于图像的显示是一个一个像素点点亮的过程,所以图像的显示与显卡将显示信号输出刷新的速度有关。硬件部分用到了ARM开发实验箱,运行操作步骤:首先运行ADS1.2集成开发环境,在src目录下添加程序代码,对其代码进行编译,编译检查无误后,接着在Windows环境下打开“arm”,进入超级终端,按下回车使终端进入vivi,输入“load flash ucos x”命令后回车,点击超级终端的“传送”菜单,查找并进入编译生成的映象文件夹,打开system.bin文件,通过传送system.bin文件,将文件下载到flash中。输入bootucos命令,回车运行ucos程序。运行结果如图4所示。

图3 实现步骤

图4 运行结果

5 总结

本设计是基于ARM2410s的LCD绘图的设计,通过对图像进行预处理,再把颜色赋给每个像素点从而在LCD上显示出图像。经过设计结果显示,这样的方法在LCD上显示出静态图像是成功的,但目前设计只适用于静态图像的现实,接下来可以通过C语言强大的功能并通过配合硬件显示颜色更多的图案,甚至是动画。

猜你喜欢

斜线五角星底色
拼五角星
巧摆五角星
把中华文明的底色铺陈好
永恒的底色
“好玩”的五角星
底色
底色
疯狂的游戏
疯狂的游戏
疯狂的游戏