基于labview的PC與單片機(jī)的串口通信的循環(huán)計數(shù)設(shè)計方法畢業(yè)設(shè)計(論文).doc_第1頁
基于labview的PC與單片機(jī)的串口通信的循環(huán)計數(shù)設(shè)計方法畢業(yè)設(shè)計(論文).doc_第2頁
基于labview的PC與單片機(jī)的串口通信的循環(huán)計數(shù)設(shè)計方法畢業(yè)設(shè)計(論文).doc_第3頁
基于labview的PC與單片機(jī)的串口通信的循環(huán)計數(shù)設(shè)計方法畢業(yè)設(shè)計(論文).doc_第4頁
基于labview的PC與單片機(jī)的串口通信的循環(huán)計數(shù)設(shè)計方法畢業(yè)設(shè)計(論文).doc_第5頁
已閱讀5頁,還剩53頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

畢 業(yè) 設(shè) 計(論 文)題 目:(三號楷體)摘 要虛擬儀器是一種利用計算機(jī)技術(shù)替代傳統(tǒng)儀器的全新概念儀器,本質(zhì)就是利用電腦優(yōu)越的硬件顯示性能替代傳統(tǒng)儀器達(dá)不到的顯示效果,用多種不同的方式顯示和存儲采集的信號,根據(jù)電腦先進(jìn)的硬件處理設(shè)備來處理和分析采集回來的數(shù)據(jù),從而實現(xiàn)不同調(diào)試功能的pc虛擬儀器系統(tǒng)。本畢設(shè)依據(jù)labview虛擬儀器實現(xiàn)上位機(jī)與下位機(jī)之間的高速通訊,并根據(jù)labview中的visa功能,將其應(yīng)用于單片機(jī)串口通信中,通過labview發(fā)送循環(huán)計數(shù)的初值,單片機(jī)接收并顯示在數(shù)碼管上,從接收到的初值開始計數(shù),同時單片機(jī)返回循環(huán)計數(shù)結(jié)果,最后在labview面板內(nèi)容上動態(tài)顯示循環(huán)計數(shù)值。虛擬儀器軟件labview的問世,大大提高了開發(fā)效率,減編寫程序的難度,縮短了研發(fā)周期,從而減少研發(fā)成本,為我們實際項目研發(fā)提高了效率,帶來了巨大財富。關(guān)鍵詞:labview; stc51單片機(jī); 串口通訊;數(shù)碼管顯示;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 課題實現(xiàn)內(nèi)容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ā)展與現(xiàn)狀11 2.2.4 虛擬儀器的應(yīng)用112.3 labview簡介122.4 labview基本特點(diǎn)132.5 stc89c51rc 單片機(jī)介紹132.6 單片機(jī)編程環(huán)境keil和下載軟件stc-isp介紹16第三章總體設(shè)計方案3.1系統(tǒng)總體方案設(shè)計183.2系統(tǒng)硬件的選擇183.2.1核心控制器選擇183.2.2上位機(jī)編程軟件的選擇193.2.3顯示系統(tǒng)選擇19第四章labview上位機(jī)介紹4.1 上位機(jī)程序內(nèi)容204.2 上位機(jī)框圖204.2.1 上位機(jī)前面板框圖204.2.2 上位機(jī)創(chuàng)建虛擬儀器過程214.2.3 上位機(jī)程序流程圖214.3 上位機(jī)labview串口通訊的實現(xiàn)22第五章單片機(jī)下位機(jī)設(shè)計5.1 下位機(jī)流程圖285.2 設(shè)計目的和實現(xiàn)方案295.2.1 設(shè)計目的295.2.2 實現(xiàn)方案295.3 系統(tǒng)硬件結(jié)構(gòu)295.3.1 系統(tǒng)硬件電路295.3.2 主控系統(tǒng)305.3.3 復(fù)位電路305.3.4 串口電路315.3.5 震蕩電路315.3.6 led電路325.3.7 數(shù)碼管顯示電路335.5 串行通信34 5.4.1 串行通信的概念和特點(diǎn)35 5.4.2 串行通信的分類355.4.3 串行通信的工作模式365.4.4 單片機(jī)內(nèi)部串口配置38第六章系統(tǒng)整體調(diào)試 聯(lián)機(jī)調(diào)試40致謝42參考文獻(xiàn)42附錄43附錄1 原理圖44附錄2 單片機(jī)才程序45第一章 緒論1.1 課題的背景和意義labview是一種編譯軟件,和visual c+和keil累的的開發(fā)環(huán)境,他是由美國國家儀器(ni)公司研制開發(fā)的,但是它與其他高低端計算機(jī)語言的明顯不同是:labview使用圖形化語言編輯程序框圖,其以框圖的形式通俗易懂和中國的象形文字有異曲同工之妙,用戶只需要通過前面板即可操縱程序;其他語言如c語言、c+、c#、vb等語言都學(xué)起來要花費(fèi)大量的時間和精力,并且不容易讀懂。 labview內(nèi)部提供了很多庫函數(shù),使得編程就像畫畫一樣過容易。它的人機(jī)交互界面實時一大特色,利用圖形化界面,在屏幕上顯示一起的操作界面,只需要通過鼠標(biāo)和鍵盤操控,簡單方便,儀器的各種參數(shù)選擇和控制方式都能通過人性化的界面來實現(xiàn)。 作為現(xiàn)代計算機(jī)技術(shù)與儀器技術(shù)二者結(jié)合的一項創(chuàng)新技術(shù),labview傳統(tǒng)儀器在人們心中的印象,順應(yīng)了現(xiàn)代測控智能化和網(wǎng)絡(luò)化的發(fā)展趨勢。目前,labview技術(shù)在工業(yè)控制、自動控制和實驗室建設(shè)等領(lǐng)域有著十分廣泛的應(yīng)用前景。 隨著信息技術(shù)的高速發(fā)展,在嵌入式系統(tǒng)設(shè)計和計算機(jī)系統(tǒng)設(shè)計中常常會遇到各個系統(tǒng)之間的通信問題。現(xiàn)在比較常用的數(shù)據(jù)通信方式有并行通信、串行通信兩種方式: 串行通信只能以位為單位進(jìn)行數(shù)據(jù)傳輸,通信速度比較慢,每個字節(jié)通常需要被拆分為很多比特位才能進(jìn)行傳輸,但串行通信在傳輸過程只需要一根數(shù)據(jù)線就可以完成數(shù)據(jù)流的發(fā)送,所以成本較低,因此適用于短距離通信或?qū)鬏斔俣纫蟛桓咄ㄐ艌龊?。并行通信可以以字?jié)或多字節(jié)為單位進(jìn)行數(shù)據(jù)通信,因此他的傳輸速度非常快快,但需用的通訊線多,成本較高,并且不適宜遠(yuǎn)距離傳輸通常應(yīng)用于計算機(jī)總線和plc內(nèi)部總線之間的通信; 本課題運(yùn)用stc單片機(jī)實現(xiàn)嵌入式系統(tǒng)的構(gòu)建,用圖形化編輯軟件labview編寫上位機(jī)控制系統(tǒng),實現(xiàn)了嵌入式系統(tǒng)與pc機(jī)之間的相互通信,并且用人性話的操作界面進(jìn)行控制。最終達(dá)到程序穩(wěn)定可靠地運(yùn)行,數(shù)據(jù)實時穩(wěn)定的顯示,可以通過pc機(jī)進(jìn)行遠(yuǎn)程監(jiān)控。本課題涵蓋了虛擬儀器技術(shù)、數(shù)字電路技術(shù)、串口通信技術(shù)、人機(jī)交互界面技術(shù)和一定程度上的平面設(shè)計技術(shù),這對進(jìn)一步提高學(xué)生的綜合素質(zhì),培養(yǎng)創(chuàng)新意識,培養(yǎng)學(xué)生從事科學(xué)、技術(shù)研究能力有著重要意義。1.2 課題實現(xiàn)的內(nèi)容本設(shè)計基于labview虛擬儀器編寫串口上位機(jī)控制系統(tǒng),同時編寫以單片機(jī)為核心的數(shù)碼管動態(tài)顯示系統(tǒng),上位機(jī)可以控制單片機(jī)循環(huán)顯示的初始數(shù)值,下位機(jī)將顯示的數(shù)值實時發(fā)回上位機(jī)進(jìn)行顯示。上位機(jī)上可以設(shè)置通信波特率、數(shù)據(jù)位、停止位,同時設(shè)有打開串口按鈕、停止運(yùn)行按鈕、清空發(fā)送去按鈕、清空接收區(qū)按鈕;還有接收數(shù)據(jù)顯示文本框和發(fā)送數(shù)據(jù)顯示文本框,用戶通過設(shè)置串口通信參數(shù)和打開串口按鈕即可與下位機(jī)進(jìn)行串口通信,并將下位機(jī)發(fā)回的數(shù)據(jù)實時顯示到pc機(jī)上,同時還可以控制循環(huán)的初始值。下位機(jī)以stc89c52單片機(jī)為主控制器,以8端數(shù)碼管為顯示系統(tǒng),單片機(jī)根據(jù)定時器0一秒定時和上位機(jī)的控制數(shù)據(jù)來進(jìn)行數(shù)碼管循環(huán)計數(shù)。同時設(shè)計單片機(jī)最小控制系統(tǒng),數(shù)碼管顯示系統(tǒng)電路,串口通訊電路,接收信息分析算法的設(shè)計。最后使用keil5軟件編程和stc-isp程序燒錄軟件。第二章軟硬件介紹2.1 虛擬儀器與labview2.1 虛擬儀器概述測量儀器從發(fā)展到現(xiàn)在,總體上經(jīng)過四個階段,分別為模擬儀器、分立元件式儀器、數(shù)字化儀器和智能測量儀器。然而隨著計算機(jī)技術(shù)和網(wǎng)絡(luò)的迅猛發(fā)展,新的測試?yán)碚?、測試方法、測試領(lǐng)域及測試儀器的不斷出現(xiàn),在很多方面早已突破傳統(tǒng)儀器的概念,電子測量儀器的功能和作用已經(jīng)發(fā)生質(zhì)的變化。就在此刻虛擬儀器應(yīng)運(yùn)而生。虛擬儀器是在計算機(jī)機(jī)的高性能硬件平臺上,由用戶自己設(shè)計并定義界面顯示和功能的一種計算機(jī)儀器系統(tǒng)。虛擬儀器技術(shù)就是利用現(xiàn)有的高性能硬件模塊,并結(jié)合靈活高效的軟件來完成各種測試、測量和自動化的應(yīng)用。靈活高效的軟件能夠開發(fā)出完全符合用戶需求和習(xí)慣的界面,硬件的集成模塊能提高設(shè)計的集成度,同時大大縮減開發(fā)周期。計算機(jī)跟測量儀器的緊密配合是目前測量儀器發(fā)展的一個重要方向。計算機(jī)與測量儀器的結(jié)合大概分為兩種方式:一種是將計算機(jī)嵌入到測量儀器當(dāng)中,智能化儀器就是一種典型的表現(xiàn),比如目前比較流行的嵌入式系統(tǒng);另外一種方式就是通過標(biāo)準(zhǔn)接口技術(shù)將所需的測量設(shè)備跟計算機(jī)連接,在高效快速的計算機(jī)硬件基礎(chǔ)上,實現(xiàn)不同的功能。而目前的虛擬儀器就是第二種方式。常見的虛擬儀方案如圖1.2所示。數(shù)據(jù)采集卡數(shù)據(jù)處理信號調(diào)理被測對象虛擬儀器面板圖1.2 虛擬儀器方案2.2.1 虛擬儀器方案的組成高效的軟件: 虛擬儀器技術(shù)中核心的部分就是軟件。有了正確高效的軟件工具,工程師們可以高效快捷地創(chuàng)建自己的應(yīng)用及漂亮的人機(jī)交互界面。ni公司提供的行業(yè)標(biāo)準(zhǔn)圖形化編程軟件labview,能簡單快捷地與各種軟硬件進(jìn)行對接,并且能提供強(qiáng)大的后續(xù)數(shù)據(jù)處理能力,還有設(shè)置參數(shù),保存數(shù)據(jù)的功能,同時顯示客戶需要的數(shù)據(jù)。模塊化的i/o硬件:計算機(jī)與外部外設(shè)的通信方式主要通過對外通信接口(如rs232c,gpib,1394等)、信號轉(zhuǎn)換功能(如a/d,d/a,i/o卡等)以及總線通信(如vxi,pxi)等來實現(xiàn)的,ni提供了全方位的軟硬件的解決方案。不管使用者是使用pci、pxi、pcmcia、usb,ni都有現(xiàn)成成熟的方案。 以上所述的接口、模塊、板卡等硬件與傳感器和計算機(jī)組成完整的虛擬儀器系統(tǒng)。2.2.2 虛擬儀器方案的特點(diǎn)和優(yōu)勢 虛擬儀器技術(shù)有了好的編譯環(huán)境、標(biāo)準(zhǔn)的接口和集成的軟硬件平臺這三個重要的組成部分部分,才能充分發(fā)揮它的高性能,方便擴(kuò)展、開發(fā)周期短以及集成度高這些優(yōu)勢。1、高性能 因為虛擬儀器是在現(xiàn)代通用計算機(jī)的基礎(chǔ)之上產(chǎn)生的,所以它完美的繼承了計算機(jī)技術(shù)的高性能,高處理的優(yōu)點(diǎn),比如運(yùn)算速度,文件管理,圖像處理,數(shù)據(jù)分析等很多優(yōu)點(diǎn),這些優(yōu)點(diǎn)是傳統(tǒng)儀器望塵莫及的。2、方便擴(kuò)展 有了虛擬儀器,各種軟硬件工程師們就可以從畫pcb,電路設(shè)計和軟件代碼的編寫中解放出來,因為虛擬儀器的靈活性,用戶可以根據(jù)項目升級或功能變動二更新計算機(jī)系統(tǒng)或替換高效率的硬件模塊,這就極大地降低了成產(chǎn)成本和維護(hù)成本,大大的縮短了開發(fā)周期,加速產(chǎn)品的上市時間。3、研發(fā)周期短 在研發(fā)項目的過程中虛擬儀器把計算機(jī)技術(shù)、測量儀器和模塊之間的通信這些最新技術(shù)結(jié)合在一起。這些成熟的技術(shù)極大地為研發(fā)者節(jié)省時間,研發(fā)者就有更多的精力去想怎樣結(jié)合這些優(yōu)良的技術(shù)使得自己的產(chǎn)品更具有競爭力。4、系統(tǒng)的開放性強(qiáng)現(xiàn)在強(qiáng)大的云服務(wù),網(wǎng)絡(luò)的高速發(fā)展使得我們可以足不出戶即可得知天下事,同樣虛擬儀器是在計算機(jī)基礎(chǔ)上發(fā)展而來,因此他也具有與其他設(shè)備進(jìn)行遠(yuǎn)程檢測和管理的優(yōu)越性,并且基于網(wǎng)絡(luò)平臺,他可以和其他高檔外設(shè)通過網(wǎng)絡(luò)通信,應(yīng)用領(lǐng)域明顯擴(kuò)大。2.2.3 虛擬儀器pk傳統(tǒng)儀器 虛擬儀器有軟件和硬件兩方面組成,軟件有圖形化界面編輯出虛擬操作平臺,功能可以隨以根據(jù)功能進(jìn)行編寫,非常靈活,同時它還兼容各種設(shè)備驅(qū)動,也就是說兼容傳統(tǒng)儀器,使用面廣, 傳統(tǒng)儀器都是按需制的,功能單一,價格昂貴,兼容性不太好具體空下表中看出。虛擬儀器傳統(tǒng)儀器用戶自己設(shè)計功能廠家定義各種功能與外設(shè)連接簡單只能與特定儀器連接研發(fā)周期較短儀器研發(fā)需要時間較長一起研發(fā)成本低儀器研成本高升級軟硬件功能簡單改變功能復(fù)雜重復(fù)利用簡單重復(fù)利用困難無限擴(kuò)展存儲空間有限的存儲空間研發(fā)主要是軟件設(shè)計研發(fā)主要是硬件設(shè)計表1.1虛擬儀器與傳統(tǒng)儀器的區(qū)別2.2.4 虛擬儀器的發(fā)展與現(xiàn)狀 虛擬儀器還沒有問世的時候,傳統(tǒng)儀器設(shè)備占據(jù)著各大市場領(lǐng)域。每一種儀器都具有特定的功能,有時候研發(fā)一個項目需要購置大批的測量儀器,并且每一種儀器都需要人工親自完成,隨著計算機(jī)技術(shù)的發(fā)展,虛擬儀器的發(fā)展大致經(jīng)歷了以下幾個歷程。 第一個歷程是利用用計算機(jī)的先進(jìn)功能功能來提高傳統(tǒng)測量儀器的性能。因為計算機(jī)的快速發(fā)展和一系列標(biāo)準(zhǔn)的通信接口,使得電腦可以很隨意的與各種高精度的一起之間進(jìn)行通信,我們只需要把需要的測量儀器通過一定轉(zhuǎn)接技術(shù)與電腦連接上,工程師們就可以通過熟悉的電腦界面進(jìn)行對測量儀器進(jìn)行不間斷地監(jiān)控。 第二個歷程是一種常見的接口和開放式的硬件。隨著科技進(jìn)步和信息化的發(fā)展,各種測量儀器出現(xiàn)了質(zhì)的飛躍:數(shù)據(jù)采集卡和一系列標(biāo)準(zhǔn)總線結(jié)構(gòu)的確立。這些新的標(biāo)準(zhǔn)就使得不同測量儀器之間的通信阻礙減小。 第三個歷程虛擬儀器生成了一種編程標(biāo)準(zhǔn),通信協(xié)議,總線通信,和硬件接口都有了統(tǒng)一的執(zhí)行標(biāo)準(zhǔn),因此工程師們九個以把精力放在程序的編寫和功能上面的擴(kuò)展上就不需要考慮各種通信協(xié)議的問題,大大節(jié)約了研發(fā)時間。上述經(jīng)理的歷程當(dāng)中,我們可以發(fā)現(xiàn)虛擬儀器的發(fā)展有兩個重要的標(biāo)志:一是總線標(biāo)準(zhǔn)的確立和應(yīng)用;二是使用了圖像化編程語言,用戶可以很容易的根據(jù)要求編寫特定功能,提高了研發(fā)的效率,減少了研發(fā)的成本。2.2.5 虛擬儀器的應(yīng)用1 監(jiān)控方面通過虛擬儀器,我們可以遠(yuǎn)離一些危險的場所,只需要放置一些高靈敏的傳感器,并將傳感器采集到的數(shù)據(jù)遠(yuǎn)程發(fā)回給上位機(jī)。2 教育教學(xué)方面由于虛擬儀器的快速發(fā)展,目前已擴(kuò)展至各個領(lǐng)域,教育方面也不例外,引起簡介的編程方式和高效率的研發(fā)過程使得教學(xué)部門也使用該軟件編寫教學(xué)管理系統(tǒng),使得教學(xué)方法更加的靈活。3 嵌入式系統(tǒng)因為虛擬儀器中有很多通信接口就來自與嵌入式系統(tǒng),我們可以通過虛擬儀器編寫上位機(jī)監(jiān)控系統(tǒng)實時控制下位機(jī)的的狀態(tài)。可以說虛擬儀器應(yīng)用設(shè)計各個行業(yè)領(lǐng)域,尤其是在工業(yè)控制領(lǐng)域,他的問世也是嵌入式技術(shù)的一次革新。2.3 labview簡介labview的簡稱是實驗室虛擬儀器集成環(huán)境,器英文全稱為laboratory virtual instrument engineering workbench,美國國家儀器公司(nationai instruments,簡稱ni)是labview的生產(chǎn)者。 labview為研發(fā)者提供了一種快速設(shè)計自己的測試控制系統(tǒng)的方法,用圖形化編輯語言進(jìn)行設(shè)計,高效,快速準(zhǔn)確。計算機(jī)快速的運(yùn)算能力與專一硬件的采集和傳輸能力結(jié)合在一起,極大地縮小了研發(fā)時間和研發(fā)成本。labview技術(shù)移植伴隨著計算機(jī)技術(shù)的發(fā)展而跟著提高,同時他還能通過網(wǎng)絡(luò)與旁路設(shè)備進(jìn)行互相聯(lián)機(jī)通信,我們只需要添加或減少一部分框圖內(nèi)容即可改變測量兩功能,擴(kuò)展性非常強(qiáng),并且這十分簡單。labview和visual c+等一樣也是一種常用的編程工具,它內(nèi)部有很多成熟穩(wěn)定的庫函數(shù),用戶只需要調(diào)用相應(yīng)的函數(shù)即可實現(xiàn)自己想要的共能,浙西二庫函數(shù)有數(shù)據(jù)分析,數(shù)據(jù)處理,穿行通信,聯(lián)網(wǎng)通信,保存數(shù)據(jù)等功能。labview也可以實現(xiàn)仿真調(diào)試,和c語言一樣能夠單步連續(xù)的執(zhí)行程序,進(jìn)行一步一步分析自己程序的可靠性。另外labview還有實時監(jiān)控程序運(yùn)行的功能,可以設(shè)置斷點(diǎn)和檢測探頭來實時監(jiān)控程序。使得開發(fā)起來更加有效、快捷方便。labview的編程語言和傳統(tǒng)的語言不同,它采用了圖形語言g語言,這種語言直觀通俗易懂,編起程序來高效快速。同時他還方便其他讀者閱讀程序,方便移植和理解。圖形化語言隨著虛擬儀器的告訴發(fā)展將來定會成為一種編程標(biāo)準(zhǔn)。2.4 labview的基本特點(diǎn)1 具有良好的圖形用戶界面:labview 編寫出來的程序大方美觀,有著和傳統(tǒng)儀器一樣的操作面板,各種人性化的控制按鈕,表盤顯示,圖表波形顯示,更加美觀漂亮。2 編寫方式:labview采用的圖形化編程方式比其他語言都簡單,并且閱讀起來也很方便的。3 模塊化和層次分明:labview編寫的vi面板可作為用戶層程序來使用,我們還可以將vi制作為子vi共其他程序調(diào)用,因此模塊化程度很高。4 調(diào)試方便:當(dāng)labview編好程序后,我們怎樣驗證自己程序的可行性呢,如果直接放到項目工程中進(jìn)行測試肯定不現(xiàn)實,那么我們就可以一部一部讓程序執(zhí)行,通過觀察每一塊程序的結(jié)果來驗證程序執(zhí)行有沒有問題。2.5 stc89c51rc 單片機(jī)介紹單片機(jī)最先是有intel的8031單片機(jī)發(fā)展而來的,隨著flash技術(shù)的迅速發(fā)展,51單片機(jī)橫空出世,遍布各個電子控制行業(yè),他是目前市面上最普遍的8位單片機(jī),后來由于其廣泛的應(yīng)用,很多大的公司看上了他的發(fā)展前景,紛紛推出以51為內(nèi)核的8位單片機(jī),像atmel公司的at89系列單片機(jī),被應(yīng)用到共坑測量領(lǐng)域。intel的80c31、80c51、87c51、80c32、等系列:philips、華邦dallas等公司的許多產(chǎn)品都是基于51內(nèi)核的。國內(nèi)盛行的51單片機(jī)主要是宏晶公司推出的stc系列單片機(jī),由于其價格便宜,能耗低,并且很穩(wěn)定,國內(nèi)很多地方都還在使用旗下的51單片機(jī)。stc單片機(jī)發(fā)展歷程從stc899010111215系列,分別各有特點(diǎn)。stc89系列是傳統(tǒng)的單片機(jī)和at89系列單片機(jī)之間相互通用,這一系列單片機(jī)為12t單片機(jī)。在89系列上直接發(fā)展起來的是90系列,10和11系列單片機(jī)是比較廉價的1t單片機(jī),內(nèi)部設(shè)有硬件pwm和eeprom功能,但都沒有數(shù)模轉(zhuǎn)換功能。12系列是增強(qiáng)型功能的1t單片機(jī),具有a|d轉(zhuǎn)換功能。因為其功能強(qiáng)大,價格低廉所以是市場上的主流產(chǎn)品。15系列是為了去掉外接晶振,防止因環(huán)境變化引起的頻率飄逸問題,內(nèi)部集成高精度rc震蕩電路,因此完全不需要外界晶振即可工作。下圖分別為51單片機(jī)的應(yīng)引腳圖和內(nèi)部結(jié)構(gòu)框圖。圖2.1 51芯片引腳分布51單片機(jī)分為貼片式和直插式,貼片體積小便于集成,直插式體積大但是方便焊接。上圖為直插式40引腳原理圖。圖2.2 c51單片機(jī)p0、p1、p2、p3共4組32個io輸入輸出口;內(nèi)部有111條指令,大部分為單字節(jié)指令21個專用寄存器2個可編程定時/計數(shù)器,5個中斷源,2個優(yōu)先級(52有6個)一個全雙工串行通信口外部數(shù)據(jù)存儲器尋址空間為64kb外部程序存儲器尋址空間為64kb邏輯操作位尋址功能一個+5v電源供電cpu由運(yùn)算器和控制器,同時還包括中斷系統(tǒng)和部分外部特殊功能寄存器;ram(讀寫存儲器)存放程序運(yùn)行過程中產(chǎn)生的中間過程變量和一些臨時變量;rom(制度存儲器)用以存放程序、一些原始數(shù)據(jù);i/o口:輸入輸出口,可讀可寫。兩個多功能計數(shù)器模塊,可設(shè)為定時器模式或計數(shù)器模式:五個中斷源的中斷控制系統(tǒng);一個全雙工uart(通用異步接收發(fā)送器)的串行i/o口,用于實現(xiàn)單片機(jī)之間或單片機(jī)與微機(jī)之間的串行通信;2.6 單片機(jī)編程環(huán)境keil和下載軟件stc-isp介紹keil是arm公司發(fā)布的,它包含編譯器、調(diào)試工具實現(xiàn)了與單片機(jī)編程的完美工具。提高研發(fā)人員的編程效率,該版本增加了很多常用的功能,切實的照顧到了編程人員的編程習(xí)慣。keil是用來編譯c語言的編程環(huán)境如下圖所示圖2.3 keil5-logo圖2.4 keil5-編譯界面keil工程的建立過程:編 輯 c文 件選 擇 器 件新 建 項 目編 譯生成hex文件stc-isp下載軟件程序燒錄過程點(diǎn) 擊 下 載 按 鈕打 開 文件選 擇 波 特 率選 擇 器 件 型 號第三章系統(tǒng)方案設(shè)計3.1系統(tǒng)總體方案設(shè)計下位機(jī)以stc89c52單片機(jī)為主控制器,以8端數(shù)碼管為顯示系統(tǒng),單片機(jī)根據(jù)定時器0一秒定時和上位機(jī)的控制數(shù)據(jù)來進(jìn)行數(shù)碼管循環(huán)計數(shù)。同時,利用labview2012軟件,編寫一個串口上位機(jī)通信界面。通過這個上位機(jī)界面能夠控制單片機(jī)循環(huán)計數(shù)的初值,并且接收單片機(jī)返回的實時計數(shù)值顯示在上位機(jī)上。數(shù)碼管顯示ch340 usb轉(zhuǎn)串口stc89c51rclabview上位機(jī)圖3.1總體設(shè)計3.2 系統(tǒng)硬件的選擇3.2.1核心控制器選擇方案一:arm一般用于高性能高進(jìn)度場合,優(yōu)勢是能耗低,精度高。但是成本高,不容易上手,操作麻煩,對于步進(jìn)電機(jī)來說有點(diǎn)大材小用。方案二:avr價格稍貴,性價比高,自制下載線方便,存儲空間較大,c編譯器有多種。技術(shù)成熟,資料多,上手容易,性價比是它的優(yōu)勢。方案三:stc89系列單片機(jī)便宜功耗低,操作簡單,速度不太好,但是資料成熟,上手容易。經(jīng)三方比較,stc89c52rc實惠,資料成熟且其前,并且滿足本設(shè)計需要,容易學(xué)習(xí),所以選擇該單片機(jī)小系統(tǒng)。3.2.2上位機(jī)編程軟件的選擇方案一:visual 2013用fmc語言編寫windows窗體控件,里面也有串口控件,需要學(xué)習(xí)c+語言。方案二:用c#語言需要學(xué)習(xí)java語言,java程序?qū)W習(xí)比較困難。方案三:用labview編寫上位機(jī),可視化的編程環(huán)境,圖形化的編程語言,方便快捷并且容易簡單。通過對比這些,我們選擇用labview來編寫本次上位機(jī)。由于其編程方便,開發(fā)周期短,語言容易學(xué)習(xí)。3.2.3顯示系統(tǒng)選擇 方案一:利用1602液晶顯示屏,1602可以顯示英文和數(shù)字,并有成熟的文檔資料,程序編寫起來稍微復(fù)雜點(diǎn),價格也較貴。方案二:利用諾基亞5110lcd液晶顯示屏模塊顯示??梢燥@示英文漢字,相對比較便宜。方案三:用數(shù)碼管顯示,數(shù)碼管編寫程序簡單,價格低廉,資料齊全,電路設(shè)計比較簡單,只能顯示數(shù)字。因為我們此次設(shè)計只需要顯示循環(huán)變動的數(shù)字,所以我們選擇數(shù)碼管顯示電路。第四章 labview上位機(jī)設(shè)計4.1上位機(jī)程序內(nèi)容上位機(jī)上可以設(shè)置通信波特率、數(shù)據(jù)位、停止位,同時設(shè)有打開串口按鈕、停止運(yùn)行按鈕、清空發(fā)送去按鈕、清空接收區(qū)按鈕;還有接收數(shù)據(jù)顯示文本框和發(fā)送數(shù)據(jù)顯示文本框,用戶通過設(shè)置串口通信參數(shù)和打開串口按鈕即可與下位機(jī)進(jìn)行串口通信,并將下位機(jī)發(fā)回的數(shù)據(jù)實時顯示到pc機(jī)上,同時還可以控制循環(huán)的初始值。上位機(jī)通過編寫串口通訊程序,在labview中是visa,包括visa參數(shù)配置包括波特率,數(shù)據(jù)位,停止位,校驗位等。通過write visa發(fā)送串口信息,通過read visa讀取串口信息,并顯示出來。4.2上位機(jī)框圖4.2.1上位機(jī)前面板框圖:接收區(qū)打開串口發(fā)送數(shù)據(jù)發(fā)送區(qū)清空接收區(qū)清空發(fā)送區(qū)4.2.2上位機(jī)創(chuàng)建虛擬儀器過程運(yùn)行和調(diào)試程序創(chuàng)建框圖程序創(chuàng)建前面板建立vi4.2.3程序流程圖:開始打開串口串口初始化清空緩存區(qū)發(fā)送數(shù)據(jù)發(fā)送串口數(shù)據(jù)清空發(fā)送緩存區(qū)發(fā)送數(shù)據(jù)發(fā)送循環(huán)初值4.3 上位機(jī)labview串口通訊的實現(xiàn)本上位機(jī)主要用到串口通信模塊,visa是本設(shè)計的重點(diǎn)所在,也是一個重要樞紐。程序外層用一個循環(huán)結(jié)構(gòu)加枚舉變量,同時在循環(huán)結(jié)構(gòu)上添加以個移位寄存器,使得程序先初始化,再進(jìn)入到接收和發(fā)送函數(shù)。visa子vi如下圖圖4.2子vi 4.3 子vi前面板通過前面板就可以設(shè)置波特率為9600,數(shù)據(jù)位為8位,無奇偶校驗,1個停止位。 4.4 上位機(jī)主程序框圖主程序有一個循環(huán)結(jié)構(gòu),和若干個條件結(jié)構(gòu)和一個事件觸發(fā)結(jié)構(gòu)構(gòu)成。 程序設(shè)計的步驟如下:1建立新vi程序 打開labview應(yīng)用程序,點(diǎn)擊新建按鈕,然后選擇vi從而創(chuàng)建一個新的vi程序。2程序前面板設(shè)計 在新建的前面板設(shè)計區(qū)右擊鼠標(biāo)右鍵,有一個工具選擇塊,我們可一點(diǎn)擊左上角將其鎖定到前面板。(1)添加一個字符串輸入控件:點(diǎn)擊控件-express-字符串輸入控件,雙擊將其添加到前面板上,并將標(biāo)簽改為“發(fā)送循環(huán)數(shù)據(jù)(十六進(jìn)制)”,將鼠標(biāo)移動到該控件上并點(diǎn)擊鼠標(biāo)右鍵,選擇“十六進(jìn)制顯示”。(2)添加一個字符串顯示控件:點(diǎn)擊控件-express-字符串輸入控件,雙擊將其添加到前面板上,并將標(biāo)簽改為“接收緩沖區(qū)”,將鼠標(biāo)移動到該控件上并點(diǎn)擊鼠標(biāo)右鍵,選擇“正常顯示”。(3)添加一個串口資源檢測控件:控件-新式-i/o-visa資源名稱; (4)添加一個確定按鈕控件:控件-express-按鈕與開關(guān)-ok按鈕,將標(biāo)題改為“打開串口”。(5)添加一個停止按鈕控件:控件-express-按鈕與開關(guān)-ok按鈕,將標(biāo)題改為“停止運(yùn)行”。(6)添加一個清空接收區(qū)按鈕控件:控件-express-按鈕與開關(guān)-ok按鈕,將標(biāo)題改為“清空接收區(qū)”。(7)添加一個停止按鈕控件:控件-express-按鈕與開關(guān)-ok按鈕,將標(biāo)題改為“清空發(fā)送區(qū)”。(8)添加一個停止按鈕控件:控件-express-按鈕與開關(guān)-ok按鈕,將標(biāo)題改為“發(fā)送字符”。(9)點(diǎn)擊接收區(qū),右擊鼠標(biāo)選擇自動換行。上位機(jī)面板如圖4.5所示。圖4.5上位機(jī)控制程序前面板3框圖程序設(shè)計添加函數(shù)并連線 在前面板點(diǎn)擊窗口,選擇顯示到程序框圖,或者用快捷鍵ctrl+e。(1)添加一個枚舉常量:編程-數(shù)值-枚舉常量。(2)添加4個數(shù)值常量:編程-數(shù)值-數(shù)值常量,值分別為9600(波特率)、8(數(shù)據(jù)位)、0(校驗位,無)、1(停止位)。(3)添加一個while循環(huán)結(jié)構(gòu):編程-結(jié)構(gòu)-while循環(huán)。(4)在while循環(huán)結(jié)構(gòu)上右擊創(chuàng)建移位寄存器。(5)關(guān)閉串口函數(shù):編程-儀器i/o-串口(serial)-visa關(guān)閉。(6)讀取串口函數(shù):編程-儀器i/o-串口(serial)-visa讀取。(7)寫入串口函數(shù):編程-儀器i/o-串口(serial)-visa寫入。(8)在前面板添加一個字符串組合框:新式-字符串-組合切換到框圖面板修改標(biāo)簽為端口號。(9)在端口號后面添加一個條件結(jié)構(gòu),點(diǎn)擊條件結(jié)構(gòu)在下拉菜單,選擇在后面添加分支,總共有3個分支0、1、2、3、4,。(10)在條件結(jié)構(gòu)分支0中加入visa資源名稱修改名字為asrl1:instr。同樣在1和4中添加asrl2:instr和asrl3:instr一直到asrl5:instr(11)添加一個波特率選擇組合框,在前面板添加一個字符串組合框:新式-字符串-組合切換到框圖面板修改標(biāo)簽為波特率。:(12)在波特率號后面添加一個條件結(jié)構(gòu),點(diǎn)擊條件結(jié)構(gòu)在下拉菜單,選擇在后面添加分支,總共有3個分支0、1、2,。(13)分別在0 1 2 分支中計入數(shù)字常量,2400 9600 和115200。(14)右鍵選擇循環(huán)結(jié)構(gòu)的條件端子,設(shè)置為“真時停止”,圖標(biāo)變?yōu)?。并點(diǎn)擊創(chuàng)建常量f就是一直在里面循環(huán),我們的退出是用關(guān)閉程序的stop。(15)編輯對話框錯誤輸出:編輯-對話框與用戶程序-建議錯誤處理器并將其和visa資源配置設(shè)置的錯誤輸出連接。(15)添加一個條件結(jié)構(gòu),真和假兩個分支,?連接到錯誤代碼端子。(16)在真分支中添加但按鈕對話框,輸入為(串口不存在或一打開)。(17)將visa串口字節(jié)數(shù)函數(shù)的輸出端口visa資源名稱與visa讀取函數(shù)的輸入端口visa資源名稱相連。(18)添加一個條件結(jié)構(gòu),并在里面添加兩個條件結(jié)構(gòu),里面的分別為發(fā)送數(shù)據(jù)的條件結(jié)構(gòu)和接收數(shù)據(jù)的條件結(jié)構(gòu)。(19)在最外層的條件結(jié)構(gòu)也添加兩個條件結(jié)構(gòu),一個為清空發(fā)送區(qū)另一個為清空接收區(qū)。(20)將打開串口按鈕連接到第二層條件結(jié)構(gòu)的?好上。在第二層內(nèi)添加一個定時器控件,并創(chuàng)建一個20的常量。(21)按要求連接各個控件。 連接好的程序框圖如圖5.11所示。圖4.6 pc與單片機(jī)串口通信程序框圖(22)在while循環(huán)外部再建一個事件結(jié)構(gòu):編程-結(jié)構(gòu)-事件結(jié)構(gòu)。(23)將第一個分支改變?yōu)椤巴V埂敝蹈淖?。?4)在外面添加一個停止程序控件:編程-應(yīng)用程序控件-停止,(25)在內(nèi)部將停止按鈕拖拽進(jìn)來,并將各個按鈕的狀態(tài)恢復(fù)到默認(rèn)值,并將串口關(guān)閉。圖4.6 停止程序事件框圖4調(diào)試運(yùn)行程序當(dāng)編輯好程序框圖后及時點(diǎn)擊保存按鈕。在使用串口線與單片機(jī)相連,并確定通信狀態(tài)正常后,單擊快捷工具欄中的“連續(xù)運(yùn)行”按鈕,運(yùn)行程序。程序運(yùn)行界面如圖5.12所示。圖5.12 程序運(yùn)行界面操作步驟: 1、點(diǎn)擊坐上角連續(xù)運(yùn)行按鈕。 2、根據(jù)電腦設(shè)備管理的com口選擇com口。3、設(shè)置波特率為9600。4、點(diǎn)擊打開按鈕,指示燈亮表示正常。5、停止運(yùn)行為退出vi程序。在發(fā)送循環(huán)數(shù)據(jù)框內(nèi)輸入16進(jìn)制數(shù),單片機(jī)收到后會以此數(shù)值為初值進(jìn)行循環(huán)計數(shù),并將結(jié)果義字符串的形式返回給上位機(jī)。第五章 單片機(jī)下位機(jī)設(shè)計5.1 下位機(jī)流程圖程序流程圖:開始定時器0、串口、數(shù)碼管初始化定時器中斷y循環(huán)計數(shù)值加1n退出中斷串口中斷 ynum_count = sbuf; n 退出中斷 數(shù)碼管實時顯示循環(huán)計數(shù)值 5.2 設(shè)計目的和實現(xiàn)方案5.2.1 設(shè)計目的本課題主要設(shè)計單片機(jī)串口通信,以labview作為上位機(jī),以串行通信為媒介實現(xiàn)嵌入式和電腦上之間進(jìn)行通信。串型通信方式是是電子信息領(lǐng)用和工業(yè)控制里面常用的交流信息的方式,因為其特點(diǎn)的限制適用于對傳送數(shù)據(jù)速度不高的場合,但是串口通信成本低廉通信方式簡單。用labview編輯出的人性化的上位機(jī)界面,是縮短了了研發(fā)的時間,并使得不同設(shè)備的相互通信變得非常簡單。5.2.2 實現(xiàn)方案本設(shè)計基于labview虛擬儀器編寫串口上位機(jī)控制系統(tǒng),同時編寫以單片機(jī)為核心的數(shù)碼管動態(tài)顯示系統(tǒng),上位機(jī)可以控制單片機(jī)循環(huán)顯示的初始數(shù)值,下位機(jī)將顯示的數(shù)值實時發(fā)回上位機(jī)進(jìn)行顯示。5.3 下位機(jī)硬件設(shè)計5.3.1 系統(tǒng)總硬件電路在該論文設(shè)計的串口通信控制系統(tǒng)中,硬件電路有主控制電路、數(shù)碼管顯示電路、led顯示電路、電源指示電路、復(fù)位電路、始終電路、數(shù)碼管驅(qū)動電路、ch340 usb轉(zhuǎn)串口電路。組成如下圖5.1所示圖5.1系統(tǒng)原理圖5.3.2 主控制系統(tǒng)主控電路負(fù)責(zé)循環(huán)數(shù)的計時顯示,和跟上位機(jī)的通信,因為p0口沒有驅(qū)動電路所以需要加上拉電阻。圖5.2主控電路5.3.3復(fù)位電路單片機(jī)在發(fā)生異常時可以通過復(fù)位按鈕來恢復(fù)系統(tǒng)正常工作,51單片機(jī)的復(fù)位信號為高電平,因此可以通過外部電路實現(xiàn)自動復(fù)位、手動復(fù)位或看門狗復(fù)位。因為我們用的是stc89c52rc沒有內(nèi)部看門狗復(fù)位所以我們設(shè)計手動復(fù)位電路,電路如圖5.3所示,剛開始電容充電,在陶瓷電容的陽極充滿電,當(dāng)復(fù)位按鈕按下時電容會放電并保持一段時加大到單片機(jī)復(fù)位的效果。復(fù)位電路路比較簡單,是電阻和電容組合二實現(xiàn)的。圖5.3復(fù)位電路5.3.4串口電路串口電路是本設(shè)計的的關(guān)鍵技術(shù),主要用到了串口轉(zhuǎn)usb通信,實現(xiàn)單片機(jī)與電腦之間的通信。本電路的串口通信使用usb轉(zhuǎn)串口芯片ch340是一個usb總線的轉(zhuǎn)接芯片,該芯片支持5v電壓或3.3v電壓,其電路圖如下圖3.4圖5.4 串口電路5.3.5震蕩電路 單片機(jī)要想正常工作就必須有一個時鐘電路,就像生命需要心臟跳動一樣,80c51內(nèi)部有高增益反響放大器,輸入輸出分別為xtal1,輸出引腳為xtal2,從而構(gòu)成一個穩(wěn)定的自激振蕩器。外部時鐘電路為單片機(jī)的工作提供一個時間基準(zhǔn),51單片機(jī)右兩種方式提供這種震蕩頻率,因為我們用的89c52rc沒有內(nèi)部震蕩源,所以我們選擇用外部震蕩元電路為單片機(jī)提供時鐘電路。圖5.5晶振電路5.3.6led指示電路led為發(fā)光二極管,具有單向?qū)щ娦?,大約通過5ma左右的電流就能被點(diǎn)亮了,如果電流太大的話就會燒毀二極管,二極管的壓降約為1.7v,為導(dǎo)通壓降。發(fā)光二極管分為直插式和貼片式。點(diǎn)亮二極管可分為共陽極或共陰極電路,我們的電路采用共陰極電路如下圖所示:圖5.6 led輸出電路5.3.7數(shù)碼管顯示電路數(shù)碼管顯示原理其實就是點(diǎn)亮二極管來發(fā)光的,每個數(shù)碼管里面有8個小的發(fā)光二極管,最后還有一個公共端。根據(jù)公共端的不同分為共陽極和共陰極數(shù)碼管,要想對數(shù)碼管點(diǎn)亮,就需要對需要顯示的數(shù)據(jù)進(jìn)行編碼,編完碼后在經(jīng)io口輸出就可以顯示相應(yīng)的數(shù)字。數(shù)碼管顯示分為動態(tài)顯示和靜態(tài)顯示,靜態(tài)顯示比較簡單,直接發(fā)送斷碼進(jìn)行顯示,二動態(tài)顯示其實是掃描顯示,可以顯示不同的數(shù)據(jù)。圖5.7數(shù)碼管顯示電路74hc573是數(shù)據(jù)鎖存器,當(dāng)使能端le為高電平時輸出端口的數(shù)據(jù)才能根據(jù)輸入的數(shù)據(jù)變化而變化,想要鎖存住數(shù)據(jù),就要把le制高,其真值表如下圖圖5.8 74hc573真值表5.4串行通信5.4.1串行通信的概念和特點(diǎn)串行通訊只需要一根線即可完成兩個設(shè)備之間的互相通訊,但必須要求兩邊設(shè)置一樣的波特率,在傳輸?shù)倪^程中呢,每一次只發(fā)送其中的一位。串口通訊發(fā)送和接收到的每一個字符實際上都是一次一位的傳送的,每一位為1或者為0。如圖3.1所示。圖5.9串行通信串行通信的特點(diǎn)是:通信只需一根數(shù)據(jù)線節(jié)約資源,控制簡單,先對來說傳輸速度可以滿足大多場合下的通信速度。5.4.2 串行通信的分類串行通信按發(fā)送是兩端是否使用同一時鐘線,將通信分為同步串行通信和一部串行方式兩大類,按發(fā)送的方式分為并行通信方式和穿行通信方式。下面就根據(jù)這四種不同的分類注意說明。1 同步通信同步通信顧名思義兩邊通信要同步,何為同步呢?同步就是二者一句同一時鐘進(jìn)行工作的方式叫做同步通信。通信時,需要對發(fā)送方和接收方的適中進(jìn)行嚴(yán)格的控制,這樣才能是兩邊的通信達(dá)到真正意義的同步。特點(diǎn):發(fā)送者和接受者因為在同一個時鐘下工作,因此通信不容易出錯,并且高效穩(wěn)定。圖5.9串行通信2 異步通信異步串行通信時發(fā)送方和接收方使用不同的時鐘,為了使傳輸?shù)臄?shù)據(jù)正確有效就必須是兩端的時鐘盡可能一致。異步通信是有字節(jié)為單位傳輸?shù)模试S字節(jié)之間有間隔,但在同一字節(jié)內(nèi)部各位之間的距離均為“位間隔”的整數(shù)倍。異步通信的數(shù)據(jù)有4部分組成,起始位 數(shù)據(jù)位 奇偶校驗位和停止位。特點(diǎn):不要求收發(fā)雙方時鐘嚴(yán)格一致,容易實現(xiàn),成本低,但傳輸效率不高,傳輸局里相對較遠(yuǎn)。 圖5.10串行通信3 并行通信用多條數(shù)據(jù)線同時傳送的通信方式成為并行通信,如下圖所示,8位數(shù)據(jù)的通信系統(tǒng),一次就需要8跟數(shù)據(jù)線,還有其他的控制線,所以這種方式僅適合與短距離的數(shù)據(jù)傳輸。特點(diǎn):并行通信控制簡單、相對傳輸速度快,但由于傳輸線太多,遠(yuǎn)距離傳送成本高。圖5.11串行通信5 串行通信串行通信時將數(shù)據(jù)拆分為一個位一個位進(jìn)行傳輸,就要一根電線就中了,另在加少許控制線路。由于一次只發(fā)一個位,所以傳輸效率比較低,只能通過提高貝特率提高其速度。如下圖所示特點(diǎn)傳輸線少,節(jié)約成本,傳輸距離相對較遠(yuǎn),但是比并行通信要復(fù)雜點(diǎn)。圖5.12串行通信5.5.3 串行通信的工作模式串行通訊的工作模式分為:單工、半雙工、全雙工。(1)單工形式:早期的電流環(huán)單工是通信時,數(shù)據(jù)是單向的,僅限于接收或發(fā)送二者不能同時存在,如圖3.2所示。圖4.2單工形式(2) 半雙工形式:rs-485半雙工是兩邊可以互相通訊,但是必須是分時間斷的,不能同時及發(fā)送有接收。如圖3.3所示。圖4.3半雙工形式(3) 全雙工形式:rs-232全雙工通訊是接收方和發(fā)送方你同時通信互不影響,我發(fā)的同時也可以接收信息,接收的時候還可以發(fā)送信息。如圖3.4所示。圖4.4全雙工形式本次設(shè)計采用的全雙工方式,高效快捷,傳輸速度高。5.4.4 單片機(jī)內(nèi)部串口配置51單片機(jī)內(nèi)部有一個全雙工的串行通信接口,有一個接收和發(fā)送緩存區(qū)sbuf,可以讀也可以寫,接口有兩個分別為p3.0和p3.1,。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ā)送出去。串行通信控制寄存器介紹:接下來我們一一介紹:(1).sm0、sm1:串行口工作方式控制位。sm0,sm1工作方式00方式001方式110方式211方式3(2).sm2:多機(jī)通信控制位。工作于方式0時,sm2必須為0。(3).ren:允許接收位。接收使能為:1 語序接收;0 禁止接收;默認(rèn)為為0,所以需要軟件置1.(4).tb8:發(fā)送接收數(shù)據(jù)位8。在方式2和方式3中,tb8是要發(fā)送的即第9位數(shù)據(jù)位。在多機(jī)通信中同樣亦要傳輸這一位,并且它代表傳輸?shù)牡刂愤€是數(shù)據(jù),tb8=0為數(shù)據(jù),tb8=1時為地址。(5).rb8:接收數(shù)據(jù)位8。設(shè)置數(shù)據(jù)位為8位。(6).ti:發(fā)送中斷標(biāo)志位。發(fā)送完成標(biāo)志,當(dāng)一個字節(jié)發(fā)送完成后此標(biāo)志位會自動置1.用戶可根據(jù)此標(biāo)志位檢測發(fā)送是否完成,提高通信的準(zhǔn)確性。(7).ri:接收中斷標(biāo)志位。此位為接收標(biāo)志

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論