虛擬儀器課程設(shè)計基于LabVIEW上下位機(jī)的LED顯示設(shè)計_第1頁
虛擬儀器課程設(shè)計基于LabVIEW上下位機(jī)的LED顯示設(shè)計_第2頁
虛擬儀器課程設(shè)計基于LabVIEW上下位機(jī)的LED顯示設(shè)計_第3頁
虛擬儀器課程設(shè)計基于LabVIEW上下位機(jī)的LED顯示設(shè)計_第4頁
虛擬儀器課程設(shè)計基于LabVIEW上下位機(jī)的LED顯示設(shè)計_第5頁
已閱讀5頁,還剩9頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、 電控學(xué)院課程設(shè)計(論文) 課程名稱: LabVIEW程序設(shè)計教程 題 目: 基于LabVIEW上下位機(jī)的LED顯示設(shè)計 院 (系): 電氣與控制工程學(xué)院 專業(yè)班級: XXXXXXXXXXXXXXX 姓 名: XXXX 學(xué) 號: XXXXXX 指導(dǎo)教師: XXX XX 2014年 1 月 9 日目錄1 設(shè)計任務(wù)12 系統(tǒng)方案選擇12.1整體設(shè)計12.2 通信協(xié)議12.2.1 數(shù)據(jù)信號線22.2.2 控制信號線22.3 下位機(jī)總體設(shè)計32.4 上位機(jī)總體設(shè)計33 下位機(jī)設(shè)計33.1 硬件33.1.1 時鐘晶振模塊33.1.2 復(fù)位模塊33.1.3 LED顯示模塊43.1.4 串口通信模塊43.2

2、 軟件設(shè)計53.2.1 主程序設(shè)計53.2.2 串口通信設(shè)計54 上位機(jī)設(shè)計65 系統(tǒng)調(diào)試76 結(jié)論77 總結(jié)88 參考文獻(xiàn)99 附錄10基于labview的上位機(jī)與下位機(jī)之間的通信1 設(shè)計任務(wù)此次設(shè)計所要完成的功能是使用AT89C52作為下位機(jī),通過RS-232C串口與上位機(jī)相連,將編程所實(shí)現(xiàn)的跑馬燈和端口設(shè)置數(shù)據(jù)顯示在上位機(jī)上。上位機(jī)是通過LabVIEW軟件繪制實(shí)現(xiàn),上位機(jī)界面包括設(shè)置區(qū)、命令控件區(qū)、顯示控件區(qū)、數(shù)據(jù)接收區(qū)。2 系統(tǒng)方案選擇2.1整體設(shè)計下位機(jī)使用AT89C52進(jìn)行流水燈設(shè)計,上位機(jī)使用LabVIEW進(jìn)行界面設(shè)計,顯示出端口設(shè)置數(shù)據(jù)和8個LED燈的顯示,通過RS232進(jìn)行串

3、口通訊傳送數(shù)據(jù)到上位機(jī)中顯示。AT89C52晶振時鐘復(fù)位電路8位LED上位機(jī)顯示控件區(qū)命令控件區(qū)端口設(shè)置區(qū)RS232串口圖2.1 設(shè)計框架2.2 通信協(xié)議RS-232C標(biāo)準(zhǔn)定義了數(shù)據(jù)通信設(shè)備(DCE)與數(shù)據(jù)終端設(shè)備(DTE)之間進(jìn)行串行數(shù)據(jù)傳輸?shù)慕涌谛畔?,?guī)定了接口的電氣信號和接插件的機(jī)械要求。RS-232C對信號開關(guān)電平規(guī)定如下:驅(qū)動器的輸出電平為:邏輯“0”:+5+15V;邏輯“1”:-5-15V。接收器的輸入檢測電平為:邏輯“0”:+3V;邏輯“1”:-3V。RS-232C采用負(fù)邏輯,噪聲容限可達(dá)2V。RS-232是個人計算機(jī)上的通訊接口之一,由電子工業(yè)協(xié)會(Electronic Ind

4、ustries Association,EIA) 所制定的異步傳輸標(biāo)準(zhǔn)接口。通常 RS-232 接口以9個引腳 (DB-9) 或是25個引腳 (DB-25) 的型態(tài)出現(xiàn),一般個人計算機(jī)上會有兩組 RS232 接口,分別稱為 COM1 和 COM2。RS-232C接口定義了20條可以同外界連接的信號線,并對它們的功能作了具體規(guī)定。這些信號線并不是在所有的通訊過程中都要用到可以根據(jù)通信聯(lián)絡(luò)的繁雜程度選用其中的某些信號線。RS-232-C標(biāo)準(zhǔn)規(guī)定的數(shù)據(jù)傳輸速率為50、75、100、150、300、600、1200、2400、4800、9600、19200波特。RS-232C用作計算機(jī)與遠(yuǎn)程通信設(shè)備的

