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

正文內(nèi)容

基于labview的pc與單片機(jī)的串口通信的循環(huán)計數(shù)設(shè)計方法畢業(yè)設(shè)計(論文)-閱讀頁

2024-07-30 16:21本頁面
  

【正文】 按鈕 ,將標(biāo)題改為“ 停止運(yùn)行 ”。 ( 7)添加一個停止按鈕控件:控件 express按鈕與開關(guān) ok 按鈕 ,將標(biāo)題改為“ 清空發(fā)送區(qū) ”。 ( 9)點(diǎn)擊接收區(qū),右擊鼠標(biāo)選擇自動換行 。 圖 上位機(jī)控制 程序 前面板 3.框圖程序設(shè)計 添加函數(shù)并 連線 在前面板點(diǎn)擊窗口,選擇顯示到程序框圖,或者用快捷鍵 ctrl+E。 ( 2)添加 4 個數(shù)值常量:編程 數(shù)值 數(shù)值常量,值分別為 9600(波特率)、8(數(shù)據(jù)位)、 0(校驗(yàn)位,無)、 1(停止位)。 ( 4)在 while 循環(huán)結(jié)構(gòu)上右擊創(chuàng)建移位寄存器。 ( 6) 讀取 串口函數(shù):編程 儀器 I/O串口( Serial) VISA 讀 取 。 ( 8) 在前面板添加一個字符串組合框:新式 字符串 組合切換到框圖面板修改標(biāo)簽為端口號 。 ( 10)在條件結(jié)構(gòu)分支 0 中加入 VISA 資源名稱修改名字為 ASRL1:: INSTR。: ( 12)在波特率號后面添加一個條件結(jié)構(gòu),點(diǎn)擊條件結(jié)構(gòu)在下拉菜單,選擇在后面添加分支,總共有 3 個分支 0、 2,。 ( 14)右鍵選擇循環(huán)結(jié)構(gòu)的條件端子 ,設(shè)置為“真時停止”,圖標(biāo)變?yōu)?。 ( 15) 編輯對話框錯誤輸出:編輯 對話框與用戶程序 建議錯誤處理器并將其和 VISA 資源配置設(shè)置的錯誤輸出連接 。 ( 16)在真分支中添加但按鈕對話框,輸入為(串口不存在或一打開)。 ( 18)添加一個條件結(jié)構(gòu),并在里面添加兩個條件結(jié)構(gòu),里面的分別為發(fā)送數(shù)據(jù)的條件結(jié)構(gòu)和接收數(shù)據(jù)的條件結(jié)構(gòu)。 ( 20)將打開串口按鈕連接到第二層條件結(jié)構(gòu)的?好上。 ( 21)按要求連接各個控件。 圖 PC 與單片機(jī)串口通信程序框圖 ( 22)在 while 循環(huán)外部再建一個事件結(jié)構(gòu):編程 結(jié)構(gòu) 事件結(jié)構(gòu)。 ( 24)在外面添加一個停止程序控件:編程 應(yīng)用程序控件 停止, ( 25)在內(nèi)部將停止按鈕拖拽進(jìn)來,并將各個按鈕的狀態(tài)恢復(fù)到默認(rèn)值,并將串口關(guān)閉。在使用串口線與單片機(jī)相連,并確定通信狀態(tài)正常后,單擊快捷工具欄中的“ 連續(xù) 運(yùn)行”按鈕,運(yùn)行程序。 圖 程序運(yùn)行界面 操作步驟: 點(diǎn)擊坐上角連續(xù)運(yùn)行按鈕。 設(shè)置波特率為 9600。 停 止運(yùn)行為退出 vi 程序 。 第 五 章 單片機(jī)下位機(jī)設(shè)計 下位機(jī)流程圖 程序流程圖: Y N Y N 開始 定時器 0、串口、數(shù)碼管初始化 定時器中斷 循環(huán)計數(shù)值加 1 退出中斷 串口中斷 數(shù)碼管實(shí)時顯示循環(huán)計數(shù)值 Num_Count = SBUF。 串 型 通信方式是 是電子信息領(lǐng)用和工業(yè)控制里面常用的交流信息的方式 , 因?yàn)槠涮攸c(diǎn)的限制適用于對傳送數(shù)據(jù)速度不高的場合 , 但 是 串口通信成本低廉通信方式簡單 。 實(shí)現(xiàn)方案 本設(shè)計基于 LabVIEW 虛擬儀器編寫串口上位機(jī)控制系統(tǒng),同時編寫以單片機(jī)為核心的數(shù)碼管動態(tài)顯示系統(tǒng),上位機(jī)可以控制單片機(jī)循環(huán)顯示的初始數(shù)值,下位機(jī)將顯示的數(shù)值實(shí)時發(fā)回上位機(jī)進(jìn)行顯示。組成如下圖 所示 圖 系統(tǒng) 原理圖 主控制系統(tǒng) 主控電路負(fù)責(zé) 循環(huán)數(shù)的計時顯示,和跟上位機(jī)的通信,因?yàn)?P0 口沒有驅(qū)動電路所以需要加上拉電阻。 因?yàn)槲覀冇玫氖?STC89C52RC 沒有內(nèi)部看門狗復(fù)位所以我們設(shè)計手動復(fù)位電路,電路如 圖 所示,剛開始電容充電,在陶瓷電容的陽極充滿電,當(dāng)復(fù)位按鈕按下時電容會放電并保持一段時加大到單片機(jī)復(fù)位的效果。 圖 復(fù)位電路 串口電路 串口電路是本設(shè)計的的關(guān)鍵技術(shù),主要用到了串口轉(zhuǎn) USB 通信,實(shí)現(xiàn)單片機(jī)與電腦之間的通信。 外部時鐘電路為單片機(jī)的工作提供一個時間基準(zhǔn), 51 單片機(jī)右兩種方式提供這種震蕩頻率,因?yàn)槲覀冇玫?89C52RC 沒有內(nèi)部震蕩源,所以我們選擇用外部震蕩元電路為單片機(jī)提供時鐘電路。 發(fā)光二極管分為直插式和貼片式。根據(jù)公共端的不同分為共陽極和共陰極數(shù)碼管,要想對數(shù)碼管點(diǎn)亮,就需要對需要顯示的數(shù)據(jù)進(jìn)行編碼,編完碼后在經(jīng) IO口輸出就可以顯示相應(yīng)的數(shù)字。 圖 數(shù)碼管顯示電路 74HC573 是數(shù)據(jù)鎖存器,當(dāng)使能端 LE 為高電平時輸出端口的數(shù)據(jù)才能根據(jù)輸入的數(shù)據(jù)變化而變化,想要鎖存住數(shù)據(jù),就要把 LE 制高,其真值表如下圖 圖 74HC573 真值表 串行通信 串行通訊只需要一根線即可完成兩個設(shè)備之間的互相通訊,但必須要求兩邊設(shè)置一樣的 波特率,在傳輸?shù)倪^程中呢,每一次只發(fā)送其中的一位 。如圖 所示。 串行通信的分類 串行通信按發(fā)送是兩端是否使用同一時鐘線,將通信分為同步串行通信和一部串行方式兩大類,按發(fā)送的方式分為并行通信方式和穿行通信方式。 1 同步通信 同步通信 顧名思義兩邊通信要同步,何為同步呢?同步就是二者一句同一時鐘進(jìn)行工作的方式叫做同步通信。 特點(diǎn): 發(fā)送者和接受者因?yàn)樵谕粋€時鐘下工作,因此通信不容易出錯,并且高效穩(wěn)定 。 異步通信是有字節(jié)為單位傳輸?shù)?,允許字節(jié)之間有間隔,但在同一字節(jié)內(nèi)部各位之間的距離均為“位間隔”的整數(shù)倍。 特點(diǎn):不要求收發(fā)雙方時鐘嚴(yán)格一致,容易實(shí)現(xiàn),成本低,但傳輸效率不高,傳輸局里相對較遠(yuǎn)。 特點(diǎn):并行通信控制簡單、相對傳輸速度快,但由于傳輸線太多,遠(yuǎn)距離傳送成本高。由于一次只發(fā)一個位,所以傳輸效率比較低,只能通過提高貝特率提高其速度。 圖 串行通信 串行通信的工作模式 串行通訊的工作模式分為 :單工、半雙工、全雙工。 圖 單工形式 ( 2) 半雙工形式: RS485 半雙工是兩邊 可以互相通訊,但是必須是分時間斷的,不能同時及發(fā)送有接收 。 地 線發(fā) 送 端接 收 端發(fā) 送 端接 收 端地 線發(fā) 送 端接 收 端發(fā) 送 端接 收 端 圖 半雙工形式 ( 3) 全雙工形式: RS232 全雙工通訊是接收方和發(fā)送方你同時通信互不影響,我發(fā)的同時也可以接收信息,接收的時候還可以發(fā)送信息 。 圖 全雙工形式 本次設(shè)計采用的全雙工方式,高效快捷,傳輸速度高。 51 內(nèi)部串口結(jié)構(gòu)如下圖 由上面框圖可以看出,串行通信需要一個以為時鐘信號來解析發(fā)送或接收數(shù)據(jù),根據(jù)串口接收中斷,并將接收到的數(shù)據(jù)通過系統(tǒng)總線保存至接收 SBUF 中, 當(dāng)發(fā)送數(shù)據(jù)是過程相反, cpu 將數(shù)據(jù)寫進(jìn) SBUF,精油系統(tǒng)總線將數(shù)據(jù)分解為以為一位在發(fā)送出去。 SM0, SM1 工作方式 00 方式 0 01 方式 1 10 方式 2 11 方式 3 (2).SM2:多機(jī)通信控制位。 (3).REN:允許接收位。 在方式 2 和方式 3 中, TB8 是要發(fā)送的 —— 即第 9 位數(shù)據(jù)位。 (5).RB8:接收數(shù)據(jù)位 8。 (6).TI:發(fā)送中斷標(biāo)志位。 (7).RI:接收中斷標(biāo)志位。 電源管理寄存器 PCON PCON 主要是為 CHMOS 型單片機(jī)的電源控制而設(shè)置的專用 寄存器,單元地址是 87H,其結(jié)構(gòu)格式如下: 表 2 PCON 電源管理寄存器結(jié)構(gòu) PCON D7 D6 D5 D4 D3 D2 D1 D0 位符號 SMOD GF1 GF0 PD IDL 在 CHMOS 型單片機(jī)中,除 SMOD 位外,其他位均為虛設(shè)的, SMOD 是串行口波特率倍增位,當(dāng) SMOD=1 時,串行口波特率加倍。 中斷允許寄存器 IE 此位是串口中斷允許為,吧該位寫 1 既允許串口接收或發(fā)送中斷,區(qū)別不同的中斷根據(jù) RI(接收中斷)和 TI(發(fā)送中斷); 表 3 IE 中斷允許控制寄存器結(jié)構(gòu) 位符號 EA ES ET1 EX1 ET0 EX0 位地址 AFH AEH ADH ACH ABH AAH A9H A8H 初始化程序如下 define FOSC 11059200 //外部晶振大小 void usart_init(uint baud) { SCON = 0x50。 // TMOD = 0x20。 TR1 = 1。 //打開總中斷 ES = 1。 } 第 六 章 系統(tǒng) 整體 調(diào)試 當(dāng)上位機(jī)和下位機(jī)都編寫好后就可以對軟件和硬件進(jìn)行調(diào)試,這是一項(xiàng)研究中很重要的一個環(huán)節(jié), 通過對軟硬件結(jié)合進(jìn)行調(diào)試,就可以相互發(fā)現(xiàn)問題并及時發(fā)現(xiàn)和糾正 ,一班的方法是用排除法,遇到問題先排除明顯的硬件和軟件故障。 當(dāng)硬件仔細(xì)檢查無誤之后,才能繼續(xù)進(jìn)行下面的 測試,接下來就需要將整個系統(tǒng)分模塊進(jìn)行調(diào)試。因此我通過改動軟件就解決了此問題。發(fā)現(xiàn)數(shù)碼管顯示跟想要的結(jié)果完全不一樣,下載進(jìn)程序后,數(shù)碼管倆個位置上的數(shù) 字來回跳動還不穩(wěn)定,后來發(fā)現(xiàn)時軟件中數(shù)碼管顯示函數(shù)的延時有點(diǎn)過長,減小延時后就正常顯示了。 到此刻 為止一切軟硬件都已調(diào)通,看著數(shù)碼管上的數(shù)字穩(wěn)定的顯示,并且將數(shù)據(jù)發(fā)給電腦端,欣喜若狂,發(fā)現(xiàn)好友成就感,通過本次畢業(yè)設(shè)計提高了我自己動手解決問題的能力,同時也是我認(rèn)識到自身的不足,我會在日后的工作學(xué)習(xí)中更加勤奮好學(xué),學(xué)習(xí)先進(jìn)的科學(xué)技術(shù)報效祖國,成為祖國的棟梁之才。 上位機(jī)上可以設(shè)置通信波特率、數(shù)據(jù)位、 停止位,同時設(shè)有打開串口按鈕、停止運(yùn)行按鈕、清空發(fā)送去按鈕、清空接收區(qū)按鈕;還有接收數(shù)據(jù)顯示文本框和發(fā)送數(shù)據(jù)顯示文本框,用戶通過設(shè)置串口通信參數(shù)和打開串口按鈕即可與下位機(jī)進(jìn)行串口通信,并將下位機(jī)發(fā)回的數(shù)據(jù)實(shí)時顯示到 PC 機(jī)上,同時還可以控制循環(huán)的初始值。同時設(shè)計單片機(jī)最小控制系統(tǒng),數(shù)碼管顯示系統(tǒng)電路,串口通訊電路,接收信息分析算法的設(shè)計。 經(jīng)過一系列調(diào)試 ,功夫不否有心人,所有硬件軟件都已調(diào)試完成,收獲豐富,獲益匪淺,同時也認(rèn)識到自己的不足,懶惰,不愛動腦筋,借此畢業(yè)設(shè)計,我深刻意識到我的不足,我一定會在今后的工作學(xué)習(xí)中好好學(xué)習(xí),發(fā)奮向上,報效祖國。 Xiangxin Kong. The Designing of Serial Communication Based on and Its Applications, and Embedded Systems:382~ 384 附錄 附錄 1 原理圖 附錄 2 單片機(jī)程序 include uchar Num_Count = 0。 初始化定時器 Time_init()。 led_init()。 } } void Timer0Interrupt(void) interrupt 1//定時器中斷函數(shù) { static uint t = 0。 TL0=(6553650000)%256。 if(t=200) { t = 0。 printf(num = %3d ,(short int)(Num_Count))。 } //add your code here! } 定時器函數(shù)初始化 include include void Time_init() { TMOD=0x01。 TL0=(6553650000)%256。 ET0=1。 } include include define FOSC 11059200 //外部晶振大小 void usart_init(uin
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1