0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

英创信息技术嵌入式Linux主板EM9160的LCD显示介绍

英创信息技术 来源:英创信息技术 作者:英创信息技术 2019-11-17 11:17 次阅读

嵌入式Linux主板EM9x60作为一种高效、低成本的产品解决方案,专门针对小型的单色LCD显示模块(分辨率通常在128×64至320×240),设计了一套通用的汉字及图形显示接口函数。这些API函数封装为静态库libLCD_API.a,以C的方式提供给客户,以方便客户的使用。

EM9x60提供的LCD_API函数库包括有两个文件:LCD_API.H和libLCD_API.a。该函数库目前支持的LCD屏类型包括有:

LCD控制器类型

显示分辨率

简要说明

KS0108 128×64 最常用的LCD模块
T6963C 240×128 具有较大的显示窗口
SED1335 320×240
KS0108 192×64
UC1698U 160×160 电力集抄终端标准显示屏


在头文件LCD_API.H中的对应定义如下。

#define LCD_12864 1 // LCD 128×64 KS0108控制器
#define LCD_2401282 // LCD 240×128 T6963C控制器
#define LCD_320240 3 // LCD 320×240 SED1335控制器
#define LCD_19264 4 // LCD 192×64 KS0108控制器
#define LCD_160160 5 // LCD 192×64 UC1698U控制器

LCD_API函数库提供了一系列对LCD屏进行画点、画线、画Bar条以及字符串(包括汉字和西文)显示的接口函数,一共包括了14个函数,其中的汉字支持为标准一级全汉字,为16×16点阵字模或者12X12点阵汉字字模,西文(字母、数字和符号)为8×14点阵字模,这两个字模文件分别为cclib、cclib12.fnt、ascii.chr,放置在EM9x60嵌入式Linux主板的根文件系统“/lib”目录中。

在各个功能API函数中,特别是字符串显示函数LCD_WriteString( ),对于显示16点阵的汉字,为了加快显示的速度,实现的方式是通过写一个字节(writebyte)来实现的,所以客户在调用这些函数时所定义的坐标位置最好是8的倍数。如果客户需要显示一些特殊字体的字符,可以利用LCD_API中的画点函数来实现专门的特殊字符显示功能。

下面以Step1_LCDTest为例,介绍利用Sourcery G++工具进行应用程序开发时,如何使用LCD_API函数库来实现对LCD的显示操作。

首先需要在应用工程项目文件Step1_LCDTest中导入LCD_API函数库的这两个文件:LCD_API.H和libLCD_API.a。在Sourcery G++ IDE下导入不仅仅是将这两个文件加入到项目工程中,同时也会把这两个文件复制到项目工程所在的目录下。

然后还需要设置应用工程(Step1_LCDTest)的编译属性,指定编译链接的库文件名称和路径libLCD_API.a,设置的方法如下:

在Project Explorer视窗下,选择Step1_LCDTest工程文件,然后点击鼠标右键,选择Properties项,在窗口中选择C/C++ Build -> Settings -> Tool Settings -> Sourcery G++ C++ Linker -> Libraries,如图5-1所示。其中的一个窗口用于指定库文件的名称,Linux静态链接库命名的方式为lib+name.a,所以此处需要输入库文件的名称应该只是name,即LCD_API;一个用于指定库文件所在的路径。

选择库文件

在Step1_LCDTest中Test_LCD12864.cpp提供了一个调用LCD_API中相关函数进行LCD显示的示例,以下为测试代码:

