




版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
任務6-1雙機通信實驗實驗概述使用兩臺單片機來進行數(shù)據(jù)通信,并用數(shù)碼管顯示出來。實驗目的1、理解8051串口工作原理;2、熟悉兩個8051全雙工通信的概念與應用。實驗預習要求1、了解定時器的控制方法;2、學習雙機通信的原理。實驗原理兩臺單片機進行雙機通信,接口電路如下圖所示。兩臺單片機的發(fā)送端TXD與接收端RXD交錯相連,地線相連。硬件線路正確連線后,還需要編寫雙方的通信程序,遵守雙方的約定,以及雙方的數(shù)據(jù)幀格式、波特率等必須一致。圖:雙機異步通信接口電路單片機串行口在方式1、方式2、方式3下,均能實現(xiàn)雙機通信,本實驗是使用方式1。方式2、方式3既可以用于雙機通信,也可以用于多機通信。數(shù)據(jù)發(fā)送:當數(shù)據(jù)寫入發(fā)送緩沖器SUBF,發(fā)送緩沖器自動啟動,數(shù)據(jù)由TXD輸出。發(fā)送完一幀數(shù)據(jù)后,T1置1。通過查詢或者中斷方式,了解T1的狀態(tài),T1只能由軟件復位。數(shù)據(jù)接收:當REN=1時,單片機串口允許接收數(shù)據(jù)。串行口采樣引腳RXD從1跳變到0,并得到確認起始位后,就開始接收一幀數(shù)據(jù)。當接收完一幀數(shù)據(jù),RI置1,可通過查詢或中斷方式了解RI的狀態(tài),RI也只能由軟件復位。單片機雙機通信是通過設置SCON、IE、TMOD、PCON、等SFR實現(xiàn)的。SCON:SM0、SM1可設置為01、10、11中的任一種,SM2設置為0。圖:串行口控制寄存器IE:中斷允許寄存器。如下圖所示圖:中斷使能寄存器(IE)詳細的控制方法可以查閱數(shù)據(jù)手冊。Proteus使用的元器件AT89C52//51單片機。BUTTON//按鍵,用于最小系統(tǒng)復位。CAP//電容,用于搭建復位電路。CAP-ELEC//電解電容,用于搭建復位電路。CRYSTAL//晶振,給單片機提供時鐘信號。RES//電阻。74LS21//雙4輸入與門。7SEG-COM-AN-GEN//共陽數(shù)碼管。KEYPAD-PHONE//矩陣鍵盤。實驗要求使用Proteus進行仿真實驗,由矩陣鍵盤、共陽數(shù)碼管,獨立按鍵輸入和串口組成雙機通訊的基本單元,實驗雙機的數(shù)據(jù)交互。硬件連接圖1.硬件電路圖:4*4矩陣鍵盤圖:8位共陽數(shù)碼管圖:8位獨立按鍵2.硬件連接表MCU1-AT89S524*4矩陣鍵盤8位共陽數(shù)碼管8位獨立按鍵MCU2-AT89S52P10~P13R1~R4P14~P17C1~C4P32INTP00~P07SA~SHP20~P27C0~C7P33K1P30(RXD)P31(TXD)P31(TXD)P30(RXD)3.Proteus仿真圖圖:Proteus仿真圖實驗程序#include"reg51.h"#defineucharunsignedchar#defineuintunsignedint#defineoutkP1#defineout1P0#defineout2P2ucharcodeseg[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xff};ucharkey,send,rec;ucharscan(void);voiddelayms(uint);voidmain(void){TMOD=0X20;//設置定時器1工作在方式2TH1=0XF2;TL1=0XF2;TR1=1;SCON=0X50;//串口工作在方式1,REN=1允許接收數(shù)據(jù)PCON=0X00;//波特率不加倍EA=1;ES=1;EX1=1;EX0=1;while(1) { outk=0x07; out1=seg[send]; out2=seg[rec]; }}ucharscan(void){uchark=10,m,n,in;delayms(10);outk=0x07;if((outk&0x07)!=0x07) { for(m=0;m<3;m++) { outk=~(0x01<<(m+3)); for(n=0;n<3;n++) { in=outk; in=in>>n; if((in&0x01)==0) { if((in&0x01)==0){k=n+m*3;break;} } } if(k!=10)break; } }return(k);}voiddelayms(uintj){uchari;for(;j>0;j--) {i=250; while(--i); i=249; while(--i); }}voidext0()interrupt0{EX0=0;key=scan();if(key!=10)send=key+1;EX0=1;}voidext1()interrupt2{ES=0;;SBUF=send;while(!TI);TI=0;ES=1;}voidcom()interrupt4{RI=0;rec=SBUF;}實驗步驟1、打開Proteus8環(huán)境,在快捷工具欄中點擊源代碼按紐,然后在菜單欄選擇系統(tǒng)-編譯器配置。找到Keilfor8051,點擊下載,下載完成后點擊OK退出。2、點擊源碼選擇新建工程,出現(xiàn)新固件項目對話框,在系列一欄中選擇8051,在控制器一欄選擇AT89C52,編譯器一欄中選擇Keilfor8051,然后點擊確定,新工程創(chuàng)建完成。3、然后在工程對話框下,右鍵單擊AT89C52,在出現(xiàn)的下拉列表中選中工程設置,將工程選項下EmbedFiles后的勾選去掉,然后點擊確定完成工程設置。4、在快捷工具欄中的下拉列菜單Debug/Release/配置選項中,選擇Release。5、將需要編譯的程序代碼輸入到main.c文件中,輸入好程序代碼后,然后在工程中,右鍵單擊AT89C52,在出現(xiàn)的下拉列表中選中構(gòu)建工程,編譯完成返回LINK/LOCATERUNCOMPLETE.0WARNING(S),0ERROR(S)編譯成功。表示工程編譯成功。6、編譯成功后,切換到原理圖狀態(tài)下點擊運行按紐,可通過人機接口觀察程序的仿真結(jié)果。7、連接ISP下載器一端到USB接口,另一端連到目標板。打開實驗臺電源,參考產(chǎn)品說明書中的ISP下載軟件使用方法對程序進行下載。8、接下來大家就可以按照硬件連接表連線了,然后測試程序,觀察實驗現(xiàn)象,理解程序,最后自己修改程序提高編程能力。實驗現(xiàn)象點擊開始仿真后,在矩陣鍵盤按下“0~9”會在相應的數(shù)碼管上顯示數(shù)字。當按下SW1的時候,兩臺單片機交換數(shù)碼管上的數(shù)字,并用另外的數(shù)碼管顯示出來。圖:實驗現(xiàn)象實驗總結(jié)本實驗在Proteus工作平臺上進行仿真時,在矩陣鍵盤按下“0~9”會在相應的數(shù)碼管上顯示數(shù)字。當按下SW1的時候,兩臺單片機交換數(shù)碼管上的數(shù)字,并用另外的數(shù)碼管顯示出來。voidext0()interrupt0{EX0=0;key=scan();if(key!=10)send=key+1;EX0=1;}voidext1()interrupt2{ES=0;;SBUF=send;while(!TI);TI=0;ES=1;}voidcom()interrupt4{RI=0;rec=SBUF;}上面這段函數(shù)是實驗里的3段中斷服務函數(shù)。ext0()interrupt0函數(shù)的中斷源是外部中斷0,即P32,P32連接到74LS21上。當矩陣鍵盤有按鍵按下的時候,進入該終端服務函數(shù),讀取按鍵值并傳給數(shù)碼管顯示。ext1()interru
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 公司搬家打包服務合同范本
- 單位房屋改建合同范本
- 種子批發(fā)供貨合同范本
- 劇本委托創(chuàng)作合同范例
- 免責購車合同范本
- 制訂合同范本
- 個人轉(zhuǎn)讓裝載機合同范本
- 鄉(xiāng)鎮(zhèn)道路保潔合同范本
- 分傭合同范本
- 兼職服務合同范本
- GB 31825-2024制漿造紙單位產(chǎn)品能源消耗限額
- 消防設施操作員報名工作證明(操作員)
- 小學四年級心理健康教育課
- 供應商開發(fā)流程及質(zhì)量要求
- 2024年技術監(jiān)督質(zhì)檢職業(yè)技能考試-電力技術監(jiān)督上崗員(中國華能)筆試歷年真題薈萃含答案
- 反假幣測試附有答案
- 怎樣調(diào)動員工積極性
- 2024年內(nèi)科護理學(第七版)期末考試復習題庫(含答案)
- 急診科培訓急診科與其他科室的協(xié)作與溝通
- JCT414-2017 硅藻土的標準
- 肌肉注射評分標準
評論
0/150
提交評論