英創(chuàng)公司EM9X60系列工控主板廣泛應用于電力行業(yè),在最新的國家電網(wǎng)公司技術標準《電力用戶用電信息系統(tǒng)功能規(guī)范》中,對電力終端的顯示單元有明確的規(guī)定,要求液晶顯示選用160X160單色點陣LCD,窗口尺寸不小于60mmX60mm,英創(chuàng)公司為此提出了EM9X60支持160X160點陣LCD的解決方案。
方案一、選用帶英創(chuàng)工控主板能自動識別的LCD控制器的LCD,如CA160160Z,其主要指標為160X160點陣,控制器為S1D13700,與S1D1335/RA8835兼容。選用此類屏的優(yōu)點是可直接利用英創(chuàng)現(xiàn)有的LCD_API庫函數(shù)對屏進行操作,硬件連接和程序設計方便。英創(chuàng)EM9X60系列工控主板能自動識別的點陣LCD控制器還包括T6963C(或兼容型號),KS0108(或兼容型號)。
方案二、選擇電力終端普遍使用的uc1698u控制器LCD,如HGO160X160。
HGO160X160采用ULTRACHIP(晶宏)公司的uc1698u LCD驅動IC,160X160點陣,符合國網(wǎng)標準,在硬件上可直接與英創(chuàng)EM9X60系列工控主板相連,軟件方面,我們提供了專門針對uc1698u實現(xiàn)中西文顯示的驅動程序。
對于應用層的軟件編寫,客戶僅需要調(diào)用英創(chuàng)提供的API函數(shù),就能實現(xiàn)畫點,畫線,字符顯示等操作,不需要了解具體驅動細節(jié),下面是節(jié)略測試程序的一些程序片段。
nStatus = LCD_Init( ); // LCD初始化
if( nStatus 《 0 )
return -1;
m = LCD_GetMaxX(); // 獲取X方向最大點陣數(shù)
n = LCD_GetMaxY(); // 獲取Y方向最大點陣數(shù)
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是執(zhí)行上面測試代碼后,LCD的顯示效果圖。
uc1698u的驅動以源代碼的形式提供給客戶,在英創(chuàng)提供的測試程序源文件中有各個應用層API函數(shù)和uc1698u驅動函數(shù)的詳細說明,感興趣的客戶可向英創(chuàng)索要相關代碼。
-
嵌入式主板
+關注
關注
7文章
6086瀏覽量
35471
發(fā)布評論請先 登錄
相關推薦
評論