串行通信實驗報告_第1頁
串行通信實驗報告_第2頁
串行通信實驗報告_第3頁
串行通信實驗報告_第4頁
串行通信實驗報告_第5頁
已閱讀5頁,還剩11頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、v1.0可編輯可修改v1.0可編輯可修改 串行通信實驗報告班級 姓名學號 日期一、實驗目的:1、 掌握單片機串行口工作方式的程序設計,及簡易三線式通訊的方法。2、 了解實現串行通訊的硬環(huán)境、數據格式的協議、數據交換的協議。3、學習串口通訊的程序編寫方法。二、實驗要求單機自發(fā)自收實驗:實現自發(fā)自收。編寫相應程序,通過發(fā)光二極管觀察 收發(fā)狀態(tài)。利用單片機串行口,實現兩個實驗臺之間的串行通訊。 其中一個實驗臺作 為發(fā)送方,另一側為接收方。三、實驗說明通訊雙方的RXD TXD信號本應經過電平轉換后再行交叉連接,本實驗中為減少連線可將電平轉換電路略去,而將雙方的RXD TXD直接交叉連接。也可以將本機的

2、TXD接到RXD0連線方法:在第一個實驗中將一臺實驗箱的 RXD和TXD相連,用連接發(fā)光二極管。波特率定為600, SMOD=0在第二個實驗中,將兩臺實驗箱的 RXD和TXD交叉相連。編寫收發(fā)程序,一臺實驗箱作為發(fā)送方,另一臺作為接收方,編寫程序,從內部數據存儲器20H3FH單元中共32個數據,采用方式1串行發(fā)送出去,波特率設為600。通過 運行程序觀察存儲單元內數值的變化。四、程序甲方發(fā)送程序如下:ORG 0000HLJMP MAINORG 0023HLJMP COMNTORG 1000HMAIN: MOV SP,#53HMOV 78H,#20HMOV 77H,00HMOV 76H,20HM

3、OV 75H,40HACALLTRANSHERE: SJMP HERETRANS: MOV TMOD,#20HMOV TH1,#0F3HMOV TL1,#0F3HMOV PCON,#80HSETB TR1MOV SCON,#40HMOV IE,#00HCLR F0MOV SBUF,78HWAIT1: JNB TI,WAIT1CLR TIMOV SBUF,77HWAIT2: JNB TI,WAIT2CLR TIMOV SBUF,76HWAIT3: JNB TI,WAIT3CLR TIMOV SBUF,75HWAIT4: JNB TI,WAIT4CLR TIMOV IE,#90HMOV DPH,7

4、8HMOV DPL,77HMOVX A,DPTRMOV SBUF,AWAIT: JNB F0,WAITRETCOM_INT: CLR TIINC DPTRMOV A,DPHCJNE A,76H,END1MOV A,DPLCJNE A,75H,END1SETB F0CLR ESCLR EARETEND1: MOVX A,DPTRMOV SBUF,ARETIEND乙方發(fā)送程序如下:ORG 0000HLJMP MAINORG 0023HLJMP COMNTORG 1000HMAIN:MOV SP,#53HACALL RECEIHERE:SJMP HERERECEI: MOV R0,#78HMOV T

5、MOD,#20HMOVTH1,#0F3HMOVTL1,#0F3HMOVPCON,#80HSETBTR1MOVSCON,#50HMOVIE,#90HCLRF0CLR7FHWAIT: JNB 7FH,WAITRETCOM_INT: PUSH DPLPUSHDPHPUSHAccCLR RIJB 1F0,R_DATAMOVA,SBUFMOVR0,ADECR0CJNER0,#74H,RETNSETBF0RETN:POP AccPOPDPHPOPDPLRETIR_DATA: MOV DPH,78HMOVDPL,77HMOVA,SBUFMOVX DPTR,AINC77HMOVA,77HJNZEND2INC7

