美女网站一区二区_在线观看日韩毛片_成人在线视频首页_欧美精品一区二区三区久久久_国产精品亚洲一区二区三区在线_日本免费新一区视频_日本美女一区二区三区_精品亚洲成a人_久久不见久久见免费视频1_91首页免费视频_欧美一区二区在线看_91精品91久久久中77777_天堂蜜桃一区二区三区_av在线一区二区_欧美不卡一区二区_欧美影视一区二区三区

產品分類

當前位置: 首頁 > 傳感測量產品 > 信號處理產品 > 信號轉換器

類型分類:
科普知識
數據分類:
信號轉換器

EM335x支持低成本單色LCD顯示方案

發布日期:2022-04-27 點擊率:197

  • 關鍵詞: EM335x LCD顯示方案
  • 摘要:EM335x板卡的標準應用是采用的raster模式LCD驅動,支持多種分辨率彩色液晶顯示接口,最高分辨率到1024X768。在此基礎上英創公司在EM335x上還實現了基于LIDD模式的LCD驅動,可滿足部分工業場合對于單色點陣屏的需求。本文以單色點陣屏160X160 LCD為例,介紹該屏在EM335x上的應用。

1、簡述


  英創公司嵌入式板卡EM335x是一款高性能的Cortex-A8硬件平臺,板卡帶有豐富的硬件接口,非常適用于工業應用開發。


  EM335x板卡CPU采用了Ti公司的AM3354,AM3354的LCD控制器包括有兩種獨立的控制器:一種是行掃(raster)模式,一種是LCD接口驅動(LIDD)模式,raster 模式用于處理同步LCD,用于支持彩色液晶顯示屏,而LIDD模式可以用來支持低成本的單色點陣LCD模塊。


  EM335x板卡的標準應用是采用的raster模式LCD驅動,支持多種分辨率彩色液晶顯示接口,最高分辨率到1024X768。在此基礎上英創公司在EM335x上還實現了基于LIDD模式的LCD驅動,可滿足部分工業場合對于單色點陣屏的需求。本文以單色點陣屏160X160 LCD為例,介紹該屏在EM335x上的應用。




2、單色LCD接線


  EM335x的LCD接口請參見EM335x數據手冊中CN3的信號定義。下面是通過EM335x CN3連接HGO160160 LCD模塊(UC1698U控制器,160x160點陣)的信號對應表:




  LCD的第19腳為背光電源正,EM335x CN3的第30腳為PWM信號輸出,低電平有效。這兩個引腳在物理上并不是直接相連,而是應該將PWM作為LCD的背光控制信號,通過控制一個電子開關實現LCD背光的打開與關閉,具體連接可參考下圖。




