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

正文內(nèi)容

基于c的rs232通信協(xié)議模擬終端畢業(yè)論文-在線瀏覽

2024-11-03 18:21本頁面
  

【正文】 ....................................................... 21 程序測試 ........................................................................................................ 34 本章小結(jié) ................................................................................................................... 39 第 5 章 結(jié)論 ............................................................................................................................ 40 參 考 文 獻(xiàn) ............................................................................................................................ 41 致 謝 .................................................................................................... 錯(cuò)誤 !未定義書簽。 隨著 通信技術(shù)的不斷創(chuàng)新和發(fā)展以及 計(jì)算機(jī)網(wǎng)絡(luò)和多微機(jī)系統(tǒng)的廣泛應(yīng)用, USB 通信技術(shù)的 發(fā)展 如此迅速 , 盡管如此, 然而串口通信技術(shù)以其 實(shí)現(xiàn)簡單、使用靈活方便、數(shù)據(jù)傳輸可靠等優(yōu)點(diǎn)并未面臨被淘汰,反而在通信領(lǐng)域中一直都被 人們廣泛的 應(yīng)用。 VC++是新一代面向?qū)ο蟮目梢暬_發(fā)工具,作為一個(gè)主流的開發(fā)平臺一直深受編程愛好者的喜愛,提供了良好的 界面設(shè)計(jì)資源,是當(dāng)下圖形開發(fā)的一個(gè)比較重要的技能和手段, Window 圖形界面編程就是 VC++編程開發(fā)的經(jīng)典展現(xiàn)之一。其中 Windows 平臺先進(jìn)的 ActiveX 技術(shù)對串口編程不再需要處理繁瑣的細(xì)節(jié)。 伴隨著科學(xué)技術(shù)的不斷創(chuàng)新與 現(xiàn)代化生產(chǎn)過程中智能化、自動(dòng)化程度的 不斷 提高,越來越多的綜生產(chǎn) 過程 和 工業(yè) 控制 系統(tǒng)需要應(yīng)用自身的 控 制 平臺 與數(shù)據(jù)采集處理 ,利用 Windows 編程技術(shù)開發(fā)這樣的應(yīng)用程序時(shí), 其中 要面臨的 最關(guān)鍵的 問題是與外圍監(jiān)控設(shè)備 連接與 通信。由于串行通信方式具有使用線路少、成本低、特別是在遠(yuǎn)程傳輸時(shí),避免了 很多條線路 的 特性 不一致而 被 人們廣泛應(yīng) 用。所以 學(xué)習(xí) RS232 串行通信意義 非常 重大。 RS232 被定義為一種在低速率串行通信中增加通信距離的單端標(biāo)準(zhǔn)。 RS232 標(biāo)準(zhǔn)主要適用于通信設(shè)備,它主要 采取 不平衡傳輸方法 ,即所謂的單端通信。 RS232串行通信的發(fā)展趨勢 RS232 協(xié)議自 1960 年形成, 1969 年得到認(rèn)證,一直到如今的廣泛使用,始終隨著 各種領(lǐng)域 應(yīng)用需求的不斷變化而穩(wěn)步發(fā)展。低供電電壓和高數(shù)據(jù)率等都將成為未來發(fā)展中新設(shè)計(jì)的普遍要求。 本文主要的研究內(nèi)容 本文主要通過 RS232 標(biāo)準(zhǔn)串口協(xié)議,使用 VC++編程語言實(shí)現(xiàn)串行通 信,最終完成模擬終端的調(diào)試與仿真。 具體 工作 內(nèi)容如下: 了解 RS232 協(xié)議,串口和串行通信原理。 了解 CRC 校驗(yàn),掌握 CRC 校驗(yàn)基本原理及應(yīng)用。 4 第 2章 串行通信基本原理 RS232通信協(xié)議 RS232標(biāo)準(zhǔn) RS232 標(biāo)準(zhǔn) (協(xié)議) ( ANSI/EIA232 標(biāo)準(zhǔn)) 的全稱是 EIARS232C 標(biāo)準(zhǔn),其中 EIA代表美國電子工業(yè)協(xié)會(huì), RS代表推薦標(biāo)準(zhǔn), 232是標(biāo)識號, C代表 RS232的修改次數(shù)。 RS232 協(xié)議一共有兩個(gè)通道:一個(gè)主通道和一個(gè)輔助通道,很多 情況下主要使用 的是 主通道。它 適合于數(shù)據(jù)傳輸速率在 0~ 20200b/s 范圍內(nèi)的 通信,即為每秒 50、 70、 100、 150、 300、 600、 1200、 2400、 4800、 9600、 19200 波特, 這個(gè)標(biāo)準(zhǔn)對串行通信接口的有關(guān)問題都作了明確規(guī)定 [2]。它規(guī)定連接電纜、 機(jī)械、電氣特性、信號功能及傳送過程 等 。 RS232接口 RS232 標(biāo)準(zhǔn)是按負(fù)邏輯定義的,它的 “1”電平在- 5~- 15 V之間, “0”電平在+ 5~+ 15 V之間。 RS232 串行接口屬于個(gè)人計(jì)算機(jī)( PC)及電信應(yīng)用領(lǐng)域中最為成功的串行數(shù)據(jù)標(biāo)準(zhǔn)。現(xiàn)在的 計(jì)算 機(jī)一般至少有兩個(gè)串行口 COM1 和 COM2,新一代的計(jì)算機(jī)主要以 9 引腳的 D 型 口 接出所有的 RS232 通信信號及控制線(有的計(jì)算機(jī)的串口為 25 引腳) [3]?,F(xiàn)在大多數(shù)個(gè)人計(jì)算機(jī)幾乎都沒有串口,大多采用 USB 接口,所以要實(shí)現(xiàn)個(gè)人計(jì)算機(jī)與外圍設(shè)備進(jìn)行通信大多采用 RS232 轉(zhuǎn) USB 接口 。 圖 21 9 針通訊接口 串行通信 串行通信基本原理 兩個(gè)設(shè)備之間交換數(shù)據(jù)的過程我們稱之為通信。并行通信中所傳送 數(shù)據(jù)的各位同時(shí)發(fā)送或接收。兩種基本通信方式如圖 22 所示: 嗎 a)并行通信 b)串行通信 圖 22 兩種基本的通信方式 計(jì)算機(jī) 1 計(jì)算機(jī)或外設(shè) 2 GND GND 計(jì)算機(jī) 1 計(jì)算機(jī)或外設(shè) 2 GND GND 6 從上面的圖中可以看到,并行通信成本高,并須使用多條通信線,而串行通信只需使用兩條通信線就可以完成兩個(gè)設(shè)備間的數(shù)據(jù)交換,大大降低了通信成本,串行通信又以其串行線間的干擾小得到了廣泛的應(yīng)用。串行通信是通過串行端口實(shí)現(xiàn)的。當(dāng)數(shù)據(jù)從 CPU 經(jīng)過串行端口發(fā)送出去時(shí),數(shù)據(jù)格式由字節(jié)數(shù)據(jù)轉(zhuǎn)換為串行的位( bit)。 串行通信參數(shù) 串行通信在數(shù)據(jù)交換過程中,要對幾個(gè)重要的 通信 參數(shù)進(jìn)行設(shè)置,其中包括波特率、數(shù)據(jù)位、停止位、奇偶校驗(yàn)位等。國際上對波特率規(guī)定了一個(gè)標(biāo)準(zhǔn)系列: 110bps、 300bps、 600bps、 1200bps、 1800bps、2400bps、 4800bps、 9600bps、 、 、 、 56Kbps。串行接口電路的接收波特率和發(fā)送的波特率可以設(shè)置,要求接收方的接收波特率必須與發(fā)送方的發(fā)送波特率是一致的。有時(shí)也用 “位周期 ”來表示傳輸速率,位 周期是波特率的倒數(shù)。當(dāng)計(jì)算機(jī)發(fā)送一個(gè)信息包,實(shí)際的數(shù)據(jù)不會(huì)是 8 位的,標(biāo)準(zhǔn)的值是 7 和 8 位。數(shù)據(jù)一般 為 58 位,它在起始位的后面 ,是衡量 傳送字符的有效數(shù)據(jù)位 的個(gè)數(shù) 。 數(shù)據(jù)位可以由硬件或軟件設(shè)備進(jìn)行設(shè)置,用來 滿足設(shè)備間數(shù)據(jù)交換的需要。停止位不僅僅是表示傳輸?shù)慕Y(jié)束,還為 計(jì)算機(jī) 提供校正時(shí)鐘同步的機(jī)會(huì),由于 數(shù)據(jù)是在傳輸線上定時(shí)的,并且每個(gè)設(shè)備都有其自己的時(shí)鐘 ,很可能在通信中要進(jìn)行數(shù)據(jù)交換的兩臺設(shè)備間出現(xiàn)小小的不同步, 停止位 的設(shè)置就是為了避免其中 小小的不同步 [6]。 (4)奇偶校驗(yàn)位 在串行通信中奇偶校驗(yàn)是一種簡單的檢錯(cuò)方式,奇偶校驗(yàn)位僅占一位,用于進(jìn)行奇校驗(yàn)和偶校 驗(yàn),同時(shí)也可以無校驗(yàn)位。例如,如果數(shù)據(jù)是 001,那么對于奇校驗(yàn),校驗(yàn)位是 0; 如果是偶校驗(yàn),校驗(yàn)位是 1。 串行通信的分類 串行通信 又 可以分為同步串行通信和異步串行通信兩類。是按照軟件識別同步字符來實(shí) 現(xiàn)數(shù)據(jù)的發(fā)送和接收。信息中含有若干個(gè)數(shù)據(jù)字符。因?yàn)榛謴?fù)的載波與被接收的信號載波同頻同相,故取名為同步通信,也稱抑制載波雙邊帶通信。異步通信 通常 有兩個(gè)非常重要的指標(biāo):即 字符幀格式和 波特率。 異步通信有自己的 的缺點(diǎn), 其缺點(diǎn)是 它在通信時(shí)的傳輸效率較低。 8 串口的調(diào)制 串口連接 現(xiàn)在大多數(shù)計(jì)算機(jī)外用接口都是 USB 口, 外用接口很少有串口的, 并且現(xiàn)在的個(gè)人計(jì)算機(jī)的串口大多都是 簡型的 9 針串口。 9 芯管腳圖如圖 23 所示。在 RS232 的通訊標(biāo)準(zhǔn)中是以一個(gè) 25 針的接口來定義的,并且在早期的計(jì)算機(jī)中,如 PC 機(jī)或XT 機(jī)型上得到了廣泛地使用,但是在 AT 機(jī)以后的機(jī)型上,實(shí)際上均采用了 9針管腳的簡化版本應(yīng)用,現(xiàn)在所說的 RS232 通訊均默認(rèn)為 9 針的接口。表 21 說明九針管腳的串口各引腳的名稱,功能說明和信號源等。 圖 24 USB 轉(zhuǎn) RS232 線的連接圖 串口調(diào)試 實(shí)現(xiàn)個(gè)人計(jì)算機(jī)與外圍設(shè)備間的串行通信必須將個(gè)人計(jì)算機(jī)上的串口調(diào)通,驗(yàn)證一下個(gè)人計(jì)算機(jī)上的串口是否好用。首先將一根 USB 轉(zhuǎn) RS232 轉(zhuǎn)換線的 3 引腳短接,然后將帶有 “驅(qū)動(dòng)程序 ”的光盤放入個(gè)人計(jì)算機(jī)中,安裝并運(yùn)行與自己計(jì)算機(jī)相匹配的驅(qū)動(dòng)程序,接著將轉(zhuǎn)換線的 USB 端插入個(gè)人計(jì)算機(jī)的 USB 口,即完成了初步的安裝。 串口調(diào)試助手是一個(gè)專門用來調(diào)試串口程序的功能軟件,要想測試串口是否可用,應(yīng)先打開軟件,選擇串口號,打開串口,在發(fā) 送區(qū)輸入內(nèi)容,點(diǎn)擊發(fā)送按鈕,若在接收區(qū)中有所發(fā)送的內(nèi)容,則證明此 串口可用。 介紹了通信參數(shù)與串行通信的分類。 11 第 3章 CRC校驗(yàn) CRC校驗(yàn) 原理 CRC校驗(yàn)碼的基本原理 早期的通信由于受到外界各種因素的干擾 , 會(huì)造成傳輸、接收信號的不準(zhǔn)確。 這樣不可靠的通信就會(huì)帶來 “確認(rèn)信息 ”的麻煩,造成一些事情的延誤等。 如早期一樣目前在通信系統(tǒng)的數(shù)據(jù)傳輸過程中,由于信道中各種復(fù)雜因素的影響, 使傳輸?shù)男盘柺艿礁蓴_,造成傳輸過程中誤碼的出現(xiàn) [8]。差錯(cuò)控制編碼是目前數(shù)據(jù)傳輸過程中普遍采用的一種提高數(shù)據(jù)通信可靠性的方法,而 CRC 是一種在實(shí)際通信中應(yīng)用很廣泛的差錯(cuò)控制編碼,具有很強(qiáng)的檢錯(cuò)能力。例如:代碼 101011 對應(yīng)的多項(xiàng)式為135 ??? XXX ,而多項(xiàng)式為 1256 ??? XXX 對應(yīng)的代碼 1100101。 CRC 校驗(yàn)碼的生成借助于多項(xiàng)式除法,其余數(shù)為校驗(yàn)字段。接收方使用相同的生成碼進(jìn)行校驗(yàn),若接收到的字段或生成碼(二進(jìn)制除法)如果能夠 除盡,則說明在通信過程中,數(shù)據(jù)交換期間未受到其他因素的干擾,消息收發(fā)成功。 圖 31 說明了 CRC 校驗(yàn)中 CRC 值是如何計(jì)算出來的,體現(xiàn)的多項(xiàng)式正是 式 ( 35) 。當(dāng)所有數(shù)據(jù)位都這樣操作后,計(jì)算結(jié)束。圖 31 中X5 代表 Bit5, X12 代表 Bit12, 1 是代表 Bit0, 16X 比較特別,是指移位寄存器移入的數(shù)據(jù)。還有一種是按照字節(jié)計(jì)算 CRC 校驗(yàn)碼,按字節(jié)校驗(yàn)是每次計(jì)算 8 位數(shù)據(jù),多是基于查表的算法,首先要準(zhǔn)備一個(gè)表,一共 256 項(xiàng)。這個(gè)是按高位到低位的發(fā)送順序時(shí)使用的校驗(yàn)方法。分析了 CRC 校驗(yàn)原理、算法形式和算法的實(shí)現(xiàn)。 14 第 4章 軟件的實(shí)現(xiàn)及其測試 開發(fā)工具概述 Windows 編程與 MFC Windows 編程大致 有兩種方法,一種是 Windows C 方向,即 SDK 方向,調(diào)用 Win 32 API 函數(shù),主要是利用 C 語言來實(shí)現(xiàn)軟件的功能與編程;另外一種方法是 C++對 SDK 函數(shù)進(jìn)行包裝,如 VC 的 MFC(微軟基礎(chǔ)類庫), BOB 的 OWL等 [12,13]。 本次軟件程序設(shè)計(jì)功能的實(shí)現(xiàn)主要利用 Windows 編程中 MFC(利用 C++語言)。使用此應(yīng)用程序框架有很多優(yōu)點(diǎn),如其應(yīng)用程序代碼小,運(yùn)行速度快,并且此應(yīng)用程序提供的工具也降低了編碼的難度等。平大家所見到的大多數(shù)Windows應(yīng)用程序均屬于這兩種框架。是微軟把 Windows API 進(jìn)行封裝的類庫,該類庫以層次結(jié)構(gòu)組織起來,其中封裝了大部分 Windows API函數(shù)和Windows控件 [14]。啟用MFC編碼可以使 Windows程序員能夠利用 C++面向?qū)ο蟮乃枷脒M(jìn)行編程,用好的類作為標(biāo)準(zhǔn),減少代碼的編寫量 [15]。 15 雖然在 Windows 下 Win32API 提供了使用文件操作方式的函數(shù)進(jìn)行串口操作的方法,但是在編程實(shí)現(xiàn)上還是比較復(fù)雜 。 Windows 提供 的 ActiveX 控件 利用 它本身帶 的 MSComm ActiveX控件,只需要 程序員編寫少量的代碼,就能輕松 完成任務(wù), 這樣就 使得對串口編程不再需要處理煩瑣的細(xì)節(jié)。所以,本次實(shí)現(xiàn)兩臺 PC間的通信使用的就是 MSComm控件。主要功能框圖如圖 41 所示。 主 函數(shù) 密碼登錄 參數(shù)設(shè)置 打開串口 關(guān)閉串口 接收數(shù)據(jù) 發(fā)送數(shù)據(jù) 十六進(jìn)制顯示 CRC校驗(yàn) 16 圖 42 程序流程框圖 開始 調(diào)用初始化程序 登錄驗(yàn)證是否正確 主界面 是否選擇 16 進(jìn)制
點(diǎn)擊復(fù)制文檔內(nèi)容
畢業(yè)設(shè)計(jì)相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1