《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 設(shè)計應(yīng)用 > 觸摸屏與單片機的通信實現(xiàn)
觸摸屏與單片機的通信實現(xiàn)
摘要: 隨著觸摸屏的應(yīng)用和產(chǎn)量的增加,價格下降。因而有可能使用觸摸屏作為單片機控制設(shè)備的鍵盤和顯示裝置,,提高單片機控制設(shè)備的檔次
關(guān)鍵詞: 51單片機 單片機 觸摸屏
Abstract:
Key words :

隨著觸摸屏的應(yīng)用和產(chǎn)量的增加,,價格下降。因而有可能使用觸摸屏作為單片機控制設(shè)備的鍵盤和顯示裝置,,提高單片機控制設(shè)備的檔次。觸摸屏與PLC聯(lián)合使用時,觸摸屏的主要功能是:

 ?、亠@示PLC輸入,輸出端13或輔助繼電器的開關(guān)狀態(tài),。

 ?、谟糜|摸按鍵強制PLC輸入,輸出端口或輔助繼電器的開/關(guān),。

 ?、埏@示PLC中定時器,、計數(shù)器和數(shù)據(jù)寄存器的內(nèi)容。

 ?、苡糜|摸屏鍵盤把設(shè)定數(shù)據(jù)送入PLC的數(shù)據(jù)寄存器中,。

  可規(guī)納成觸摸屏與PLC問對應(yīng)地址的數(shù)據(jù)位、字的讀和寫,。因此可以利用MOD—BUS通信協(xié)議來實現(xiàn)觸摸屏與單片機的通信和控制,,或觸摸屏與多臺單片機通信,構(gòu)成一個集散控制系統(tǒng),。

  1  觸摸屏與單片機的硬件聯(lián)接

  采用MT500觸摸屏與AT89C52單片機一對一通信,。把觸摸屏的PLC232 9針插座與帶有RS232接口的AT89C52單片機相連接。如圖1所示,。注意:通信電纜DB9是2-2,、3—3、5-5,。

  這種接法的電纜也可用于與PC機通信或做通信摸擬,。作PC機通信時在連接PC機端的DB9短接4—6、7—8,。由于AT89C52單片機無RS232接口,,因此需要擴展一片MAx232,把RXD,、T×D的TTL電平轉(zhuǎn)換成RS232電平,。

 

圖1 觸摸屏與單片機通信聯(lián)接方法

  2  建立觸摸屏與單片機的內(nèi)部存儲器地址對應(yīng)關(guān)系

  打開觸摸屏組態(tài)軟件,從[編輯]下拉菜單中選[系統(tǒng)參數(shù)],,彈出如圖2所示參數(shù)設(shè)置對話框,。觸摸屏的系統(tǒng)參數(shù)中PLc類型設(shè)置成MODBUS RTU,通信參數(shù)設(shè)置必需與單片機通信參數(shù)設(shè)置一致,。通信口類型設(shè)置成RS232,,數(shù)據(jù)位設(shè)置成8位,1個停止位,,波特率9600,,校驗位設(shè)置與單片機編程一致,PLC站號是單片機定義的站地址一樣,,站號需從1開始,。參數(shù)設(shè)置完成,按確定鍵,。

 

圖2參數(shù)設(shè)置對話框

  這時觸摸屏的可操地址范圍如表1所示,。

表1 觸摸屏在設(shè)置成MODBUS RTU摸式時可操作地址范圍

 

  Ox1—Ox9999、1×1—1x9999用于位操作的存儲器,,3xl一3x9999,、4xl一4x9999用于字操作的存儲器,。lxl一1x9999作為輸入節(jié)點(只讀)位操作的存儲器,用作觸摸屏上的位狀態(tài)指示燈,。Oxl~oX9999可讀可寫,,可作位狀態(tài)指示燈、按鍵,、觸發(fā)控制摸位等,。3xl-3x9999作為輸入數(shù)據(jù)存儲器,可作觸摸屏中的數(shù)值顯示元件和多狀態(tài)指示燈等,。4xl一4x9999可讀可寫,,可作觸摸屏中的數(shù)值輸入元件和多狀態(tài)設(shè)定元件等。其地址采用十進制數(shù)表示,。OxO,、lx0、3xO,、4x0不可使用,,否則編譯時會出錯。

  在單片機中可自由定義分配與觸摸屏相對應(yīng)的寄存器地址,。

  如假設(shè)P2,、P3口為輸入口,P0,、P1為輸出口,。為了便于單片機編程,可以把P2,、P3口的引腳狀態(tài)映射到20H,、21H,,與觸摸屏lxl一1x16相對應(yīng),。把P0、P1輸出口數(shù)據(jù)存到寄存器22H,、23H,,與觸摸屏0xl一0x16相對應(yīng)。24H一28H作為位操作存儲區(qū),,與觸摸屏0x16-1x56相對應(yīng),。把30H-3F:H設(shè)置成8個數(shù)據(jù)顯示寄存器,與觸摸屏3xl-3x8相對應(yīng),。把40H一4FH設(shè)置成8個數(shù)據(jù)設(shè)置寄存器,,與觸摸屏4x1-4x8相對應(yīng)。這樣可列出觸摸屏與單片機通信地址對應(yīng)表,,位地址如表2所示,。字地址如表3所示,。

表2摸屏與單片機通信位地址對應(yīng)表

 

