甲乙兩機串口通信雙向控制系統(tǒng)軟件設(shè)計與系統(tǒng)仿真_第1頁
甲乙兩機串口通信雙向控制系統(tǒng)軟件設(shè)計與系統(tǒng)仿真_第2頁
甲乙兩機串口通信雙向控制系統(tǒng)軟件設(shè)計與系統(tǒng)仿真_第3頁
甲乙兩機串口通信雙向控制系統(tǒng)軟件設(shè)計與系統(tǒng)仿真_第4頁
甲乙兩機串口通信雙向控制系統(tǒng)軟件設(shè)計與系統(tǒng)仿真_第5頁
已閱讀5頁,還剩10頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

目錄TOC\o"1-5"\h\z\o"CurrentDocument"題目設(shè)計要求: 1\o"CurrentDocument"系統(tǒng)的組成及工作原理 2\o"CurrentDocument"2.1系統(tǒng)組成 2\o"CurrentDocument"2.2工作原理 2\o"CurrentDocument"2.3雙機通訊的方案 3\o"CurrentDocument"系統(tǒng)硬件電路 4\o"CurrentDocument"軟件設(shè)計 5\o"CurrentDocument"4.1甲機程序設(shè)計 5\o"CurrentDocument"4.2乙機程序設(shè)計 8\o"CurrentDocument"系統(tǒng)仿真調(diào)試 12\o"CurrentDocument"設(shè)計體會和收獲 13\o"CurrentDocument"參考文獻 14題目設(shè)計要求:甲乙兩機串口雙向通信設(shè)計要求:利用51單片機,RS232芯片,LED燈,數(shù)碼管進行雙機通信設(shè)計。甲機可按鍵控制乙機的LED顯示;乙機可按鍵控制甲機的數(shù)碼管顯示。完成以下設(shè)計環(huán)節(jié):1) 使用AltiumDesmger開發(fā)工具,設(shè)IT電路原理圖。2) 使用Uvision2開發(fā)平臺,釆用C語言或匯編語言設(shè)計軟件程序。3) 使用PROTEUS仿真軟件,設(shè)計仿真原理圖并運行軟件程序,完成系統(tǒng)仿真。系統(tǒng)的組成及工作原理2.1系統(tǒng)組成本次設(shè)計是用兩個單片機(稱為屮機和乙機)之間采用方式1雙向串行通信。中機的按鍵可通過串口控制屮機、乙機的2個LED燈,按一次屮機、乙機的LED1點亮,LED2滅,按兩次甲機、乙機LED1滅,LED2點亮,按三次甲機、乙機的LED1和LED2全亮。乙機的按鍵課控制串口向屮機發(fā)送按下的次數(shù),按下的次數(shù)通過串口顯示在屮機P0口的數(shù)碼管上,IIIJit設(shè)計出總體框圖。圖2.1總體框圖2.2工作原理雙機通信系統(tǒng)通過屮乙單片機的串行口來實現(xiàn)數(shù)據(jù)的收發(fā)。屮單片機通過開關(guān)電路來啟動發(fā)送程序,甲機當開關(guān)按下時向乙機發(fā)送一個數(shù)據(jù),乙機上蜂嚀器發(fā)出聲音提示有數(shù)據(jù)發(fā)送過來,乙機通過接收中斷來接收和開關(guān)判斷是否接收屮機發(fā)送過來的數(shù)據(jù),并通過編寫好的數(shù)據(jù)代碼在8個發(fā)光二極管上顯示主機發(fā)送過來的數(shù)據(jù)。乙單片機通過開關(guān)電路來啟動發(fā)送程序,乙機給屮機發(fā)送一數(shù)據(jù),屮機上蜂嚀器發(fā)岀聲音提示有數(shù)據(jù)發(fā)送過來,甲機通過接收中斷來接收和開關(guān)判斷是否接收乙機發(fā)送過來的數(shù)據(jù),并通過編寫好的數(shù)據(jù)代碼在8個發(fā)光二極管上顯示乙機發(fā)送過來的數(shù)據(jù)。

2.3雙機通訊的方案設(shè)計方案:該系統(tǒng)采用主從共兩片AT89C51單片機來實現(xiàn)上位機對下位機的控制,由于是近距離的雙機通信,我們采用單片機直接交義連接的方式,上位機發(fā)送的數(shù)據(jù)由吊行口TXD端輸出,直接山下位機的串行口數(shù)據(jù)接收端RXD接收。需要注意的是一定要保證主從機相同的數(shù)據(jù)傳輸速率,即要求設(shè)置相同的波特率。電路分為數(shù)碼管顯示模塊,指示模塊、以及單片機工作的基本復(fù)位、晶振模塊。屮機由3個數(shù)碼管,4個獨立鍵盤開關(guān),1個蜂嚀器組成。乙機由8個發(fā)光二極管,一個蜂嚀器,1個數(shù)字溫度傳感器DS18B20組成。單片機上最基本的兩個電路:復(fù)位電路(圖2.2)和晶振電路(圖2.3)圖2.2圖2.2復(fù)位電路圖XTALi.11..059MHzXTALi.11..059MHz?XTAL2-円口27pIC3-=I—ip27p圖2.3晶振電路圖

