單片機存儲器填充程序?qū)嶒瀳蟾?doc
《單片機存儲器填充程序?qū)嶒瀳蟾?doc》由會員分享,可在線閱讀,更多相關(guān)《單片機存儲器填充程序?qū)嶒瀳蟾?doc(7頁珍藏版)》請在裝配圖網(wǎng)上搜索。
實驗一 單片機存儲器填充程序 一、實驗?zāi)康? 1、了解單片機匯編語言程序的基本結(jié)構(gòu) 2、了解單片機匯編語言程序的設(shè)計和調(diào)試方法 3、掌握幾個的基本的傳送類、控制類指令的使用方法 二、實驗儀器 單片機開發(fā)板、萬利仿真機、穩(wěn)壓電源、計算機 三、實驗原理 1、 單片機存儲器的結(jié)構(gòu) 51系列單片機數(shù)據(jù)存儲器分為內(nèi)部直接尋址存儲器(工作寄存器區(qū),位尋址區(qū)),內(nèi)部間接尋址存儲器,外部存儲器。如圖3-1所示。 00H-07FH 0000H-0FFFFH 外部數(shù)據(jù)存儲器,需要擴展,有些單片在內(nèi)部擴展一部分 80H—0FFH 直接尋址區(qū),用于特殊功能,有很多沒有用 80H—0FFH 間接尋址區(qū),保存一般數(shù)據(jù),52單片機內(nèi)部有高128B存儲器 通用存儲器 30H-7FH 位尋址寄存器 20H-2FH 工作寄存器 00H-1FH 圖3-1 單片機存儲器結(jié)構(gòu) 2、 單片機內(nèi)部存儲器操作指令 51單片機內(nèi)部將數(shù)據(jù)存儲器劃分成多個區(qū)域,每個區(qū)域用的存儲器訪問指令也不相同(操作碼或操作數(shù)不同)。 a、內(nèi)部直接尋址通用存儲器訪問指令 MOV A ,40H ;將內(nèi)部直接尋址存儲器中的40H單元內(nèi)容復(fù)制到累加器A MOV R2 ,30H ;將內(nèi)部直接尋址存儲器中的40H單元內(nèi)容復(fù)制到寄存器R2 MOV 30H,40H ;將內(nèi)部直接尋址存儲器中的40H單元內(nèi)容復(fù)制到30H MOV A ,@R0 ;將R0指向的內(nèi)部直接尋址存儲器的內(nèi)容復(fù)制到累加器A PUSH ACC ;將累加器A的內(nèi)容復(fù)制到堆棧棧頂 POP ACC ;將堆棧指針SP指向的內(nèi)部直接尋址存儲器內(nèi)容復(fù)制到A b、內(nèi)部間接尋址通用存儲器訪問指令 MOV A ,@R0 ;將R0指向的內(nèi)部間接尋址存儲器的內(nèi)容復(fù)制到累加器A MOV A ,@R0 ;將累加器A的內(nèi)容復(fù)制到R0指向的內(nèi)部間接尋址存儲器 PUSH ACC ;將累加器A的內(nèi)容復(fù)制到系統(tǒng)堆棧棧頂 POP ACC ;將堆棧指針SP指向的內(nèi)部間接尋址存儲器內(nèi)容復(fù)制到A c、內(nèi)部位尋址區(qū)存儲器訪問指令 MOV C ,00H ;位尋址區(qū)的00H位內(nèi)容復(fù)制到C標(biāo)志 MOV 01H,C ;將C標(biāo)志內(nèi)容復(fù)制到位尋址區(qū)的00H 3、 單片機外部數(shù)據(jù)存儲器操作指令 MOVX A ,@DPTR ;將DPTR指向的外部存儲器的內(nèi)容復(fù)制到累加器A MOVX @DPTR ,A ;將累加器A的內(nèi)容復(fù)制到由DPTR指向的外部存儲器 四、實驗內(nèi)容 1、單片機內(nèi)部RAM填充程序 開始 裝備輸入?yún)?shù) 填充一字節(jié) 指向下一字節(jié) 完成? 完成,退出 圖3-2 區(qū)域填充程序流程圖 Y N 把單片機片內(nèi)30H—50H的單元全部清零。流程圖如圖3-2所示。 ORG 0 LJMP START ORG 100 START: MOV A,#00H ;填充的內(nèi)容 MOV R0,#30H ;填充的區(qū)域的首地址 MOV R7,#32 ;填充的區(qū)域的字節(jié)數(shù) RamClear: MOV @R0,A ;填充數(shù)據(jù) INC R0 ;下一單元 DJNZ R7,RamClear ;沒有完成,則返回 SJMP $ ;填充完成 2、采用輸入?yún)?shù)的方式設(shè)計的程序 ORG 0 LJMP START ORG 100 START: MOV A,#00H MOV R0,#30H MOV R7,#32 LCALL RamClear SJMP $-3 ;------------------------------------------------------------------------------ ;RAM區(qū)域填充 ;輸入:A:填充內(nèi)容,R7:填充字節(jié)數(shù),R0:填充指針(加計數(shù)) ;輸出:無 ;------------------------------------------------------------------------------- RamClear: MOV @R0,A INC R0 DJNZ R7,RamClear RET 3、采用宏匯編結(jié)構(gòu)設(shè)計的程序 在萬利集成開發(fā)環(huán)境中建立項目文件,并建立兩個文件,添加到項目中,文件內(nèi)容如下: File: Init.asm PUBLIC RamClear MiscCode SEGMENT CODE RSEG MiscCode RamClear: MOV @R0,A INC R0 DJNZ R7,RamClear RET END 在主程序中調(diào)用另一個文件中的子程序,要在調(diào)用之前聲明是引用外部程序。 File: mainpro.asm EXTRN CODE(RamClear) …… MOV R7,#32 MOV A,#00H MOV R0,#30H LCALL RamClear SJMP $-3 …… END 五、實驗步驟及調(diào)試信息 (1)、新建實驗項目xuefenghai (2)、輸入實驗程序并補充完整 (3)、編譯下載實驗程序,并修改錯誤(按附錄說明) 1、編譯出錯: 提示:MISSING END STATEMENT 原因:文件結(jié)尾處沒有寫END。 修改后正確: 2、全速運行程序出現(xiàn)以下現(xiàn)象: 原因:驅(qū)動器的選擇出現(xiàn)錯誤。 (4)全速運行程序,查看實驗現(xiàn)象。 實驗前的數(shù)據(jù) 內(nèi)容1運行后的數(shù)據(jù) 內(nèi)容2運行數(shù)據(jù)如下: 6、單步執(zhí)行,分析各程序的功能特點。 若單步執(zhí)行,則實驗結(jié)果會從30H逐步執(zhí)行,實現(xiàn)逐步清零。同時R0從30H逐漸遞增到3CH,R7從0CH逐漸遞減到00H。 7、整理實驗設(shè)備 六、實驗思考題 1、實驗內(nèi)容1對哪些單元進行清零,程序是否執(zhí)行正確? 答:實驗1從30H到3CH進行清零,程序執(zhí)行正確。 2、說明MOV、MOVX、MOVC三條指令的區(qū)別。 答:MOV: 單片機內(nèi)部的寄存器或者存儲器之間相互傳遞數(shù)據(jù)(內(nèi)部RAM),MOVX: 單片機內(nèi)部的A累加器與片外的數(shù)據(jù)存儲器(片外RAM)或I/O傳送數(shù)據(jù)的指令,MOVC: 單片機內(nèi)部的A累加器向ROM(程序存儲器)讀取數(shù)據(jù),因為程序存儲器是固定的不可以寫的,所以,A只能讀數(shù)據(jù),卻不能向它寫數(shù)據(jù)。 3、如果要在單片機內(nèi)部填充N個雙字節(jié)數(shù),請寫出相關(guān)程序? ORG 0 LJMP START ORG 100 START: MOV DPTR,#0001H ;填充的內(nèi)容 MOV R0,#30H ;填充的區(qū)域的首地址 MOV R7,#N ;填充的區(qū)域的字節(jié)數(shù) RamClear: MOV @R0,DPH ;填充數(shù)據(jù) INC R0 MOV @R0,DPL INC R0; ;下一單元 DJNZ R7,RamClear ;沒有完成,則返回 SJMP $ ;填充完成 END 七、實驗心得體會 通過這次實驗,讓我重新認(rèn)識了單片機的內(nèi)部信息,以及他那強大的功能,也讓我認(rèn)識到要想學(xué)好單片機,必須學(xué)會這些實驗,以及要對這些實驗現(xiàn)象等要有很多深層次的認(rèn)識。只有這樣我們才算是沒白學(xué)過這門課。- 1.請仔細(xì)閱讀文檔,確保文檔完整性,對于不預(yù)覽、不比對內(nèi)容而直接下載帶來的問題本站不予受理。
- 2.下載的文檔,不會出現(xiàn)我們的網(wǎng)址水印。
- 3、該文檔所得收入(下載+內(nèi)容+預(yù)覽)歸上傳者、原創(chuàng)作者;如果您是本文檔原作者,請點此認(rèn)領(lǐng)!既往收益都?xì)w您。
下載文檔到電腦,查找使用更方便
9.9 積分
下載 |
- 配套講稿:
如PPT文件的首頁顯示word圖標(biāo),表示該PPT已包含配套word講稿。雙擊word圖標(biāo)可打開word文檔。
- 特殊限制:
部分文檔作品中含有的國旗、國徽等圖片,僅作為作品整體效果示例展示,禁止商用。設(shè)計者僅對作品中獨創(chuàng)性部分享有著作權(quán)。
- 關(guān) 鍵 詞:
- 單片機 存儲器 填充 程序 實驗 報告
鏈接地址:http://www.3dchina-expo.com/p-9065231.html