#include
#include
#include
#include
#include 'lcd_api.h'
int main( )
{
int x, y;
char BufStr[200];
// 对LCD屏进行初始化操作
LCD_Init( LCD_12864 );
// 设置为异或模式
LCD_SetMode( 1 ); // set to XOR mode
// 居中显示中文、字符
strcpy( BufStr, '** 欢迎测试 **' );
x = (128-strlen(BufStr)*8)/2;
y = 8;
LCD_WriteString( x, y, BufStr, TEXT_COLOR );
strcpy( BufStr, '嵌入式网络模块' );
x = (128-strlen(BufStr)*8)/2;
y = 24;
LCD_WriteString( x, y, BufStr, BK_COLOR ); // 反显
sleep( 1 );
// 画线
LCD_DrawLine( 0, 42, 127, 42, TEXT_COLOR );
LCD_DrawLine( 0, 63, 127, 63, TEXT_COLOR );
// 画曲线
for( x=0; x<128; x++ )
{
y = 53 - 10.0*sin( 2.0*M_PI*x/24.0 );
LCD_PutPixel( x, y, TEXT_COLOR );
}
sleep( 1 );
for( x=0; x<128; x++ )
{
y = 53 - 10.0*sin( 2.0*M_PI*x/24.0 );
LCD_PutPixel( x, y, TEXT_COLOR );
}
sleep( 1 );
LCD_FillBar( 0, 42, 127, 63, BK_COLOR );
LCD_FillBar( 0, 42, 127, 63, TEXT_COLOR );
LCD_FillBar( 0, 42, 127, 63, BK_COLOR );
// 退出LCD显示
LCD_DeInit( );
return 0;
}


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • Linux
    +关注

    关注

    87

    文章

    11196

    浏览量

    208670
  • 嵌入式主板
    +关注

    关注

    7

    文章

    6084

    浏览量

    35148