3?系統(tǒng)硬件電路第一步將兩組按鍵和LED燈分別連接到單片機Ul、U2的P1口,第一.步將單片機U1的

P0口分別連接到數(shù)碼顯示管上進行顯示,第三步將單片機U1的P0口連接到排阻上,第四步分

別將單片機Ul、U2的P3口連接到各自的線驅(qū)動器/接收器上,第五步將兩個線驅(qū)動器/接收器

分別連接到各自的DE?9接口上,最后再將單片機Ul、U2通過DE?9連接器進行連接,來實現(xiàn)

雙機通訊。? ??????? ? ? ? ? ? ? ??????? ??????? ? ? ? ? ?rXt/lee? ??? ? ? ? ? ? ? ????? ? ? ? ? ? ? ??????? ? ? ? ? ? ?I 只也巴“鈕 ? ??????? ?? ?? ?? ??????? ??????? ?? ? ? ?? ????? ?? ???? ??????? ?? ?? ??I d? ?U1>XTAL1KTALZFODTXDOP口PD^AD2P口那舊P0.4?AD<P05TAD5ftsn-PO.7WD7PHU*姫P2.VXSP22TK1DPN311ALEP2.WR12立PZ^TAiaP2A^AUPZ.7rA.1Spinp^rvnxnP1.1P3.inxi>P12F32mTTT]P13P3^WT7P1.4P3.4/TDP1SP3^rripugP2顧氏P1.7pa.rrw~5~CU0CK-11DSB2MHI????????甲川飯謖彷誕乙皿L圧z&LjOCk-11JQSB2MHx'ZTCsir?#),)R2?U1>XTAL1KTALZFODTXDOP口PD^AD2P口那舊P0.4?AD<P05TAD5ftsn-PO.7WD7PHU*姫P2.VXSP22TK1DPN311ALEP2.WR12立PZ^TAiaP2A^AUPZ.7rA.1Spinp^rvnxnP1.1P3.inxi>P12F32mTTT]P13P3^WT7P1.4P3.4/TDP1SP3^rripugP2顧氏P1.7pa.rrw~5~CU0CK-11DSB2MHI????????甲川飯謖彷誕乙皿L圧z&LjOCk-11JQSB2MHx'ZTCsir?#),)R2zznR3D1'R1??D2???NZO????…彈?:????G?J??>KFAL1KTALZRan-pomDDPH.WjMHm2iM2p口那舊PD5TAPSP口砂DGPD.TfAPTPznj*EP2.UASPZ2/A1OF5E1TP2^A11ALEP2.WK12甌P2A^A13P2^fKHPZ.7rA.1SPMpaxyflxoP1.1P3.1/TXDP12P3z/nrraP13PUP3.4H11PISP3J5TT1P1J6P3AWPI.?P3.T/W9'2-T~* ****** * * * * * * * *25*□D-必協(xié)[遨曲甲朋嫂田譽縣方—1ZslMzlzrWFPN訶-11"TFC5;;;;;;CH01-T1IMTHITTR.1OUTaiiMTZIM?nz^UTR30IJTR2IM冋VB-CZ*CZ-土.ryriji1117w"C3C4. C7 --CUInfC1-???11T1IMK10UTT2IMR20UTT^UTR1IMTOUTKZINMWXZ32VS-cz*cz-C6C2uf.圖3.1線路原理圖軟件設(shè)計本系統(tǒng)的軟件設(shè)計流程圖。系統(tǒng)設(shè)計代碼分為以下兒個部分:初始化串行、發(fā)送數(shù)據(jù)、接收數(shù)據(jù)、鍵盤輸入、數(shù)值轉(zhuǎn)換、LED顯示,數(shù)碼管顯示,用keil編譯。4.1甲機程序設(shè)計屮機程序設(shè)計框圖如下(圖4.1),開始將兩個單片機進行初始化。然后按動按鍵K1,屮機發(fā)送信號,乙機查詢接收后回送應(yīng)答,屮機中斷接收應(yīng)答,兩機的LED閃爍。再次按動按鍵K1,重復(fù)上述過程。開始初始化屮機發(fā)送乙機查詢接收乙機回送應(yīng)答屮機中斷接收應(yīng)答LED閃爍結(jié)束圖4?1甲程序設(shè)計框圖甲機程序:// 甲機程序代碼 #iiiclude<reg5l.h>#defineuintunsignedint#defineucharunsignedcharsbitledl=PlAO;sbitled2=PlA3;sbitkev=PlA7;J 7//-共陽極數(shù)碼管段碼 ucharcodetable[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92?0x82,0xF8,0x80,0x90,0xff};ucharnum;// 延時 voiddelay(uiiitz){uintx.y;foi(x=z;x>0;x—)for(y=110;y>0;y-);}//-串行口發(fā)送函數(shù)?voidtransfer(ucharc){SBUF=c;wlule(TI==0);TI=0;}voidmainQ 〃主函數(shù)num=0;PO=OxOO;SCON=0x50;〃串行口工作在方式1,既可以發(fā)送數(shù)據(jù),也可以接收數(shù)據(jù)TMOD=0x20;//定時器T1工作在方式2PCON=OxOO;THl=(256?253)/32;TL1=(256?253)%32;RI=O;TI=O;TR1=1;IE=0x90;〃串行口中斷打開wlule(l){if(kev==O){while(kev==O);num=(num+1)%4;}switch(num){case0:transfer(,D,);ledl=l;led2=l;break;case1:transfe^^1);led1=0;led2=l;break;case2:transfe^B1);ledl=l;led2=0;break;case3:tmnsfh(C);led1=0;led2=0;break;delav(lOO);}}}voidrecieveQinterrupt4{if(RI==l){RI=0;PO=~table[SBUF];}}4.2乙機程序設(shè)計乙機程序設(shè)計框圖如下(圖4.2),開始將兩個單片機進行初始化。然后按動按鍵K2,乙機發(fā)送信號,屮機查詢接收后回送應(yīng)答,乙機中斷接收應(yīng)答,屮機的數(shù)碼管開始計數(shù)。再次按動按鍵K2,重復(fù)上述過程。

