您现在所在的是:

微软嵌入式

回帖:1个,阅读:1201 [上一页] [1] [下一页]
508
emtronix2010
文章数:91
年度积分:50
历史总积分:508
注册时间:2010/4/2
发站内信
发表于:2010/5/31 9:38:46
#0楼
英创公司EM9X60系列工控主板广泛应用于电力行业,在最新的国家电网公司技术标准《电力用户用电信息系统功能规范》中,对电力终端的显示单元有明确的规定,要求液晶显示选用160X160单色点阵LCD,窗口尺寸不小于60mmX60mm,英创公司为此提出了EM9X60支持160X160点阵LCD的解决方案。

     方案一、选用带英创工控主板能自动识别的LCD控制器的LCD,如CA160160Z,其主要指标为160X160点阵,控制器为S1D13700,与S1D1335/RA8835兼容。选用此类屏的优点是可直接利用英创现有的LCD_API库函数对屏进行操作,硬件连接和程序设计方便。英创EM9X60系列工控主板能自动识别的点阵LCD控制器还包括T6963C(或兼容型号),KS0108(或兼容型号)。

     方案二、选择电力终端普遍使用的uc1698u控制器LCD,如HGO160X160。

     HGO160X160采用ULTRACHIP(晶宏)公司的uc1698u LCD驱动IC,160X160点阵,符合国网标准,在硬件上可直接与英创EM9X60系列工控主板相连,软件方面,我们提供了专门针对uc1698u实现中西文显示的驱动程序。
对于应用层的软件编写,客户仅需要调用英创提供的API函数,就能实现画点,画线,字符显示等操作,不需要了解具体驱动细节,下面是节略测试程序的一些程序片段。

     nStatus = LCD_Init(  );   //LCD初始化
     if( nStatus < 0 )
           return -1;
     m = LCD_GetMaxX();    //获取X方向最大点阵数
     n = LCD_GetMaxY();    //获取Y方向最大点阵数
     strcpy( BufStr, '** 欢迎测试 **' );
     x = strlen( BufStr );
     x = (m - x*6)/2;     //x方向居中显示
     y = 20;
     LCD_WriteString( x, y, BufStr, 1 );  //显示字符串
     y+=25;
     LCD_DrawLine( 0, y, n,  y, 1 );  //画线
     y+=21;
     LCD_DrawLine( 0, y, n, y, 1 );
     k = y -10;
     for( x=0; x < n; x++)

     {
           y = ( int )( k - 10.0*sin( 2.0*M_PI*x/24.0 ));;
           LCD_PutPixel( x, y, 1 );  //画点
     }

     注:为正确显示中文,需要将汉字点阵字模文件CCLIB12.FNT拷贝到工控主板的NandFlash根目录下。图1是执行上面测试代码后,LCD的显示效果图。



图1:HGO160X160中英文显示

     uc1698u的驱动以源代码的形式提供给客户,在英创提供的测试程序源文件中有各个应用层API函数和uc1698u驱动函数的详细说明,感兴趣的客户可向英创索要相关代码。
750
545078430
文章数:7
年度积分:50
历史总积分:750
注册时间:2010/6/17
发站内信
发表于:2010/6/17 11:23:13
#1楼
提前了解Windows Embedded Standard 7的最新应用,有微软神秘工程师免费现场指导,名额有限,参加从速!http://www.farsight.com.cn/microsoft/index.aspx

关于我们 | 联系我们 | 广告服务 | 本站动态 | 友情链接 | 法律声明 | 非法和不良信息举报

工控网客服热线:0755-86369299
版权所有 工控网 Copyright©2025 Gkong.com, All Rights Reserved

46.8003