吴忠躺衫网络科技有限公司

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

英創信息技術國家電網智能電力終端標準顯示接口的實現

英創信息技術 ? 來源:英創信息技術 ? 作者:英創信息技術 ? 2020-01-16 09:16 ? 次閱讀

EM9160是英創公司一款資源豐富、性能穩定、簡單易用的高性價比工控主板,它包含了6個用戶可用的通用異步串口、一個網口、16位GPIO、以及英創特有的精簡ISA總線等豐富的硬件資源,支持WinCE5.0、WinCE6.0和Linux系統。目前,EM9160廣泛應用于國家電網智能電力終端,如集抄器、充值終端等,出貨量超過10W片。國家電網公司企業標準對國家電網智能電力終端的外形接口、人機界面、通信接口等都做了詳細的規定。用戶基于EM9160,在外圍做一定的電路擴展后就能滿足國網標準關于電力終端數據通信、電量采集、信息顯示等方面的需求。

國家智能電網己經進入全面建設階段,要求電力終端的通訊接口越來越多,應用軟件越來越復雜,對系統可靠性的要求也越來越高。為此,我們將EM9160 的操作系統WinCE5.0的升級到了WinCE6.0,系統可靠性進一步提高。同時根據當下對電力終端的新需求,開發了EM9160的升級主板EM9280。

EM9280板載了8個異步串口,完全滿足當下電力智能終端對通訊接口的需求,根據電力智能終端特點,去掉了ISA總線擴展,轉而支持多達32位的GPIO。同時系統內核、Flash、CPU主頻等都有較大升級。在顯示方面,EM9280支持分辨率從320 X 240到1024 X 768的彩色TFT LCD顯示,為了支持國家智能電網智能電力終端對顯示的規定,EM9280專門引出了一個單色LCD接口。下圖是EM9280連接符合國網標準的單色LCD的效果圖。

圖1:EM9280連接160*160單色液晶

本文就將介紹EM9280如何支持滿足國家電網標準的160 X160單色點陣液晶顯示。

1、EM9280單色LCD硬件接口

EM9280的單色屏接口在主板背面,編號為CN4,其引腳定義如下:

EM9280_CN4 單色LCD信號定義及說明
1 GND
2 LCD_RS,LCE命令/數據寄存器選擇
3 LCD_WR#,LCD寫信號,低有效,Inter時序
4 LCD_RD#,LCD讀信號,低有效,Inter時序
5 LCD_CS#,LCD片選,低有效
6 LCD_REST#,LCD復位信號,低有效
7 VDD,LCD電源,+3.3V
8 LCD_D0,LCD數據總線
9 LCD_D1,LCD數據總線
10 LCD_D2,LCD數據總線
11 LCD_D3,LCD數據總線
12 LCD_D4,LCD數據總線
13 LCD_D5,LCD數據總線
14 LCD_D6,LCD數據總線
15 LCD_D7,LCD數據總線
16 LEDK,LCD背光負極
17 NC
18 LEDA,LCD背光正極

EM9280單色屏接口詳細說明請參考《EM9280工控主板數據手冊》。

2、EM9280單色LCD軟件接口

EM9280預裝了WinCE6.0嵌入式操作系統,本身支持窗口編程,但對于160 X160點陣的單色屏來講,卻并不適合MFC框架的界面編程。針對單色點陣屏的顯示特點,我們封裝一組高效、簡單易用的畫點、畫線、寫塊、寫字符串等操作屏的API函數。介紹如下:

功能描述: 啟動對LCD屏的操作功能,并初始化LCD顯示屏,下面的所有函數,應該在LCD_Init()返回成功后再調用。
輸入參數: LCD的類型。
返回值 > 0: 啟動LCD成功,并返回LCD的類型。
= -1: 啟動LCD失敗。
INT LCD_Init( int LCDType );

功能描述: 設置顯示字體,本驅動支持12*12和16*16點陣字體,默認字體為16*16點陣
輸入參數: FontWidth = 12:設置12*12點陣
FontWidth = 16: 設置16*16點陣(默認設置)
返回值 > 0: 設置字體成功。
= -1: 設置字體失敗。
INT LCD_SetFont( unsigned int FontWidth );

功能描述: LCD刷新模式。
輸入參數:
nRefreshMode = REAL_REFRESH:實現刷新,方便調試
nRefreshMode = AUTO_REFRESH:自動刷新,刷新時間間隔為50mS.(默認設置)
nRefreshMode = MANUAL_REFRESH:手動刷新,設置成此模式后,只有調用了LCD_Refresh函數,驅動才會將顯存中的數據顯示到LCD上。
返回值 = 0: 設置刷新模式成功。
= -1: 設置刷新模式失敗。
INT LCD_RefreshMode( unsigned int nRefreshMode );

功能描述: 將顯存中的數據更新到LCD
返回值 = 0: 刷新成功。
= -1: 刷新失敗。
INT LCD_Refresh(void);

功能描述: 釋放對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顯示屏的寫模式。(不支持)
輸入參數: Mode = 0 : COPY 寫模式
Mode = 1 : XOR 寫模式
返回值 0: 成功
INT LCD_SetMode( int Mode );