開始圖4.2乙機設(shè)計框圖乙機程序:ZLL-fj:J0#mclude<reg5l.h>#defineuiiitunsignedint#defineucharunsignedcharsbitledl=PlAO;sbitled2=PlA3;sbitkev=PlA7;Jucharnum=10;// 延時 voiddelay(uiiitz){uintx.y;for(x=z;x>0;x—)for(y=110;y>0;y-);}voidmainQ/〃主函數(shù)iSCON=0x50;〃串行口工作在方式1,既可以發(fā)送數(shù)據(jù),也可以接收數(shù)據(jù)TMOD=0x20;PCON=OxOO;〃定時器T2工作在方式2THl=(256-253)/32;TL1=(256?253)%32;RI=0;TI=0;TR1=1;IE=0x90;〃串行口中斷打開ledl=led2=l;wlule(l){if(key==0){while(kev==O);num=(num+1)%11;SBUF=num;while(TI==O);TI=O;}}}voidrecieveQintemipt4{if(RI==l){RI=0;switch(SBUF){casefAr:ledl=0;led2=l;break;case'B*:led1=1;led2=0;break;case'C*:led1=0;led2=0;break;caseD1:ledl=l;led2=l;// delav(lOO);}}elseledl=led2=l;}1J

系統(tǒng)仿真調(diào)試編譯好代碼后,用ProteusISIS畫好原理圖,把編譯好的屮乙兩機程丿了;的HEX文件,下載到原理圖的單片機UI、U2中,點擊運行系統(tǒng)仿真,查看顯示效果,當按動K1時屮乙兩機的LED發(fā)生變化,當按動K2時屮機的數(shù)碼顯示管開始計?數(shù)。經(jīng)過測試顯示結(jié)果與預(yù)期結(jié)果一致,系統(tǒng)運行正常。19D1hR2比刑乙■■丄ZZD0213TTF乙鳳按趙視的I甲鳳繳阿玄總〒匹U12B?XT7甲Hl核如杭斜乙HILED何嚴>XTAL1POIYADXTAIZPD.VAD1PD^AD2PD^AD3PO.4/AD*PDSTAD5PD^ADGPSTPD.V/AD?P2£y/*2P2.VA9P22ZA1DP23*A11ALEP2.WA12駅P2STA13P2?AUP2.7ZA15P1DP1.1P3IVRXDP3.1/TXI>P12P13PSZHETP33H1TP1.f19D1hR2比刑乙■■丄ZZD0213TTF乙鳳按趙視的I甲鳳繳阿玄總〒匹U12B?XT7甲Hl核如杭斜乙HILED何嚴>XTAL1POIYADXTAIZPD.VAD1PD^AD2PD^AD3PO.4/AD*PDSTAD5PD^ADGPSTPD.V/AD?P2£y/*2P2.VA9P22ZA1DP23*A11ALEP2.WA12駅P2STA13P2?AUP2.7ZA15P1DP1.1P3IVRXDP3.1/TXI>P12P13PSZHETP33H1TP1.fP3.4HDP1SP3ST1P,£P(guān)I.?P3AC75JKP3.7/IF*RP11C5dH11b1uFCl*C1-T1IMT10UTR10UTR1IMTZIMTOUTR2JUTR2IM1WXZ3ZYS*VB-02*C2-L:?^XTAL1PDiyADDXTA12PCI.VAD1PD^AD2PD3*AD3RETTPCI.WAD<PDSTAD5PDJ&AD6PO.7ZAD7P2£V/*2P2.VA9P2^A1DP2^A11ALEP2.4/A12◎P2S^A13P1BP2fi*AUP2.7ZA15P31YRXDP1.1P12P3.irr>iP3WIUP13P

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論