51單片機(jī)與PC機(jī)通信_第1頁
51單片機(jī)與PC機(jī)通信_第2頁
51單片機(jī)與PC機(jī)通信_第3頁
51單片機(jī)與PC機(jī)通信_第4頁
51單片機(jī)與PC機(jī)通信_第5頁
已閱讀5頁,還剩9頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

《專業(yè)綜合實(shí)習(xí)報(bào)告》專業(yè):電子信息工程年級:2013級指導(dǎo)教師:學(xué)生:目錄一:實(shí)驗(yàn)項(xiàng)目名稱二:前言三:項(xiàng)目內(nèi)容及要求四:串口通信原理五:設(shè)計(jì)思路虛擬串口的設(shè)置下位機(jī)電路和程序設(shè)計(jì)串口通信仿真六:電路原理框圖七:相關(guān)硬件及配套軟件AT89C51器件簡介COMPIN簡介MAX232器件簡介友善串口調(diào)試助手虛擬串口軟件VirtualSerialPortDriver八:程序設(shè)計(jì)九:proteus仿真調(diào)試十:總結(jié)十■一:參考文獻(xiàn)一:實(shí)驗(yàn)項(xiàng)目名稱:基于51單片機(jī)的單片機(jī)與PC機(jī)通信二:前言在國內(nèi)外,以PC機(jī)作為上位機(jī),單片機(jī)作為下位機(jī)的控制系統(tǒng)中,PC機(jī)通常以軟件界面進(jìn)行人機(jī)交互,以串行通信方式與單片機(jī)進(jìn)行積極交互,而單片機(jī)系統(tǒng)根據(jù)被控對象配置相應(yīng)的前向,后向信息通道,工作時作為主控機(jī)測對象,作為被控機(jī)接受PC機(jī)監(jiān)督,指揮,定期或受命向上位機(jī)提供對象及本身的工作狀態(tài)信息。目前,隨著集成電路集成度的增加,電子計(jì)算機(jī)向微型化和超微型化方向發(fā)展,微型計(jì)算機(jī)已成為導(dǎo)彈,智能機(jī)器人,人類宇宙和太空和太空奧妙復(fù)雜系統(tǒng)不可缺少的智能部件。在一些工業(yè)控制中,經(jīng)常需要以多臺單片機(jī)作為下位機(jī)執(zhí)行對被控對象的直接控制,以一臺PC機(jī)為上位機(jī)完成復(fù)雜的數(shù)據(jù)處理,組成一種以集中管理、分散控制為特點(diǎn)的集散控制系統(tǒng)。為了提高系統(tǒng)管理的先進(jìn)性和安全性,計(jì)算機(jī)工業(yè)自動控制和監(jiān)測系統(tǒng)越來越多地采用集總分算系統(tǒng)。較為常見的形式是由一臺做管理用的上位主計(jì)算機(jī)(主機(jī))和一臺直接參與控制檢測的下位機(jī)(單片機(jī))構(gòu)成的主從式系統(tǒng),主機(jī)和從機(jī)之間以通訊的方式來協(xié)調(diào)工作。主機(jī)的作用一是要向從機(jī)發(fā)送各種命令及參數(shù):二是要及時收集、整理和分析從機(jī)發(fā)回的數(shù)據(jù),供進(jìn)一步的決策和報(bào)表。從機(jī)被動地接受、執(zhí)行主機(jī)發(fā)來的命令,并且根據(jù)主機(jī)的要求向主機(jī)回傳相應(yīng)煩人實(shí)時數(shù)據(jù),報(bào)告其運(yùn)行狀態(tài)。用串行總線技術(shù)可以使系統(tǒng)的硬件設(shè)計(jì)大大簡化、系統(tǒng)的體積減小、可靠性提高。同時,系統(tǒng)的更改和擴(kuò)充極為容易。MCS-51系列單片機(jī),由于內(nèi)部帶有一個可用于異步通訊的全雙工的穿行通訊接口,陰齒可以很方便的構(gòu)成一個主從式系統(tǒng)。串口是計(jì)算機(jī)上一種非常通用的設(shè)備通訊協(xié)議,大多數(shù)計(jì)算機(jī)包容兩個基于RS232的串口。串口同時也是儀器儀表設(shè)備通過用的通訊協(xié)議,很多GPIB兼容的設(shè)備也帶有RS-232口。同時串口通訊協(xié)議也可以用于獲取遠(yuǎn)程采集設(shè)備數(shù)據(jù)。所以,深入的理解學(xué)習(xí)和研究串口通信相關(guān)知識是非常必要的。此次畢業(yè)設(shè)計(jì)選題為“PC機(jī)與MCS-51單片機(jī)的串口通訊”,使用51單片機(jī)來實(shí)現(xiàn)一個主從式的總線通訊系統(tǒng)。通過此次設(shè)計(jì),對串口通訊的原理和應(yīng)用融會貫通,為以后的時間工作儲備知識和研究方法。三.項(xiàng)目內(nèi)容及要求基于51單片機(jī),在相關(guān)軟件的輔助下,建立起單片機(jī)與PC機(jī)之間的通信機(jī)制,使用proteus仿真軟件進(jìn)行仿真,要求可從PC機(jī)上發(fā)送數(shù)字及英文字母出來,由單片機(jī)接收并在虛擬軟件顯示屏上顯現(xiàn)出來,有開關(guān)控制數(shù)字或者是字母的發(fā)送。四:串口通信原理單片機(jī)與外圍部件或設(shè)備的數(shù)據(jù)傳輸方式有并行通信和串行通信兩種方式,本實(shí)驗(yàn)主要通過串行通信方式進(jìn)行單片機(jī)與PC機(jī)之間的數(shù)據(jù)傳輸,故略去并行通信方式的介紹。串行通信是指計(jì)算機(jī)主機(jī)與外設(shè)之間以及主機(jī)系統(tǒng)與主機(jī)系統(tǒng)之間數(shù)據(jù)的串行傳送。使用一條數(shù)據(jù)線,將數(shù)據(jù)一位一位地依次傳輸,每一位數(shù)據(jù)占據(jù)一個固定的時間長度。其只需要少數(shù)幾條線就可以在系統(tǒng)間交換信息,特別適用于計(jì)算機(jī)與計(jì)算機(jī)、計(jì)算機(jī)與外設(shè)之間的遠(yuǎn)距離通信。串口通信時,發(fā)送和接收到的每一個字符實(shí)際上都是一次一位的傳送的,每一位為1或者為0。這種傳送方式具有方法簡單,靈活性強(qiáng),可靠性高等特點(diǎn),同時需要的傳送線少,適于遠(yuǎn)距離傳送。但是,由于數(shù)據(jù)是按位發(fā)送出去的,因此這種數(shù)據(jù)傳送方式比并行通信速率低。串行通信又可以分為同步通信和異步通信兩種方式。同步通信是指同步通信是一種比特同步通信技術(shù),要求發(fā)收雙方具有同頻同相的同步時鐘信號,只需在傳送報(bào)文的最前面附加特定的同步字符,使發(fā)收雙方建立同步,此后便在同步時鐘的控制下逐位發(fā)送/接收。進(jìn)行數(shù)據(jù)傳輸時,發(fā)送和接收雙方要保持完全的同步,因此,要求接收和發(fā)送設(shè)備必須使用同一時鐘。相對于同步通信,異步通信在發(fā)送字符時,所發(fā)送的字符之間的時隙可以是任意的,當(dāng)然,接收端必須時刻做好接收的準(zhǔn)備(如果接收端主機(jī)的電源都沒有加上,那么發(fā)送端發(fā)送字符就沒有意義,因?yàn)榻邮斩烁緹o法接收)。發(fā)送端可以在任意時刻開始發(fā)送字符,因此必須在每一個字符的開始和結(jié)束的地方加上標(biāo)志,即加上開始位和停止位,以便使接收端能夠正確地將每一個字符接收下來。內(nèi)部處理器在完成了相應(yīng)的操作后,通過一個回調(diào)的機(jī)制,以便通知發(fā)送端發(fā)送的字符已經(jīng)得到了回復(fù)。五.設(shè)計(jì)思路Pc機(jī)和單片機(jī)的串口通信系統(tǒng)的調(diào)試一般通過一根串口連接線把帶有軟件上位機(jī)的(Pc機(jī))和下位機(jī)(即單片機(jī))連接起來進(jìn)行,用這種調(diào)試串口通信程序比較煩瑣。本文介紹一種用純軟件實(shí)現(xiàn)PC機(jī)和單片機(jī)串口通信的仿真的方法,所有的調(diào)試都在一臺電腦上通過軟件完成。上位機(jī)由Pc機(jī)代替,下位機(jī)由用PROTEUS軟件設(shè)計(jì)的AT89C51單片機(jī)仿真電路代替串口及連接通過由虛擬串口軟VirtualSerialPortDriver進(jìn)行連接。虛擬串口的設(shè)置安裝虛擬串口軟件VirtualSerialPortDriver,然后打開,左邊上面的COMI是電腦上實(shí)際的物理串口,下面是虛擬串口,在沒有設(shè)置前是空的。因?yàn)殡娔X最多有兩個物理串口,將圓圈里的串口改為COMl,COM3,點(diǎn)擊Addpair,這就表示,利用這個軟件將計(jì)算機(jī)的串口l和模擬串口3聯(lián)接了起來,這兩個串

