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

正文內容

煤礦瓦斯微機監(jiān)測系統(tǒng)設計畢業(yè)設計論文終稿(編輯修改稿)

2025-07-25 20:34 本頁面
 

【文章內容簡介】 所示:X = 256﹣(SMOD+1)fosc/(波特率384) (31)則由公式可得:X=256 2106/(3844800)X=233=F4H所以定時器T1的定時初值設為:TH1=F4H,TL1=F4H單片機與PC機的通信常用有RS23RS485以及RS422三種串行接口。RS232C標準規(guī)定,驅動器允許有2500pF的電容負載,通信距離將受此電容限制,例如,采用150pF/m的通信電纜時,最大通信距離為15m;若每米電纜的電容量減小,通信距離可以增加。傳輸距離短的另一原因是RS232屬單端信號傳送,存在共地噪聲和不能抑制共模干擾等問題,因此一般用于20m以內的通信;. RS485接口是采用平衡驅動器和差分接收器的組合,抗共模干擾能力增強,即抗噪聲干擾性好。RS485最大的通信距離約為1219m,最大傳輸速率為10Mbps,傳輸速率與傳輸距離成反比,在100Kb/S的傳輸速率下,才可以達到最大的通信距離,如果需傳輸更長的距離,需要加485中繼器。RS485總線一般最大支持32個節(jié)點,如果使用特制的485芯片,可以達到128個或者256個節(jié)點,最大的可以支持到400個節(jié)點;RS422同RS485差不多。RS232與RS485 標準只對接口的電氣特性做出規(guī)定,而不涉及接插件、電纜或協議,在此基礎上用戶可以建立自己的高層通信協議。但由于 PC 上的串行數據通訊是通過 UART 芯片來處理的,基于 PC 的 RS232與 RS485標準均采用同樣的通訊協議。表33列出了 RS23RS485 通訊方式的區(qū)別。 表33 RS232與RS485的區(qū)別規(guī)范RS232RS485工作方式單端差分節(jié)點數1 收、1 發(fā)1 發(fā) 32 收最大傳輸電纜長度50 英尺4000 英尺最大傳輸速率20Kbps10Mbps最大驅動輸出電壓+/25V7V~+12V發(fā)送器輸出信號電平(負載最小值)負載+/5V~+/15V177。發(fā)送器輸出信號電平(空載最大值)空載+/25V177。6V發(fā)送器負載阻抗(Ω)3K~7K54擺率(最大值)30V/μsN/A接收器輸入電壓范圍177。15V7V~+12V接收器輸入門限177。3V177。200mV接收器輸入電阻(Ω)3K~7K≥12K發(fā)送器共模電壓1V~+3V接收器共模電壓7V~+12V 這里由于傳輸距離的限制,選用RS485,同時選用芯片MAX485作為驅動芯片,MAX485接口芯片是Maxim公司的一種RS-485芯片。 MAX48MAX487MAX491以及MAX1487是用于RS485與RS422通信的低功耗收發(fā)器,每個器件中都具有一個驅動器和一個接收器。MAX48MAX48MAX488以及MAX489具有限擺率驅動器,可以減小EMI,并降低由不恰當的終端匹配電纜引起的反射,實現最高250kbps的無差錯數據傳輸。MAX48MAX48MAX490、MAX49MAX1487的驅動器擺率不受限制。采用單一電源+5 V工作,額定電流為300 μA,采用半雙工通訊方式。它完成將TTL電平轉換為RS-485電平的功能。MAX485芯片的結構和引腳都非常簡單,內部含有一個驅動器和接收器。RO和DI端分別為接收器的輸出和驅動器的輸入端,與單片機連接時只需分別與單片機的RXD和TXD相連即可;/RE和DE端分別為接收和發(fā)送的使能端,當/RE為邏輯0時,器件處于接收狀態(tài);當DE為邏輯1時,器件處于發(fā)送狀態(tài),因為MAX485工作在半雙工狀態(tài),所以只需用單片機的一個管腳控制這兩個引腳即可;A端和B端分別為接收和發(fā)送的差分信號端,當A引腳的電平高于B時,代表發(fā)送的數據為1;當A的電平低于B端時,代表發(fā)送的數據為0。在與單片機連接時接線非常簡單。只需要一個信號控制MAX485的接收和發(fā)送即可。同時將A和B端之間加匹配電阻,一般可選100Ω的電阻。MAX485引腳圖如圖317。圖317 MAX485引腳圖其基本參數如下:1)半雙工;2)速率:;3)限擺率:NO;4)低電流關斷模式:NO;5)接收允許控制:YES;6)靜態(tài)電流300;7)負載個數:32;8)引腳數:8其MAX485與AT89S52的連線圖如圖318圖318 MAX485與AT89S52的連線圖圖318 MAX485與AT89S52的連線圖 電磁式蜂鳴器分兩種:有源蜂鳴器和無源蜂鳴器。有源蜂鳴器內部帶有振蕩源,無源蜂鳴器內部不帶振蕩源。有源蜂鳴器和無源蜂鳴器的主要差別是對輸入信號的要求不一樣,有源蜂鳴器工作的理想信號是直流電,無源蜂鳴器工作的理想信號是方波。無源蜂鳴器接直流電是不會工作的。這里選擇有源蜂鳴器作為警報裝置,由于蜂鳴器工作時電流比較大,單片機I/O端口輸出電流比較小,無法直接進行驅動,需要加一個PNP型三極管8550進行隔離放大。,蜂鳴器B1和電阻R31串接在三極管Q7的集電極回路中。,三極管Q7截止,沒有電流流過蜂鳴器內部線圈,蜂鳴器不發(fā)聲;,三極管Q7導通,有電流流過蜂鳴器內部線圈,蜂鳴器發(fā)聲。AT89S52與蜂鳴器的連接圖如圖319。圖319 AT89S52與蜂鳴器的連接圖第四章 系統(tǒng)軟件設計 本系統(tǒng)程序采用了C語言設計,C語言編寫較匯編語言編寫方便,而且更接近人類語言,模塊性較強,可移植性也強于匯編語言。其缺點是不能最大程度的利用單片機資源。雖然用C語言編寫不需要給數據分配內部單元,但是主程序仍需要給數據分配一個對應的變量或者數組,具體分配表見表41。表41 下位機程序變量定義說明變量或數組名注釋receivebuf[0]用于存放純凈空氣中的瓦斯?jié)舛戎怠eceivebuf[1]用于存放實時的瓦斯?jié)舛戎?。output用于存放經過濾波和零點修正后的瓦斯?jié)舛戎?。get_ad[12]用于存放實時的瓦斯?jié)舛戎?,然后進行濾波處理。系統(tǒng)的主程序包括系統(tǒng)的初始化、啟動A/D轉換、濾波子程序、零點修正子程序、蜂鳴器報警子程序、LED顯示子程序、串口通信子程序。 系統(tǒng)的初始化包括P0、PPP3并行端口初始化,初始化寄存器TCON將外部中斷定義為下降沿觸發(fā)方式,初始化寄存器SCON。 系統(tǒng)用到的中斷有數據采集中斷(外部中斷0),使用中斷能提高系統(tǒng)的工作的效率。瓦斯監(jiān)測主監(jiān)控程序過程如下:1) 系統(tǒng)初始化2) 啟動A/D轉換3) 濾波4) 零點修正5) 濃度超限判斷6) LED顯示瓦斯?jié)舛?) 向上位機串口輸出信號主程序流程圖見附錄C。當數據采集鍵按下時,進入外部中斷程序,采集純凈空氣中的瓦斯?jié)舛?,從而對后續(xù)的瓦斯?jié)舛冗M行零點修正,其程序流程圖同A/D轉換子程序。 A/D轉換子程序瓦斯傳感器將瓦斯的濃度轉化為電壓信號,經放大處理后進行A/D轉換,A/D轉換主要包括A/D通道的選擇和轉換的數據的傳送,PCF8591選擇AIN1通道。A/D轉換后得到的數據為數字量,當這些數據轉換完后,傳送給單片機再進行后續(xù)處理,A/D轉換子程序如圖41所示。A/D轉換初始化iicInit_()check_ACK空采樣一次調整采樣順序iic_start發(fā)送尋址字節(jié)(寫)0X90check_ACKIN1通道采樣check_ACKcheck_ACK發(fā)送通道控制字0X01iic_stopcheck_ACK返回iic_start發(fā)送尋址字節(jié)(讀)0X91圖41 A/D轉換程序流程圖NCheck_ACKSDA=1?YF0=1SDA=1SCL=0SCL=1圖42 應答位檢查程序流程圖返回應答標志位F0=0 濾波子程序 每次測得的瓦斯?jié)舛戎滴幢販蚀_,很可能由于其它原因造成超限,從而造成不必要的生產耽誤,所以必須對不準確的值進行刪除處理,這時就需要濾波子程序,濾波子程序的原理就是連續(xù)測試12組數據,然后在這12組數據中取平均值進行輸出,從而達到一個較為準確的值。十二組數據分別放入get_ad[12]中,sum初值為0,其程序流程圖如下:count=0Ncount12YSum+=get_ad[count]count++繼續(xù)圖43 濾波程序流程圖 LED顯示子程序LED主要承擔著顯示瓦斯的當前濃度值,其中當前濃度的值儲存在OUTPUT中。程序流程圖如下:開始初始化取要顯示的數據根據數據查段碼表輸出段碼到P0輸出位碼到P2位碼移位N已顯示8位?Y關閉顯示結束圖44 8段位LED數碼管顯示程序流程圖 蜂鳴器報警子程序 當處理后的當前值超過預定值,則進行報警,報警時只要給蜂鳴器一個高電平即可。 通信程序主機為PC232485轉換模塊 單片機02H單片機03H單片機01H圖45 組網方式示意圖從上圖可知,PC是RS485當中的上位機,而多個單片機則為下位機。這時我們必須有一個通信協議才能繼續(xù)PC與單片機的通信,通信協議:雙方實體完成通信或服務所必須遵循的規(guī)則和約定,常用于RS485的通信協議有MODBUS和PROFIBUS。但是單片機作為一種串口通信已經完全被定義的微機是不能兼容上述協議的,因此我們要根據單片機的串口要求來自己定義通信協議,從而在這個RS485只是作為通信的物理層作為理解。通信要求:1) PC為主機,單片機為從機,主從機點對點通信。2) 從機不停的上傳數據,而不接受數據。3) 主機不停的接受數據,而不發(fā)送數據。由上述要求我們可以定義通信協議:假設從機數有三個,地址分別為01H、02H、03H。主機可以通過上位機界面對下位機進行選擇,若選擇1號機,首先發(fā)送地址幀01H,三個從機同時接受到主機發(fā)來的地址幀,然后從機將收到的地址幀地址同自己的地址進行對比,如果相同,則發(fā)送數據,如果不同,則繼續(xù)等待。當主機成功接收到01H發(fā)送的數據后,將數據顯示在界面,也可以對數據進行保存。異步串行,半雙工傳輸方式,傳輸速率為4800bp起始位 D0 D1 D2 D3 D4 D5 D6 D7 數據/地址標識位 停止位圖46 單片機與PC通信的地址數據幀格式圖46 單片機與PC通信的地址數據幀格式格式的解釋與說明: 起始位:0 停止位:1 數據/地址標識位:為1時是地址幀,為0時時數據幀。 下位機通過串行通信將采集的瓦斯的濃度傳到上位機,其程序流程圖如下:NRI=1?設置特殊功能寄存器Y從SBUF讀取數據定義波特率N地址是否相同?開啟串行中斷ES=1Y啟動定時器發(fā)送數據RI=0圖47 下位機串口通信子程序流程圖(1) 編程方法 上位機利用Visual Basic 。,一種是利用Windows的API函數;。利用API函數編寫串行通信程序較為復雜,需要掌握大量的通信知識,其優(yōu)點是可實現的功能更豐富、應用面更廣泛,適合于編寫較為復雜的低層次通信程序。、事件、方法,并通過控件屬性對串口參數進行設置,比較容易地解決了串口通信問題。(2) ,使用前需將該控件添加到VB工具欄。MSComm控件具有功能完善的串口數據發(fā)送和接受功能,有兩種處理通信的方式,即事件驅動方式和查詢方式,事件驅動方式是利用MSComm控件的OnComm事件捕獲并處理通信錯誤事件,是處理串行端口交互作用的一種非常有效的方法;查詢方式是通過檢查CommEvent屬性的值來判斷事件和錯誤。 VB程序界面圖如下圖: 圖48 上位機界面圖上位機的任務將下位機傳來的數據進行的接受和顯示,先設有三個下位機,地址分別為01H、02H、03H,adr=01H,程序流程圖如下:開始輸入原始數據發(fā)送原始數據中的地址N接收數據?Y顯示到文本框內結束圖49 上位機串口通信程序流程圖第五章 系統(tǒng)的仿真 下位機的調試與仿真 下位機是一個單片機系統(tǒng),為了驗證設計的正確性,應該首先對單片機系統(tǒng)進行仿真。而仿真主要分為對軟件的測試和對硬件的仿真,其分別要涉及到Keil軟件和Proteus軟件。 (1)Keil軟件的介紹Keil C51是美國Keil Software公司出品的51系列兼容單片機C語言軟件開發(fā)系統(tǒng),與匯編相比,C語言在功能上、結構性、可讀性、可維護性上有明顯的優(yōu)勢,因而易學易用。Keil提供了包括C編譯器、宏匯編、連接器、庫管理和一個功能強大的仿真調試器等在內的完整開發(fā)方案,通過一個集成開發(fā)環(huán)境(uVision)將這些部分組合在一起。
點擊復制文檔內容
教學教案相關推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1