国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

一種RS485接口多國語言LCD12864顯示器的設(shè)計

2020-02-03 02:38:08趙建新
電子技術(shù)與軟件工程 2020年19期
關(guān)鍵詞:字庫低電平字符

趙建新

(哈爾濱華德學(xué)院 黑龍江省哈爾濱市 150025)

RS485 通信標準自從上世紀80年代以來,以其傳輸距離遠、抗干擾能力強、布線成本低等優(yōu)點,在工業(yè)控制領(lǐng)域中得到了廣泛應(yīng)用[1]。工業(yè)領(lǐng)域中的PLC、變頻器、電能表等設(shè)備大多采用RS485 通信標準,為了方便用戶實時監(jiān)測這些設(shè)備的狀態(tài)信息,設(shè)計了一種RS485 通信標準的顯示屏,可以讀取工控設(shè)備的狀態(tài)信息并實時顯示到顯示屏上,在工控領(lǐng)域有著廣闊的應(yīng)用空間。

1 系統(tǒng)硬件設(shè)計

系統(tǒng)硬件組成框圖如圖1所示。

如圖1所示,工控設(shè)備通過RS485 接口把數(shù)據(jù)傳輸至MCU,MCU 將數(shù)據(jù)解包后,得到需要顯示的數(shù)據(jù),如果數(shù)據(jù)中包含文字則會從字庫芯片中查找字模,最后將數(shù)據(jù)顯示到12864 液晶屏上[2]。

1.1 MAX3485通信芯片

MAX3485 是MAXIM 公司生產(chǎn)的一款3.3V 供電的RS485 電平收發(fā)芯片,靜態(tài)電流僅300uA,最高可達到2.5Mbps 傳輸速度,使用廣泛。MAX3485 應(yīng)用電路如圖2所示。

MAX3485 的2 腳和3 腳是使能管腳,低電平為接收狀態(tài),高電平為發(fā)送狀態(tài),因此2 腳和3 腳可以短接,僅需MCU 一個IO口即可控制。

1.2 STC12LE5A60S2單片機芯片

STC12LE5A60S2 是STC 公司生產(chǎn)的一款3.3V 供電的單時鐘/機器周期(1T)的MCU芯片,指令集和管腳兼容傳統(tǒng)8051單片機(如圖3所示),速度比傳統(tǒng)51 單片機快6~12 倍,在工業(yè)控制,強干擾場合比較適用。

本系統(tǒng)運行中涉及到字庫讀取、字模運算等操作,對MCU 運算性能要求高,因此速度快性能強的STC12LE5A60S2 是系統(tǒng)正常工作的保障。

1.3 GT30L24A3W字庫芯片

本系統(tǒng)選用GT30L24A3W 為字庫芯片,2.7~3.6V 供電,功耗低,SPI 串行總線接口,操作方便。該字庫芯片內(nèi)建12*12、16*16、24*24、32*32 點陣字庫,支持GB18030 簡繁體漢字、JIS0208日文字符集、KSC5601 韓文字符集等180 國外文字符,并且兼容以上各種文字的Unicode 字符集。橫置橫排的字模排列格式[3]。用戶通過字符內(nèi)碼,計算出該字符所對應(yīng)點陣在芯片中的地址,然后可以從該地址連續(xù)讀出字符點陣信息。