收藏 人收藏

    评论

    相关推荐

    嵌入式工控主板EM9160的PWM功能

    公司新近推出的嵌入式工控主板EM9160是一款专门面向工业智能设备的高性价比ARM9+WinCE平台,该工控
    发表于 04-09 15:49 36次下载

    信息技术嵌入式工控主板EM9160的PWM功能使用方法

     公司新近推出的嵌入式工控主板EM9160是一款专门面向工业智能设备的高性价比ARM9+WinCE平台,该工控
    的头像 发表于 11-01 09:27 1558次阅读

    信息技术嵌入式主板EM9160精简ISA总线硬件中断的使用方法

     公司新近推出的嵌入式主板EM9160是一款专门面向工业智能设备的高性价比ARM9+WinCE平台,该工控
    的头像 发表于 11-01 09:42 1596次阅读
    <b class='flag-5'>英</b><b class='flag-5'>创</b><b class='flag-5'>信息技术</b><b class='flag-5'>嵌入式</b><b class='flag-5'>主板</b><b class='flag-5'>EM9160</b>精简ISA总线硬件中断的使用方法

    信息技术工控主板EM9160L的低功耗应用介绍

    EM9160L是一款与主力产品EM9160功能完全兼容,同时具有低功耗操作能力的高性能ARM9嵌入式
    的头像 发表于 11-14 09:59 1528次阅读

    信息技术工控主板的复位管理介绍

     公司的工控主板是基于ARM9 CPU、预装正版WinCE的嵌入式主板产品。作为嵌入式应用,
    的头像 发表于 11-14 10:03 1602次阅读
    <b class='flag-5'>英</b><b class='flag-5'>创</b><b class='flag-5'>信息技术</b>工控<b class='flag-5'>主板</b>的复位管理<b class='flag-5'>介绍</b>

    信息技术嵌入式Linux串口通讯的C++设计概述

     嵌入式Linux主板EM9160提供了6个标准异步串口:ttyS1——ttyS6,其中ttyS4、ttyS5、ttyS6和GPIO的管脚复用,每个串口都有独立的中断模式,使得多个串口
    的头像 发表于 11-18 09:32 2263次阅读
    <b class='flag-5'>英</b><b class='flag-5'>创</b><b class='flag-5'>信息技术</b><b class='flag-5'>嵌入式</b><b class='flag-5'>Linux</b>串口通讯的C++设计概述

    信息技术工控主板EM9160对红外通讯用途介绍

    公司的EM9160是一款高性价比的工控主板,预装正版WinCE5.0操作系统,具有极强的通讯能力。在电力电表的应用中,红外通讯是一种非常重要的串口通讯方式,在
    的头像 发表于 11-18 09:58 1217次阅读
    <b class='flag-5'>英</b><b class='flag-5'>创</b><b class='flag-5'>信息技术</b>工控<b class='flag-5'>主板</b><b class='flag-5'>EM9160</b>对红外通讯用途<b class='flag-5'>介绍</b>

    信息技术嵌入式Linux主板EM9160支持ISO7816通讯协议介绍

    新的技术需求,我们对嵌入式Linux主板EM9160的串口驱动进行了升级,使其多个串口都可支持ISO7816协议,为客户进行智能终端整机设计
    的头像 发表于 11-18 10:09 2190次阅读
    <b class='flag-5'>英</b><b class='flag-5'>创</b><b class='flag-5'>信息技术</b><b class='flag-5'>嵌入式</b><b class='flag-5'>Linux</b><b class='flag-5'>主板</b><b class='flag-5'>EM9160</b>支持ISO7816通讯协议<b class='flag-5'>介绍</b>

    信息技术工业主板EM9160介绍

    EM9160 ARM9工业主板具有丰富的GPIO资源,通过GPIO来实现SPI,I2C的数据传输,具有使用非常灵活的优点,同时最高波特率还可达到1Mbps以上。I2C在智能终端中的
    的头像 发表于 01-14 11:09 1256次阅读

    信息技术嵌入式Linux工控板EM9160介绍

    I2C总线是一种2线制的主从通讯协议,主要运用于器件之间的数据通讯,在嵌入式系统中得到非常广泛的应用。作为一款高性价比的嵌入式Linux工控板,EM9160的对I2C总线提供了良好的支
    的头像 发表于 01-14 10:57 1272次阅读
    <b class='flag-5'>英</b><b class='flag-5'>创</b><b class='flag-5'>信息技术</b><b class='flag-5'>嵌入式</b><b class='flag-5'>Linux</b>工控板<b class='flag-5'>EM9160</b><b class='flag-5'>介绍</b>

    信息技术嵌入式Linux工控板EM9160介绍

    嵌入式Linux主板EM9160主要应用之一就是可以作为智能终端的核心平台,智能终端总是带有一种显示单元。
    的头像 发表于 01-14 11:20 1323次阅读

    信息技术工控主板EM9160介绍

    在基于工控主板EM9160嵌入式应用中,经常需要与具有SPI接口的芯片或电路单元,进行数据通讯。通常情况下,我们建议采用基于GPIO的SPI通讯协议实现方案,其优点是灵活性,客户可使用任意
    的头像 发表于 01-14 11:16 1352次阅读
    <b class='flag-5'>英</b><b class='flag-5'>创</b><b class='flag-5'>信息技术</b>工控<b class='flag-5'>主板</b><b class='flag-5'>EM9160</b><b class='flag-5'>介绍</b>

    信息技术主板EM9160硬件介绍

    工控主板上的精简ISA总线的主要应用,就是支持客户的专用电路单元的扩展,如数据采集等。在精简ISA总线中还包括了对外部硬件中断的响应输入,关于硬件中断的基本应用方法已在《嵌入式
    的头像 发表于 01-14 11:27 1053次阅读

    信息技术主板EM9160测频功能的使用介绍

    公司的主流产品EM9160是一款功能强大的嵌入式工控主板,其主要应用是作为工业智能设备的核心平台。E
    的头像 发表于 01-15 14:15 1456次阅读

    信息技术嵌入式主板支持精确延时操作之二介绍

    在《嵌入式主板支持精确延时操作》这篇文章中已经讲解了如何在EM335x系列的主板中进行精确延
    的头像 发表于 01-17 11:08 1082次阅读
    <b class='flag-5'>英</b><b class='flag-5'>创</b><b class='flag-5'>信息技术</b><b class='flag-5'>嵌入式</b><b class='flag-5'>主板</b>支持精确延时操作之二<b class='flag-5'>介绍</b>