freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于多傳感器信息判斷的火警監(jiān)控系統(tǒng)軟件的設(shè)計畢業(yè)論文(編輯修改稿)

2024-07-24 20:33 本頁面
 

【文章內(nèi)容簡介】 7V~+12V接收器輸出邏輯高200mV接收器輸出邏輯低200mV 總線標(biāo)準(zhǔn)的選擇與通信網(wǎng)絡(luò)結(jié)構(gòu)設(shè)計目前最通用的串行通信接口是RS232串口,但因其負(fù)載能力差,通信距離較較短的原因,用RS232建立PC機與多單片機的通信網(wǎng)絡(luò)是不合適的。而RS485是一個多引出線接口,這種接口可以有多個驅(qū)動器和接收器,能夠?qū)崿F(xiàn)PC機與多臺單片機的串行通信,而且其通信距離可達1000米以上,適合遠距離傳輸。因此,在本課題所設(shè)計的室內(nèi)火災(zāi)自動報警系統(tǒng)中采用RS232總線建立PC機與多臺二氧化碳報警器的傳輸網(wǎng)絡(luò)是可行的。PC機對外的兩個串口COMCOM2都是專門為RS232通信設(shè)置的,所以當(dāng)PC機與多臺單片機遠距離通信時,可使用RS232/ RS485型通信接口轉(zhuǎn)換器,將計算機上的RS232通信口轉(zhuǎn)為RS485通信口,在信號進入單片機前在使用RS485/ RS232轉(zhuǎn)換器將RS485通信口轉(zhuǎn)RS232通信口,再與單片機相連,如圖12所示。RS485/RS2321號PC機COM1COM2RS232/RS485RS485/RS232 RS485RS4852號RS485/RS232n號圖12 PC機與多個單片機距離連接圖武漢波仕電子有限公司生產(chǎn)的波仕RS232/RS485/RS422 轉(zhuǎn)換器都可將RS232 (9600bps時)。都可以用于PC 機之間、PC 機與單片機之間構(gòu)成遠程多機通信網(wǎng)絡(luò)。波仕的485TC 和485TA 轉(zhuǎn)換器外形都為DB9/DB9 轉(zhuǎn)接盒大小,其中DB9(孔座)一端直接插在9芯RS232 插座(針座)上。PC 機RS232串行口的DB9芯連接器引腳分配如下:2RXD(收),3TXD(發(fā)),5GND(地)。產(chǎn)品均無需任何初始化設(shè)置,只用到RXD(收)、TXD(發(fā))、GND(地)信號,加上獨有的內(nèi)部零延時自動收發(fā)轉(zhuǎn)換技術(shù),確保適合所有軟件。(a)波仕485TC(b)波仕485TA(圖13 波仕RS232/RS485轉(zhuǎn)換器485TC為全雙工半雙工通用型,485TA為半雙工型,如圖13所示。由波仕RS232/RS485轉(zhuǎn)換器所構(gòu)成的RS485總線式通信方式如圖14所示。圖14 典型的RS485半雙工多機通信 串行通信協(xié)議的制定 通信協(xié)議的概念所謂通信協(xié)議是指通信雙方的一種約定。約定包括對數(shù)據(jù)格式、同步方式、傳送速度、傳送步驟、檢糾錯方式以及控制字符定義等問題做出統(tǒng)一規(guī)定,通信雙方必須共同遵守。因此,也叫做通信控制規(guī)程,或稱傳輸控制規(guī)程,它屬于ISO39。S~OSI七層參考模型中的數(shù)據(jù)鏈路層。目前,采用的通信協(xié)議有兩類:異步協(xié)議和同步協(xié)議。同步協(xié)議又有面向字符和面向比特以及面向字節(jié)計數(shù)三種。其中,面向字節(jié)計數(shù)的同步協(xié)議主要用于DEC公司的網(wǎng)絡(luò)體系結(jié)構(gòu)中。通信協(xié)議是對數(shù)據(jù)傳輸方式的規(guī)定,包括數(shù)據(jù)格式定義和數(shù)據(jù)位定義等。通信方式必須遵循統(tǒng)一的通信協(xié)議。要想保證通信成功,通信雙方必須有一系列的約定,比如作為發(fā)送方,必須知道什么時候發(fā)送信息、發(fā)什么、對方是否收到、收到的內(nèi)容有沒有錯、要不要重發(fā)、怎么通知對方結(jié)束等;作為接收方,必須知道對方是否發(fā)送信息、發(fā)的是什么、收到的信息是否有錯、如果有錯如何通知對方、怎么判斷結(jié)束等。具體而言包括起始位、數(shù)據(jù)位、奇偶校驗位、停止位、波特率設(shè)置和握手信號等。1.起始位:當(dāng)通信線路上沒有數(shù)據(jù)被傳送時處于邏輯“1”狀態(tài)。當(dāng)發(fā)送設(shè)備要發(fā)送一個字符數(shù)據(jù)時,首先發(fā)出一個邏輯“0”信號,這個邏輯低電平就是起始位。起始位通過通信線傳向接收設(shè)備,接收設(shè)備檢測到這個邏輯低電平后,就開始準(zhǔn)備接收數(shù)據(jù)位信號。其作用就是使設(shè)備同步,通信雙方必須在傳送數(shù)據(jù)位前協(xié)調(diào)同步。2.當(dāng)接收設(shè)備收到起始位后,緊接著就會收到數(shù)據(jù)位。數(shù)據(jù)位的個數(shù)可以是7或8,PC機中經(jīng)常采用7位或8位數(shù)據(jù)傳送。3.奇偶校驗位:數(shù)據(jù)位發(fā)送完后,便可以發(fā)送奇偶校驗位。奇偶校驗位用于有限差錯檢測,通信雙方應(yīng)約定一致的奇偶校驗方式。如果選擇偶校驗,那么組成數(shù)據(jù)位和奇偶位的邏輯“1”的個數(shù)必須是偶數(shù),如果選擇奇校驗,那么邏輯“1”的個數(shù)必須是奇數(shù)。4.停止位:在奇偶位或數(shù)據(jù)位之后發(fā)送的是停止位。停止位是一個字符數(shù)據(jù)的結(jié)束標(biāo)志,可以是1位或2位,接收設(shè)備收到停止位之后,通信線路上便又恢復(fù)邏輯“1”狀態(tài),直至下一個字符數(shù)據(jù)的起始位到來。5.信號線上傳送的所有為信號都保持一致的信號時間,每一位的寬度都由數(shù)據(jù)傳送速率確定,而傳送速率是以每秒多少字節(jié)衡量的,這個速率叫波特率。 通信協(xié)議的制定本系統(tǒng)初步擬定網(wǎng)絡(luò)容量為1臺PC機與30臺單片機進行多機通信,單片機為主動方,PC機為被動方。PC機不做查詢,當(dāng)單片機發(fā)送報警信息時,PC機進行數(shù)據(jù)接收,并顯示在監(jiān)控界面上。PC機與單片機通過RS232標(biāo)準(zhǔn)串行接口進行半雙工異步串行通信,采用總線連接方式。該標(biāo)準(zhǔn)接口采用9針插頭,只用其中的三個引腳,即串行輸入RXD、串行輸出TXD、地線GND,這就是所謂的三線接法。信號傳輸?shù)乃俾试O(shè)定為9600bps。PC機串口信息幀格式應(yīng)同單片機一致,包括1位起始位、1位停止位、8位數(shù)據(jù)位、無奇偶校驗。用FEH、EFH兩個字節(jié)表示起始標(biāo)識,F(xiàn)FH表示停止標(biāo)識。 實現(xiàn)上位機通信軟件的工具有很多種,如:C語言、Visual Basic、Visual C++等。但Visual Basic是創(chuàng)建開發(fā)Window環(huán)境下應(yīng)用程序強有力的工具。VB是一種可視化的、面向?qū)ο蠛筒捎檬录?qū)動方式的結(jié)構(gòu)化高級程序設(shè)計語言。無論是開發(fā)功能強大、性能可靠的商務(wù)軟件,還是編寫能處理實際問題的實用小程序,VB都是最快速、最便捷的語言。它簡單易學(xué)、容易掌握,使用VB,編程人員不用編寫大量的代碼去描述界面元素的外觀和位置,而只需把預(yù)先建立好的對象拖到屏幕的某一位置即可,從而使編程效率得到了極大的提高。、控件、語言、向?qū)Ъ癐nternet支持等方面增加了許多新的功能,可用于開發(fā)Window環(huán)境下功能強大、圖形界面豐富的各類應(yīng)用軟件系統(tǒng)。用Visual Basic 進行串行通信程序的設(shè)計有兩種方式:一是直接調(diào)用Windows API,另一種方式是使用通信控件,但后一種方式實際上是通過通信組件間接地調(diào)用了Windows API 函數(shù),其過程要比直接調(diào)用API 要復(fù)雜,但是在程序的實現(xiàn)上要比前一種方式簡單的多[3]。所以本課題使用串行通信控件,即MSComm控件來實現(xiàn)PC機與多臺單片機之間的串行通信。 MSComm控件MSComm控件全稱為Microsoft Communications Control,是微軟公司提供的簡化Windows 下串行通信編程的ActiveX 控件,它既可以用來提供簡單的串行端口通信功能,也可以用來創(chuàng)建功能完備的、事件驅(qū)動的高級通信工具。MSComm控件在串口編程時非常方便,程序員不必去花時間去了解較為復(fù)雜的API 函數(shù),而且在VC、VB、Delphi等語言中均可使用。使用它可以建立與串行端口的連接,通過串行端口連接到其他通信設(shè)備(如調(diào)制解調(diào)器),發(fā)出命令,交換數(shù)據(jù),以及監(jiān)視和響應(yīng)串行連接中發(fā)生的事件。利用它可以進行諸如撥打電話、監(jiān)控串行端口的輸入數(shù)據(jù),以及創(chuàng)建功能完備的終端程序等。 MSComm控件處理通信的方式MSComm控件通過串行端口傳輸和接收數(shù)據(jù),為應(yīng)用程序提供串行通信功能,它提供下列兩種處理通信的方式。1.事件驅(qū)動方式該方式相當(dāng)于一般程序設(shè)計中的中斷方式。當(dāng)串口發(fā)生事件或錯誤時,MSComm 控件會產(chǎn)生 OnComm事件,用戶程序可以捕獲該事件并進行相應(yīng)的處理。它是處理串行端口交互作用的一種非常有效的方法。在許多情況下,在事件發(fā)生時程序應(yīng)該能處理它,例如,在串口接收緩沖區(qū)中有一個字符到達或者一個變化發(fā)生時,程序都可以利用MSComm控件的OnComm事件捕獲并處理這些通信事件。OnComm 事件還可以檢查和處理通訊錯誤。在程序的每個關(guān)鍵功能執(zhí)行之后,可以通過檢查CommEvent 屬性的值來查詢事件和錯誤[5]。在編程過程中,就可以在OnComm事件處理函數(shù)中加入自己的處理代碼。這種方法的優(yōu)點是程序響應(yīng)及時,可靠性高。每個MSComm 控件對應(yīng)著一個串行端口。如果應(yīng)用程序需要訪問多個串行端口,必須使用多個 MSComm 控件。2.查詢方式在程序的每個關(guān)鍵功能執(zhí)行之后,在用戶程序中設(shè)計定時或不定時的查詢,通過檢查CommEvent 屬性的值來查詢事件和錯誤,從而做出相應(yīng)的處理。在進行簡單應(yīng)用程序設(shè)計時可采用這種方法。例如,如果寫一個簡單的電話撥號程序,則沒有必要對每接收一個字符都產(chǎn)生事件,因為唯一需要接收的字符就是調(diào)制解調(diào)器的“0K”回應(yīng)。查詢方式的進行可用計時器Timer或Do…loop程序?qū)崿F(xiàn)。查詢方式實質(zhì)上還是事件驅(qū)動,但在有些情況下,這種方式顯得更為便捷。 MSComm控件的引用1.控件添加我們開始一個項目的設(shè)計時,VB的工具箱中會有許多默認(rèn)的控件讓設(shè)計者選擇,這些原本就出現(xiàn)在工具箱中的控件是內(nèi)置控件,它提供一些基本的系統(tǒng)設(shè)計組件給設(shè)計者。不過,功能比較特別的控件就不會出現(xiàn)在其中,如用來設(shè)計通信功能的控件MSComm就不在其中。由于,VB的串行通信組件并不會主動出現(xiàn)在工具箱中,當(dāng)需要MSComm控件時,首先要把它加入到工具箱中。讓MSComm控件出現(xiàn)在工具箱中的步驟如下:選擇“工程”菜單下的“部件…”子菜單,在彈出的“部件”對話框中,在“控件”選項卡中選中“Microsoft Comm Control ”復(fù)選框,單擊“確定”按鈕后,在工具箱中就出現(xiàn)一個形似“電話”的圖標(biāo),它就是MSComm控件,如圖15所示。圖15 MSComm控件的添加工具箱中有了MSComm控件,就可以選擇MSComm控件的圖標(biāo)將其添加到程序窗體上,利用該控件就可以通過VB編程實現(xiàn)PC機與串口設(shè)備的串口通信了。2.控件操作在使用VB所提供的串行通信功能之前,必須對VB的電話盒(MSComm控件)做一個了解,以便可以將串行通信的觀念套用上去。Windows采用了全新的對象化設(shè)計思想,把所有的程序都對象化。在對象化之后,我們在VB設(shè)計串行通信的相關(guān)項目時,一樣是遵循了4個步驟。(1)對象—首先了解所要操作的對象是什么?(2)屬性—該對象所具備的屬性有哪些?(3)事件—該對象在系統(tǒng)執(zhí)行的過程中會因其他對象而發(fā)生什么樣的事情?(4)方法—當(dāng)該對象被引發(fā)了某個事件之后,程序應(yīng)該采取的步驟是什么?VB的串行通信對象乃是將RS232的初級操作予以封裝,用戶以高級的VB語法即可利用RS232與外界通信,并不需要了解其他有關(guān)的初級操作。使用MSComm控件主要是對其屬性的設(shè)置。 MSComm控件常用屬性MSComm控件的屬性眾多,其主要屬性說明如下。1.CommPort:設(shè)置或返回通信連接端口代號。程序必須指定所要使用的串行端口的號碼。程序亦可經(jīng)由此屬性讀回所使用的連接端口號碼。在此所設(shè)置的通信端口號由1開始往上遞增,MSComm的最大值是16,當(dāng)使用的通信端口號碼超過16時,此控件會顯示錯誤信息。當(dāng)我們欲指定某一通信端口時,可用如下語句:例如: = 1 ‘指定使用COM1作為通信傳輸。2.Settings:設(shè)置初始化參數(shù)。以字符串的形式設(shè)置或返回連線速度、校驗碼、數(shù)據(jù)位、停止位四個參數(shù)。其格式為“BBBB,P,D,S”,其中BBBB為連線速度,P為字符校驗方式,D為數(shù)據(jù)位數(shù),S為停止位數(shù)。默認(rèn)值是“9600,N,8,l”,其意為“所使用的通信端口是以每秒9600Bit的速度作傳輸,不作字符校驗,每次數(shù)據(jù)是8個Bit,而停止位是1個Bit”,而此四項必須是依照順序,不可前后對調(diào)。Settings設(shè)置完成之后,所送出及收回的字符串便以此設(shè)置為主,使用RS232通信的兩方,Settings必須完全一樣,彼此才能順利地作溝通,否則雙方無法收到彼此所傳送的信號。例如: =“9600,N,8,1”3.Portopen:設(shè)置或返回通信連接端口的狀態(tài)。使用串行端口之前必須先將要使用的串行端口打開,而在使用完畢之后,也必須執(zhí)行關(guān)閉的操作。4.Input屬性Input屬性用于從輸入緩存器返回并刪除字符。程序靠這個命令將對方傳到輸入緩存區(qū)中的字符讀進來,并清除緩存區(qū)中已被讀取的字符。例如:Buffer= ‘將輸入緩存區(qū)的字符讀入Buffer字符串變量中。5.Output屬性O(shè)utput屬性用于將一個字符串寫入輸出緩存區(qū)。當(dāng)程序需要向?qū)Ψ絺鬏斪址畷r,可使用此命令將字符串寫入輸出緩存區(qū)中。例如: =“ABCD” ‘將ABCD四個字符通過RS232傳輸出去。6.InputLen屬性InputLen屬性用于指定由串行端口讀入的字符串長度。7.Handshaking屬性Handshaking屬性用于指定通信兩方的交握協(xié)議。交握協(xié)議只有在緩存區(qū)沒有超速的情況下才能保證數(shù)據(jù)不被遺失。而緩存區(qū)超速是指數(shù)據(jù)到達連接端口的速度太快,以至于通信裝置來不及將數(shù)據(jù)移到接收緩存區(qū)。VB中交握協(xié)議的設(shè)置如表3所示。設(shè)置值說明Comnone0(默認(rèn)值)沒有交握協(xié)議ComXOnXOff1(XON/XOFF)交握協(xié)議ComRTS2RTS/CTS(Request To send/Clear To send)交握協(xié)議 ComRTSXOnXOff3RequestToSend和XON/XOFF交握協(xié)議表3 交握協(xié)議的設(shè)置8.Rthreshold屬性Rthresho1d屬性用于設(shè)置或返回引發(fā)接收事件的字符數(shù):即屬性頁上的“最小接收字符數(shù)”。當(dāng)接收緩存區(qū)達到所設(shè)置的字符數(shù)時,將會引發(fā)OnComm事件中的接收事件。例如: = 20,當(dāng)接收緩存區(qū)達到20個字符時,引發(fā)接收事件。9.CommEvent屬性CommEvent屬性在通信錯誤或事件發(fā)生時都會產(chǎn)生OnComm事件,CommEvent屬性存有該錯誤或事件的數(shù)值碼。10.DTREnable屬性DTREnable屬性用于判斷在通信時是否啟用Data Terminal Rea
點擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1