环球电气之家-午夜精彩视频-中国专业电气电子产品行业服务网站!

產品分類

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

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

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

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

  • 關鍵詞: 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

推薦產品

更多
主站蜘蛛池模板: 扬尘在线监测系统_工地噪声扬尘检测仪_扬尘监测系统_贝塔射线扬尘监测设备「风途物联网科技」 | PCB接线端子_栅板式端子_线路板连接器_端子排生产厂家-置恒电气 喷码机,激光喷码打码机,鸡蛋打码机,手持打码机,自动喷码机,一物一码防伪溯源-恒欣瑞达有限公司 假肢-假肢价格-假肢厂家-河南假肢-郑州市力康假肢矫形器有限公司 | 防爆电机_ybx3系列电机_河南省南洋防爆电机有限公司 | 卡诺亚轻高定官网_卧室系统_整家定制_定制家居_高端定制_全屋定制加盟_定制家具加盟_定制衣柜加盟 | 深圳公司注册-工商注册代理-注册公司流程和费用_护航财税 | 阁楼货架_阁楼平台_仓库仓储设备_重型货架_广州金铁牛货架厂 | 刺绳_刀片刺网_刺丝滚笼_不锈钢刺绳生产厂家_安平县浩荣金属丝网制品有限公司-安平县浩荣金属丝网制品有限公司 | 档案密集柜_手动密集柜_智能密集柜_内蒙古档案密集柜-盛隆柜业内蒙古密集柜直销中心 | 钢格板|热镀锌钢格板|钢格栅板|钢格栅|格栅板-安平县昊泽丝网制品有限公司 | 三佳互联一站式网站建设服务|网站开发|网站设计|网站搭建服务商 赛默飞Thermo veritiproPCR仪|ProFlex3 x 32PCR系统|Countess3细胞计数仪|371|3111二氧化碳培养箱|Mirco17R|Mirco21R离心机|仟诺生物 | 氧化锆陶瓷_氧化锆陶瓷加工_氧化锆陶瓷生产厂家-康柏工业陶瓷有限公司 | 翅片管换热器「型号全」_厂家-淄博鑫科环保 | 蜘蛛车-高空作业平台-升降机-高空作业车租赁-臂式伸缩臂叉装车-登高车出租厂家 - 普雷斯特机械设备(北京)有限公司 | 污水处理设备维修_污水处理工程改造_机械格栅_过滤设备_气浮设备_刮吸泥机_污泥浓缩罐_污水处理设备_污水处理工程-北京龙泉新禹科技有限公司 | 密集架|电动密集架|移动密集架|黑龙江档案密集架-大量现货厂家销售 | 健康管理师报名入口,2025年健康管理师考试时间信息网-网站首页 塑料造粒机「厂家直销」-莱州鑫瑞迪机械有限公司 | 山东成考网-山东成人高考网| 多米诺-多米诺世界纪录团队-多米诺世界-多米诺团队培训-多米诺公关活动-多米诺创意广告-多米诺大型表演-多米诺专业赛事 | 合金ICP光谱仪(磁性材料,工业废水)-百科 | 苏州防水公司_厂房屋面外墙防水_地下室卫生间防水堵漏-苏州伊诺尔防水工程有限公司 | 颗粒机,颗粒机组,木屑颗粒机-济南劲能机械有限公司 | 在线PH计-氧化锆分析仪-在线浊度仪-在线溶氧仪- 无锡朝达 | 引领中高档酒店加盟_含舍·美素酒店品牌官网 | 东莞压铸厂_精密压铸_锌合金压铸_铝合金压铸_压铸件加工_东莞祥宇金属制品 | 创富网-B2B网站|供求信息网|b2b平台|专业电子商务网站 | 农产品溯源系统_农产品质量安全追溯系统_溯源系统 | 铝箔-铝板-花纹铝板-铝型材-铝棒管-上海百亚金属材料有限公司 | 水平垂直燃烧试验仪-灼热丝试验仪-漏电起痕试验仪-针焰试验仪-塑料材料燃烧检测设备-IP防水试验机 | 成都中天自动化控制技术有限公司| 蔡司三坐标-影像测量机-3D扫描仪-蔡司显微镜-扫描电镜-工业CT-ZEISS授权代理商三本工业测量 | 脱硫搅拌器厂家-淄博友胜不锈钢搅拌器厂家 | 河南卓美创业科技有限公司-河南卓美防雷公司-防雷接地-防雷工程-重庆避雷针-避雷器-防雷检测-避雷带-避雷针-避雷塔、机房防雷、古建筑防雷等-山西防雷公司 | 防水试验机_防水测试设备_防水试验装置_淋雨试验箱-广州岳信试验设备有限公司 | 博莱特空压机|博莱特-阿特拉斯独资空压机品牌核心代理商 | 智能汉显全自动量热仪_微机全自动胶质层指数测定仪-鹤壁市科达仪器仪表有限公司 | 99文库_实习生实用的范文资料文库站| 广东恩亿梯电源有限公司【官网】_UPS不间断电源|EPS应急电源|模块化机房|电动汽车充电桩_UPS电源厂家(恩亿梯UPS电源,UPS不间断电源,不间断电源UPS) | 山东太阳能路灯厂家-庭院灯生产厂家-济南晟启灯饰有限公司 | led太阳能路灯厂家价格_风光互补庭院灯_农村市政工程路灯-中山华可路灯品牌 | GAST/BRIWATEC/CINCINNATI/KARL-KLEIN/ZIEHL-ABEGG风机|亚喜科技 | 深圳美安可自动化设备有限公司,喷码机,定制喷码机,二维码喷码机,深圳喷码机,纸箱喷码机,东莞喷码机 UV喷码机,日期喷码机,鸡蛋喷码机,管芯喷码机,管内壁喷码机,喷码机厂家 |