電子科技大學(xué)中山學(xué)院微處理器實驗報告(7)_第1頁
電子科技大學(xué)中山學(xué)院微處理器實驗報告(7)_第2頁
電子科技大學(xué)中山學(xué)院微處理器實驗報告(7)_第3頁
電子科技大學(xué)中山學(xué)院微處理器實驗報告(7)_第4頁
電子科技大學(xué)中山學(xué)院微處理器實驗報告(7)_第5頁
已閱讀5頁,還剩4頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、 微處理器實驗報告班級13電科A姓名張益航學(xué)號2012010201070實驗名稱串口擴展實驗實驗時間2015年11月18日成績教師簽名批改時間報 告 內(nèi) 容一、實驗?zāi)康暮腿蝿?wù)1、了解I2C串行通信的工作原理和信號標準。2、掌握AT24C64的工作原理和軟件編程方法。二、實驗原理簡介I2C總線是Philips公司推出的二線制高性能串行總線,SDA為串行數(shù)據(jù)線,SCL為時鐘號線;可以通過器件地址和器件上的子地址對從器件上的存儲單元進行讀寫,并可以是多主模式的。AT24C64是一個I2C接口的EEPROM器件,共有64Kbit,可以分為256頁,每一頁有32字節(jié)。圖3.7.1 單片機與AT24C64

2、連接原理圖圖3.7.2 AT24C64頁寫時序圖圖3.7.3 AT24C64隨機讀時序圖圖3.7.4 AT24C64順序讀時序圖三、實驗設(shè)備1、PC機一臺(已安裝Keil uVision、STC_ISP等軟件);2、ZSC-1單片機實驗箱一臺。四、實驗內(nèi)容和步驟1、向AT24C64從50H開始的10單元存入10個字符0-9。 在Keil中編寫源程序。參考程序如下(請將下劃線部分補充完整):;向E2PROM的50H-59H寫入10個字節(jié)內(nèi)容SDA EQU P3.3SCL EQU P3.6WNUM DATA 40HWADDR DATA 41HWBUF DATA 42HRNUM DATA 50HRA

3、DDR DATA 51HRBUF DATA 52HADDRSHEQU 00HADDRSL EQU 50H ORG 0000H AJMP MAIN ORG 0040HMAIN: MOV SP,#5FH MOV WNUM,#10 LCALL LDATA MOV WADDR,#0A0H MOV R1,#WBUF CALL WRNB MOV P0,#55H SJMP $LDATA: MOV DPTR,#TAB MOV R1,#WBUF MOV R7,#10MP1: MOV A,#0 MOVC A,A+DPTR MOV R1,A INC DPTR INC R1 DJNZ R7,MP1 RETTAB: D

4、B 0123456789ABCDEF$INCLUDE(I2C.ASM) ENDI2C: ;起始信號STA: CLR SCLMOVR6,#5DJNZR6,$SETB SDA MOVR6,#5DJNZR6,$ SETB SCL ;起始條件建立時間大于4.7us MOVR6,#15DJNZR6,$ CLR SDA MOVR6,#15DJNZR6,$ CLR SCL ;鉗住總線,準備發(fā)數(shù)據(jù) MOVR6,#10DJNZR6,$ RET ;終止信號STP:CLRSDA MOVR6,#5DJNZR6,$SETB SCL ;發(fā)送結(jié)束條件的時鐘信號 MOVR6,#15DJNZR6,$ SETB SDA ;結(jié)束總

5、線 MOVR6,#15DJNZR6,$CLRSCLMOVR6,#10DJNZR6,$SETBSCL RET ;發(fā)送一個時鐘脈沖信號SENDCLK:MOVR6,#40DJNZR6,$SETBSCLMOVR6,#25DJNZR6,$CLRSCL MOVR6,#10DJNZR6,$RET ;發(fā)送應(yīng)答位0ACK:CLR SDA ;將SDA置0 LCALLSENDCLK RET ;發(fā)送非應(yīng)答位1NAS:SETB SDA ;將SDA置1 LCALLSENDCLK RET ;應(yīng)答位檢查,正常應(yīng)答時F0為1,否則為0ACKC: LCALLRBIT RET ;讀一位數(shù)據(jù)到F0RBIT:MOVR6,#40DJNZ

6、R6,$SETBSDAMOVR6,#10DJNZR6,$SETBSCLMOVR6,#20DJNZR6,$MOVC,SDAMOVF0,CCLRSCLMOVR6,#10DJNZR6,$RET ;發(fā)送一個字節(jié)WRB:MOVR0,#8WLP1:RLCAMOVSDA,CLCALLSENDCLKDJNZR0,WLP1LCALLRBITRET ;讀一個字節(jié)RDB:MOVR0,#8RLP1:LCALLRBITMOVC,F0RLCADJNZR0,RLP1RET;發(fā)送n個字節(jié) ;R1-發(fā)送數(shù)據(jù)首地址;WNUM-發(fā)送字節(jié)數(shù);WADDR-寫尋址WRNB:LCALLSTAMOVA,WADDR;器件尋址CALLWRBJB

