基于三星2410s嵌入式系统的LCD绘图程序设计
2019-11-03张驰马彧
张驰 马彧
摘要:嵌入式技术应用广泛,本文以三星2410s嵌入式系统为基础,设计实现了LCD绘图程序,具有较高的可拓展性和易用性,经过验证,实现了设计功能。
关键词:LCD屏;ARM处理器;绘图方式;人机交互系统
中图分类号:TP391 文献标识码:A
文章编号:1009-3044(2019)23-0280-01
开放科学(资源服务)标识码(OSID):
1 概述
在移动通信和工业控制领域,ARM嵌入式系统可以作为终端显示设备。让一块LCD屏显示图像,不但需要有LCD控制器,还需要相应的LCD驱动器。通常LCD驱动器会以COF/COG的形式与LCD 玻璃基板制作在一起,而LCD控制器则由外部电路来实现。而S3C2410内部已经集成了LCD控制器,因此可以很方便地去控制各种类型的LCD屏。本文介绍了基于S3C2410s显示系统的LCD绘图程序设计方法。
2 引言
科技的逐渐发展,决定了ARM在社会的各个方面实用的越来越广。ARM芯片广泛实用于PDA、GPS、STB、、互联网以及电子产品的无线产品及智能卡。S3C2410s为SAMSUNG公司制造的基于ARM9的RISC微处理器,液晶显示的嵌入式系统中显示了系统人机交互界面的输入和输出。液晶显示的诸多优点以微功耗、体积小、显示内容丰富和模块化以及接口电路简单等诸多优秀方面得到广泛应用。ARM系统已在工业控制领域得到被广泛应用。工业控制近年来对终端的显示要求越来越高,基于传统的PC以及低端的微控制器逐渐的体现出了成本高、高消耗以及可靠性低的等诸多问题,远不能满足现代制造业的发展要求。日益成熟的嵌入式技术已经初步展现出了嵌入式控制器的锋芒趋势,ARM技术基于微处理器的体积小、低成本和低功耗的特点,决定于工业控制领域有良好的发展前景。
3 总体设计
该显示系统的硬件电路由S3C2410s、640×480像素的LCD屏幕以及外围电路组成。通过上位机软件对图像进行预处理,得到图片数组,并复制到程序中。ARM处理器将数组中的像素颜色信息传给LCD屏,以達到图片显示的目的。
4 详细设计
ARM系统初始化完成后,将614400个元素的一维图像数组转换为640×480个元素的二维数组,然后交由LCD显示程序显示图像。
5 关键代码
for(u=0;u<307200;u++)//将8bit*2的数组转化为32bit的数组
{
temp2=0;
temp1=gImage[u*2]<<8+gImage[u*2+1]; //例如0x0000ffff(表示白色)
temp2+=(temp1&0xf800)<<8;//加入蓝色信息后0x00f80000
temp2+=(temp1&0x7e0)<<5;//加入绿色信息后0x00f8fc00
temp2+=(temp1&0x1f)<<3;//加入红色信息后0x00f8fcf8即为白色
Imagebuffer[u]=temp2;//将计算后的颜色数值写入二级缓冲数组
}
u=0;
for(i=0;i<480;i++)//将一维数组转换为二维数组
{
for(j=0;j<640;j++)
{
LCDBufferII2[i][j]=Imagebuffer[u];
u++;
}
}
LCD_Refresh();//LCD显示函数
6 系统实现
程序编译完成后,通过超级终端将可执行文件传送给ARM系统,执行bootucos命令后LCD屏幕即可显示图像。下图为美国国旗。
7 总结
本设计采用上位机预处理输出图片数组的方式间接得到程序所需的缓冲数组,理论上可以实现任意位图图像的显示,仅需更换图片数组即可,无须更改程序的其他部分,具有较强的泛用性。在执行速度上也快于需要大量即时演算的矢量图显示方式。缺陷在于生成的程序代码较长,传送可执行文件所需的时间较长。因此本设计适用于静态图像的显示。
【通联编辑:唐一东】