3、單色屏LCD應用程序開發


  在Linux操作系統中,與彩色屏的設備節點不同,對于單色LCD的設備節點定義為:'/dev/em335x_lcd',因此Linux應用程序操作單色LCD時,一般為以下幾個步驟:

  1、打開LCD設備文件:

  fd = open('/dev/em335x_lcd', O_RDWR);

  2、調用標準的write( )函數對LCD屏進行操作。

  3、關閉LCD設備文件。


  為了方便客戶使用,我們設計了一套通用的漢字及LCD顯示接口函數,這些接口函數定義和實現分別在lcd_api.h lcd_api.cpp中,函數中包括畫點、畫線、畫Bar條、寫塊數據、輸出漢字及字符等操作。關于各個函數的定義說明,可參見lcd_api.h頭文件中的中文注釋。其中的漢字支持為標準一級全漢字,為16×16點陣字模,西文(字母、數字和符號)為8×14點陣字模,這兩個字模文件分別為cclib、cclib12.fnt、ascii.chr,放置在EM335x嵌入式主板的根文件系統“/usr”目錄中。各個函數定義如下:


  // 功能描述: 啟動對LCD屏的操作功能,并初始化LCD顯示屏

  // 返回值 > 0: 啟動LCD成功

  // = -1: 啟動LCD失敗

  int LCD_Init( );


  // 功能描述: 釋放對LCD顯示屏的操作功能

  // 輸入參數: 無

  // 返回值 > 0: 初始化LCD成功,并返回LCD的類型

  // = -1: 初始化LCD失敗

  int LCD_DeInit( );


  // 功能描述: 對LCD顯示屏的清屏操作

  // 輸入參數: 無

  // 返回值 = 0: LCD清屏成功

  //<0 : LCD清屏失敗

  int LCD_Clearup( );


  // 功能描述: 獲取LCD顯示屏的X方向最大分辨率

  // 輸入參數: 無

  // 返回值 : LCD顯示屏的X方向最大分辨率

  int LCD_GetMaxX( );


  // 功能描述: 獲取LCD顯示屏的Y方向最大分辨率

  // 輸入參數: 無

  // 返回值 : LCD顯示屏的Y方向最大分辨率

  int LCD_GetMaxY( );


  // 功能描述: 設置LCD顯示漢字字模:16點陣、12點陣

  // 輸入參數: FontWidth = 16 : 16點陣漢字

  // FontWidth = 12 : 12點陣漢字

  // 返回值 : 字模的類型16或12

  int LCD_SetFont( int FontWidth );


  // 功能描述: 對LCD顯示屏進行描點操作

  // 輸入參數:

  // int x0: 描點的列坐標(x坐標),范圍0~(MaxX-1)

  // int y0: 描點的行坐標(y坐標),范圍0~(MaxY-1)

  // int color: 描點的顏色:BK_COLOR或者TEXT_COLOR

  // 返回值 0: 成功

  int LCD_PutPixel( int x0, int y0, int color );


  // 功能描述: 對LCD顯示屏進行寫多個字節操作

  // 輸入參數:

  // int x: 寫字節的列坐標(x坐標),范圍0~(MaxX-1),不可大于或等于MaxX

  // int y: 寫字節的行坐標(y坐標),范圍0~(MaxY-1),不可大于或等于MaxY

  // unsigned char* hfont: 需要寫的字節組

  // int xsize: x方向的大小,最大不超過8

  // int NumOfBytes: 需要寫的字節數,最大不超過16

  // 返回值 0: 成功

  int LCD_WriteByteBlock( int x, int y, unsigned char* hfont, int xsize,

  int NumOfBytes );


  // 功能描述: 對LCD顯示屏畫直線操作

  // 輸入參數:

  // int x0: 直線開始列坐標(x坐標),范圍0~(MaxX-1),不可大于或等于MaxX

  // int y0: 直線開始行坐標(y坐標),范圍0~(MaxY-1),不可大于或等于MaxY

  // int x1: 直線結束列坐標(x坐標),范圍0~(MaxX-1),不可大于或等于MaxX

  // int y1: 直線結束行坐標(y坐標),范圍0~(MaxY-1),不可大于或等于MaxY

  // int color: 顏色設置:BK_COLOR或者TEXT_COLOR

  int LCD_DrawLine( int x0, int y0, int x1, int y1, int color );


  // 功能描述: 對LCD顯示屏畫Bar條操作

  // 輸入參數:

  // int x0: 直線開始列坐標(x坐標),范圍0~(MaxX-1),不可大于或等于MaxX

  // int y0: 直線開始行坐標(y坐標),范圍0~(MaxY-1),不可大于或等于MaxY

  // int x1: 直線結束列坐標(x坐標),范圍0~(MaxX-1),不可大于或等于MaxX

  // int y1: 直線結束行坐標(y坐標),范圍0~(MaxY-1),不可大于或等于MaxY

  // int color: 顏色設置:BK_COLOR或者TEXT_COLOR

  int LCD_FillBar( int x0, int y0, int x1, int y1, int color );


  // 功能描述: 對LCD顯示屏進行寫字符串的操作

  // 輸入參數:

  // int x0: 字符寫入的列坐標(x坐標),范圍0~(MaxX-1)

  // int y0: 字符寫入的行坐標(y坐標),范圍0~(MaxY-1)

  // int color: 字符寫入的顏色設置:BK_COLOR或者TEXT_COLOR

  // 返回值 0: 成功

  int LCD_WriteString( int x0, int y0, char* pStr, int color );


  以test_lcd為例,介紹利用eclipse / Sourcery G++工具進行應用程序開發時,如何使用lcd_api.h函數庫來實現對LCD的顯示操作。


  首先需要在應用工程項目文件test_lcd中導入API函數相關的幾個文件:lcd_api.h、lcd_api.cpp 以及DotLib.CPP(主要實現了西文、漢字顯示功能)。在eclipse / Sourcery G++ IDE下導入不僅僅是將這些文件加入到項目工程中,同時也會把這幾個文件復制到項目工程所在的目錄下。以下為測試代碼:


  // 對LCD屏進行初始化操作

  i1 = LCD_Init( );

  if( i1<0 )

  {

    printf( 'LCD Init fail! ' );

    return -1;

  }


  MaxX = LCD_GetMaxX( );

  MaxY = LCD_GetMaxY( );

  LCD_Clearup( );


  LCD_PutPixel( 0, 0, 1 );

  LCD_PutPixel( MaxX-1, 0, 1 );

  LCD_PutPixel( 0, MaxY-1, 1 );

  LCD_PutPixel( MaxX-1, MaxY-1, 1 );


  LCD_SetFont( 12 );


  // 顯示中文、字符操作

  strcpy( BufStr, '** 歡迎測試 **' );

  x = (MaxX-strlen(BufStr)*8)/2;

  y = 8;

  LCD_WriteString( x, y, BufStr, TEXT_COLOR );


  strcpy( BufStr, '嵌入式Linux主板' );

  x = (MaxX-strlen(BufStr)*8)/2;

  y = 24;

  LCD_WriteString( x, y, BufStr, BK_COLOR );

  sleep( 2 );


  // 畫線

  LCD_DrawLine( 0, 42, MaxX-1, 42, TEXT_COLOR );

  LCD_DrawLine( 0, 63, MaxX-1, 63, TEXT_COLOR );


  // 畫曲線

  for( x=0; x  {

    y = 53 - 10.0*sin( 2.0*M_PI*x/24.0 );

    LCD_PutPixel( x, y, XOR_WRITE );

  }

  sleep( 2 );


  for( x=0; x  {

    y = 53 - 10.0*sin( 2.0*M_PI*x/24.0 );

    LCD_PutPixel( x, y, XOR_WRITE );

  }

  sleep( 2 );


  LCD_Clearup( );

  LCD_DrawLine( 0, 0, MaxX-1, MaxY-1, TEXT_COLOR );

  LCD_DrawLine( 0, MaxY-1, MaxX-1, 0, TEXT_COLOR );

  // 畫Bar條

  start = time(NULL);

  for( i1=0; i1<9; i1++)

  {

    LCD_FillBar( MaxX/2-20, MaxY/2-20, MaxX/2+20, MaxY/2+20, XOR_WRITE );

    sleep(1);

  }

  end = time(NULL);

  printf('The pause used %f seconds. ',difftime(end,start)/10);//


  LCD_DeInit( );

下一篇: PLC、DCS、FCS三大控

上一篇: 索爾維全系列Solef?PV

推薦產品

更多
美女网站一区二区_在线观看日韩毛片_成人在线视频首页_欧美精品一区二区三区久久久_国产精品亚洲一区二区三区在线_日本免费新一区视频_日本美女一区二区三区_精品亚洲成a人_久久不见久久见免费视频1_91首页免费视频_欧美一区二区在线看_91精品91久久久中77777_天堂蜜桃一区二区三区_av在线一区二区_欧美不卡一区二区_欧美影视一区二区三区


        国产视频一区二区三区四区| 久久久com| 日韩西西人体444www| 精品蜜桃传媒| 国产成人综合精品三级| 亚洲成在人线免费| 亚洲国产成人自拍| 欧美本精品男人aⅴ天堂| 中文字幕一区二区三区精彩视频| 91色九色蝌蚪| 国产盗摄一区二区| 大白屁股一区二区视频| 蜜桃传媒麻豆第一区在线观看| 中文字幕亚洲不卡| 国产午夜精品一区二区三区嫩草| 欧美色中文字幕| 亚洲在线播放电影| 欧美日韩一区二区三| 国产精品免费观看高清| 91小宝寻花一区二区三区| av成人免费观看| 99re视频这里只有精品| 丁香婷婷综合五月| 国产成人亚洲欧美| 国产乱码精品一区二区三区中文| 欧美在线播放一区| 欧美日韩一区在线播放 | 成人av网站大全| 国产乱码字幕精品高清av| 日产精品久久久久久久性色| 一区二区三区四区乱视频| 中文字幕一区二区在线观看| 香蕉影视欧美成人| 性久久久久久久久| 国产精品99精品久久免费| 91久久偷偷做嫩草影院| 波多野结衣成人在线| 色乱码一区二区三在线看| 欧美凹凸一区二区三区视频 | 国产大片一区二区| 久久久久国产精品视频| 欧美日韩国产免费一区二区| 欧美日韩精品综合在线| 国产日韩精品一区二区三区 | 日韩激情中文字幕| av在线不卡免费看| 成人国产一区二区| 色综合天天综合狠狠| 在线亚洲精品福利网址导航| 欧美三级日本三级少妇99| 国产亚洲精久久久久久| 日本免费新一区视频| 亚洲成a人v欧美综合天堂| 成人性生交大片免费看中文| 日本午夜精品一区二区三区| 337p粉嫩大胆噜噜噜噜噜91av | 欧美草草影院在线视频| 亚洲欧美偷拍三级| 婷婷成人激情在线网| 99久久精品免费看国产四区| 欧美日韩中文字幕一区二区| 亚洲激情网站免费观看| 毛片av中文字幕一区二区| 国产精品日韩一区二区三区| 在线电影国产精品| 国产欧美日韩视频一区二区| 天天色图综合网| 国产成人亚洲精品青草天美| 色播亚洲婷婷| 成人免费在线观看入口| 成人avav影音| 欧美日韩国产首页| 日韩国产欧美视频| 日本三级中国三级99人妇网站| 国产亚洲成aⅴ人片在线观看| 久久国产日韩欧美精品| 91免费观看国产| 欧美日韩一级二级三级| 亚洲欧美电影一区二区| 91在线免费播放| 日韩亚洲欧美中文三级| 久久精品国产**网站演员| 亚洲黄色一区二区三区| 日韩精品一区二区三区老鸭窝 | 国产精品久久久久久久久果冻传媒| 亚洲美女视频在线| 91入口在线观看| 精品国产伦一区二区三区观看体验| 综合欧美亚洲日本| 激情久久五月天| 国产伦精品一区二区三区照片| 日韩欧美三级在线| 国产精品一二三区| 51精品视频一区二区三区| 综合婷婷亚洲小说| 国产美女在线精品免费观看| 国产亚洲欧洲997久久综合 | 国产精品美女久久久久av福利| 精品久久久久99| 99精品热视频| 精品国产一区二区三区忘忧草| 成人一区在线看| 精品久久久久久久一区二区蜜臀| 95精品视频在线| 中文欧美字幕免费| 精品亚洲porn| 欧洲成人一区二区| 亚洲最大的成人av| 国产精品区一区二区三含羞草| 国产亚洲精品福利| 欧美激情第一页在线观看| 亚洲国产成人精品视频| 99国产精品久久久久老师| 久久精品人人做人人爽97| 国产日韩一区欧美| 亚洲国产精品久久不卡毛片| 天涯成人国产亚洲精品一区av| 超碰97在线资源| 久草这里只有精品视频| 奇米综合一区二区三区精品视频| 欧美日韩精品一区| 亚洲永久精品国产| 色噜噜偷拍精品综合在线| 久久九九久久九九| av免费观看久久| 亚洲人一二三区| 在线免费观看成人| 激情小说亚洲一区| 精品成a人在线观看| 好吊色欧美一区二区三区| 亚洲午夜久久久久久久久久久 | 亚洲成人免费观看| 91福利国产精品| 99久久免费精品高清特色大片| 国产精品初高中害羞小美女文| 日韩一区二区三区资源| 亚洲精品亚洲人成人网在线播放| 亚洲成人18| 国产高清在线观看免费不卡| 91成人伦理在线电影| 久久疯狂做爰流白浆xx| 亚洲高清免费一级二级三级| 在线免费观看日本欧美| 99re这里只有精品视频首页| 亚洲精品国产无套在线观| 欧美日韩日本视频| 国产在线一区二区三区四区| 日韩av一区二区在线影视| 久久网站热最新地址| 国产不卡在线视频| 欧美一级理论片| 精品国产一区二区三区日日嗨| 玖玖九九国产精品| 亚洲国产精品高清| 在线看国产一区| 国产综合色一区二区三区| 毛片av中文字幕一区二区| 欧美激情中文不卡| 欧美午夜片在线观看| 国产精品99久久久久久久vr| 中文字幕一区在线观看| 337p亚洲精品色噜噜噜| 日本一区二区三区四区高清视频| 国产成人精品亚洲777人妖| 一二三区精品视频| 久久久久久久久久看片| 一本一道久久a久久精品| 97人人香蕉| 狠狠色狠狠色综合| 亚洲一区二区在线视频| 久久综合久久鬼色| 在线观看日韩精品| 欧美激情第一页在线观看| av一区二区三区在线| 久久精品国产免费| 一区二区三区精品| 欧美极品另类videosde| 欧美日韩免费电影| 亚洲一卡二卡| 欧美一区国产一区| 国产丝袜不卡| 91免费观看在线| 国产成人亚洲综合a∨婷婷图片| 丝袜亚洲精品中文字幕一区| 国产精品乱人伦| 精品国产制服丝袜高跟| 欧美在线free| 亚洲国产婷婷香蕉久久久久久99| 韩国成人一区| 亚洲少妇屁股交4| 久久综合99re88久久爱| 日韩美女天天操| 午夜伊人狠狠久久| 91国产在线免费观看| 欧美一级艳片视频免费观看| www日韩av| 成人免费观看视频| 久久不见久久见中文字幕免费| 亚洲精品写真福利| 国产精品久久久久永久免费观看 |