咨詢電話
ENGLISH0755-88840386發(fā)布時間:2020-12-03 11:38:02 |來源:網(wǎng)絡(luò)轉(zhuǎn)載
0前言
稱重儀表是大家日常生活所見的更為普遍的一種儀表盤,伴隨著自動化科技等每門課程的發(fā)展趨勢,如今的稱重儀表已不僅是將凈重顯示信息出去,而提升了很多新的作用,如串口通信、復(fù)印等。該文關(guān)鍵詳細(xì)介紹稱重儀表的串口通信,在儀表盤與電子計算機(jī)的通訊中,主要是運(yùn)用單片機(jī)的串行接口來完成串口通信,將單片機(jī)與電子計算機(jī)相接組成上下位機(jī)的構(gòu)造,以拓展操縱頁面,完成人機(jī)交互技術(shù)。稱重儀表常用的單片機(jī)是SYNCMOS-SM8958A,歸屬于8052系列產(chǎn)品單片機(jī)的繼承商品。
1稱重儀表串口通信
1.1RS232脈沖信號變換通信接口
單片機(jī)有一個串口通信插口,其標(biāo)準(zhǔn)接口為TTL規(guī)范,而電子計算機(jī)串口通信的標(biāo)準(zhǔn)接口為RS232C標(biāo)準(zhǔn)接口。它合適于數(shù)據(jù)信息傳輸速率0~115200b/s范疇內(nèi)的通訊。系統(tǒng)軟件中串口通信在硬件配置上釆用3線制RxD、TxD、GND軟揮手的零MODEM方法,僅必須3個線就可在2個數(shù)據(jù)機(jī)器設(shè)備中間完成全雙工的數(shù)據(jù)信息傳輸,將要PC機(jī)和單片機(jī)的傳送數(shù)據(jù)線TxD與讀取數(shù)據(jù)RxD交叉式聯(lián)接,二者的接地線GND立即相接,別的電源線能夠無需,而釆用手機(jī)軟件揮手方法。那樣既能夠完成預(yù)訂的每日任務(wù),又可以簡單化電路原理節(jié)約成本??墒请娮佑嬎銠C(jī)根據(jù)串行接口處理芯片,推送和接受的全是TTL電平表明的電子信息。它與TTLMOS邏輯性脈沖信號徹底不一樣,邏輯性。脈沖信號要求為5~15V中間,邏輯性1是脈沖信號為-5~-15V中間。因而在將電子計算機(jī)和單片機(jī)的RxD和TxD交叉式聯(lián)接時,務(wù)必開展脈沖信號變換,釆用某企業(yè)的MAX232來做脈沖信號變換。MAX232歸屬于某企業(yè)的通用性串行通信接受/推送驅(qū)動器處理芯片。其外圍電路簡易,只需外接4個0.1讓的電容器就可以,MAX232將電子計算機(jī)的TxD端輸出的TTL電平數(shù)據(jù)信號變換為RS232C脈沖信號,輸出到單片機(jī)的RxD腳位。
1.2単片機(jī)串口通信
SM8958A系列產(chǎn)品單片機(jī)根據(jù)外界腳位RxD(P3.0,串行通信數(shù)據(jù)信息協(xié)調(diào)器)、TxD(P3.1,串行通信數(shù)據(jù)信息推送端)向客戶出示一個可編程控制器的全雙工串口通信插口,其內(nèi)部結(jié)構(gòu)示意圖如圖2所顯示。推送油壓緩沖器和接受油壓緩沖器全是以8031內(nèi)部獨(dú)特作用存儲器SBUF的為名存有的,2個緩沖寄存器公共一個詳細(xì)地址99H,可以用讀/寫命令區(qū)別。要傳送數(shù)據(jù)時只需應(yīng)用“MOVSBUF,A”寫命令,CPU把累加器A的內(nèi)容載入推送的SBUF(99H),再由TxD腳位一位一位地為外推送;串行通信讀取數(shù)據(jù)時,協(xié)調(diào)器RxD一位一位地讀取數(shù)據(jù),直至接到一個詳細(xì)的標(biāo)識符數(shù)據(jù)信息后通告CPU,再根據(jù)“MOVA,SBUF”讀命令,CPU從接受的SBUF(99H)讀出數(shù)據(jù),送至累加器A中。推送和讀取數(shù)據(jù)全過程釆用終斷方法,進(jìn)而能夠進(jìn)一步提高CPU的利用率。
單片機(jī)的UART插口是一個全雙工的串行接口,能另外推送和讀取數(shù)據(jù)。單片機(jī)的UART插口有4種工作方式,必須對串行接口操縱存儲器SCON的設(shè)定來界定串行接口的工作方式和操縱它的作用。
SMO和SM1為工作方式挑選位;RI為接受終斷標(biāo)示;TI為推送終斷標(biāo)示;RB8為讀取數(shù)據(jù)第9位;TB8為傳送數(shù)據(jù)第9位;REN為接受操縱;SM2為多極通訊。
串行接口的操縱存儲器SCON操縱串行接口的工作方式和串口波特率,推送和接受全過程選用終斷方法。SCON的TI或RI引起內(nèi)部串行接口終斷或根據(jù)內(nèi)部查看進(jìn)行終斷作用,串口波特率產(chǎn)生器能用計時器T/C1或T/C2設(shè)定。SM8958A有一個規(guī)范的串行接口,有4種工作方式,其表明和常用串口波特率見表2。根據(jù)對串口通信操縱存儲器SCON開展程序編寫進(jìn)行串口通信的復(fù)位。單片機(jī)能夠選用選編或是C語言,根據(jù)對單片機(jī)的串口通信程序編寫,從串口通信把數(shù)據(jù)信息發(fā)給電子計算機(jī)。
SMO.SM1為串行接口工作方式挑選位,在原文中SM0.SM1為0、1,即串口通信工作中在方法1,該方法為10位一幀的多線程串口通信方法,其串口波特率是可變性的,由計時器操縱,1位起止位,8位數(shù)據(jù)位,1位終止位,無奇偶校驗(yàn)位。
1-3單片機(jī)串口通信編程設(shè)計
儀表盤的單片機(jī)程序流程是在KeilC51c語言編譯器下撰寫,串行接口輸入選用查看方法,輸出選用終斷方法。
2上位機(jī)軟件串口通信編程設(shè)計
運(yùn)用MSComm控制開展上位機(jī)軟件串口通信程序編寫。
串口通信控制MSComm32.OCX是Windows下串口通信程序編寫的32位系統(tǒng)ActiveX控制。量化策略法是MSComm解決通訊難題的一種方式。OnComm惡性事件還能夠定期檢查解決通訊不正確。每每有新的標(biāo)識符抵達(dá),或端口號情況更改或產(chǎn)生不正確時,MSComm控制開啟OnComm惡性事件,進(jìn)而獲得并解決這種通訊惡性事件。另外CPU不用持續(xù)檢測串口通信,這類方法的優(yōu)勢是程序流程回應(yīng)立即,可信性高。
1)復(fù)位并開啟串口通信。對串口通信的復(fù)位關(guān)鍵包含下列好多個特性的設(shè)定:根據(jù)CommPort特性設(shè)定通訊服務(wù)器端口;根據(jù)Handshaking特性設(shè)定通訊協(xié)議;根據(jù)Setings特性設(shè)定傳輸速度等主要參數(shù);再依據(jù)實(shí)際必須設(shè)定別的丄些有關(guān)特性。在復(fù)位完串口通信后根據(jù)將PortOpen特性設(shè)為True即打開了串口通信。
2)捕獲串口通信惡性事件。采用較為普遍應(yīng)用的惡性事件動的方法,在OnComm惡性事件里捕獲通訊惡性事件并開展相對的解決。
3)串口通信數(shù)據(jù)信息的讀寫能力。串口通信的讀寫能力關(guān)鍵根據(jù)Input和Output特性。從串口通信讀人的數(shù)據(jù)信息在Input里,立即啟用就可以載入,而把要推送的數(shù)據(jù)信息取值給Out-put就可以。留意這兒的數(shù)據(jù)信息分二種狀況,字符串?dāng)?shù)組和二進(jìn)制。
4)串口通信的關(guān)掉。將PortOpen特性設(shè)定為False就可以關(guān)掉串口通信。
3結(jié)果
該文以稱重儀表與電子計算機(jī)開展數(shù)據(jù)通訊為例子,主要詳細(xì)介紹了單片機(jī)與電子計算機(jī)中間的串口通信和RS232串口通信系統(tǒng)總線規(guī)范,運(yùn)用VisualC++的MSComm控制完成了稱重儀表與電子計算機(jī)的串口通信。
本文源于網(wǎng)絡(luò)轉(zhuǎn)載,如有侵權(quán),請聯(lián)系刪除