5、數(shù)據(jù)傳輸接口,如圖2.2所示,圖中信號線分為數(shù)據(jù)信號線和控制信號線,分別說明如下:圖2.2 帶RS-232C接口的通信設(shè)備連接 數(shù)據(jù)信號線“發(fā)送數(shù)據(jù)(TXD)”和“接收數(shù)據(jù)(RXD)”是一對數(shù)據(jù)傳輸信號。TXD用于發(fā)送數(shù)據(jù),當(dāng)無效數(shù)據(jù)發(fā)送時,TXD線上的信號為“1”。RXD用于接收數(shù)據(jù),當(dāng)無效數(shù)據(jù)發(fā)送或者接收數(shù)據(jù)間隔期間,RXD線上的信號也為“1”。 控制信號線“請求發(fā)送(RTS)”與“為發(fā)送清零(CTS)”信號線用于雙工通信方式。半雙工方式下發(fā)送和接收只能分時進(jìn)行。當(dāng)DTE有數(shù)據(jù)待發(fā)送時,先發(fā)“請求發(fā)送”,信號通知調(diào)制解調(diào)器,此時若調(diào)制解調(diào)器處于接收方式,則必須等到接收完畢轉(zhuǎn)為發(fā)送方式時,才

6、向DTE回送“為發(fā)送清零”信號。在全雙工方式下,發(fā)送和接收能同時進(jìn)行,不使用這兩條控制信號線?!癉CE就緒”(DSR)和“DTE就緒”(DTR)信號線分別表示DCE和DTE是否處于可供使用的狀態(tài)?!氨Wo(hù)地”信號線一般連接設(shè)備的屏蔽地。2.3 下位機(jī)總體設(shè)計利用AT89C52芯片的P1口,以及軟件編程實(shí)現(xiàn)跑馬燈。2.4 上位機(jī)總體設(shè)計對于labview處理主要包括前后面板的設(shè)計,包括三部分:參數(shù)設(shè)置部分、命令控制部分及顯示部分。其中參數(shù)設(shè)置主要包括通訊口、波特率、數(shù)據(jù)位、校驗(yàn)位、停止位及接收周期的設(shè)置;命令控制主要包括啟停數(shù)據(jù)接收、顯示數(shù)據(jù)清空及退出運(yùn)行等;顯示界面主要包括接收數(shù)據(jù)顯示、接收數(shù)據(jù)

7、個數(shù)顯示、當(dāng)前下位機(jī)流水燈狀態(tài)實(shí)時顯示等。3 下位機(jī)設(shè)計3.1 硬件在硬件設(shè)計中主要為下位機(jī)的AT89C52所設(shè)計的流水燈,其中包括基本的時鐘晶振模塊,復(fù)位電路模塊,8位LED燈模塊和最重要的串口通訊模塊。 時鐘晶振模塊外接晶振給單片機(jī)提供一個時鐘信號(一個非常穩(wěn)定的頻率信號),使單片機(jī)各內(nèi)部組件同步工作,并且在和外部設(shè)備通信時是也能達(dá)到同步。圖3.1 時鐘晶振模塊 復(fù)位模塊手動開關(guān)復(fù)位使中央處理器CPU以及其他功能部件都恢復(fù)到一個確定的初始狀態(tài),并從這個狀態(tài)開始工作。除此之外,當(dāng)單片機(jī)程序運(yùn)行出現(xiàn)錯誤或系統(tǒng)處于死循環(huán)狀態(tài)時,需要對單片機(jī)進(jìn)行復(fù)位以及重新啟動。圖3.2 復(fù)位電路 LED顯示模塊