口可以進(jìn)行通信了。下位機(jī)電路和程序設(shè)計(jì)用Proteus6.9設(shè)計(jì)的仿真電路只用了幾個元器件。由于兩個虛擬串口采用相同的標(biāo)準(zhǔn)電平,因此電路中用來作,ITllL電平向RS232電平轉(zhuǎn)換的電路在仿真電路中可以省略。單片機(jī)的實(shí)例程序用KeilC51語言編寫,串口接收數(shù)據(jù)采用中斷的方式,發(fā)送數(shù)據(jù)采用外部中斷的方式,用按鈕開關(guān)控制數(shù)據(jù)的發(fā)送。串口通信仿真打開友善串口調(diào)試助手,修改串口為COM3,波特率為9600,校驗(yàn)位為None,數(shù)據(jù)位8,停止位為1。用Proteus打開仿真電路文件,先設(shè)置AT89C51的屬性,右擊選中AT89C5l,再用左鍵單擊AT89C51,在出現(xiàn)的屬性對話框里點(diǎn)擊ProgramFile后的打開按鈕,找到自Keil源程序編譯好的.HEX文件后單擊打開,然后在ClockFrequency后填寫12M。單擊OK接下來打開串口COMPIN的屬性對話框,在PhsicalPort后選擇COMl,波特率為9600,校驗(yàn)位為None,數(shù)據(jù)位8,停止位為l。設(shè)置好后,啟動仿真就可以實(shí)現(xiàn)電腦和單片機(jī)串口通信的仿真了。首先演示一下單片機(jī)向計(jì)算機(jī)的串口發(fā)送數(shù)據(jù)。撥動開關(guān)向右撥,運(yùn)行,按一下開關(guān)。虛擬串口終端最示單片機(jī)向計(jì)算機(jī)COMl發(fā)送的數(shù)據(jù),而計(jì)算機(jī)的COMI已經(jīng)和COM3相連,因軟件PROTEUS所此可以在COM3收到單片機(jī)發(fā)送給COMi的數(shù)據(jù)。接著冉演示一下計(jì)算機(jī)的串口向單片機(jī)發(fā)送數(shù)據(jù)。撥動開關(guān)向左撥,在口調(diào)試助手中輸入想要發(fā)送的數(shù)據(jù),點(diǎn)擊手動則字符串由COM3發(fā)送給了計(jì)算機(jī)的COMI。再由COMI發(fā)送給單片機(jī)。單片機(jī)的程序里面有回顯功能,將接送給了COM因此可以在COM3的接受框內(nèi)能夠接收到會顯得字符串。六.電路原理框圖七.相關(guān)硬件及配套軟件AT89C51器件簡介AT89C51是一種帶4K字節(jié)FLASH存儲器(FPEROM—FlashProgrammableandErasableReadOnlyMemory)的低電壓、高性能CMOS8位微處理器,俗稱單片機(jī)°AT89C2051是一種帶2K字節(jié)閃存可編程可擦除只讀存儲器的單片機(jī)。單片機(jī)的可擦除只讀存儲器可以反復(fù)擦除1000次。該器件采用ATMEL高密度非易失存儲器制造技術(shù)制造,與工業(yè)標(biāo)準(zhǔn)的MCS-51指令集和輸出管腳相兼容。由于將多功能8位CPU和閃速存儲器組合在單個芯片中,ATMEL的AT89C51是一種高效微控制器,AT89C051是它的一種精簡版本。AT89C51單片機(jī)為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價廉的方案。COMPIN簡介COM口(clustercommunicationport)即串行通訊端口。微機(jī)上的com口通常是9針,也有25針的接口,最大速率115200bps。通常用于連接鼠標(biāo)(串口)及通訊設(shè)備(如連接外置式MODEM進(jìn)行數(shù)據(jù)通訊或一些工廠的CNC機(jī)接口)

