




已閱讀5頁,還剩53頁未讀, 繼續(xù)免費閱讀
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
畢 業(yè) 設 計(論 文)題 目:(三號楷體)摘 要虛擬儀器是一種利用計算機技術替代傳統(tǒng)儀器的全新概念儀器,本質就是利用電腦優(yōu)越的硬件顯示性能替代傳統(tǒng)儀器達不到的顯示效果,用多種不同的方式顯示和存儲采集的信號,根據電腦先進的硬件處理設備來處理和分析采集回來的數據,從而實現不同調試功能的pc虛擬儀器系統(tǒng)。本畢設依據labview虛擬儀器實現上位機與下位機之間的高速通訊,并根據labview中的visa功能,將其應用于單片機串口通信中,通過labview發(fā)送循環(huán)計數的初值,單片機接收并顯示在數碼管上,從接收到的初值開始計數,同時單片機返回循環(huán)計數結果,最后在labview面板內容上動態(tài)顯示循環(huán)計數值。虛擬儀器軟件labview的問世,大大提高了開發(fā)效率,減編寫程序的難度,縮短了研發(fā)周期,從而減少研發(fā)成本,為我們實際項目研發(fā)提高了效率,帶來了巨大財富。關鍵詞:labview; stc51單片機; 串口通訊;數碼管顯示;pc and the microcontroller serial communication and indicating lamp control based on labviewabstractvirtual instrument is a kind of using computer technology to replace traditional instrument instrument of new concept, essence is the use of alternatives to traditional function of superior computer display instrument reach display effect, output measurement results in many different ways, and use the computer a powerful software function implementation evaluation of signal data, analysis and processing, complete all kinds of test functions of a computer instrument system.by using labview virtual instrument was introduced in this paper the tell communication between upper machine and lower machine, using the labview function, applied to the single chip microcomputer serial port communication, sent by labview initial value of the cycle count, microcontroller to receive and display on the digital tube, starting from the received initial count, microcontroller return cycle count results at the same time, the content of the labview panel on dynamic display cycle count. virtual instrument software labview, greatly improves the development efficiency, reduce the difficulty of the program, shorten the development cycle, reducing development costs, for our practical project research and development efficiency, brought huge wealth.keywords:labview; stc51 microcontroller; a serial port communication; digital tube display 目錄第1章 緒論1.1 課題的背景和意義61.2 課題實現內容7第2章 軟硬件介紹 2.1 虛擬儀器與labview 2.2 虛擬儀器的概述82.2.1 虛擬儀器方案的組成92.2.2 虛擬儀器方案的優(yōu)勢92.2.3 虛擬儀器和傳統(tǒng)儀器的區(qū)別10 2.2.4 虛擬儀器的發(fā)展與現狀11 2.2.4 虛擬儀器的應用112.3 labview簡介122.4 labview基本特點132.5 stc89c51rc 單片機介紹132.6 單片機編程環(huán)境keil和下載軟件stc-isp介紹16第三章總體設計方案3.1系統(tǒng)總體方案設計183.2系統(tǒng)硬件的選擇183.2.1核心控制器選擇183.2.2上位機編程軟件的選擇193.2.3顯示系統(tǒng)選擇19第四章labview上位機介紹4.1 上位機程序內容204.2 上位機框圖204.2.1 上位機前面板框圖204.2.2 上位機創(chuàng)建虛擬儀器過程214.2.3 上位機程序流程圖214.3 上位機labview串口通訊的實現22第五章單片機下位機設計5.1 下位機流程圖285.2 設計目的和實現方案295.2.1 設計目的295.2.2 實現方案295.3 系統(tǒng)硬件結構295.3.1 系統(tǒng)硬件電路295.3.2 主控系統(tǒng)305.3.3 復位電路305.3.4 串口電路315.3.5 震蕩電路315.3.6 led電路325.3.7 數碼管顯示電路335.5 串行通信34 5.4.1 串行通信的概念和特點35 5.4.2 串行通信的分類355.4.3 串行通信的工作模式365.4.4 單片機內部串口配置38第六章系統(tǒng)整體調試 聯機調試40致謝42參考文獻42附錄43附錄1 原理圖44附錄2 單片機才程序45第一章 緒論1.1 課題的背景和意義labview是一種編譯軟件,和visual c+和keil累的的開發(fā)環(huán)境,他是由美國國家儀器(ni)公司研制開發(fā)的,但是它與其他高低端計算機語言的明顯不同是:labview使用圖形化語言編輯程序框圖,其以框圖的形式通俗易懂和中國的象形文字有異曲同工之妙,用戶只需要通過前面板即可操縱程序;其他語言如c語言、c+、c#、vb等語言都學起來要花費大量的時間和精力,并且不容易讀懂。 labview內部提供了很多庫函數,使得編程就像畫畫一樣過容易。它的人機交互界面實時一大特色,利用圖形化界面,在屏幕上顯示一起的操作界面,只需要通過鼠標和鍵盤操控,簡單方便,儀器的各種參數選擇和控制方式都能通過人性化的界面來實現。 作為現代計算機技術與儀器技術二者結合的一項創(chuàng)新技術,labview傳統(tǒng)儀器在人們心中的印象,順應了現代測控智能化和網絡化的發(fā)展趨勢。目前,labview技術在工業(yè)控制、自動控制和實驗室建設等領域有著十分廣泛的應用前景。 隨著信息技術的高速發(fā)展,在嵌入式系統(tǒng)設計和計算機系統(tǒng)設計中常常會遇到各個系統(tǒng)之間的通信問題?,F在比較常用的數據通信方式有并行通信、串行通信兩種方式: 串行通信只能以位為單位進行數據傳輸,通信速度比較慢,每個字節(jié)通常需要被拆分為很多比特位才能進行傳輸,但串行通信在傳輸過程只需要一根數據線就可以完成數據流的發(fā)送,所以成本較低,因此適用于短距離通信或對傳輸速度要求不高通信場合。并行通信可以以字節(jié)或多字節(jié)為單位進行數據通信,因此他的傳輸速度非??炜?但需用的通訊線多,成本較高,并且不適宜遠距離傳輸通常應用于計算機總線和plc內部總線之間的通信; 本課題運用stc單片機實現嵌入式系統(tǒng)的構建,用圖形化編輯軟件labview編寫上位機控制系統(tǒng),實現了嵌入式系統(tǒng)與pc機之間的相互通信,并且用人性話的操作界面進行控制。最終達到程序穩(wěn)定可靠地運行,數據實時穩(wěn)定的顯示,可以通過pc機進行遠程監(jiān)控。本課題涵蓋了虛擬儀器技術、數字電路技術、串口通信技術、人機交互界面技術和一定程度上的平面設計技術,這對進一步提高學生的綜合素質,培養(yǎng)創(chuàng)新意識,培養(yǎng)學生從事科學、技術研究能力有著重要意義。1.2 課題實現的內容本設計基于labview虛擬儀器編寫串口上位機控制系統(tǒng),同時編寫以單片機為核心的數碼管動態(tài)顯示系統(tǒng),上位機可以控制單片機循環(huán)顯示的初始數值,下位機將顯示的數值實時發(fā)回上位機進行顯示。上位機上可以設置通信波特率、數據位、停止位,同時設有打開串口按鈕、停止運行按鈕、清空發(fā)送去按鈕、清空接收區(qū)按鈕;還有接收數據顯示文本框和發(fā)送數據顯示文本框,用戶通過設置串口通信參數和打開串口按鈕即可與下位機進行串口通信,并將下位機發(fā)回的數據實時顯示到pc機上,同時還可以控制循環(huán)的初始值。下位機以stc89c52單片機為主控制器,以8端數碼管為顯示系統(tǒng),單片機根據定時器0一秒定時和上位機的控制數據來進行數碼管循環(huán)計數。同時設計單片機最小控制系統(tǒng),數碼管顯示系統(tǒng)電路,串口通訊電路,接收信息分析算法的設計。最后使用keil5軟件編程和stc-isp程序燒錄軟件。第二章軟硬件介紹2.1 虛擬儀器與labview2.1 虛擬儀器概述測量儀器從發(fā)展到現在,總體上經過四個階段,分別為模擬儀器、分立元件式儀器、數字化儀器和智能測量儀器。然而隨著計算機技術和網絡的迅猛發(fā)展,新的測試理論、測試方法、測試領域及測試儀器的不斷出現,在很多方面早已突破傳統(tǒng)儀器的概念,電子測量儀器的功能和作用已經發(fā)生質的變化。就在此刻虛擬儀器應運而生。虛擬儀器是在計算機機的高性能硬件平臺上,由用戶自己設計并定義界面顯示和功能的一種計算機儀器系統(tǒng)。虛擬儀器技術就是利用現有的高性能硬件模塊,并結合靈活高效的軟件來完成各種測試、測量和自動化的應用。靈活高效的軟件能夠開發(fā)出完全符合用戶需求和習慣的界面,硬件的集成模塊能提高設計的集成度,同時大大縮減開發(fā)周期。計算機跟測量儀器的緊密配合是目前測量儀器發(fā)展的一個重要方向。計算機與測量儀器的結合大概分為兩種方式:一種是將計算機嵌入到測量儀器當中,智能化儀器就是一種典型的表現,比如目前比較流行的嵌入式系統(tǒng);另外一種方式就是通過標準接口技術將所需的測量設備跟計算機連接,在高效快速的計算機硬件基礎上,實現不同的功能。而目前的虛擬儀器就是第二種方式。常見的虛擬儀方案如圖1.2所示。數據采集卡數據處理信號調理被測對象虛擬儀器面板圖1.2 虛擬儀器方案2.2.1 虛擬儀器方案的組成高效的軟件: 虛擬儀器技術中核心的部分就是軟件。有了正確高效的軟件工具,工程師們可以高效快捷地創(chuàng)建自己的應用及漂亮的人機交互界面。ni公司提供的行業(yè)標準圖形化編程軟件labview,能簡單快捷地與各種軟硬件進行對接,并且能提供強大的后續(xù)數據處理能力,還有設置參數,保存數據的功能,同時顯示客戶需要的數據。模塊化的i/o硬件:計算機與外部外設的通信方式主要通過對外通信接口(如rs232c,gpib,1394等)、信號轉換功能(如a/d,d/a,i/o卡等)以及總線通信(如vxi,pxi)等來實現的,ni提供了全方位的軟硬件的解決方案。不管使用者是使用pci、pxi、pcmcia、usb,ni都有現成成熟的方案。 以上所述的接口、模塊、板卡等硬件與傳感器和計算機組成完整的虛擬儀器系統(tǒng)。2.2.2 虛擬儀器方案的特點和優(yōu)勢 虛擬儀器技術有了好的編譯環(huán)境、標準的接口和集成的軟硬件平臺這三個重要的組成部分部分,才能充分發(fā)揮它的高性能,方便擴展、開發(fā)周期短以及集成度高這些優(yōu)勢。1、高性能 因為虛擬儀器是在現代通用計算機的基礎之上產生的,所以它完美的繼承了計算機技術的高性能,高處理的優(yōu)點,比如運算速度,文件管理,圖像處理,數據分析等很多優(yōu)點,這些優(yōu)點是傳統(tǒng)儀器望塵莫及的。2、方便擴展 有了虛擬儀器,各種軟硬件工程師們就可以從畫pcb,電路設計和軟件代碼的編寫中解放出來,因為虛擬儀器的靈活性,用戶可以根據項目升級或功能變動二更新計算機系統(tǒng)或替換高效率的硬件模塊,這就極大地降低了成產成本和維護成本,大大的縮短了開發(fā)周期,加速產品的上市時間。3、研發(fā)周期短 在研發(fā)項目的過程中虛擬儀器把計算機技術、測量儀器和模塊之間的通信這些最新技術結合在一起。這些成熟的技術極大地為研發(fā)者節(jié)省時間,研發(fā)者就有更多的精力去想怎樣結合這些優(yōu)良的技術使得自己的產品更具有競爭力。4、系統(tǒng)的開放性強現在強大的云服務,網絡的高速發(fā)展使得我們可以足不出戶即可得知天下事,同樣虛擬儀器是在計算機基礎上發(fā)展而來,因此他也具有與其他設備進行遠程檢測和管理的優(yōu)越性,并且基于網絡平臺,他可以和其他高檔外設通過網絡通信,應用領域明顯擴大。2.2.3 虛擬儀器pk傳統(tǒng)儀器 虛擬儀器有軟件和硬件兩方面組成,軟件有圖形化界面編輯出虛擬操作平臺,功能可以隨以根據功能進行編寫,非常靈活,同時它還兼容各種設備驅動,也就是說兼容傳統(tǒng)儀器,使用面廣, 傳統(tǒng)儀器都是按需制的,功能單一,價格昂貴,兼容性不太好具體空下表中看出。虛擬儀器傳統(tǒng)儀器用戶自己設計功能廠家定義各種功能與外設連接簡單只能與特定儀器連接研發(fā)周期較短儀器研發(fā)需要時間較長一起研發(fā)成本低儀器研成本高升級軟硬件功能簡單改變功能復雜重復利用簡單重復利用困難無限擴展存儲空間有限的存儲空間研發(fā)主要是軟件設計研發(fā)主要是硬件設計表1.1虛擬儀器與傳統(tǒng)儀器的區(qū)別2.2.4 虛擬儀器的發(fā)展與現狀 虛擬儀器還沒有問世的時候,傳統(tǒng)儀器設備占據著各大市場領域。每一種儀器都具有特定的功能,有時候研發(fā)一個項目需要購置大批的測量儀器,并且每一種儀器都需要人工親自完成,隨著計算機技術的發(fā)展,虛擬儀器的發(fā)展大致經歷了以下幾個歷程。 第一個歷程是利用用計算機的先進功能功能來提高傳統(tǒng)測量儀器的性能。因為計算機的快速發(fā)展和一系列標準的通信接口,使得電腦可以很隨意的與各種高精度的一起之間進行通信,我們只需要把需要的測量儀器通過一定轉接技術與電腦連接上,工程師們就可以通過熟悉的電腦界面進行對測量儀器進行不間斷地監(jiān)控。 第二個歷程是一種常見的接口和開放式的硬件。隨著科技進步和信息化的發(fā)展,各種測量儀器出現了質的飛躍:數據采集卡和一系列標準總線結構的確立。這些新的標準就使得不同測量儀器之間的通信阻礙減小。 第三個歷程虛擬儀器生成了一種編程標準,通信協議,總線通信,和硬件接口都有了統(tǒng)一的執(zhí)行標準,因此工程師們九個以把精力放在程序的編寫和功能上面的擴展上就不需要考慮各種通信協議的問題,大大節(jié)約了研發(fā)時間。上述經理的歷程當中,我們可以發(fā)現虛擬儀器的發(fā)展有兩個重要的標志:一是總線標準的確立和應用;二是使用了圖像化編程語言,用戶可以很容易的根據要求編寫特定功能,提高了研發(fā)的效率,減少了研發(fā)的成本。2.2.5 虛擬儀器的應用1 監(jiān)控方面通過虛擬儀器,我們可以遠離一些危險的場所,只需要放置一些高靈敏的傳感器,并將傳感器采集到的數據遠程發(fā)回給上位機。2 教育教學方面由于虛擬儀器的快速發(fā)展,目前已擴展至各個領域,教育方面也不例外,引起簡介的編程方式和高效率的研發(fā)過程使得教學部門也使用該軟件編寫教學管理系統(tǒng),使得教學方法更加的靈活。3 嵌入式系統(tǒng)因為虛擬儀器中有很多通信接口就來自與嵌入式系統(tǒng),我們可以通過虛擬儀器編寫上位機監(jiān)控系統(tǒng)實時控制下位機的的狀態(tài)。可以說虛擬儀器應用設計各個行業(yè)領域,尤其是在工業(yè)控制領域,他的問世也是嵌入式技術的一次革新。2.3 labview簡介labview的簡稱是實驗室虛擬儀器集成環(huán)境,器英文全稱為laboratory virtual instrument engineering workbench,美國國家儀器公司(nationai instruments,簡稱ni)是labview的生產者。 labview為研發(fā)者提供了一種快速設計自己的測試控制系統(tǒng)的方法,用圖形化編輯語言進行設計,高效,快速準確。計算機快速的運算能力與專一硬件的采集和傳輸能力結合在一起,極大地縮小了研發(fā)時間和研發(fā)成本。labview技術移植伴隨著計算機技術的發(fā)展而跟著提高,同時他還能通過網絡與旁路設備進行互相聯機通信,我們只需要添加或減少一部分框圖內容即可改變測量兩功能,擴展性非常強,并且這十分簡單。labview和visual c+等一樣也是一種常用的編程工具,它內部有很多成熟穩(wěn)定的庫函數,用戶只需要調用相應的函數即可實現自己想要的共能,浙西二庫函數有數據分析,數據處理,穿行通信,聯網通信,保存數據等功能。labview也可以實現仿真調試,和c語言一樣能夠單步連續(xù)的執(zhí)行程序,進行一步一步分析自己程序的可靠性。另外labview還有實時監(jiān)控程序運行的功能,可以設置斷點和檢測探頭來實時監(jiān)控程序。使得開發(fā)起來更加有效、快捷方便。labview的編程語言和傳統(tǒng)的語言不同,它采用了圖形語言g語言,這種語言直觀通俗易懂,編起程序來高效快速。同時他還方便其他讀者閱讀程序,方便移植和理解。圖形化語言隨著虛擬儀器的告訴發(fā)展將來定會成為一種編程標準。2.4 labview的基本特點1 具有良好的圖形用戶界面:labview 編寫出來的程序大方美觀,有著和傳統(tǒng)儀器一樣的操作面板,各種人性化的控制按鈕,表盤顯示,圖表波形顯示,更加美觀漂亮。2 編寫方式:labview采用的圖形化編程方式比其他語言都簡單,并且閱讀起來也很方便的。3 模塊化和層次分明:labview編寫的vi面板可作為用戶層程序來使用,我們還可以將vi制作為子vi共其他程序調用,因此模塊化程度很高。4 調試方便:當labview編好程序后,我們怎樣驗證自己程序的可行性呢,如果直接放到項目工程中進行測試肯定不現實,那么我們就可以一部一部讓程序執(zhí)行,通過觀察每一塊程序的結果來驗證程序執(zhí)行有沒有問題。2.5 stc89c51rc 單片機介紹單片機最先是有intel的8031單片機發(fā)展而來的,隨著flash技術的迅速發(fā)展,51單片機橫空出世,遍布各個電子控制行業(yè),他是目前市面上最普遍的8位單片機,后來由于其廣泛的應用,很多大的公司看上了他的發(fā)展前景,紛紛推出以51為內核的8位單片機,像atmel公司的at89系列單片機,被應用到共坑測量領域。intel的80c31、80c51、87c51、80c32、等系列:philips、華邦dallas等公司的許多產品都是基于51內核的。國內盛行的51單片機主要是宏晶公司推出的stc系列單片機,由于其價格便宜,能耗低,并且很穩(wěn)定,國內很多地方都還在使用旗下的51單片機。stc單片機發(fā)展歷程從stc899010111215系列,分別各有特點。stc89系列是傳統(tǒng)的單片機和at89系列單片機之間相互通用,這一系列單片機為12t單片機。在89系列上直接發(fā)展起來的是90系列,10和11系列單片機是比較廉價的1t單片機,內部設有硬件pwm和eeprom功能,但都沒有數模轉換功能。12系列是增強型功能的1t單片機,具有a|d轉換功能。因為其功能強大,價格低廉所以是市場上的主流產品。15系列是為了去掉外接晶振,防止因環(huán)境變化引起的頻率飄逸問題,內部集成高精度rc震蕩電路,因此完全不需要外界晶振即可工作。下圖分別為51單片機的應引腳圖和內部結構框圖。圖2.1 51芯片引腳分布51單片機分為貼片式和直插式,貼片體積小便于集成,直插式體積大但是方便焊接。上圖為直插式40引腳原理圖。圖2.2 c51單片機p0、p1、p2、p3共4組32個io輸入輸出口;內部有111條指令,大部分為單字節(jié)指令21個專用寄存器2個可編程定時/計數器,5個中斷源,2個優(yōu)先級(52有6個)一個全雙工串行通信口外部數據存儲器尋址空間為64kb外部程序存儲器尋址空間為64kb邏輯操作位尋址功能一個+5v電源供電cpu由運算器和控制器,同時還包括中斷系統(tǒng)和部分外部特殊功能寄存器;ram(讀寫存儲器)存放程序運行過程中產生的中間過程變量和一些臨時變量;rom(制度存儲器)用以存放程序、一些原始數據;i/o口:輸入輸出口,可讀可寫。兩個多功能計數器模塊,可設為定時器模式或計數器模式:五個中斷源的中斷控制系統(tǒng);一個全雙工uart(通用異步接收發(fā)送器)的串行i/o口,用于實現單片機之間或單片機與微機之間的串行通信;2.6 單片機編程環(huán)境keil和下載軟件stc-isp介紹keil是arm公司發(fā)布的,它包含編譯器、調試工具實現了與單片機編程的完美工具。提高研發(fā)人員的編程效率,該版本增加了很多常用的功能,切實的照顧到了編程人員的編程習慣。keil是用來編譯c語言的編程環(huán)境如下圖所示圖2.3 keil5-logo圖2.4 keil5-編譯界面keil工程的建立過程:編 輯 c文 件選 擇 器 件新 建 項 目編 譯生成hex文件stc-isp下載軟件程序燒錄過程點 擊 下 載 按 鈕打 開 文件選 擇 波 特 率選 擇 器 件 型 號第三章系統(tǒng)方案設計3.1系統(tǒng)總體方案設計下位機以stc89c52單片機為主控制器,以8端數碼管為顯示系統(tǒng),單片機根據定時器0一秒定時和上位機的控制數據來進行數碼管循環(huán)計數。同時,利用labview2012軟件,編寫一個串口上位機通信界面。通過這個上位機界面能夠控制單片機循環(huán)計數的初值,并且接收單片機返回的實時計數值顯示在上位機上。數碼管顯示ch340 usb轉串口stc89c51rclabview上位機圖3.1總體設計3.2 系統(tǒng)硬件的選擇3.2.1核心控制器選擇方案一:arm一般用于高性能高進度場合,優(yōu)勢是能耗低,精度高。但是成本高,不容易上手,操作麻煩,對于步進電機來說有點大材小用。方案二:avr價格稍貴,性價比高,自制下載線方便,存儲空間較大,c編譯器有多種。技術成熟,資料多,上手容易,性價比是它的優(yōu)勢。方案三:stc89系列單片機便宜功耗低,操作簡單,速度不太好,但是資料成熟,上手容易。經三方比較,stc89c52rc實惠,資料成熟且其前,并且滿足本設計需要,容易學習,所以選擇該單片機小系統(tǒng)。3.2.2上位機編程軟件的選擇方案一:visual 2013用fmc語言編寫windows窗體控件,里面也有串口控件,需要學習c+語言。方案二:用c#語言需要學習java語言,java程序學習比較困難。方案三:用labview編寫上位機,可視化的編程環(huán)境,圖形化的編程語言,方便快捷并且容易簡單。通過對比這些,我們選擇用labview來編寫本次上位機。由于其編程方便,開發(fā)周期短,語言容易學習。3.2.3顯示系統(tǒng)選擇 方案一:利用1602液晶顯示屏,1602可以顯示英文和數字,并有成熟的文檔資料,程序編寫起來稍微復雜點,價格也較貴。方案二:利用諾基亞5110lcd液晶顯示屏模塊顯示。可以顯示英文漢字,相對比較便宜。方案三:用數碼管顯示,數碼管編寫程序簡單,價格低廉,資料齊全,電路設計比較簡單,只能顯示數字。因為我們此次設計只需要顯示循環(huán)變動的數字,所以我們選擇數碼管顯示電路。第四章 labview上位機設計4.1上位機程序內容上位機上可以設置通信波特率、數據位、停止位,同時設有打開串口按鈕、停止運行按鈕、清空發(fā)送去按鈕、清空接收區(qū)按鈕;還有接收數據顯示文本框和發(fā)送數據顯示文本框,用戶通過設置串口通信參數和打開串口按鈕即可與下位機進行串口通信,并將下位機發(fā)回的數據實時顯示到pc機上,同時還可以控制循環(huán)的初始值。上位機通過編寫串口通訊程序,在labview中是visa,包括visa參數配置包括波特率,數據位,停止位,校驗位等。通過write visa發(fā)送串口信息,通過read visa讀取串口信息,并顯示出來。4.2上位機框圖4.2.1上位機前面板框圖:接收區(qū)打開串口發(fā)送數據發(fā)送區(qū)清空接收區(qū)清空發(fā)送區(qū)4.2.2上位機創(chuàng)建虛擬儀器過程運行和調試程序創(chuàng)建框圖程序創(chuàng)建前面板建立vi4.2.3程序流程圖:開始打開串口串口初始化清空緩存區(qū)發(fā)送數據發(fā)送串口數據清空發(fā)送緩存區(qū)發(fā)送數據發(fā)送循環(huán)初值4.3 上位機labview串口通訊的實現本上位機主要用到串口通信模塊,visa是本設計的重點所在,也是一個重要樞紐。程序外層用一個循環(huán)結構加枚舉變量,同時在循環(huán)結構上添加以個移位寄存器,使得程序先初始化,再進入到接收和發(fā)送函數。visa子vi如下圖圖4.2子vi 4.3 子vi前面板通過前面板就可以設置波特率為9600,數據位為8位,無奇偶校驗,1個停止位。 4.4 上位機主程序框圖主程序有一個循環(huán)結構,和若干個條件結構和一個事件觸發(fā)結構構成。 程序設計的步驟如下:1建立新vi程序 打開labview應用程序,點擊新建按鈕,然后選擇vi從而創(chuàng)建一個新的vi程序。2程序前面板設計 在新建的前面板設計區(qū)右擊鼠標右鍵,有一個工具選擇塊,我們可一點擊左上角將其鎖定到前面板。(1)添加一個字符串輸入控件:點擊控件-express-字符串輸入控件,雙擊將其添加到前面板上,并將標簽改為“發(fā)送循環(huán)數據(十六進制)”,將鼠標移動到該控件上并點擊鼠標右鍵,選擇“十六進制顯示”。(2)添加一個字符串顯示控件:點擊控件-express-字符串輸入控件,雙擊將其添加到前面板上,并將標簽改為“接收緩沖區(qū)”,將鼠標移動到該控件上并點擊鼠標右鍵,選擇“正常顯示”。(3)添加一個串口資源檢測控件:控件-新式-i/o-visa資源名稱; (4)添加一個確定按鈕控件:控件-express-按鈕與開關-ok按鈕,將標題改為“打開串口”。(5)添加一個停止按鈕控件:控件-express-按鈕與開關-ok按鈕,將標題改為“停止運行”。(6)添加一個清空接收區(qū)按鈕控件:控件-express-按鈕與開關-ok按鈕,將標題改為“清空接收區(qū)”。(7)添加一個停止按鈕控件:控件-express-按鈕與開關-ok按鈕,將標題改為“清空發(fā)送區(qū)”。(8)添加一個停止按鈕控件:控件-express-按鈕與開關-ok按鈕,將標題改為“發(fā)送字符”。(9)點擊接收區(qū),右擊鼠標選擇自動換行。上位機面板如圖4.5所示。圖4.5上位機控制程序前面板3框圖程序設計添加函數并連線 在前面板點擊窗口,選擇顯示到程序框圖,或者用快捷鍵ctrl+e。(1)添加一個枚舉常量:編程-數值-枚舉常量。(2)添加4個數值常量:編程-數值-數值常量,值分別為9600(波特率)、8(數據位)、0(校驗位,無)、1(停止位)。(3)添加一個while循環(huán)結構:編程-結構-while循環(huán)。(4)在while循環(huán)結構上右擊創(chuàng)建移位寄存器。(5)關閉串口函數:編程-儀器i/o-串口(serial)-visa關閉。(6)讀取串口函數:編程-儀器i/o-串口(serial)-visa讀取。(7)寫入串口函數:編程-儀器i/o-串口(serial)-visa寫入。(8)在前面板添加一個字符串組合框:新式-字符串-組合切換到框圖面板修改標簽為端口號。(9)在端口號后面添加一個條件結構,點擊條件結構在下拉菜單,選擇在后面添加分支,總共有3個分支0、1、2、3、4,。(10)在條件結構分支0中加入visa資源名稱修改名字為asrl1:instr。同樣在1和4中添加asrl2:instr和asrl3:instr一直到asrl5:instr(11)添加一個波特率選擇組合框,在前面板添加一個字符串組合框:新式-字符串-組合切換到框圖面板修改標簽為波特率。:(12)在波特率號后面添加一個條件結構,點擊條件結構在下拉菜單,選擇在后面添加分支,總共有3個分支0、1、2,。(13)分別在0 1 2 分支中計入數字常量,2400 9600 和115200。(14)右鍵選擇循環(huán)結構的條件端子,設置為“真時停止”,圖標變?yōu)?。并點擊創(chuàng)建常量f就是一直在里面循環(huán),我們的退出是用關閉程序的stop。(15)編輯對話框錯誤輸出:編輯-對話框與用戶程序-建議錯誤處理器并將其和visa資源配置設置的錯誤輸出連接。(15)添加一個條件結構,真和假兩個分支,?連接到錯誤代碼端子。(16)在真分支中添加但按鈕對話框,輸入為(串口不存在或一打開)。(17)將visa串口字節(jié)數函數的輸出端口visa資源名稱與visa讀取函數的輸入端口visa資源名稱相連。(18)添加一個條件結構,并在里面添加兩個條件結構,里面的分別為發(fā)送數據的條件結構和接收數據的條件結構。(19)在最外層的條件結構也添加兩個條件結構,一個為清空發(fā)送區(qū)另一個為清空接收區(qū)。(20)將打開串口按鈕連接到第二層條件結構的?好上。在第二層內添加一個定時器控件,并創(chuàng)建一個20的常量。(21)按要求連接各個控件。 連接好的程序框圖如圖5.11所示。圖4.6 pc與單片機串口通信程序框圖(22)在while循環(huán)外部再建一個事件結構:編程-結構-事件結構。(23)將第一個分支改變?yōu)椤巴V埂敝蹈淖?。?4)在外面添加一個停止程序控件:編程-應用程序控件-停止,(25)在內部將停止按鈕拖拽進來,并將各個按鈕的狀態(tài)恢復到默認值,并將串口關閉。圖4.6 停止程序事件框圖4調試運行程序當編輯好程序框圖后及時點擊保存按鈕。在使用串口線與單片機相連,并確定通信狀態(tài)正常后,單擊快捷工具欄中的“連續(xù)運行”按鈕,運行程序。程序運行界面如圖5.12所示。圖5.12 程序運行界面操作步驟: 1、點擊坐上角連續(xù)運行按鈕。 2、根據電腦設備管理的com口選擇com口。3、設置波特率為9600。4、點擊打開按鈕,指示燈亮表示正常。5、停止運行為退出vi程序。在發(fā)送循環(huán)數據框內輸入16進制數,單片機收到后會以此數值為初值進行循環(huán)計數,并將結果義字符串的形式返回給上位機。第五章 單片機下位機設計5.1 下位機流程圖程序流程圖:開始定時器0、串口、數碼管初始化定時器中斷y循環(huán)計數值加1n退出中斷串口中斷 ynum_count = sbuf; n 退出中斷 數碼管實時顯示循環(huán)計數值 5.2 設計目的和實現方案5.2.1 設計目的本課題主要設計單片機串口通信,以labview作為上位機,以串行通信為媒介實現嵌入式和電腦上之間進行通信。串型通信方式是是電子信息領用和工業(yè)控制里面常用的交流信息的方式,因為其特點的限制適用于對傳送數據速度不高的場合,但是串口通信成本低廉通信方式簡單。用labview編輯出的人性化的上位機界面,是縮短了了研發(fā)的時間,并使得不同設備的相互通信變得非常簡單。5.2.2 實現方案本設計基于labview虛擬儀器編寫串口上位機控制系統(tǒng),同時編寫以單片機為核心的數碼管動態(tài)顯示系統(tǒng),上位機可以控制單片機循環(huán)顯示的初始數值,下位機將顯示的數值實時發(fā)回上位機進行顯示。5.3 下位機硬件設計5.3.1 系統(tǒng)總硬件電路在該論文設計的串口通信控制系統(tǒng)中,硬件電路有主控制電路、數碼管顯示電路、led顯示電路、電源指示電路、復位電路、始終電路、數碼管驅動電路、ch340 usb轉串口電路。組成如下圖5.1所示圖5.1系統(tǒng)原理圖5.3.2 主控制系統(tǒng)主控電路負責循環(huán)數的計時顯示,和跟上位機的通信,因為p0口沒有驅動電路所以需要加上拉電阻。圖5.2主控電路5.3.3復位電路單片機在發(fā)生異常時可以通過復位按鈕來恢復系統(tǒng)正常工作,51單片機的復位信號為高電平,因此可以通過外部電路實現自動復位、手動復位或看門狗復位。因為我們用的是stc89c52rc沒有內部看門狗復位所以我們設計手動復位電路,電路如圖5.3所示,剛開始電容充電,在陶瓷電容的陽極充滿電,當復位按鈕按下時電容會放電并保持一段時加大到單片機復位的效果。復位電路路比較簡單,是電阻和電容組合二實現的。圖5.3復位電路5.3.4串口電路串口電路是本設計的的關鍵技術,主要用到了串口轉usb通信,實現單片機與電腦之間的通信。本電路的串口通信使用usb轉串口芯片ch340是一個usb總線的轉接芯片,該芯片支持5v電壓或3.3v電壓,其電路圖如下圖3.4圖5.4 串口電路5.3.5震蕩電路 單片機要想正常工作就必須有一個時鐘電路,就像生命需要心臟跳動一樣,80c51內部有高增益反響放大器,輸入輸出分別為xtal1,輸出引腳為xtal2,從而構成一個穩(wěn)定的自激振蕩器。外部時鐘電路為單片機的工作提供一個時間基準,51單片機右兩種方式提供這種震蕩頻率,因為我們用的89c52rc沒有內部震蕩源,所以我們選擇用外部震蕩元電路為單片機提供時鐘電路。圖5.5晶振電路5.3.6led指示電路led為發(fā)光二極管,具有單向導電性,大約通過5ma左右的電流就能被點亮了,如果電流太大的話就會燒毀二極管,二極管的壓降約為1.7v,為導通壓降。發(fā)光二極管分為直插式和貼片式。點亮二極管可分為共陽極或共陰極電路,我們的電路采用共陰極電路如下圖所示:圖5.6 led輸出電路5.3.7數碼管顯示電路數碼管顯示原理其實就是點亮二極管來發(fā)光的,每個數碼管里面有8個小的發(fā)光二極管,最后還有一個公共端。根據公共端的不同分為共陽極和共陰極數碼管,要想對數碼管點亮,就需要對需要顯示的數據進行編碼,編完碼后在經io口輸出就可以顯示相應的數字。數碼管顯示分為動態(tài)顯示和靜態(tài)顯示,靜態(tài)顯示比較簡單,直接發(fā)送斷碼進行顯示,二動態(tài)顯示其實是掃描顯示,可以顯示不同的數據。圖5.7數碼管顯示電路74hc573是數據鎖存器,當使能端le為高電平時輸出端口的數據才能根據輸入的數據變化而變化,想要鎖存住數據,就要把le制高,其真值表如下圖圖5.8 74hc573真值表5.4串行通信5.4.1串行通信的概念和特點串行通訊只需要一根線即可完成兩個設備之間的互相通訊,但必須要求兩邊設置一樣的波特率,在傳輸的過程中呢,每一次只發(fā)送其中的一位。串口通訊發(fā)送和接收到的每一個字符實際上都是一次一位的傳送的,每一位為1或者為0。如圖3.1所示。圖5.9串行通信串行通信的特點是:通信只需一根數據線節(jié)約資源,控制簡單,先對來說傳輸速度可以滿足大多場合下的通信速度。5.4.2 串行通信的分類串行通信按發(fā)送是兩端是否使用同一時鐘線,將通信分為同步串行通信和一部串行方式兩大類,按發(fā)送的方式分為并行通信方式和穿行通信方式。下面就根據這四種不同的分類注意說明。1 同步通信同步通信顧名思義兩邊通信要同步,何為同步呢?同步就是二者一句同一時鐘進行工作的方式叫做同步通信。通信時,需要對發(fā)送方和接收方的適中進行嚴格的控制,這樣才能是兩邊的通信達到真正意義的同步。特點:發(fā)送者和接受者因為在同一個時鐘下工作,因此通信不容易出錯,并且高效穩(wěn)定。圖5.9串行通信2 異步通信異步串行通信時發(fā)送方和接收方使用不同的時鐘,為了使傳輸的數據正確有效就必須是兩端的時鐘盡可能一致。異步通信是有字節(jié)為單位傳輸的,允許字節(jié)之間有間隔,但在同一字節(jié)內部各位之間的距離均為“位間隔”的整數倍。異步通信的數據有4部分組成,起始位 數據位 奇偶校驗位和停止位。特點:不要求收發(fā)雙方時鐘嚴格一致,容易實現,成本低,但傳輸效率不高,傳輸局里相對較遠。 圖5.10串行通信3 并行通信用多條數據線同時傳送的通信方式成為并行通信,如下圖所示,8位數據的通信系統(tǒng),一次就需要8跟數據線,還有其他的控制線,所以這種方式僅適合與短距離的數據傳輸。特點:并行通信控制簡單、相對傳輸速度快,但由于傳輸線太多,遠距離傳送成本高。圖5.11串行通信5 串行通信串行通信時將數據拆分為一個位一個位進行傳輸,就要一根電線就中了,另在加少許控制線路。由于一次只發(fā)一個位,所以傳輸效率比較低,只能通過提高貝特率提高其速度。如下圖所示特點傳輸線少,節(jié)約成本,傳輸距離相對較遠,但是比并行通信要復雜點。圖5.12串行通信5.5.3 串行通信的工作模式串行通訊的工作模式分為:單工、半雙工、全雙工。(1)單工形式:早期的電流環(huán)單工是通信時,數據是單向的,僅限于接收或發(fā)送二者不能同時存在,如圖3.2所示。圖4.2單工形式(2) 半雙工形式:rs-485半雙工是兩邊可以互相通訊,但是必須是分時間斷的,不能同時及發(fā)送有接收。如圖3.3所示。圖4.3半雙工形式(3) 全雙工形式:rs-232全雙工通訊是接收方和發(fā)送方你同時通信互不影響,我發(fā)的同時也可以接收信息,接收的時候還可以發(fā)送信息。如圖3.4所示。圖4.4全雙工形式本次設計采用的全雙工方式,高效快捷,傳輸速度高。5.4.4 單片機內部串口配置51單片機內部有一個全雙工的串行通信接口,有一個接收和發(fā)送緩存區(qū)sbuf,可以讀也可以寫,接口有兩個分別為p3.0和p3.1,。51內部串口結構如下圖由上面框圖可以看出,串行通信需要一個以為時鐘信號來解析發(fā)送或接收數據,根據串口接收中斷,并將接收到的數據通過系統(tǒng)總線保存至接收sbuf中,當發(fā)送數據是過程相反,cpu將數據寫進sbuf,精油系統(tǒng)總線將數據分解為以為一位在發(fā)送出去。串行通信控制寄存器介紹:接下來我們一一介紹:(1).sm0、sm1:串行口工作方式控制位。sm0,sm1工作方式00方式001方式110方式211方式3(2).sm2:多機通信控制位。工作于方式0時,sm2必須為0。(3).ren:允許接收位。接收使能為:1 語序接收;0 禁止接收;默認為為0,所以需要軟件置1.(4).tb8:發(fā)送接收數據位8。在方式2和方式3中,tb8是要發(fā)送的即第9位數據位。在多機通信中同樣亦要傳輸這一位,并且它代表傳輸的地址還是數據,tb8=0為數據,tb8=1時為地址。(5).rb8:接收數據位8。設置數據位為8位。(6).ti:發(fā)送中斷標志位。發(fā)送完成標志,當一個字節(jié)發(fā)送完成后此標志位會自動置1.用戶可根據此標志位檢測發(fā)送是否完成,提高通信的準確性。(7).ri:接收中斷標志位。此位為接收標志
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 抖音商戶編導短視頻開頭吸引力制度
- 全球石油市場供需格局調整與價格走勢對能源市場供需預測技術的應用研究報告
- 浙江省寧波市鎮(zhèn)海區(qū)仁愛中學2024-2025學年數學七年級第一學期期末質量檢測試題含解析
- 貴州黔南經濟學院《可摘局部義齒工藝技術》2023-2024學年第一學期期末試卷
- 浙江杭州上城區(qū)2025屆化學九年級第一學期期末達標檢測試題含解析
- 2024-2025學年陜西省咸陽市秦嶺中學數學七年級第一學期期末達標檢測模擬試題含解析
- 公路客運行業(yè)2025年轉型升級與智能停車場建設研究報告
- 公路貨運行業(yè)數字化轉型效率提升的關鍵瓶頸與突破路徑報告
- 共享出行市場共享出行市場潛力與2025年行業(yè)政策法規(guī)分析報告
- 國際合作與交流策略研究報告
- 裝修工程合理化建議
- 星期一逃跑了 朗誦
- 《大學生軍事理論教程》第五章
- 數據安全風險評估
- 蟲子入耳怎么辦?(課件)-小學生主題班會通用版
- 拳擊入門-北京理工大學中國大學mooc課后章節(jié)答案期末考試題庫2023年
- 心理劇劇本【10篇】
- 2023貴州畢節(jié)市納雍縣人民醫(yī)院招聘第一批編外專業(yè)技術人員30人考試備考題庫及答案解析
- 中石油職稱英語通用教材
- ICD-10疾病編碼完整版
- 兒童疼痛與舒適度評估量表
評論
0/150
提交評論