功能描述: 對LCD顯示屏進行描點操作。
輸入參數:
x0: 描點的列坐標(x坐標),范圍0~(MaxX-1),不可大于或等于MaxX
y0: 描點的行坐標(y坐標),范圍0~(MaxY-1),不可大于或等于MaxY
color: 描點的顏色:BK_COLOR,TEXT_COLOR或XOR_WRITE
返回值 0: 成功。
INT LCD_PutPixel( int x0, int y0, int color );

功能描述: 對LCD顯示屏進行寫字節操作。
輸入參數:
x0: 寫字節的列坐標(x坐標),范圍0~(MaxX-1)
y0: 寫字節的行坐標(y坐標),范圍0~(MaxY-1)
byte: 寫的字節
返回值 0: 成功。
INT LCD_WriteByte( int x0, int y0, UCHAR byte );

功能描述: 對LCD顯示屏進行寫多個字節操作,兼容原有LCD庫。
輸入參數:
x0: 寫字節的列坐標(x坐標),范圍0~(MaxX-1)
y0: 寫字節的行坐標(y坐標),范圍0~(MaxY-1)
pHfont: 需要寫的字節組
NumOfBytes: 需要寫的字節數
返回值 0: 成功。
INT LCD_WriteByteBlock( int x0, int y0, PBYTE pHfont, int nNumOfBytes );

功能描述: 對LCD顯示屏進行寫多個字節操作
輸入參數:
x0: 寫字節的列坐標(x坐標),范圍0~(MaxX-1)
y0: 寫字節的行坐標(y坐標),范圍0~(MaxY-1)
x1: 寫字節的列坐標(x坐標),范圍0~(MaxX-1)
pHfont: 需要寫的字節組
NumOfBytes: 需要寫的字節數
返回值 0: 成功。
INT LCD_WriteBlock( int x0, int y0, int x1, PBYTE pHfont, int NumOfBytes );

功能描述: 對LCD顯示屏進行讀字節操作。
輸入參數:
x: 寫字節的列坐標(x坐標),范圍0~(MaxX-1)
y: 寫字節的行坐標(y坐標),范圍0~(MaxY-1)
返回值 : 讀取的字節。
INT LCD_ReadByte( int x0, int y0 );

功能描述: 對LCD顯示屏畫直線操作。
輸入參數:
x0: 直線開始列坐標(x坐標),范圍0~(MaxX-1),不可大于或等于MaxX
y0: 直線開始行坐標(y坐標),范圍0~(MaxY-1),不可大于或等于MaxY
x1: 直線結束列坐標(x坐標),范圍0~(MaxX-1),不可大于或等于MaxX
y1: 直線結束行坐標(y坐標),范圍0~(MaxY-1),不可大于或等于MaxY
color: 顏色設置:BK_COLOR,TEXT_COLOR或XOR_WRITE
INT LCD_DrawLine( int x0, int y0, int x1, int y1, int color );

功能描述: 對LCD顯示屏畫Bar條操作。
輸入參數:
x0: 直線開始列坐標(x坐標),范圍0~(MaxX-1),不可大于或等于MaxX
y0: 直線開始行坐標(y坐標),范圍0~(MaxY-1),不可大于或等于MaxY
x1: 直線結束列坐標(x坐標),范圍0~(MaxX-1),不可大于或等于MaxX
y1: 直線結束行坐標(y坐標),范圍0~(MaxY-1),不可大于或等于MaxY
color: 顏色設置:BK_COLOR,TEXT_COLOR或XOR_WRITE
INT LCD_FillBar( int x0, int y0, int x1, int y1, int color );

功能描述: 對LCD顯示屏進行寫字符串的操作。
輸入參數:
x0: 字符寫入的列坐標(x坐標),范圍0~(MaxX-1)
y0: 字符寫入的行坐標(y坐標),范圍0~(MaxY-1)
pStr:以'

百家乐官网怎样发牌| 百家乐官网的必赢方法| 赌场百家乐是如何玩| 最好的百家乐官网游戏平台1| 德州扑克怎么算牌| 至尊百家乐娱乐平台| 澳门赌百家乐官网的玩法技巧和规则| 千亿娱乐网站| 威尼斯人娱乐城骰宝| 百家乐事电影| 利都百家乐官网国际娱乐网| 揭阳市| 谈大发888风水和运气| 网上百家乐有人赢过嘛 | 星期八娱乐城| 大发888娱乐城英皇国际| 百家乐水晶筹码| 大哥大百家乐官网的玩法技巧和规则| 丹江口市| 澳门金盛国际娱乐| 大发888怎么样| 百家乐博娱乐网赌百家乐的玩法技巧和规则 | 威尼斯人娱乐诚| 百家乐双筹码怎么出千| 凤凰百家乐娱乐城| 百家乐官网筹码币套装| 百家乐官网游戏唯一官网网站| 澳门百家乐官网限红规则| 桐庐县| 镇康县| 龙虎斗网站| 网上娱乐| 茂名市| 峡江县| 百家乐官网路单资料| 百家乐官网开庄概率| 上犹县| 波克棋牌官方下载| 钱柜娱乐城现金网| 网上真人娱乐场| 百家乐官网软件l柳州|