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

正文內(nèi)容

基于單片機(jī)與上位機(jī)的通信系統(tǒng)設(shè)計(jì)(參考版)

2024-11-21 21:35本頁(yè)面
  

【正文】 End If Next Text2 = Text2 amp。方便顯示觀察如: 00 0F FE strData = strData amp。 39。 0 amp。讀入到緩沖區(qū) If = InputModeBinary Then BytReceived() = strBuff 39。事件發(fā)生 Case 2 Cls = 0 39。選擇奇偶校驗(yàn)位端口設(shè)置 1 33 2 39。選擇波特率端口設(shè)置 7 8 39。判斷緩沖區(qū)內(nèi)是否存在數(shù)據(jù) = Else = buf End If End Sub Private Sub Command7_Click() End End Sub Private Sub Form_Load() If = True Then = False Else End If COM1 COM2 COM3 COM4 = 0 39。清空接收數(shù)據(jù)區(qū) End Sub Private Sub Command5_Click() If = False Then = True = Trim() End If End Sub Private Sub Command6_Click() Dim buf$ buf = Trim() 39。 30 參考文獻(xiàn) [1] 徐永和 .Visual Basic 接口設(shè)計(jì)與工程實(shí)踐 .人民郵電出版社 .2020 [2] 張軍 .AVR 單片機(jī)應(yīng)用系統(tǒng)開(kāi)發(fā)典型事例 .中國(guó)電力出版社, 2020 [3] 康華光 .電子技術(shù)基礎(chǔ) .高等教育出版社 .1998 [4] 張毅剛 .《 單片 機(jī)原理及應(yīng)用高等教育出版社 2020 [5] 黃繼昌 .徐巧魚(yú)等著《傳感器工作原理及應(yīng)用實(shí)例》 .人民郵電出版社 [6] 黃智偉 .《全國(guó)大學(xué)生電子設(shè)計(jì)競(jìng)賽電路設(shè)計(jì)》 [M].北京航天航空大學(xué)出版社 [7] 王彥朋 .大學(xué)生電子設(shè)計(jì)與應(yīng)用 .中國(guó)電力出版社 . 2020 [8] 康麗軍 .Visual Basic 程序設(shè)計(jì)教程與實(shí)訓(xùn) .北京大學(xué)出版社 .2020 [9] 曾強(qiáng)聰 .Visual Basic 程序設(shè)計(jì)與應(yīng)用 .中國(guó)水利水電 出版社 .2020 [10] Bruce A,Artwick. Microputer Interfacing .Prenticehall Inc,1980 [11] Curtis Process Control Instrumentatian Technology [12] Vizimuller, P.: ‘RF design guidesystems, circuits, and equations’ (Artech House, Boston, MA, 1995) 31 附錄 A:程序 ( 1)上位機(jī)部分程序 Private Sub Command1_Click() MsgBox = Open If = False Then = True End If End Sub Private Sub Command2_Click() = False MsgBox = Close End Sub Private Sub Command3_Click() = 39。 然后還要感謝大學(xué)四年來(lái)所有的老師, 對(duì)我們的指導(dǎo)和照顧 ;同時(shí)還要感謝所有的同學(xué)們,正是因?yàn)橛辛四銈兊闹С趾凸膭?lì) , 此次畢業(yè)設(shè)計(jì)才會(huì)順利完成 。 其次要感謝 在完成 我畢業(yè)設(shè)計(jì) 過(guò)程中 , 給予我?guī)椭耐瑢W(xué),他們給予我了很多的經(jīng)驗(yàn) , 使我 克服了許多困難來(lái)完成此次畢業(yè)設(shè)計(jì), 減少了很多 工作量。劉 老師平日里工作繁多,但在我做畢業(yè)設(shè)計(jì)的 各個(gè) 階段都給予了我悉心的指導(dǎo) 。 在以后 只能通過(guò)對(duì)自己在專業(yè)知識(shí)結(jié)構(gòu)上的不斷完善,把所學(xué)到的理論知識(shí)更好地運(yùn)用到 以后的 工作 、 學(xué)習(xí) 中 , 腳踏實(shí)地把工 作做得更加出色,更加完美,最后感謝母校及老師們的栽培! 29 致謝 3 個(gè)月的畢業(yè)設(shè)計(jì) 已經(jīng)接近尾聲,作為一個(gè)本科生,由于經(jīng)驗(yàn)的匱乏,有許多考慮不周全的地 方,如果沒(méi)有導(dǎo)師的督促指導(dǎo) 、 同學(xué)們的支持, 是難以 完成 我的 設(shè)計(jì)的 。 通過(guò)自己動(dòng)手實(shí)踐和查閱資料。通過(guò)這次學(xué)習(xí), 對(duì)以前 的 知識(shí)從 一知半解到現(xiàn)在已有一個(gè)較為清晰的認(rèn)識(shí),雖然在設(shè)計(jì)過(guò)程中缺乏實(shí)際的生產(chǎn)經(jīng)驗(yàn),難免在實(shí)際的開(kāi)發(fā)生產(chǎn)過(guò)程中對(duì)問(wèn)題的突發(fā)性缺乏預(yù)見(jiàn)能力,但基本能把大學(xué)期間所學(xué)的專業(yè)知識(shí)都融會(huì)貫通起來(lái)了,并用于此次畢業(yè)設(shè) 計(jì)當(dāng)中,達(dá)到學(xué)以致用的目的 。 圖 23 上 位機(jī)部分主程序 上位機(jī)部分主要供用戶操作,當(dāng)用戶設(shè)置好 所需選項(xiàng)后,可以發(fā)送指令給下位機(jī),下位機(jī)發(fā)送數(shù) 據(jù)給上位機(jī),當(dāng)上位機(jī)接收數(shù)據(jù)完全后 ,是 下位機(jī)程序初始化 初始化串口模式為中斷方式 串口接收中斷標(biāo)位置位? 發(fā)送上位機(jī)索要數(shù)據(jù)或執(zhí)行上位機(jī)要求任務(wù) 否 27 開(kāi)始運(yùn)算判斷接收數(shù)據(jù)是否正確,如果正確則顯示在用戶窗口中,如果正確,則請(qǐng)求重發(fā)! 其程序流程圖如圖 24 所示。主程序主要完成指令的接受, 據(jù)的發(fā)送等任務(wù)。從功能上來(lái)說(shuō),系統(tǒng)程序主要由主程序、顯示程序等構(gòu)成。接收 到的數(shù)據(jù)和發(fā)送到的指令都可以通過(guò)不同的指令清空。 如圖 22 所示 , 打開(kāi)串口則 串口狀態(tài)欄則 顯示 Open,同理關(guān)閉串口則顯示 Close。 串口開(kāi) /斷部分包括打開(kāi)串口、關(guān)閉串口和一個(gè) 顯示窗口。本設(shè)計(jì)中可以選擇的通信波特率有19200bps、 9600bps、 4800bps;可以傳輸?shù)臄?shù)據(jù)位數(shù)有 8 位和 7 位兩種; 25 校驗(yàn)方式分為奇校驗(yàn)、偶校驗(yàn)、無(wú)校驗(yàn)三種方式;停止位可選擇 1位或2位。 端口設(shè)置部分包括串行端口的選擇,波特率的選擇,數(shù)據(jù)位的選擇等,通信雙方必須遵循一樣的通信協(xié)議,才可以通信成功。 顯示窗口部分包括顯示發(fā)送的指令窗口和顯示接收的數(shù)據(jù)窗口。 上位機(jī)系統(tǒng)操作界面的設(shè)計(jì)與實(shí)現(xiàn) 本系統(tǒng)的上位機(jī)部分包括顯示 窗口 部分、串口 控制 部分、端口設(shè)置部分和 窗口 控制部分等。當(dāng)程序需要傳輸字符串到對(duì)方時(shí),可將字符串使用此命令將輸出字符串寫(xiě)入輸出緩存區(qū)中,一般數(shù)據(jù)在送達(dá)輸出緩沖區(qū)后就被送出。例如: Buffer$= ’ 將輸入緩沖區(qū)字符讀入 Buffer 字符串 變量 中。程序靠這個(gè)命令 讀取對(duì)方 輸入緩沖區(qū)的數(shù)據(jù),并清除緩沖區(qū)中已被讀取的數(shù)據(jù)。 MSComm1. PortOpen=False ’關(guān)閉 端口 。串行通信端口各項(xiàng)功能都是在 PortOpen 的 True 和 False 之間完成的。通過(guò) Settings 屬性設(shè)置后,傳送和接收雙方必須遵循傳輸協(xié)定,否則無(wú)法傳送和接收。 合法的奇偶校驗(yàn)位設(shè)置如表 5所示。其格式為“ BBBB,P,D,S” ,其中, BBBB 表示聯(lián)機(jī)速率、 P表示奇偶校驗(yàn)方式、 D 為數(shù)據(jù)位數(shù)、 S則為停止位數(shù)。 這個(gè)屬性設(shè)置的參數(shù)就是串行傳輸端口設(shè)置。 例如: =1 ’設(shè)置 COM1 進(jìn)行通信傳輸。程序必須指定所要使用的串行端口號(hào)碼, Windows 系統(tǒng)會(huì)使用所設(shè)置的通信端口與外界進(jìn)行通信,程序也可借助此屬性返回所使用的連接端口號(hào)碼。屬性欄將各個(gè)屬性 都列出來(lái),用戶可在選擇相應(yīng)的項(xiàng)目后,進(jìn)行屬性的設(shè)置。 ? 屬性:每個(gè)控件的屬性都相當(dāng)多,但是通過(guò)屬性值的設(shè)置,我們可以指定硬件以一定的方式工作。 圖 18 圖 19 23 MSComm 控件控制原則 在使用 Visual Basic 所提供的串行通信功能之前,必須先了解Visual Basic 的 MSComm 控件,以便可以套用串行通信的觀念。例如,對(duì)一個(gè)簡(jiǎn)單的電話撥號(hào)程序來(lái)說(shuō),并沒(méi)有必要接收每一個(gè)字符都生成事件,因?yàn)槲ㄒ恍杞邮盏淖址褪钦{(diào)制解調(diào)器的 OK 相應(yīng)。 ? 程序通過(guò)檢查 CommEvent 屬性的值來(lái)輪詢事件和錯(cuò)誤。如有一個(gè)字符到達(dá)或發(fā)生一個(gè)變化時(shí)。 ? 事件驅(qū)動(dòng)( Eventdriven)是處理連接端口通信 的一種有效方法??梢允褂么丝丶M(jìn)行通信,如圖 19所示。 ( 3) 打開(kāi) ponents 對(duì)話框,選中“ Microsoft Comm Control ”復(fù)選框,如圖 18所示。 由于 Visual Basic 串 行通信組件 不會(huì)主動(dòng) 出現(xiàn)在工具箱中,所以需要將對(duì)鏈接和嵌入控件添加到工具箱中,步驟如下: ( 1) 單擊【 Project】菜單 。 Visual Basic 的系統(tǒng)內(nèi)置及外掛很多控件,其中, MSComm通信控件可以讓我們完成串行通信的設(shè)計(jì)。 如圖 17所示。它列出了目前執(zhí)行的工程所包含的窗體,讓設(shè)計(jì)者在使用和編輯時(shí)一目了然。 Visual Basic 在設(shè)計(jì)一個(gè)功能時(shí),通常會(huì)打開(kāi)一個(gè)工程。讀者可以在屬性窗口中更改建立控件的屬性。 ( 2)屬性窗口。如果要在窗體內(nèi)引用工具箱內(nèi)的控件,可直接點(diǎn)擊該工具按鈕,并在編輯窗體中適當(dāng)位置拖拽鼠標(biāo) ,調(diào)整其大小 ,松開(kāi)鼠標(biāo),就成功的使用工具箱建立了對(duì)象。 ( 1)工具箱窗口。如圖 14所示。單擊“打開(kāi)”按鈕,進(jìn)入 Visual Basic 的開(kāi)發(fā)環(huán)境窗口。 初識(shí) Visual Basic 安裝完成 Visual Basic 開(kāi)發(fā)環(huán)境后,打開(kāi)“ Visual Basic ”應(yīng)用程序,即可看到如圖 13 所示的窗口。上位機(jī)發(fā)出的命令首先給下位機(jī),下位機(jī)再根據(jù)此命令解釋成相應(yīng)時(shí)序信號(hào)直接控制相應(yīng)設(shè)備。 若 RX_BUF[ ]={ 0x01H, 0x57H, 0x56H },將接收到的第一位數(shù)據(jù) 0x01H 與第二位數(shù)據(jù) 0x57H 相加,結(jié)果和第三位數(shù)據(jù) 0x56H 相比較,因?yàn)?0x58H≠ 0x56H,即 比較結(jié)果不相同,則上位機(jī)發(fā)送 請(qǐng)求重發(fā)命令 給下位機(jī),則下位機(jī)重新發(fā)送數(shù)據(jù)給上位機(jī),過(guò)程如上。下位機(jī)存放數(shù)據(jù) 于數(shù)組 TX_BUF 中,發(fā)送給上位機(jī),上位機(jī)接收到的數(shù)據(jù)存放于 RX_BUF 中,當(dāng) RX_BUF 中的數(shù)據(jù)接收完全后,進(jìn)行運(yùn)算。當(dāng) 接收設(shè)備接收到頭數(shù)據(jù)、有效數(shù)據(jù)、校驗(yàn)數(shù)據(jù)后,均存放于暫存器中,接收設(shè)備接收完全后進(jìn)行運(yùn)算,將頭數(shù)據(jù)和有效數(shù)據(jù)相加與校驗(yàn)數(shù)據(jù)位數(shù)據(jù)進(jìn)行比較, 比較后相等,則說(shuō)明接收到的數(shù)據(jù)正確,可以應(yīng)用;如果比較后的結(jié)果不相等,則說(shuō)明接收到的數(shù)據(jù)不正確,接收設(shè)備可以發(fā)送請(qǐng)求重發(fā)命令,發(fā)送設(shè)備接收到請(qǐng)求重發(fā)命令后重新發(fā)送有效數(shù)據(jù)給接收設(shè)備, 重新發(fā)送的 過(guò)程同上。 通 信過(guò)程中,在傳遞有效數(shù)字之前加發(fā)一個(gè)頭數(shù)據(jù),在有效數(shù)據(jù)之后加發(fā)一個(gè)校驗(yàn)數(shù)據(jù)。 本設(shè)計(jì)的通信數(shù)據(jù) 幀格式采用波特率 9600pbs,數(shù)據(jù)位 8 位,無(wú)校驗(yàn)方式進(jìn)行傳輸。 圖 11為串行通信拓?fù)浣Y(jié)構(gòu)。只有當(dāng) DSR、 DTR 都處于ON 狀態(tài) 時(shí),才能在 DTE 和 DCE 之間進(jìn)行傳送操作。 ( 2) RXD 接收數(shù)據(jù) ( Received data ) —— 通過(guò) RXD 接收線,接收從 Modem 發(fā)出的串行數(shù)據(jù) (DC→ EDTE)。 RTS/CTS 請(qǐng)求應(yīng)答用于半雙工 MODEM 系統(tǒng)中發(fā)送方式和接收方式切換,在全雙工系統(tǒng)配置雙向通道,不需要 RTS/CTS。是對(duì) RTS 的響應(yīng)信號(hào)。 用來(lái)控制 MODEM 是否要進(jìn)入發(fā)送狀態(tài)。只表明設(shè)備本身可用,并不說(shuō)明通信鏈路可以開(kāi)始通信,能否開(kāi)始通信要由下面的控制信號(hào)決定。 ( 2) DTR 數(shù)據(jù)終端準(zhǔn)備好 ( Data set raady ) —— 有效時(shí) ON 狀態(tài),表明數(shù)據(jù)終 圖 10 連接器外形 16 端處于 可以使用狀態(tài)。 圖 10 為 9針 D型串口連接器外形。 電路原理圖如圖 9所示。本設(shè)計(jì)中采用 MAX232 實(shí)現(xiàn) TTL 電平與 EIA 電平的轉(zhuǎn)換。 PC 主機(jī)上的 RS232 接口的電氣電平以 12V 代表邏輯電平“ 1”, +12V代表邏輯電平“ 0”,稱為 EIA 電平。RS232 被定義為一種在低速率串行通訊中增加通訊距離的單端標(biāo)準(zhǔn)。 嚴(yán)格的講 RS232 接口是 DTE(數(shù)據(jù)終端設(shè)備 )和 DCE(數(shù)據(jù)通信設(shè)備 )之間的一個(gè)接口。 RS232串行通信 在串行通訊時(shí),要求通訊雙方都采用一個(gè)標(biāo)準(zhǔn)接口,使不同的設(shè)備可以方便地連接起來(lái)進(jìn)行 通訊。 進(jìn)行通信之前首先要對(duì) USART 進(jìn)行初始化。如果使能了校驗(yàn)位,校驗(yàn)位將緊接著數(shù)據(jù)位,最后是結(jié)束位。 oscf —— 系統(tǒng)時(shí)鐘頻率; UBRR—— UBRRH 和 UBRRL 的數(shù)值( 04095) 14 串行數(shù)據(jù)幀由數(shù)據(jù)字加上同部位(開(kāi)始位與停止位)以及用于糾錯(cuò)的奇偶校驗(yàn)位構(gòu)成。表 3 給出了計(jì)算波特率(位 /秒)以及計(jì)算每一種使用內(nèi)部時(shí)鐘源工作模式的 UBRR 值的公式。倍速的異步模式(只是用于異步模式)受控于 UCSRA 寄存器的 U2X。 USART 支持
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1