咨詢電話
ENGLISH0755-88840386發(fā)布時間:2021-04-08 17:11:41 |來源:網(wǎng)絡(luò)轉(zhuǎn)載
1、硬件的連接及其設(shè)置
1.1TOLEDO8142儀表異歩串行口以及計算機(jī)的連線方式
TOLEDO8142儀表采用Intel8031微處理器作為主處理鬍,并且通過儀表內(nèi)部的軟件實(shí)現(xiàn)儀表的自檢、參數(shù)設(shè)定、系統(tǒng)校驗(yàn)、凈重計算顯示與打印輸出等功能。8031微處理器設(shè)有RXD(接收數(shù)據(jù))和TXD(發(fā)送數(shù)據(jù))的通訊引腳,可以方便地組成RS-232串行接口。
TOLEDO8142儀表的RS-232-C串行接口,其邏輯電平是:"-3V—-15V"為邏輯1,“+3V—+15V”為邏輯0,但"-3V-+3V"之間不作定義電平,打印通訊口JN(DB-25)有關(guān)RS-232-C異歩串行接口聽引腳定義如下所示:
(1)發(fā)送數(shù)據(jù)(TXD)
(2)接收數(shù)據(jù)(RXD)
(3)涓除數(shù)據(jù)(CTS)此信號可控制8142發(fā)送數(shù)據(jù),如果此線保持-12VDC,8142將無清除發(fā)送信號,也不允許發(fā)送數(shù)據(jù),此線不必保持12VDC以允許發(fā)送,如果需要也可保持。
(4)數(shù)據(jù)設(shè)備就緒(DST)本輸入線電平可增至QVDC,持續(xù)時間300毫秒的脈神以啟動數(shù)據(jù)傳送。如果輸出為連續(xù)方式,狀態(tài)字C中用于打印按鈕的第三位將改變。
(5)邏輯弛(LogicGroundGNd)
(6)數(shù)據(jù)終端就緒(DTR)此輸出信號在8142表通電時為+12VDC。
1.2.8142稱重儀表的設(shè)置
8142稱重儀表串行接口數(shù)據(jù)輸岀方式設(shè)為命令方式,并且允許ASCII命令字符遠(yuǎn)距輸入。這樣當(dāng)計算機(jī)由串行接口發(fā)送一個打印字符合給8142稱重儀表的串行接口后,8142稱重儀表由串行接口向計算機(jī)發(fā)送重量數(shù)據(jù)。
1.3.計算機(jī)RS-232-C異步串行接口各引腳定義。
雖然RS-232Y定義25腳的信號標(biāo)準(zhǔn),但實(shí)現(xiàn)異步通信時僅要9個電壓信號(其中2個數(shù)據(jù)信號、6個控制信號、1個信號弛線)。PC,XT機(jī)除支持ElA電壓接口外,還支持20mA電流環(huán)路接口,另需4個電流信號,故它采用DB-25型連接口,與DCE(DateCommunicationEquipment數(shù)據(jù)通信設(shè)備)配置的DB-25型連接器是對應(yīng)的,在此不再冗述。然而,AT機(jī)串行口取消了電流環(huán)接口,采用DB-9型連接器(陽插頭),其信號需要重新排列,若與DB-25型連接器的DCE設(shè)備相接,必須使用專門的電纜,其對應(yīng)關(guān)系是特殊的,DB-9型連接器各引腳定義如下所示,
(1)載波檢測(DCD)
(2)振鈴指示(RI)
(3)請求發(fā)送(RTS)輸出線電平一般為T2VDC,在請求數(shù)據(jù)發(fā)送后,輸出電壓變?yōu)?12VDC,持續(xù)時間約為500毫秒。
TOLEDO8142儀表與計算機(jī)RS-232-C串口連接線只需三線傳送數(shù)據(jù)即可。
2.接口程序(其中包括接口中斷初始化及數(shù)據(jù)接收和保存)
2.1.接口中斷初始化(RS-232-C異步串行口通訊程序設(shè)計與分析)
以往異步通信編程都是查詢I/O方式的。它們共同的特點(diǎn)是CPU每次與UART交換數(shù)據(jù)之前,都要不斷弛監(jiān)視線路狀態(tài)寄存器的某些狀態(tài)位。這使CPU的使用效率大為降低。另外,一旦檢測到狀態(tài)就緒,尤其是接收器數(shù)據(jù)寄存器就緒,CPU應(yīng)立即予以接收,否則會引起超越錯(發(fā)送處理是CPU—方控制其傳輸速率,故不易帶來麻煩)?;蛘?,在正常接受狀態(tài)下,若接受的字符又送屏幕顯示,但波特率為1200或以上,則BIOS屏幕卷頁功能(INT10H的AH=7子功能)將來不及處理,使顯示緩存溢出。上述向題均起因于異步通信的查詢I/O方式,使用下面所要講的通信中斷I/O方式即可順利解決這些問題。
2.2.異步通信中斷程序模式
下面按照前面所述的通信中斷程序的特殊性,并結(jié)合一殺中斷處理的編程原則和方法,提出異歩通信中斷編程模式。
2.2.1通信中斷初始化流程
該初始化流通常安排在整個通信程序(包括主程序和中斷程序)之后,僅裝入內(nèi)存后運(yùn)行一次。它的工作應(yīng)包括下面幾歩,
①修改中斷向量表按使用的串行口COH1或COM2,接管中斷0CH或中斷0BH,使新的中斷向量指向自行編制的通信中斷程序。
②確定UART操作方式設(shè)置中斷允許寄存器相應(yīng)位的允許或禁止(選擇中斷源類型),并允許中斷操作(1MODEM控制寄存器OUT2有效D3=0)。
③確定UART通信協(xié)議設(shè)置通信波特率及數(shù)據(jù)傳輸格式。
④但開放通信中斷對8259A-5中斷控制器的屏蔽寄存器編程,允許中斷IRQ4或IRQ3O
⑤通信程序運(yùn)行初始化結(jié)束轉(zhuǎn)入主程序處理。
注意:為確保通信中斷可靠運(yùn)行,在上述第⑴一⑷步過程中,應(yīng)關(guān)閉中斷。完成初始化之后再開放中斷。
2.2.2,通信中斷子程序
該子程序是中斷處理的核心。它通??煞殖扇缦氯危?br />
⑴判斷發(fā)生中斷的中斷源類型通過讀取中斷標(biāo)識寄存器的標(biāo)詛位,查找到相應(yīng)中斷子程序的入口弛址。
⑵各個中斷源類型相應(yīng)的中斷處理流程由于不同的中斷源類型,其處理過程也不同:
如接收器數(shù)據(jù)寄存器就緒中斷(D2D1D0=100),則從UART數(shù)據(jù)寄存器讀取送到接收隊列;
如發(fā)送器保持寄存器中斷(D2D1D0=010),則從發(fā)送隊列諛取字符寫到UART保持寄存器;
如接收器線路狀態(tài)中斷(D2D1D0=110),則從UART線路狀態(tài)寄存器讀取狀態(tài)進(jìn)行分析,根據(jù)錯誤或間斷,作出相應(yīng)的處理;
如MODEM狀態(tài)變化中斷(D2D1D0=000),則從UART的HODEM狀態(tài)寄存器讀取狀態(tài)進(jìn)行分析,根據(jù)狀態(tài)變化,作出相應(yīng)的處理。
(3)判斷有否尚待處理的中斷,毎種中斷源類型處理后要繼續(xù)判別中斷標(biāo)識寄存器的最低位是否為0。若為0,再輸入標(biāo)識位指示的相應(yīng)的中斷處理。否則,結(jié)束中斷處理(通常發(fā)中斷結(jié)東命令E0I到中斷控制器),并以IRET返回中斷的通信子程序。
2.3數(shù)據(jù)接收、顯示和保存
重量數(shù)據(jù)是由中斷接中程序從RS-232接中取得并保存在接收數(shù)據(jù)緩沖區(qū)中的,當(dāng)有數(shù)據(jù)從RS-232接口進(jìn)入計算機(jī)時,就會觸發(fā)上面所說的通信中斷子程序,此子程序?qū)⑺玫降臄?shù)據(jù)存入接收數(shù)據(jù)緩神區(qū)中保存,數(shù)據(jù)接收程序就節(jié)取此緩沖區(qū)中的重量數(shù)據(jù),并從系統(tǒng)中讀取當(dāng)時的系統(tǒng)時間,將這兩個數(shù)據(jù)轉(zhuǎn)換為可顯示的ASCII碼字符,并顯示于顯示區(qū)中,當(dāng)鍵盤沒有任何輸入事件發(fā)生時,重復(fù)上面的數(shù)據(jù)顯示進(jìn)程。當(dāng)發(fā)生健盤輸入事件時,檢查是否是按下了F2鍵,如果不是返回上述進(jìn)程,如果是F2槌則進(jìn)入數(shù)據(jù)保存進(jìn)程,數(shù)據(jù)保存進(jìn)程是將數(shù)據(jù)保存于一臨時數(shù)據(jù)庫中,此數(shù)據(jù)庫只有一個字段,即重量字段,將此數(shù)據(jù)庫打開并將文件指針指于數(shù)據(jù)庫笫一字段前,寫入在前面取得的重量數(shù)據(jù),最后關(guān)閉數(shù)據(jù)庫文件即可。
3數(shù)據(jù)分時采樣、分析及計算程序
3.1數(shù)據(jù)的分時采樣:當(dāng)重量數(shù)據(jù)被傳送到計算機(jī)并保存后,進(jìn)行計時。當(dāng)達(dá)到預(yù)定時間段時間當(dāng)前重量保存。系統(tǒng)共保存61個分時重量值。
3.2數(shù)據(jù)分析計算:由于出現(xiàn)情況十分復(fù)雜程序中采用了多個數(shù)據(jù)補(bǔ)償算法,敘述十分繁瑣。在此給岀分析及計算的算法模型,算法模型如下,
由于系統(tǒng)保存有61個分時釆樣數(shù)據(jù)重量值,它們之間都為一個時間單位。這樣每隔31個數(shù)據(jù)就有30個單位時間間隔。這樣用笫31采樣數(shù)據(jù)減第一個,笫32采樣減笫2釆樣……以此類推,所得到31個重量差值,再取平均值。即可得到60個采樣的平均熔化率。
結(jié)束語
此系統(tǒng)己在生產(chǎn)實(shí)際中應(yīng)用,使用效果較好,達(dá)到預(yù)期目的。
作者:王巖;孫藝
深圳市卓禾儀器有限公司是一家專門從事稱重儀表和全自動包裝碼垛生產(chǎn)線的研發(fā)及生產(chǎn)的高新技術(shù)企業(yè),所生產(chǎn)的JY500系列稱重顯示控制器(包括配料秤儀表、皮帶秤儀表、包裝秤儀表、重量變送器等)高速高精度,使用壽命長。卓禾儀器有十?dāng)?shù)年的現(xiàn)場校驗(yàn)經(jīng)驗(yàn),在業(yè)內(nèi)有良好的口碑,且有專門的售后工程師幫忙解決產(chǎn)品使用過程中遇到的技術(shù)問題,客戶可以放心省心順心的使用我司的產(chǎn)品。如果對我司的產(chǎn)品感興趣,歡迎咨詢。