熟女人妻水多爽中文字幕,国产精品鲁鲁鲁,隔壁的少妇2做爰韩国电影,亚洲最大中文字幕无码网站

技術(shù)頻道

娓娓工業(yè)
您現(xiàn)在的位置: 中國傳動網(wǎng) > 技術(shù)頻道 > 應(yīng)用方案 > 一種基于MODBUS的嵌入式人機界面的設(shè)計與實現(xiàn)

一種基于MODBUS的嵌入式人機界面的設(shè)計與實現(xiàn)

時間:2006-12-19 15:32:00來源:jiangf

導(dǎo)語:?文章介紹了硬件設(shè)計電路和軟件的設(shè)計過程及一種好用和簡單的MOOBUS從設(shè)備調(diào)試工具—Modbus slave。
一、設(shè)計概要 現(xiàn)場總線是一種用于底層工業(yè)控制和測量儀表之間的總線,人機界面設(shè)備就是作為現(xiàn)場總線中,控制器和操作者之間的“通信員”它可以完成現(xiàn)場控制器與操作者之間數(shù)據(jù)的接收和發(fā)送。本設(shè)計使用Atmel單片機89C52作為主要控制芯片,用以東芝丁6963C為控制芯片的128*64液晶比O作為顯示界面,采用工業(yè)標準通信協(xié)議MOOBUS作為數(shù)據(jù)信息交互的介質(zhì),主要功能是完成對工業(yè)網(wǎng)絡(luò)中現(xiàn)場控制器數(shù)據(jù)的采集顯示,根據(jù)需要設(shè)定數(shù)據(jù)并發(fā)送到現(xiàn)場控制器完成控制任務(wù),實現(xiàn)人機之間控制信息的交互傳送。文章分別介紹了硬件設(shè)計電路和軟件的設(shè)計過程,并介紹了一種好用和簡單的MOOBUS從設(shè)備調(diào)試工具——Modbus slave。 設(shè)計中使用128*64LCD實現(xiàn)顯示界面如圖1所示,其中“實際值”顯示從現(xiàn)場取要的數(shù)據(jù),“設(shè)定值”是由操作者設(shè)定并已傳入現(xiàn)場設(shè)備的參數(shù),“操作值”顯示操作者可以修改但還未發(fā)送到現(xiàn)場設(shè)備的數(shù)值。最后一行用來指示4個按鍵。 二、硬件部分設(shè)計 系統(tǒng)硬件電路框圖如圖2。 電路部分十分簡單,包括看門狗電路、4個按鍵的直接連接、程序擴展電路、RS232電平轉(zhuǎn)換部分、液晶點陣連接部分。 MAX7OS的功能是:上電復(fù)位程序監(jiān)視。89C52正常工作,執(zhí)行喂狗程序時,不斷從P17輸出脈沖信號至MAX705的WDI腳,當(dāng)單片機程序“跑飛”后,Pl.7不再輸出脈沖信號MAX705的WDI腳在1.6S內(nèi)收不到脈沖信號,將在MAX70S的RESTE端產(chǎn)生高電平,產(chǎn)生復(fù)位信號,將單片機復(fù)位,迫使程序復(fù)位到入口處。 針對AT89C52硬件資源比較豐富,考慮采用直接方式設(shè)計鍵盤電路,而且可以簡化電路。鍵盤采用4個開關(guān)直接控制。開關(guān)的一段通過電阻連接電源和AT89C52的P10~P13管腳,而另一端接地。由于P10~P13是低電平工作,當(dāng)不同的開關(guān)接通時,根據(jù)采集到不同端口是高還是低電平,來執(zhí)行相應(yīng)的按鍵子程序。 考慮到使用LCD具有較強的表現(xiàn)能力和豐富的表現(xiàn)方式,所以擴展了32K的EPROM27256。是為實現(xiàn)產(chǎn)品升級,完成豐富菜單,強大功能,表現(xiàn)動畫準備的。 128*64液晶顯示器LCO采用直接訪問方式,直接訪問方式是把內(nèi)置T6963C控制器的液晶顯示模塊作為存儲器或I/O設(shè)備直接掛在單片機的總線上。模塊的數(shù)據(jù)線接單片機的數(shù)據(jù)總線上,片選及寄存器選擇信號線由單片機的地址總線提供,讀和寫操作由單片機的讀寫操作信號控制。按口電路如圖2所示,在圖中使用了地址線AS作為模塊的寄存器選擇線C/D,使用地址線A15作為模塊操作的片選線;模塊的VO端所接的電位器是作為液晶驅(qū)動電源的調(diào)節(jié)器,調(diào)節(jié)顯示的對比度。使用該種連接方式,不用考慮T6963C的時序圖,不用對LCD的管腳進行單獨的操作來滿足時序,就像讀寫外部RAM一樣,筆者認為比采用要在程序中實現(xiàn)時序的間接訪問連接方式方便。 考慮到在常溫下,LCD的額定電流為0。4ma所需的功率很小,再加上RS232串口集成電路MAX232有兩路發(fā)送器、兩路轉(zhuǎn)換器,使用其中一套完成電平轉(zhuǎn)換用來通信,另一套正好用來產(chǎn)生-10V,該電壓由MAX232的14端供LCD顯示畫面使用。 三、軟件設(shè)計部分 下面介紹軟件部分,主要完成一下功能按鍵的查詢和響應(yīng)、畫面的顯示和刷新通過MOOBUS協(xié)議完成數(shù)據(jù)的接收和傳輸通信。 軟件結(jié)構(gòu)清晰,按模塊分為三大塊主程序部分、T0定時中斷、串口中斷部分。 (1)主程序部分 主程序流程圖如圖3所示,主要完成一些初始參數(shù)的設(shè)定,其中LCD的初始化包括:液晶屏的尺寸光標的位置和形狀等這部分程序在購買LCD時廠家會附帶的,根據(jù)需要修改一下即可滿足要求;還有就是將需要顯示的漢字進行編碼。定時器使用的是T0選擇方式1,采用50ms中斷查詢按鍵,考慮到還有串口中斷,使用了默認的中斷優(yōu)先級,即T0中斷高于串口中斷。這種安排已通過試驗調(diào)試。在等待中斷部分安排了循環(huán)執(zhí)行喂狗程序目的是在程序正常執(zhí)行時起到“看門狗”的作用,在等待中斷過程中系統(tǒng)又不認為是“死機”。 main: Icall clearmemory;清內(nèi)存 Icall initlcd;初始化Icd mov sp,#stackpointer;堆棧為65h mov tmod.#21h:t0方式1,t1方式2 mov radixcursor.#10h mov currentpagenumber,#01h;指定初始 頁號為1 mov page number,currehtpagenumber setb es setb ea mov th1,#Ofdh;設(shè)定波特率9600bps mov tl1.#Ofdh setb tr1;啟動定時器t1 mov scoh.#Od0h mov 2ch,用來輔助發(fā)送 mov 2bh.#10h Icall setuptimer0;初始化定時器t0,并啟動t0 setb ren Icall chaxuhsj;發(fā)送查詢命令 Icall showpage;顯示頁面 dieloop: nop Icall feeddog;執(zhí)行喂狗程序 jmp dieloop;循環(huán)等待中斷 (2)T0定時中斷部分 流程圖如圖4所示,這部分主要功能是完成按鍵的查詢,并轉(zhuǎn)去執(zhí)行相應(yīng)的子程序本系統(tǒng)中一共有四個編程鍵,依次可實現(xiàn)修改數(shù)據(jù)、增加值、減少值和翻頁功能。當(dāng)我們按下修改鍵后(即光標被激活)修改鍵可以用來移動光標位置此時按增加鍵和減少鍵可以分別增加和減少數(shù)值。其中翻頁鍵是一個復(fù)用鍵如果直接按翻頁鍵(不激活光標),那么它的功能就是在不同的頁面之間切換,并從現(xiàn)場收集各頁數(shù)據(jù)并顯示到LCD上:而當(dāng)光標處在被激活狀態(tài)下時,按下翻頁鍵就可以向現(xiàn)場控制器(如DSP)發(fā)送數(shù)據(jù)達到控制目的這種“一鍵復(fù)用”的設(shè)計,在電子商品中特別常見通過軟件的設(shè)計減少了按鍵的數(shù)量,是一個比較有實際價值的設(shè)計已被廣泛使用。鍵盤采用50ms定時中斷設(shè)計,一般人手按鍵的起落時差遠大于50ms所以可以滿足設(shè)計要求而且在后面軟件部分進行了去抖動,等待按鍵抬起功能的設(shè)計。timer0int: pushdph pushdpl pushacc pushpsw movthi0。#4bh movtl0。#Dfdh clrtr0;關(guān)定時器 movp1,#Offh;置p1口為輸入狀態(tài) mova,p1;讀按鍵 epla anda,#00001111b;屏蔽高4位 jzgoret00;無鍵按下 movpgbkey,a Icalldelay;有鍵按下delay10ms去抖動 Icallwait;等待按鍵抬起 Icallseankey;轉(zhuǎn)去執(zhí)行相應(yīng)的按鍵子程序 goret00: setbtr0;開定時器 poppsw popacc popdpl popdph ren (3)串口中斷部分 這部分的主要功能是通過MODBUS協(xié)議完成數(shù)據(jù)的查詢和發(fā)送。先對MODBUS做個簡單的介紹該協(xié)議通信使用主從技術(shù),即僅主設(shè)備能初始化傳輸(查詢)其它設(shè)備(從設(shè)備),根據(jù)主設(shè)備查詢提供的數(shù)據(jù)作出相應(yīng)反應(yīng)。按傳輸模式分為ASCII和RTU方式。本設(shè)計采用RTU方式。這種方式的主要優(yōu)點是:在同樣的波特率下,可比ASCII方式傳送更多的數(shù)據(jù)。每個消息必須以連續(xù)流的方式傳輸。 MODBUS協(xié)議建立了主設(shè)備查詢的格式設(shè)備地址、功能代碼、所有要發(fā)送的數(shù)據(jù)、錯誤檢測域從設(shè)備回應(yīng)消息也由MODBUS協(xié)議構(gòu)成,包括確認要行動的域、任何要返回的數(shù)據(jù)和錯誤檢測域。如果在消息接收過程中發(fā)生錯誤或從設(shè)備不能執(zhí)行其命令,從設(shè)備將建立錯誤消息并把它作為回應(yīng)發(fā)送出去。 查詢查詢消息中的功能代碼告之被選中的從設(shè)備要執(zhí)行何種功能數(shù)據(jù)段包含了從設(shè)備要執(zhí)行功能的任何附加信息例如功能代碼03是要求從設(shè)備讀保持寄存器并返回它們的內(nèi)容。數(shù)據(jù)段必須包含要告之從設(shè)備的信息:從何寄存器開始讀及要讀的寄存器數(shù)量錯誤檢測域為從設(shè)備提供了一種驗證消息內(nèi)容是否正確的方法。 回應(yīng):如果從設(shè)備產(chǎn)生正常的回應(yīng),在回應(yīng)消息中的功能代碼是在查詢消息中的功能代碼的回應(yīng)數(shù)據(jù)段包括了從設(shè)備收集的數(shù)據(jù):像寄存器值或狀態(tài)。如果有錯誤發(fā)生功能代碼將被修改以用于指出回應(yīng)消息是錯誤的,同時數(shù)據(jù)段包含了描述此錯誤信息的代碼。 舉一個關(guān)于功能碼03H的例子。 主站詢問報文格式: 從站應(yīng)答格式: serialportint: push dph push dpl push acc push psw jbc ri, receive Icall chaxunsj;發(fā)送查詢命令 sjmp return receive: mov r0 ,2bh;指定用來存接收數(shù)據(jù)的地址指針 mov a,sbufall clr riall mov @r0 ,a inc 2bh mov a,2bh Icall crc;進行crc校驗 Icall showpage return: pop psw pop acc pop dpl pop dph reti 筆者使用了Modbusslave軟件仿真下位機,模擬MOD-BUS的從設(shè)備。通過該軟件,用所設(shè)計人機界面可以讀取具體設(shè)備的具體各類寄存器的數(shù)據(jù),同樣可以寫數(shù)據(jù)到指定設(shè)備中指定的各類寄存器中,這樣就完成了數(shù)據(jù)的接收和傳送。