8、8位LED發(fā)光二極管實(shí)現(xiàn)流水燈操作。根據(jù)軟件設(shè)計可得到1位LED循環(huán)左移,花樣燈等。圖3.3 8位LED顯示 串口通信模塊MAX232是一種把電腦的串行口RS232信號電平(-10,+10v)轉(zhuǎn)換為單片機(jī)所用到的TTL信號點(diǎn)平(0,+5)的芯片。串口通訊模塊使上位機(jī)與下位機(jī)得以通信,進(jìn)行數(shù)據(jù)傳送。圖3.4 串口通信3.2 軟件設(shè)計 主程序設(shè)計下位機(jī)程序設(shè)計中主要執(zhí)行功能為流水燈顯示和串口發(fā)送,主程序首先對系統(tǒng)的定時器和串口進(jìn)行初始化,然后通過程序SBUF接收P1口的信號,每接收到一個P1口信號就對上位機(jī)進(jìn)行一次數(shù)據(jù)傳送,通過上位機(jī)的設(shè)計界面顯示數(shù)據(jù)。整個系統(tǒng)的主流程圖如下圖所示。圖3.5 下位

9、機(jī)程序流程圖 串口通信設(shè)計系統(tǒng)的串口部分十分重要,主要是初始化部分對相應(yīng)的寄存器進(jìn)行設(shè)置,發(fā)送數(shù)據(jù)的時候只需要將數(shù)據(jù)寫入SBUF里面即可,由發(fā)送中斷標(biāo)志位TI檢測其數(shù)據(jù)發(fā)送結(jié)束。而接收則有中斷方式和等待方式兩種,本系統(tǒng)因?yàn)閱纹瑱C(jī)所要完成的簡單,所以采用等待的方式。串口的初始化程序流程圖如圖所示。開 始結(jié) 束設(shè)置T1工作方式設(shè)置波特率設(shè)置串口工作方式允許串口中斷圖3.6 串口初始化程序流程圖4 上位機(jī)設(shè)計端口設(shè)置區(qū)中包括五個部分,分別為:通訊口設(shè)置,波特率設(shè)置,數(shù)據(jù)位設(shè)置,校驗(yàn)位和停止位。通訊口中編輯項(xiàng)有COM1、COM2。波特率編輯項(xiàng)有300、600、1200、1800、2400、4800、7

10、200、9600、14400、19200、28800、38400、56000、76800、115200。數(shù)據(jù)位中編輯項(xiàng)有6、7、8。校驗(yàn)位中編輯項(xiàng)有無、偶校驗(yàn)、奇校驗(yàn)。停止位中編輯項(xiàng)有1、1.5、2。其前、后面板顯示如圖所示。圖4.1 前面板設(shè)計圖4.2 程序框圖設(shè)計5 系統(tǒng)調(diào)試運(yùn)行顯示的過程是首先實(shí)現(xiàn)燈的左移右移,在實(shí)現(xiàn)等從中間點(diǎn)亮逐步向兩邊擴(kuò)散再向中間聚攏,接著實(shí)現(xiàn)日期20140107與學(xué)號1006070108。其結(jié)果顯示如下:圖5.1 運(yùn)行結(jié)果圖6 結(jié)論本次課程設(shè)計題目是基于LabVIEW的跑馬燈設(shè)計,主要進(jìn)行的任務(wù)是用編程軟件Keil編寫跑馬燈程序、燒寫程序、使用LabVIEW設(shè)計上位

11、機(jī)、下位機(jī)發(fā)送數(shù)據(jù)在上位機(jī)顯示。此次設(shè)計使得我們對課本LabVIEW程序設(shè)計教程上的理論知識進(jìn)一步加深,將之應(yīng)用于實(shí)踐,充分發(fā)掘?qū)W生們的潛力。首先是熟悉Keil編程軟件的使用,使用單片機(jī)C語言編寫跑馬燈的程序,其中出現(xiàn)了一些問題,比如想要實(shí)現(xiàn)一個LED的左移點(diǎn)亮,只將其左移一位,即LED<<=1,并未考慮到左移后數(shù)據(jù)的最右端會自動賦0,這樣燈的點(diǎn)亮順序?qū)⒉粫_(dá)到所想要實(shí)現(xiàn)的效果,應(yīng)該使用該語句LED=(LED<<1)|0x01,將最右端賦值1。另外,編譯鏈接后出現(xiàn)兩個警告,其原因未選擇Add Files to Group Source Group1,導(dǎo)致錯誤。使用Lab