表3摸屏與單片機通信字地址對應(yīng)表

3 觸摸屏組態(tài)軟件編輯

  打開觸摸屏組態(tài)軟件,先按上述方法設(shè)置[系統(tǒng)參數(shù)],,光標(biāo)移到[窗口/元件選擇列表框],,單擊鼠標(biāo)右鍵,新建一個窗口,,按要求填寫對話框,。按確定鍵,出現(xiàn)一個編輯窗,,下面以設(shè)置一個位狀態(tài)顯示元件(指示燈)和一個數(shù)值顯示元件(數(shù)據(jù)顯示窗)為例,,說明觸摸屏編輯的地址與單片機內(nèi)的地址建立相互聯(lián)系的方法。現(xiàn)以要顯示單片機中位20H(24H.0)的狀態(tài)和顯示40H,、41H的數(shù)值為例,。把鼠標(biāo)點擊元件工具箱中的元件圖或從菜單[元件]的選項中拖出一個位狀態(tài)指示元件。并彈出位狀態(tài)顯示元件屬性對話框,。

  在讀取地址欄[設(shè)備類型]中選0x,,[設(shè)備地址]寫入17,見表2,,0x17對應(yīng)20H,,選擇適當(dāng)?shù)膱D形、標(biāo)簽,、大小和位置,。按確定鍵。對話框消失,,在編輯窗口出現(xiàn)一個位狀態(tài)顯示元件L1,。一旦建立了正確的通信關(guān)系,則這個位狀態(tài)顯示元件的不同顯示狀態(tài)反應(yīng)了單片機中位20H狀態(tài)的變化,。

  把鼠標(biāo)點擊元件工具箱中的元件圖或從菜單[元件]的選項中拖出一個數(shù)值顯示元件,。并彈出數(shù)值顯示元件屬性對話框。如圖3所示,。

 

圖3數(shù)值顯示元件一性對話框

  在讀取地址欄[設(shè)備類型]中選敘,,[設(shè)備地址]寫入1,見表3,,3xl對應(yīng)40H(高位),,41H(低位),選擇適當(dāng)?shù)膱D形,、標(biāo)簽,、大小和位置。按確定鍵,,對話框消失,。

  在編輯窗口出現(xiàn)一個數(shù)值顯示元件,,一旦建立了正確的通信關(guān)系,則這個數(shù)值顯示元件顯示單片機中位40H(高位),,41H(低位)的數(shù)值,。

  4 MODBUS RTU(遠程終端設(shè)備)通信協(xié)議簡介

  觸摸屏與單片機通信是主從通信方式,觸摸屏是主機,,單片機是從機,。觸摸屏根據(jù)畫面編輯的控件,不斷發(fā)送位,、字的讀或?qū)懙闹噶?。單片機不斷應(yīng)答指令。

  本文介紹MODBUS RTU通信格式,,字符幀由8個數(shù)據(jù)位,,1個起始位,1個停止位,,1個奇偶校驗位(當(dāng)不采用校驗位時,,則設(shè)置2個停止位)。發(fā)送或接收每個字節(jié),,必需經(jīng)過一次CRC出錯校驗運算,。運算方法詳見參考文獻。

  一個指令幀由從機地址,、功能碼,、數(shù)據(jù)域和CRC校驗碼組成。數(shù)據(jù)域由讀,、寫位或字?jǐn)?shù)據(jù)的十六位首地址(高位在前,,低位在后)、十六位操作數(shù)(高位在前,,低位在后),、最后為十六位CRC校驗碼(低位在前,高位在后),。發(fā)送或接收前后必需有大于3.5MS的延時,,以示一個指令幀的開始或結(jié)束,。地址碼和功能碼均為一個字節(jié),。

  下面舉例說明用MODBUS RTU通信協(xié)議的通信格式:

  1)讀觸摸屏指定首地址0x17對應(yīng)單片機中首地址20H的一個字(十六位)的位狀態(tài)。

  觸摸屏發(fā)送通信格式:

 

  單片機應(yīng)答通信格式:

 

  觸摸屏位地址0x17對應(yīng)單片機首地址24H.0,,回送24H.

  0~20H.7,,25H.0-25H.7,十六位狀態(tài),。

  2)讀觸摸屏指定首地址4xl對應(yīng)單片機中首地址40H的一個字(40H,。41H)的數(shù)值,。

  觸摸屏發(fā)送通信格式:

 

  單片機應(yīng)答通信格式:

 

  3)將觸摸屏指定地址位0x18對應(yīng)單片機中21H(24H.1)位置1或清零。

  觸摸屏發(fā)送通信格式:

 

  單片機應(yīng)答通信格式:

 

  表中置位命令0FF00H為置1,,0000H為清零,。

  4)將觸摸屏指定首地址4x2對應(yīng)單片機中首地址42H的一個字42H,43H寫入一個設(shè)定值oal64H,。

  觸摸屏發(fā)送通信格式:

 

  單片機應(yīng)答通信格式:

 

  用類似的方法,,根據(jù)項目要求,選擇控件和編輯控件屬性,。

  建立觸摸屏與單片機的地址聯(lián)系,,按照MODBUS協(xié)議編寫單片機與觸摸屏的通信程序。則可實現(xiàn)用觸摸屏顯示單片機中位狀態(tài)變化,,設(shè)定數(shù)值或顯示數(shù)值,。

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載,。