標簽:

點贊

分享到:

上一篇:HOLLiAS-LEC G3 PLC在水源熱...

下一篇:微能WIN-V63矢量控制變頻器在...

中國傳動網(wǎng)版權(quán)與免責(zé)聲明:凡本網(wǎng)注明[來源:中國傳動網(wǎng)]的所有文字、圖片、音視和視頻文件,版權(quán)均為中國傳動網(wǎng)(www.hysjfh.com)獨家所有。如需轉(zhuǎn)載請與0755-82949061聯(lián)系。任何媒體、網(wǎng)站或個人轉(zhuǎn)載使用時須注明來源“中國傳動網(wǎng)”,違反者本網(wǎng)將追究其法律責(zé)任。

本網(wǎng)轉(zhuǎn)載并注明其他來源的稿件,均來自互聯(lián)網(wǎng)或業(yè)內(nèi)投稿人士,版權(quán)屬于原版權(quán)人。轉(zhuǎn)載請保留稿件來源及作者,禁止擅自篡改,違者自負版權(quán)法律責(zé)任。

網(wǎng)站簡介|會員服務(wù)|聯(lián)系方式|幫助信息|版權(quán)信息|網(wǎng)站地圖|友情鏈接|法律支持|意見反饋|sitemap

傳動網(wǎng)-工業(yè)自動化與智能制造的全媒體“互聯(lián)網(wǎng)+”創(chuàng)新服務(wù)平臺

網(wǎng)站客服服務(wù)咨詢采購咨詢媒體合作

Chuandong.com Copyright ?2005 - 2025 ,All Rights Reserved 深圳市奧美大唐廣告有限公司 版權(quán)所有
粵ICP備 14004826號 | 營業(yè)執(zhí)照證書 | 不良信息舉報中心 | 粵公網(wǎng)安備 44030402000946號

主站蜘蛛池模板: 华亭县| 房产| 乐至县| 绵竹市| 宽甸| 双城市| 威海市| 郁南县| 于田县| 浪卡子县| 隆尧县| 甘肃省| 凉城县| 福泉市| 芦溪县| 慈利县| 阿荣旗| 金寨县| 成都市| 临高县| 马山县| 波密县| 普安县| 固原市| 安西县| 开封县| 土默特左旗| 北宁市| 尖扎县| 靖边县| 安阳县| 华阴市| 云霄县| 华阴市| 故城县| 临颍县| 含山县| 荆门市| 乐山市| 新乡县| 长沙县|