6、8HEND2:MOV A,76HCJNEA,78H,RETNMOVA,75HCJNEA,77H,RETNCLRESCLREASETB 7FHSJMP RETNEND五、實驗過程中遇到的主要問題OUTBIT equ 08002h ;位控制口OUTSEG equ 08004h ;段控制口IN equ 08001h ;鍵盤讀入口HasRcv equ ;接收標志位LEDBuf equ 40h; 顯示緩沖RCVBuf equ 50H; 接收緩沖ORG0000HLJMPSTART串行口中斷程序ORG0023HJNBTI,S0_RCLRTINOPSJMPS0_RET_R:J接收數據CLRRIMOVRCVBU

7、F,SBUF ;保存數據SETBHasRcv;提示收到數據NOPS0_RET:RETILEDMAP:;八段管顯示碼db 3fh, 06h, 5bh, 4fh, 66h, 6dh, 7dh, 07hdb 7fh, 6fh, 77h, 7ch, 39h, 5eh, 79h, 71hDelay:;延時子程序mov r7, #0DelayLoop:djnz r7, DelayLoopdjnz r6, DelayLoopretDisplayLED:mov r0, #LEDBuf共6個八段管共6個八段管從左邊開始顯示關所有八段管mov r2, #00100000b ;Loop:mov dptr, #OUT

8、BITmov a, #0movx dptr, a ;mov a, r0mov dptr, #OUTSEGmovx dptr,amov dptr, #OUTBITmov a, r2movx dptr, a顯示一位八段管movx dptr, a顯示一位八段管mov r6, #1call Delaymov a, r2 ;顯示下一位rr amov r2, ainc r0djnz r1, LoopretTestKey:movdptr, #OUTBITmova, #0movx dptr, a;輸出線置為0movdptr, #INmovx a, dptr;讀入鍵狀態(tài)cplaanla, #Ofh;高四位不用r

9、etKeyTable:;鍵碼定義db16h, 15h, 14h, 0ffhdb13h, 12h, 11h, 10hdb0dh, 0ch, 0bh, 0ahdb0eh, 03h, 06h, 09hdb0fh, 02h, 05h, 08hdb OOh, 01h, 04h, 07hGetKey:movdptr, #OUTBITmovP2, dphmovr0, #Low(IN)movr1, #00100000bmovr2, #6KLoop:mova, r1;找出鍵所在列cpl amovx dptr, acpl arr amov r1, a;下一列movx a, r0cpl aanl a, #0fhjn

10、z Goon1;該列有鍵入djnz r2, KLoopmov r2, #0ffh;沒有鍵按下,返回0ffhsjmp ExitGoon 1:mov r1, a;鍵值=列X4+行mov a, r2dec arl arl amov r2, a;r2 = (r2-1)*4mova, rl;rl中為讀入的行值movr1, #4LoopC:rrcaJ移位找出所在行jc 1Exitincr2;r2 = r2+行值djnz r1, LoopCExit:mov a, r2 ;取出鍵碼mov dptr, #KeyTablemove a, a+dptrmov r2, aWaitRelease:mov dptr, #

11、OUTBIT ;等鍵釋放elr amovx dptr, amov r6, #10call Delaycall TestKeyjnz WaitReleasemov a, r2retSTART:MOV SP, #60HMOV IE, #0; DISABLE ALL INTERRUPTMOV TMOD,#020H ; 定時器1工作于方式2 (8位重裝)MOV TH1, #0F3H ; 波特率 2400BPS 12MHzMOV TL1, #0F3HANL PCON,#07FH ; SMOD 位清零orl PCON,#80hMOV SCON,#050H ;串行口工作方式設置MOV LEDBuf, #0f

12、fh ;顯示 mov LEDBuf+1, #0ffhmov LEDBuf+2, #0ffhmov LEDBuf+3, #0ffhmov LEDBuf+4, #0mov LEDBuf+5, #0SETB TR1SETB ESSETB EA;mov sbuf,a;jnb ti,$MLoop:jb HasRcv, RcvData ;收到數據顯示call DisplayLED顯示call TestKey;jz MLoop;call GetKey;anl a, #Ofh ;MOV SBUF,ALJMP MLoopRcvData:clr HasRcv ; mov a, RcvBuf ;mov b,aanl a

溫馨提示

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

評論

0/150

提交評論