片選輸入(CS#):CS#的下降沿為串行數(shù)據(jù)傳輸開始信號,傳輸期間必須保持低電平,兩條指令之間為高電平。

串行數(shù)據(jù)輸出(SO):數(shù)據(jù)從芯片輸出,在時鐘的下降沿移出。

串行數(shù)據(jù)輸入(SI):數(shù)據(jù)從串行輸入芯片,在時鐘的上升沿移入。

串行時鐘輸入(SCLK):數(shù)據(jù)在時鐘上升沿移入,在下降沿移出。

總線掛起輸入(HOLD#):該信號變低電平并且SCLK 信號為低電平時,進入掛起狀態(tài);該信號變高電平并且SCLK 信號為低電平時,結(jié)束掛起狀態(tài)。

表1:GT30L24A3W 指令參數(shù)表

圖1:系統(tǒng)硬件電路框圖

圖2:MAX3485 應(yīng)用電路圖

圖3:STC12LE5A60S2 管腳圖

1.4 LCD12864液晶屏

本系統(tǒng)選用深圳晶聯(lián)訊電子有限公司生產(chǎn)的JLX12864G-1503型號的液晶屏,使用方便,顯示清晰,廣泛應(yīng)用于人機交互面板。

JLX12864G-1503 液晶模塊選用矽創(chuàng)公司生產(chǎn)的ST7567 驅(qū)動IC,功能強,穩(wěn)定性好,接口豐富,可以采用4 線SPI 或并口連接外部MCU(6800 時序和8080 時序可選)。

圖4:系統(tǒng)整體運行流程圖

2 軟件部分設(shè)計

2.1 串口超時接收

工業(yè)領(lǐng)域中的PLC、變頻器、電能表等設(shè)備通信協(xié)議一般為MODBUS 協(xié)議,這種協(xié)議沒有包頭包尾作為標志,不知道該幀是否接收完成,一般采用超時方式。接收超時應(yīng)根據(jù)自己實際應(yīng)用加入,現(xiàn)在大多數(shù)都是硬件中斷接收,一進中斷就將數(shù)據(jù)拷到接收緩存中,等有空再處理這些數(shù)據(jù)就可。但是如果利用循環(huán)查詢時,最好加入超時,讓接收函數(shù)能夠在一段時間內(nèi)持續(xù)檢測是否有數(shù)據(jù)過來。

大部分串口應(yīng)用程序都是以一字節(jié)為單位傳輸,當檢測到特定字符(如換行)才判定一幀數(shù)據(jù)結(jié)束。這樣做的問題在于一旦特定字符受干擾丟失,會導(dǎo)致MCU 誤判。該系統(tǒng)需要以幀為單位傳輸數(shù)據(jù),只要字符與字符之間間隔超過一定的時間,那么就判定這一幀數(shù)據(jù)結(jié)束。

2.2 字庫芯片GT30L24A3W讀取操作

GT30L24A3W 使用SPI 接口和MCU 通信,該字庫芯片的讀取操作只有兩種模式:正常模式和快速模式。指令參數(shù)如表1所示。

正常模式下,需要用指令碼來執(zhí)行每一次操作。讀取操作如下:

(1)首先將片選信號(CS#)拉低,串行數(shù)據(jù)輸入(SI)發(fā)送1 字節(jié)的命令字(0x03)和3 個地址,每一位在串行時鐘輸入(SCLK)上升沿被鎖存。

(2)然后該地址的字節(jié)數(shù)據(jù)通過串行數(shù)據(jù)輸出引腳(SO)移位輸出,每一位在串行時鐘輸入(SCLK)下降沿被移出。(3)讀取字節(jié)結(jié)束后,將片選信號(CS#)拉高,結(jié)束本次操作??焖倌J较?,同樣需要用指令碼來執(zhí)行每一次操作。讀取操作如下:

(1)首先將片選信號(CS#)拉低,串行數(shù)據(jù)輸入(SI)發(fā)送1 字節(jié)的命令字(0x0B)和3 個地址以及一個字節(jié)的Dummy,每一位在串行時鐘輸入(SCLK)上升沿被鎖存。

(2)然后該地址的字節(jié)數(shù)據(jù)通過串行數(shù)據(jù)輸出引腳(SO)移位輸出,每一位在串行時鐘輸入(SCLK)下降沿被移出。

(3)如果片選信號(CS#)持續(xù)保持為低,則下一個地址的字節(jié)數(shù)據(jù)繼續(xù)通過串行數(shù)據(jù)輸出引腳(SO)移位輸出。

以12×12 點陣為例,給出從首地址fontaddr 讀出12×12 點陣字符數(shù)據(jù)的程序操作。

(1)text[i]為漢字GB2312 編碼的高8 位。

(2)text[i+1]為漢字GB2312 編碼的低8 位。

(3)fontaddr 為漢字首地址。

(4)0x3cf80 + 376*24 為12×12 漢字點陣起始地址。

(5)0x3cf80 為12×12 全角字符點陣起始地址。

2.3 系統(tǒng)整體運行流程

串口接收到一幀數(shù)據(jù)后,根據(jù)這一幀數(shù)據(jù)中的字符GB2312 碼,計算出該字符在字庫芯片中的首地址,取出字模并顯示到液晶屏上。系統(tǒng)整體運行流程圖如圖4所示。

3 結(jié)束語

使用STC12LE5A60S2 單片機芯片和GT30L24A3W 多國語言字庫芯片設(shè)計的LCD12864 顯示器,顯示正常,穩(wěn)定可靠。不足之處在于屏幕尺寸小,顯示文本內(nèi)容有限。

猜你喜歡
字庫低電平字符
數(shù)字電路中“邏輯非”的用法辨析
尋找更強的字符映射管理器
鐵道車輛高/低電平信號智能發(fā)生器設(shè)計
No.2 喜茶聯(lián)合漢儀字庫推出微型書和書簽
字符代表幾
一種USB接口字符液晶控制器設(shè)計
電子制作(2019年19期)2019-11-23 08:41:50
2017款凱迪拉克2.8L/3.0L/3.2L/3.6L車型低電平參考電壓總線電路圖
消失的殖民村莊和神秘字符
某型號產(chǎn)品的字庫遷移優(yōu)化設(shè)計
電子世界(2018年7期)2018-04-26 08:51:35
相同字庫條件下激光打印文件特征的變化規(guī)律和特點
汝州市| 元氏县| 福州市| 宾阳县| 襄垣县| 神木县| 海安县| 察雅县| 台安县| 淄博市| 安西县| 浮山县| 闵行区| 虎林市| 鄄城县| 莱阳市| 衡东县| 攀枝花市| 武安市| 清苑县| 岳普湖县| 平昌县| 宁都县| 天长市| 同仁县| 青阳县| 尚义县| 龙川县| 长宁区| 锦州市| 江门市| 朝阳市| 建始县| 大竹县| 喀什市| 襄垣县| 繁峙县| 沭阳县| 永嘉县| 阳泉市| 运城市|