7、F0,WFENDMOVA,#ADDRSH;地址高字節(jié)CALLWRBJBF0,WFENDMOVA,#ADDRSL;地址低字節(jié)CALLWRBJBF0,WFENDMOVR7,WNUM ;緩沖區(qū)字節(jié)數(shù)WRLP:MOVA,R1 ;寫入字節(jié)LCALLWRBJBF0,WFENDINCR1DJNZR7,WRLPWEND:LCALLSTPMOVR7,#00;延時X1:MOVR6,#00DJNZR6,$DJNZR7,X1RETWFEND: SETBSCLRET ;讀n個字節(jié);R1-存儲數(shù)據(jù)首地址;RNUM-讀字節(jié)數(shù);RADDR-讀尋址RDNB:LCALLSTAMOVA,WADDR ;器件尋址LCALLWRBJBF

8、0,RFENDMOVA,#ADDRSH;地址高字節(jié)CALLWRBJBF0,RFENDMOVA,#ADDRSL;地址低字節(jié)CALLWRBJBF0,RFENDLCALLSTAMOVA,RADDR ;器件尋址讀LCALLWRBJBF0,RFENDMOVR7,RNUM ;讀字節(jié)數(shù)RNLP:LCALLRDBMOVR1,ADJNZR7,FASKLCALLNASREND:LCALLSTPRETRFEND:SETBSCLRETFASK:CALLACKINCR1SJMPRNLP2、讀程序1所寫入的10個字符并把它們在上位機上顯示。;讀取50H-59H的10個字節(jié)內(nèi)容,并顯示在上位機SDA EQU P3.3SCL

9、 EQU P3.6WNUM DATA 40HWADDR DATA 41HWBUF DATA 42HRNUM DATA 50HRADDR DATA 51HRBUF DATA 52HADDRSHEQU 00HADDRSL EQU 50H ORG 0000H AJMP MAIN ORG 0040HMAIN: MOV SP,#5FH MOV WADDR,#0A0H MOV RADDR,#0A1H MOV RNUM,#10 MOV R1,#RBUF CALL RDNB CALL UARTINIT CALL DIS SJMP $UARTINIT: MOV TMOD,#20H MOV TH1,#0FDH M

10、OV TL1,#0FDH MOV SCON,#40HMOV PCON,#00HSETB TR1RETDIS: MOV R7,RNUMMOV R1,#RBUFDISLP: MOV A,R1MOV SBUF,AJNB TI,$CLR TIINC R1DJNZ R7,DISLPRET$INCLUDE(I2C.ASM)END3.接收從上位機傳來的以$結(jié)束的不超過10個字符,寫入AT24C64從50H開始的單元,然后讀出回顯到上位機。;上位機輸入,寫,讀,回顯SDA EQUP3.3SCL EQUP3.6WNUMDATA40HWADDRDATA41HWBUFDATA42HRNUMDATA90HRADDRD

11、ATA91HRBUFDATA92HADDRSHEQU00HADDRSLEQU50HORG0000HAJMPMAINORG0040HMAIN:MOVSP,#5FHMOVWADDR,#0A0HMOVRADDR,#0A1HMOVRNUM,#15MOVR1,#RBUFCALLRDNBCALLUARTINITCALLDISSJMP$UARTINIT:MOVTMOD,#20HMOVTH1,#0FDHMOVTL1,#0FDHMOVSCON,#40HMOVPCON,#00HSETBTR1RETDIS:MOVR7,RNUMMOVR1,#RBUFDISLP:MOVA,R1MOVSBUF,AJNBTI,$CLRTI

12、 INCR1DJNZR7,DISLPRET寫入15個字符: EQU P3.3SCL EQU P3.6WNUM DATA 40HWADDR DATA 41HWBUF DATA 42HRNUM DATA 50HRADDR DATA 51HRBUF DATA 52HADDRSHEQU 00HADDRSL EQU 50H ORG 0000H AJMP MAIN ORG 0040HMAIN: MOV SP,#5FH MOV WNUM,#15 LCALL LDATA MOV WADDR,#0A0H MOV R1,#WBUF CALL WRNB MOV P0,#55H SJMP $LDATA: MOV DP

13、TR,#TAB MOV R1,#WBUF MOV R7,#15MP1: MOV A,#0 MOVC A,A+DPTR MOV R1,A INC DPTR INC R1 DJNZ R7,MP1 RETTAB: DB 0123456789ABCDEF$INCLUDE(I2C.ASM) ENDSDAEQUP3.3SCLEQUP3.6WNUMDATA40HWADDRDATA41HWBUFDATA42HRNUMDATA90HRADDRDATA91HRBUFDATA92HADDRSHEQU00HADDRSLEQU50HORG0000HAJMPMAINORG0040HMAIN:MOVSP,#5FHMOVWADDR,#0A0HMOVRADDR,#0A1HMOVRNUM,#15MOVR1,#RBUFCALLRDNBCALLUARTINITCALLDISSJMP$UARTINIT:MOVTMOD

溫馨提示

  • 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論