12、VIEW軟件繪制前面板和程序框圖是一個很復(fù)雜的過程,首先是繪制前面板上的所要求的各顯示和設(shè)置區(qū),繪制完成后,在后面板上會主動生成一些相應(yīng)的控件,然后補(bǔ)充所要用到的控件,并用導(dǎo)線將相應(yīng)控件相連接。最終完成上位機(jī)的設(shè)計。最初繪制完成后運(yùn)行時,數(shù)據(jù)顯示區(qū)有數(shù)據(jù),但LED燈顯示區(qū)中無一LED亮,此問題的原因是為將接收到的數(shù)據(jù)經(jīng)控件“字符串至字節(jié)數(shù)組轉(zhuǎn)換”轉(zhuǎn)換成字節(jié)數(shù)組,造成錯誤,鼠標(biāo)放在數(shù)據(jù)接收區(qū)控件上,點(diǎn)右鍵選字符串選板中的“字符串至字節(jié)數(shù)組轉(zhuǎn)換”控件,然后鼠標(biāo)放在“字符串至字節(jié)數(shù)組轉(zhuǎn)換”控件上,點(diǎn)擊鼠標(biāo)右鍵選擇“索引數(shù)組”控件,用導(dǎo)線將對應(yīng)的控件相連,再次運(yùn)行,燈亮,數(shù)據(jù)顯示區(qū)數(shù)據(jù)與下位機(jī)燈亮的順

13、序一致,但在前面板中的燈亮與燈滅正好與實(shí)際相反,為改正錯誤,在程序框圖中的LED顯示控件區(qū)中的各LED前加一個非門,從而將錯誤改正。此外,對于自身來說,此次設(shè)計中仍有些不足,如程序框圖中有些控件仍不是太明白其含義和功能,希望自己以后會多加練習(xí),爭取更進(jìn)一步地掌握LabVIEW軟件的使用。7 總結(jié)通過各方面努力,本次實(shí)習(xí)基本完成。在LabVIEW設(shè)計的學(xué)習(xí)下,設(shè)計出了上下位機(jī)的LED通訊燈動態(tài)顯示方案。通過這次系統(tǒng)的項(xiàng)目設(shè)計提高了我運(yùn)用所學(xué)的專業(yè)基礎(chǔ)知識來解決面臨實(shí)際問題的能力,同時也提高了我查閱各種文獻(xiàn)資料、使用LabVIEW軟件的水平。通過這次設(shè)計,我發(fā)現(xiàn)了自己的很多不足以及許多知識的漏洞。

14、在設(shè)計過程中遇到了不少困難,慶幸的是我得到了許多人的幫助。首先我要感謝我的指導(dǎo)老師昝老師設(shè)計過程中,他給的指導(dǎo),豐富的設(shè)計經(jīng)驗(yàn)和嚴(yán)謹(jǐn)?shù)闹茖W(xué)態(tài)度,是我解決問題的關(guān)鍵所在。同時,還要感謝幫助我的所有同學(xué)。我想,本次實(shí)習(xí)對我們每個人都是影響很大的,它使我們基本掌握了LabVIEW通訊的設(shè)計方案,基本掌握了LabVIEW等軟件的使用,并且對LabVIEW有了更深入的了解。在解決問題的過程中,我們不僅學(xué)到了很多專業(yè)的知識,還學(xué)會了分析問題,解決問題的方法。相信這些對我們以后的學(xué)習(xí)與工作都有很大的幫助。通過對自己在大學(xué)時間里所學(xué)的知識的回顧,并充分發(fā)揮對所學(xué)知識的理解和對課程設(shè)計的思考及書面表達(dá)能力,最終

