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

正文內(nèi)容

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

2025-07-25 20:34 本頁(yè)面
 

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