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

正文內(nèi)容

基于rs485多機通信的軟件編程與系統(tǒng)調(diào)試(文件)

2024-12-01 21:41 上一頁面

下一頁面
 

【正文】 n this way ,munications can be achieved between PC and lower machine, as well as lower machines. In the basis of hardware design, the municational protocol is carried order to achieve the accuracy of the data transmission, the error checking and correction is implemented,as well as the study of reliability . After software programming and program debugging, the system can achieve data transmission between PC machine and singlechip,as well as singlechips. Keywords: PC Machine。因此,開展本領(lǐng)域的研究有較好的應(yīng)用前景。 本文主要 采用 一種以 PC 機作為上位機 , 多臺 80C51 單片機作為下位機 ,來 進行 上位機 與下 位機 以及下 位 機與 下 位機 的 通信的研究。 Singlechip。計算機控制是計算機技術(shù)與自動控制理論、自動化技術(shù)緊密結(jié)合并應(yīng)用于實際的結(jié)果,它的應(yīng)用領(lǐng)域非常廣泛。 研究的背景及意義 單片機和計算機的不斷發(fā)展 使得 單片機的應(yīng)用也從獨立的單機向網(wǎng)絡(luò)發(fā)展,由計算機和單片機構(gòu)成的多機網(wǎng)絡(luò)系統(tǒng)已成為單片機技術(shù)發(fā)展的一個方向。因此,采用單片機技術(shù)與計算機網(wǎng)絡(luò)技術(shù)相結(jié)合的辦法 ,對單片機多機通信系統(tǒng)進行研究,在設(shè)計單片機網(wǎng)絡(luò)的通信 協(xié)議 的基礎(chǔ)上,系統(tǒng)網(wǎng)絡(luò)拓撲結(jié)構(gòu)采用總線型,網(wǎng)絡(luò)接 口電路采用端口轉(zhuǎn)發(fā)的形式,實現(xiàn)了 8位單片機多機通信 ,且 PC 機能彌補單片機數(shù)據(jù)處理能力弱和軟硬件資源貧乏的缺陷。在一對多的通信模式中,由于下位機與上位機、下位機與下位機之間的物理位置相距較遠,運行環(huán)境復雜、干擾大, 由于 RS232 采用共模傳輸方式,只能實現(xiàn)十余米的短距離通信, 且抗干擾能力不理想,因此 使用 RS232 串口通訊協(xié)議完全不能達到要求,易出現(xiàn)錯碼。 為了方便讀者快速地了解本論文的主要內(nèi)容,在這里簡要介紹一下論文的章節(jié)安排及內(nèi)容。主要介紹通信的一些基本概念以及方式,也對各種串行接口標準 、 MAX232 和 MAX485 兩種轉(zhuǎn)換芯片作了一些講解。首先介紹了通信原理,以及如何能實現(xiàn)它,并制定了通信協(xié)議,以及實行的差錯控制。 第六章總結(jié)。通常根據(jù)信息傳送的距離決定 采用哪種通信方式。 串行通信的傳送方式 在串行通信中,數(shù)據(jù)通常是在二個站 (點對點 )之間進行傳送,按照數(shù)據(jù)流的方向可 分成三種傳送模式 :全雙工、半雙工、單工。 ( 2) 半雙工 (Half Duplex) 使用同一根傳輸線,通信雙方既可發(fā)送數(shù)據(jù)又可接收數(shù)據(jù),但不能同時收發(fā)數(shù)據(jù),如圖 22 所示。 圖 23 單工通信 異步收發(fā)器 (1) UART(異步收發(fā)器)的組成 UART 由三個部分組成:接收器、發(fā)送器、控制器。 ( 2) 異步串行通信中設(shè)立的出錯標志。異步通信的傳送速度在 50~19200b/s 之間。 RS232C 接口標準最初是為了遠程通信連接數(shù)據(jù)終端設(shè)備 DTE 和數(shù)據(jù)通信設(shè)備 DCE進行通行而設(shè)計的。圖 24為 DB9型連接器的引腳圖,下面簡要介紹一下 9個引腳的功能。 DTE 通過該引腳接收 DCE 發(fā)送過來的串行數(shù)據(jù)。該引腳有效時,表明數(shù)據(jù)終端處于可用 狀態(tài),通常將其直接接至電源端,上電有效。該引腳有效時,表明 MODEM 處于可用狀態(tài),通常將其直接接至電源端,上電有效。用來表示 DCE 已 準備好接收 DTE 發(fā)來的數(shù)據(jù),是對請求發(fā)送信號 RTS 的相應(yīng)信號。 162738495DB9GNDRIDTRCTSTXDRTSRXDDSRDCD 圖 24 DB9引腳圖 與 TTL, MOS 邏輯電平完全不同, RS232C 其邏輯電平對地是對稱的。 7 由于 RS232C 接口標準出現(xiàn)的較早難免有不足之處,主要有以下四點 : (1) 接口的信號電平值較高,易損壞接口電路的芯片,又因為與 TTL 電平不兼容,使用電平轉(zhuǎn)換電路才能與 TTL 電路連接。 RS422 串行接口標準 RS422 是在 RS232C 以后發(fā)展起來的、平衡傳送的電氣標準,比起 RS232C 非平衡的傳送方式在電氣指標上有了大幅度的提高 。即一個主設(shè)備 (Master)其余為從設(shè)備 (Salve),從設(shè)備之間不能通信,所以 RS422 支持點對多的雙向通信。只有在很短的距離下才能獲得最高速率傳輸。該規(guī)范滿足所有 RS422 要求,而且比 RS422 穩(wěn)定性更強。對 +接收端, A 比 B 高 200mV 以上即認為是邏輯 l, A比 B 低 200mV 以上即是邏輯 0。但 RS422 驅(qū)動器并不完全適用于 RS485 網(wǎng)絡(luò)。 RS485 需要 2 個終接電阻,接在傳輸總線的兩端,其阻值要求等于傳輸電纜的特性阻抗,為 120Ω 。 RS485 總線掛接多臺設(shè)備用于組網(wǎng)時,能實現(xiàn)點到多點及多點到多點的通信 (多點到多點是指總線上所接的所有設(shè)備及上位機任意兩臺之間均能通信 )。目前,在我國應(yīng)用的現(xiàn)場網(wǎng)絡(luò)中, RS485 半雙工異步通信總線也是被各個研發(fā)機構(gòu)廣泛使用的數(shù)據(jù)通信總線。 9 表 21 RS232, RS422, RS185的區(qū)別 標準 RS232 RS422 RS485 工作方式 單端 差分 差分 節(jié)點數(shù) 1收 1發(fā) 1發(fā) 10收 1發(fā) 32收 最大傳輸電纜長度 50英尺 4000英尺 4000英尺 最大傳輸速率 20kbps 10Mbps 10Mbps 最大驅(qū)動輸出電壓 +/25V ~ +6V 7V~ +12V 發(fā)送器輸出信號電平(負載最小值) 負載 +/5V~ +/15V 177。 6V 發(fā)送器負載阻抗(Ω) 3k~ 7k 100 54 擺率(最大值) 30V/181。 200mV 177。 MAX232 芯片內(nèi)部有一個電源電壓變換器,可以把輸入的 +5V 電源電壓變換成為RS232C 輸出電平所需的士 l0V電壓。所以在進行 RS485 通訊芯片設(shè)計之前,有必要選擇一款成功在市場上 應(yīng)用的相關(guān)芯片進行分析研究,以確保設(shè)計的成功性。它完成將 TTL電平轉(zhuǎn)換為 RS485 電平的功能,將輸入的 TTL 電平轉(zhuǎn)換成差分電平輸出。只需要一個信號控制 MAX485 的接收和發(fā)送即可 [2]。 通過 此 過程 來達到上位機與下位機之間數(shù)據(jù)的傳輸 ,并將接收到 的數(shù)據(jù)用顯示器進行顯示。 其系統(tǒng)的原理框圖如圖 31 所示: S 2 4 8 5T X DR X DR X DT X DR110KAB BBAAROROREREDEDEDIDIRXDRXDTXDTXDPiPiPC機MAX485MAX48580518051R210KR310KR410K+ 5V 圖 31 多機通信原理框圖 13 在總線末端接一個匹配電阻,吸收總線上的反射信號,使得正常傳輸信號無毛刺。當總線上沒有信號傳輸時,門端 A+的電平大約為 ,負端 B的電平大約為 。 ( 2) RS232 接口電路 串行通信中,只有通信雙方采用相同的接口標準,才能進行正常的通信,由于上位PC 機的串行通信口采用的 RS232 電平和下位單片機的 TTL 邏輯電平不一致,所以我們必須進行電平轉(zhuǎn)換;為實現(xiàn)邏輯電平的轉(zhuǎn)換 使用 MAX232 轉(zhuǎn)換芯片。 ( 6) 下位單片機部分 每個下位機是由 8051 單片機為核心,再配上必要的時鐘電路,復位電路以及鍵盤和顯示器等而構(gòu)成的一個單片機系統(tǒng)。 ( 3) 在通信時 ,只允許主機和一臺下位機進行通信,而不允許多個下位機和一臺主機同時進行通信。 TB8 為方式 3中要發(fā)送數(shù)據(jù)第 9位, RB8 為方式 3 中接收數(shù)據(jù)第 9位,TI 為發(fā)送中斷標志位, RI 為接收中斷標志位。在接收端,一幀數(shù)據(jù)的第 9 位 信息被裝入 SCON 的 RB8 中,接收機根據(jù) RB8 及 SM2 的狀態(tài)確定是否產(chǎn)生串行中斷標志,從而可以響應(yīng)或不響應(yīng)串行中斷,這樣就實現(xiàn)了多機通信。表 41是 UART 中 10 個內(nèi)部寄存器的名稱,端 口地址及操作特點與使用條件。波特率因子與波特率的關(guān)系示于表 42中 [5]。對 PC機來說,奇偶位通常是自動產(chǎn)生的,它根據(jù) 8位數(shù)據(jù)的奇偶情況而定;因而大多數(shù)設(shè)計者均采用人為控制 8位數(shù)據(jù)的奇偶;將 8 位數(shù)據(jù)的某一位(一般是第 D7位)作為奇偶控制位,以達到間接控制奇偶位的 目的。如果我們通過軟件方法編程控制奇偶校驗位,使得在發(fā)送地址時為“ 1”,發(fā)送數(shù)據(jù)時為“ 0,則奇偶校 18 驗位可完全模擬單片機多機通信的 TB8 位。 通過對 8250 的線控制寄存器( LCR)的設(shè)置,可使 8250 具有很大的靈活性。如果是多點通信 ,每個從機要分配一個地址碼。通信協(xié)議如下: (1) 首先使所有從機的 SM2 位置 1,處于只接收地址幀的監(jiān)聽狀態(tài)。 (5) PC 機接收數(shù)據(jù)時,先判斷數(shù)據(jù)結(jié)束標志 (RB8 ),若 RB8=1,表示數(shù)據(jù)傳輸完畢,并比較此幀校驗和。作為應(yīng)答之后才能收到 PC機發(fā)送來的數(shù)據(jù)。 (8) 從機收到復位命令后回到監(jiān)聽地址狀態(tài),即 SM2=1,否則開始接收數(shù)據(jù)。將第 9 位設(shè)定為“地址 /數(shù)據(jù)位”,用來支持 PC 機和 8051 單片機的相互通信,當?shù)?9位為 0,表示主機發(fā)送的是“數(shù)據(jù) /命令幀”,當?shù)?9位為 1,表示主機發(fā)送的是“地址幀”。每發(fā)送一數(shù)據(jù)塊,僅當數(shù)據(jù)接收正確時,才會發(fā) 20 送一個響應(yīng)幀,否則回送出錯信息,要求重發(fā)數(shù)據(jù)塊,直到正確為止 。在 RS485 總線通信網(wǎng)絡(luò)中 ,必須控制好每個站點的“聽、說”狀態(tài) ,即收、發(fā)狀態(tài) ,對總線的使用權(quán)必須進行分配 ,以使各從機的發(fā)送控制信號在時間上完全隔離 ,保證能及時、正確地傳輸數(shù)據(jù)。一般使用單片機的一根口線連接 RE* , DE 端。 21 234V C C81 67GND5DRABUM A X 48 5Q2N 39 0410KR1R210KR310KR4V C CV C C V C C接單片機 IO 端口R X DT X DV C C 圖 42 下位機 RS485通信接口電路 ( 2) 控制端 RE*, DE 的信號有效脈寬應(yīng)該大于發(fā)送或接收一幀信號的寬度。發(fā)送時,檢測 TXC 是否建立起來,當 TXC為高電平后關(guān)閉發(fā)送功能轉(zhuǎn)為接收功能 ;接收時,檢測 RXC 是否建立起來,當 RXC為高電平后,接收完畢,又可以轉(zhuǎn)為發(fā)送。如果單片機多機通訊采用較高的波特率,幾條操作指令的延時就可能超過 2位(或 1位)數(shù)據(jù)的發(fā)送時間,問題或許不會出現(xiàn)。 ( 3) 總線上所連接的各從機的發(fā)送控制信號在時序上完全隔開。當主機發(fā)出呼叫幀,如果在規(guī)定的時間內(nèi)沒 有收到從機的應(yīng)答幀,則主機認為幀丟失并重發(fā)呼叫幀;如果發(fā)送 3次仍沒有收到應(yīng)答幀,則系統(tǒng)認為該從機處于關(guān)機狀態(tài),開始執(zhí)行其他任務(wù)。本系統(tǒng)約定最大重發(fā)數(shù)為 3次,超過 3 次系統(tǒng)就認為串行通信出現(xiàn)故障,主機進行故障報警。這種方法很好地解決了通信過程數(shù)據(jù)存儲出錯、丟失的問題,使得通信的可靠性得到很大的提高 [5]。 注意, bios() 總是返回一個 16 位的二進制數(shù)值,它通常反映了串行口某些重要的狀態(tài)信 息。0x2020)){ if (bios (1, ch, 0)amp。 while (!(bios (3, 0, 0)amp。0x00ff。 PC 機通信 程序 設(shè)計 PC 機通信程序采用 C 語言編程。若輸入的是 R命令,則表示主機要求從機準備接收信息,因此, PC 機調(diào)用 sendf 子程序?qū)斍? 盤 上的指定文件發(fā)送給從機。 80C51單片機通信 程序 設(shè)計 單片機的數(shù)據(jù)通信 由 串行口完成,定時器 TI作為波特率發(fā)生器,其波特率要與 PC 機一致。這里給出 8051 主程序完成串行口和中斷的初始化后,則等待中斷,以及單片機中斷方式接收。采用中斷方式發(fā)送和接收數(shù)據(jù),定時器 TI 設(shè)置為工作模式 2,串行口設(shè)置為工作方式 3,由第 9位判斷地址碼或數(shù)據(jù)。 PC 機發(fā)送子程序流程圖如圖 43( b)所示。 然后根據(jù)鍵入的地址碼,呼叫從機,發(fā)出聯(lián)絡(luò)信號。 } } 該函數(shù)不斷查詢“數(shù)據(jù)準備就緒”位,若為 1,說明串口收到了一個字符的數(shù)據(jù);否則,用按下任一鍵退出程序的方法避免程序陷入死循環(huán)。 exit( 1)。 exit (1)。 cmd=1 時,低 8 位返回值是原發(fā)送的字符; cmd=2 時,低 8位返回的是由串行口收的字符;其他情況下, cmd 分別為 0, 3 時
點擊復制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1