15、完成了這項(xiàng)實(shí)習(xí)。這次設(shè)計為我們今后進(jìn)一步深化學(xué)習(xí),積累了一定的寶貴經(jīng)驗(yàn)。撰寫論文的過程也是專業(yè)知識的學(xué)習(xí)過程,運(yùn)用已有的專業(yè)基礎(chǔ)知識,對其進(jìn)行設(shè)計,分析和解決一個理論問題或?qū)嶋H問題,把知識轉(zhuǎn)化為能力的實(shí)際訓(xùn)練,并且為以后的課程設(shè)計論文做好準(zhǔn)備及鋪墊。本次課題培養(yǎng)了我們運(yùn)用所學(xué)知識解決實(shí)際問題的能力,確實(shí)也有所提高。通過這次實(shí)習(xí)發(fā)現(xiàn),只有理論水平提高,才能夠?qū)⒄n本知識與實(shí)踐相整合,理論知識服務(wù)于教學(xué)實(shí)踐,以增強(qiáng)自己的動手能力。通過這次設(shè)計,我們知道了理論和實(shí)際的距離,也知道了理論和實(shí)際想結(jié)合的重要性。我們的學(xué)習(xí)不但要立足于書本,以解決理論和實(shí)際教學(xué)中的實(shí)際問題為目的,還要以實(shí)踐相結(jié)合,理論問題即

16、實(shí)踐課題,解決問題即課程研究,學(xué)生自己就是一個專家,通過自己的手來解決問題比用腦子解決問題更加深刻。學(xué)習(xí)就應(yīng)該采取理論與實(shí)踐結(jié)合的方式,理論的問題,也就是實(shí)踐性的課題。這種做法既有助于完成理論知識的鞏固,又有助于帶動實(shí)踐,解決實(shí)際問題,加強(qiáng)我們的動手能力和解決問題的能力。8 參考文獻(xiàn)1 虛擬儀器實(shí)驗(yàn)指導(dǎo)書,彭倩編.西安科技大學(xué)出版社.2 楊樂平,李海濤,趙勇等.LabVIEW高級程序設(shè)計.北京:清華大學(xué)出版社,2003.3 王磊,陶梅.精通LabVIEW8.0.北京:電子工業(yè)出版社,2007.9 附錄圖1 下位機(jī)原理圖程序清單#include<reg51.h> #define uc

17、har unsigned char #define uint unsigned int uchar code LED1=0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f;/定義流水燈點(diǎn)亮順序uchar code LED2=0xfc,0xf9,0xf3,0xe7,0xcf,0x9f,0x3f,0x7e; uchar code LED3=0xf8,0xf1,0xe3,0xc7,0x8f,0x1f,0x3e,0x7c; uchar code LED4=0xe7,0xc3,0x81,0x00,0x00,0x81,0xc7,0xe7; uchar code LED5=0xf

18、b,0xfe,0xfd,0xef,0xfe,0xfd,0xfe,0x7f; uchar code LED6=0xfe,0xff,0xff,0xc0,0xff,0x80,0xff,0xfe,0xff,0x00; void delay(uint x) /延遲函數(shù) uchar i; while(x-) for(i=0;i<120;i+); void Port(char c) /定義單片機(jī)向串口輸出數(shù)據(jù)子函數(shù) SBUF=c; while(TI=0); TI=0;void main(void) SCON=0x50; /設(shè)置串口工作于方式1 TMOD=0x20; /設(shè)置定時器工作于方式2 PCON=0x00; /設(shè)置SMOD TH1=0xfd; /設(shè)置波特率 TL1=0xfd; TI=0; /允許向串口發(fā)送數(shù)據(jù) TR1=1; /啟動TI while(1) uchar i; for(i=0;i<8;i+) /正向點(diǎn)亮流水燈并將流水燈狀態(tài)發(fā)送至串口 P1=LED1i; Port(LED1i); delay(300); for(i=7;i>0;i-) /反向點(diǎn)亮流水燈并將流水燈狀態(tài)發(fā)送至口 P1=LED1i; Port(LED1i); delay(300); for(i=0;i<8;i+) P1=LED2i; Port(LED2i); delay(300); fo

溫馨提示

  • 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

提交評論