等。一般主板外部只有一個COM口,機(jī)箱后面和并口一起的那個九孔輸出端(梯形),就是COM1口,COM2口一般要從主板上插針引出。并口是最長的那個梯形口。本實(shí)驗(yàn)主要應(yīng)用九針接口。MAX232器件簡介MAX232是一種雙組驅(qū)動器/接收器,片內(nèi)含有一個電容性電壓發(fā)生器以便在單5V電源供電時提供EIA/TIA-232-E電平。當(dāng)用單片機(jī)和PC機(jī)通過串口進(jìn)行通信,盡管單片機(jī)有串行通信的功能,但單片機(jī)提供的信號電平和RS232的標(biāo)準(zhǔn)不一樣,因此要通過max232這種類似的芯片進(jìn)行電平轉(zhuǎn)換。

G1+L|_2_C1-|_3_C2t直G1+L|_2_C1-|_3_C2t直C2r國V-應(yīng)T2qj[\T_-MAX2323GMD祠T1OUT131Rfoui村「訕HT如司眄inD1P7SOCAPACfTAHCEUHIWAXZZii 033033。掐033肺A葺2我4C.10.'TOPVIEWDiagramscontinuedIntheFulldatasheet.RS-232R^-232OUIPUIS擦+ ndvt■卜帥C2-VOLTAGE!^rER友善串口調(diào)試助手一個強(qiáng)大而穩(wěn)定的串口調(diào)試助手,支持常用的110-921600bps波特率及自定義波特率,波特率最高可支持8000000(串口硬件有關(guān)),可適應(yīng)于非標(biāo)準(zhǔn)波特率。支持串口自動識別,能設(shè)置校驗(yàn)、數(shù)據(jù)位和停止位,能以ASCII碼或十六進(jìn)制接收或發(fā)送任何數(shù)據(jù)或字符,可以任意設(shè)定自動發(fā)送周期,并能將接收數(shù)據(jù)保存成文本文件,能發(fā)送任意大小的文本文件。虛擬串口軟件VirtualSerialPortDriver簡介該軟件安裝成功后可以虛擬出多個串口用于實(shí)驗(yàn),虛擬串口都是成對出現(xiàn)使用的,最大限度的方便了用戶數(shù)的需求。八.程序設(shè)計(jì)注:本程序采用C語言編寫,程序如下:#include<>#defineuintunsignedint#defineucharunsignedcharucharReceive_Buffer[101];ucharBuf_Index=0;ucharcodeDSY_CODE[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x00};voidDelay(uintx){uchari;while(x--){for(i=0;i<120;i++);}}voidmain(){uchari;P0=0x00;Receive_Buffer[0]=i;SCON=0x50;TMOD=0x20;PCON=0x00;TH1=0xfd;TL1=0xfd;EA=1;EX0=1;IT0=1;ES=1;IP=0x01;TR1=1;while(1){for(i=0;i<100;i++){if(Receive_Buffer[i]=-1)break;P0=DSY_CODE[Receive_Buffer[i]];Delay(200);}Delay(200);}}voidSerial_INT()interrupt4{ucharc;if(RI==0)return;ES=0;RI=0;c二SBUF;

溫馨提示

  • 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

提交評論