0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

英創(chuàng)信息技術(shù)嵌入式Linux主板EM9160的LCD顯示介紹

英創(chuàng)信息技術(shù) ? 來源:英創(chuàng)信息技術(shù) ? 作者:英創(chuàng)信息技術(shù) ? 2019-11-17 11:17 ? 次閱讀

嵌入式Linux主板EM9x60作為一種高效、低成本的產(chǎn)品解決方案,專門針對小型的單色LCD顯示模塊(分辨率通常在128×64至320×240),設(shè)計了一套通用的漢字及圖形顯示接口函數(shù)。這些API函數(shù)封裝為靜態(tài)庫libLCD_API.a,以C的方式提供給客戶,以方便客戶的使用。

EM9x60提供的LCD_API函數(shù)庫包括有兩個文件:LCD_API.H和libLCD_API.a。該函數(shù)庫目前支持的LCD屏類型包括有:

LCD控制器類型

顯示分辨率

簡要說明

KS0108 128×64 最常用的LCD模塊
T6963C 240×128 具有較大的顯示窗口
SED1335 320×240
KS0108 192×64
UC1698U 160×160 電力集抄終端標(biāo)準(zhǔn)顯示屏


在頭文件LCD_API.H中的對應(yīng)定義如下。

#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函數(shù)庫提供了一系列對LCD屏進行畫點、畫線、畫Bar條以及字符串(包括漢字和西文)顯示的接口函數(shù),一共包括了14個函數(shù),其中的漢字支持為標(biāo)準(zhǔn)一級全漢字,為16×16點陣字模或者12X12點陣漢字字模,西文(字母、數(shù)字和符號)為8×14點陣字模,這兩個字模文件分別為cclib、cclib12.fnt、ascii.chr,放置在EM9x60嵌入式Linux主板的根文件系統(tǒng)“/lib”目錄中。

在各個功能API函數(shù)中,特別是字符串顯示函數(shù)LCD_WriteString( ),對于顯示16點陣的漢字,為了加快顯示的速度,實現(xiàn)的方式是通過寫一個字節(jié)(writebyte)來實現(xiàn)的,所以客戶在調(diào)用這些函數(shù)時所定義的坐標(biāo)位置最好是8的倍數(shù)。如果客戶需要顯示一些特殊字體的字符,可以利用LCD_API中的畫點函數(shù)來實現(xiàn)專門的特殊字符顯示功能。

下面以Step1_LCDTest為例,介紹利用Sourcery G++工具進行應(yīng)用程序開發(fā)時,如何使用LCD_API函數(shù)庫來實現(xiàn)對LCD的顯示操作。

首先需要在應(yīng)用工程項目文件Step1_LCDTest中導(dǎo)入LCD_API函數(shù)庫的這兩個文件:LCD_API.H和libLCD_API.a。在Sourcery G++ IDE下導(dǎo)入不僅僅是將這兩個文件加入到項目工程中,同時也會把這兩個文件復(fù)制到項目工程所在的目錄下。

然后還需要設(shè)置應(yīng)用工程(Step1_LCDTest)的編譯屬性,指定編譯鏈接的庫文件名稱和路徑libLCD_API.a,設(shè)置的方法如下:

在Project Explorer視窗下,選擇Step1_LCDTest工程文件,然后點擊鼠標(biāo)右鍵,選擇Properties項,在窗口中選擇C/C++ Build -> Settings -> Tool Settings -> Sourcery G++ C++ Linker -> Libraries,如圖5-1所示。其中的一個窗口用于指定庫文件的名稱,Linux靜態(tài)鏈接庫命名的方式為lib+name.a,所以此處需要輸入庫文件的名稱應(yīng)該只是name,即LCD_API;一個用于指定庫文件所在的路徑。

選擇庫文件

在Step1_LCDTest中Test_LCD12864.cpp提供了一個調(diào)用LCD_API中相關(guān)函數(shù)進行LCD顯示的示例,以下為測試代碼:

#include
#include
#include
#include
#include 'lcd_api.h'
int main( )
{
int x, y;
char BufStr[200];
// 對LCD屏進行初始化操作
LCD_Init( LCD_12864 );
// 設(shè)置為異或模式
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, '嵌入式網(wǎng)絡(luò)模塊' );
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;
}


聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • Linux
    +關(guān)注

    關(guān)注

    87

    文章

    11123

    瀏覽量

    207898
  • 嵌入式主板
    +關(guān)注

    關(guān)注

    7

    文章

    6081

    瀏覽量

    34938
收藏 人收藏

    評論

    相關(guān)推薦

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

    創(chuàng)公司新近推出的嵌入式工控主板EM9160是一款專門面向工業(yè)智能設(shè)備的高性價比ARM9+WinCE平臺,該工控
    發(fā)表于 04-09 15:49 ?36次下載

    創(chuàng)信息技術(shù)嵌入式工控主板EM9160的PWM功能使用方法

     創(chuàng)公司新近推出的嵌入式工控主板EM9160是一款專門面向工業(yè)智能設(shè)備的高性價比ARM9+WinCE平臺,該工控
    的頭像 發(fā)表于 11-01 09:27 ?1522次閱讀

    創(chuàng)信息技術(shù)嵌入式主板EM9160精簡ISA總線硬件中斷的使用方法

     創(chuàng)公司新近推出的嵌入式主板EM9160是一款專門面向工業(yè)智能設(shè)備的高性價比ARM9+WinCE平臺,該工控
    的頭像 發(fā)表于 11-01 09:42 ?1552次閱讀
    <b class='flag-5'>英</b><b class='flag-5'>創(chuàng)</b><b class='flag-5'>信息技術(shù)</b><b class='flag-5'>嵌入式</b><b class='flag-5'>主板</b><b class='flag-5'>EM9160</b>精簡ISA總線硬件中斷的使用方法

    創(chuàng)信息技術(shù)工控主板EM9160L的低功耗應(yīng)用介紹

    EM9160L是一款與創(chuàng)主力產(chǎn)品EM9160功能完全兼容,同時具有低功耗操作能力的高性能ARM9嵌入式
    的頭像 發(fā)表于 11-14 09:59 ?1472次閱讀

    創(chuàng)信息技術(shù)工控主板的復(fù)位管理介紹

     創(chuàng)公司的工控主板是基于ARM9 CPU、預(yù)裝正版WinCE的嵌入式主板產(chǎn)品。作為嵌入式應(yīng)用,
    的頭像 發(fā)表于 11-14 10:03 ?1547次閱讀
    <b class='flag-5'>英</b><b class='flag-5'>創(chuàng)</b><b class='flag-5'>信息技術(shù)</b>工控<b class='flag-5'>主板</b>的復(fù)位管理<b class='flag-5'>介紹</b>

    創(chuàng)信息技術(shù)嵌入式Linux串口通訊的C++設(shè)計概述

     嵌入式Linux主板EM9160提供了6個標(biāo)準(zhǔn)異步串口:ttyS1——ttyS6,其中ttyS4、ttyS5、ttyS6和GPIO的管腳復(fù)用,每個串口都有獨立的中斷模式,使得多個串口
    的頭像 發(fā)表于 11-18 09:32 ?2199次閱讀
    <b class='flag-5'>英</b><b class='flag-5'>創(chuàng)</b><b class='flag-5'>信息技術(shù)</b><b class='flag-5'>嵌入式</b><b class='flag-5'>Linux</b>串口通訊的C++設(shè)計概述

    創(chuàng)信息技術(shù)工控主板EM9160對紅外通訊用途介紹

    創(chuàng)公司的EM9160是一款高性價比的工控主板,預(yù)裝正版WinCE5.0操作系統(tǒng),具有極強的通訊能力。在電力電表的應(yīng)用中,紅外通訊是一種非常重要的串口通訊方式,在
    的頭像 發(fā)表于 11-18 09:58 ?1166次閱讀
    <b class='flag-5'>英</b><b class='flag-5'>創(chuàng)</b><b class='flag-5'>信息技術(shù)</b>工控<b class='flag-5'>主板</b><b class='flag-5'>EM9160</b>對紅外通訊用途<b class='flag-5'>介紹</b>

    創(chuàng)信息技術(shù)嵌入式Linux主板EM9160支持ISO7816通訊協(xié)議介紹

    新的技術(shù)需求,我們對嵌入式Linux主板EM9160的串口驅(qū)動進行了升級,使其多個串口都可支持ISO7816協(xié)議,為客戶進行智能終端整機設(shè)計
    的頭像 發(fā)表于 11-18 10:09 ?2101次閱讀
    <b class='flag-5'>英</b><b class='flag-5'>創(chuàng)</b><b class='flag-5'>信息技術(shù)</b><b class='flag-5'>嵌入式</b><b class='flag-5'>Linux</b><b class='flag-5'>主板</b><b class='flag-5'>EM9160</b>支持ISO7816通訊協(xié)議<b class='flag-5'>介紹</b>

    創(chuàng)信息技術(shù)工業(yè)主板EM9160介紹

    創(chuàng)EM9160 ARM9工業(yè)主板具有豐富的GPIO資源,通過GPIO來實現(xiàn)SPI,I2C的數(shù)據(jù)傳輸,具有使用非常靈活的優(yōu)點,同時最高波特率還可達到1Mbps以上。I2C在智能終端中的
    的頭像 發(fā)表于 01-14 11:09 ?1214次閱讀

    創(chuàng)信息技術(shù)嵌入式Linux工控板EM9160介紹

    I2C總線是一種2線制的主從通訊協(xié)議,主要運用于器件之間的數(shù)據(jù)通訊,在嵌入式系統(tǒng)中得到非常廣泛的應(yīng)用。作為一款高性價比的嵌入式Linux工控板,EM9160的對I2C總線提供了良好的支
    的頭像 發(fā)表于 01-14 10:57 ?1233次閱讀
    <b class='flag-5'>英</b><b class='flag-5'>創(chuàng)</b><b class='flag-5'>信息技術(shù)</b><b class='flag-5'>嵌入式</b><b class='flag-5'>Linux</b>工控板<b class='flag-5'>EM9160</b><b class='flag-5'>介紹</b>

    創(chuàng)信息技術(shù)嵌入式Linux工控板EM9160介紹

    嵌入式Linux主板EM9160主要應(yīng)用之一就是可以作為智能終端的核心平臺,智能終端總是帶有一種顯示單元。
    的頭像 發(fā)表于 01-14 11:20 ?1270次閱讀

    創(chuàng)信息技術(shù)工控主板EM9160介紹

    在基于工控主板EM9160嵌入式應(yīng)用中,經(jīng)常需要與具有SPI接口的芯片或電路單元,進行數(shù)據(jù)通訊。通常情況下,我們建議采用基于GPIO的SPI通訊協(xié)議實現(xiàn)方案,其優(yōu)點是靈活性,客戶可使用任意
    的頭像 發(fā)表于 01-14 11:16 ?1308次閱讀
    <b class='flag-5'>英</b><b class='flag-5'>創(chuàng)</b><b class='flag-5'>信息技術(shù)</b>工控<b class='flag-5'>主板</b><b class='flag-5'>EM9160</b><b class='flag-5'>介紹</b>

    創(chuàng)信息技術(shù)主板EM9160硬件介紹

    創(chuàng)工控主板上的精簡ISA總線的主要應(yīng)用,就是支持客戶的專用電路單元的擴展,如數(shù)據(jù)采集等。在精簡ISA總線中還包括了對外部硬件中斷的響應(yīng)輸入,關(guān)于硬件中斷的基本應(yīng)用方法已在《嵌入式
    的頭像 發(fā)表于 01-14 11:27 ?1007次閱讀

    創(chuàng)信息技術(shù)主板EM9160測頻功能的使用介紹

    創(chuàng)公司的主流產(chǎn)品EM9160是一款功能強大的嵌入式工控主板,其主要應(yīng)用是作為工業(yè)智能設(shè)備的核心平臺。E
    的頭像 發(fā)表于 01-15 14:15 ?1368次閱讀

    創(chuàng)信息技術(shù)嵌入式主板支持精確延時操作之二介紹

    在《創(chuàng)嵌入式主板支持精確延時操作》這篇文章中已經(jīng)講解了如何在EM335x系列的主板中進行精確延
    的頭像 發(fā)表于 01-17 11:08 ?1038次閱讀
    <b class='flag-5'>英</b><b class='flag-5'>創(chuàng)</b><b class='flag-5'>信息技術(shù)</b><b class='flag-5'>嵌入式</b><b class='flag-5'>主板</b>支持精確延時操作之二<b class='flag-5'>介紹</b>