




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、本科實驗報告課程名稱: 微機原理與接口技術姓 名: 邵芳琳學 院(系): 控制學院專 業: 自動化學 號: 3140103307指導教師: 曹崢1 / 22 2016年 11月 11日 實驗一 存儲器塊操作實驗一、實驗目的1 熟悉 KEIL 集成調試環境和匯編程序的調試方法。2 掌握存儲器讀寫方法;3 了解內存塊的移動方法;二、實驗說明實驗 1 指定某塊存儲器的起始地址和長度,要求能將其內容賦值。通過該實驗學生可以了解單片機讀寫存儲器的方法,同時也可以了解單片機編程、調試方法。塊移動是單片機常用操作之一,多用于大量的數據復制和圖象操作。例程 2 給出起始地址,用地址加一方法移動塊,將指定源地址
2、和長度的存儲塊移到指定目標地址為起始地址的單元中去。移動 3000H 起始的 256個字節到 4000H 起始的 256 個字節。思考題1 如何將存儲器塊的內容置成某固定值(例全填充為 0FFH)? 請用戶修改程序,完成此操作。將MOV A,#1H 改為MOV A,#FFH2 若源塊地址和目標塊地址有重疊,該如何避免?源塊地址和目標塊地址重疊部分數據壓制堆棧中,當要使用重疊部分源數據時,直接從堆棧中彈出。實驗內容1. 試編程將片內 RAM 中的數據依次復制到片外 RAM。假設源數據區的首地址為 40H,目的數據區的首地址為 1000H,數據塊長度為 10H。 ORG 0000H MOV R0,
3、#40HMOV A,#01HMOV R5,#10HLOOP: MOV R0,AINC R0DJNZ R5,LOOPMOV R0,#40H ;起始地址MOV R2,#10H MOV R3,#00HMOV R7,#10H ;循環次數LOOP1: MOV A,R0MOV DPH,R2MOV DPL,R3MOVX DPTR,AINC R0INC R3DJNZ R7,LOOP1 LJMP $ END運行結果:2. 兩個 16 位無符號二進制數分別存放在片外 RAM 首址為 2000H 和 2002H 單元內,將它們相加,結果存入片內 RAM 30H(低 8 位)、31H(高 8 位)。 ORG 0000
4、HMOV A,#11HMOV DPTR,#2000H MOVX DPTR,AMOV DPTR,#2003H MOVX DPTR,AMOV R0,AMOV DPTR,#2002HMOVX A,DPTRADD A,R0MOV 30H,A MOV DPTR,#2001HMOVX A,DPTRMOV R0,AMOV DPTR,#2003HMOVX A,DPTRADDC A,R0MOV 31H,AEND運行前:運行后:1100+0011=1111運行結果正確。 實驗二 數值轉換實驗一、實驗目的1 熟悉 KEIL 集成調試環境和匯編程序的調試方法。2 掌握簡單的數值轉換算法。3 基本了解數值的各種表達方法
5、。4 掌握數值的加減法運算。5 掌握用查表的方法將 BCD 值轉換成 ASCII 值。二、實驗說明單片機系統內部運算用二進制,而輸入輸出常用十進制,以符合日常習慣,因此,數制轉換是儀表設計中常用的程序之一。單片機中的數值有各種表達方式,這是單片機的基礎。掌握各種數制之間的轉換是一種基本功。我們將給定的一字節二進制數,轉換成二十進制(BCD)碼。將累加器 A 的值拆為三個 BCD 碼,并存入 RESULT 開始的三個單元,例程 A 賦值#123。實驗 2 主要讓學生了解數值的 BCD 碼和 ASCII 碼的區別,利用查表方法快速地進行數值轉換。進一步掌握數值的各種表達方式。現在我們給出一個 BC
6、D 數,將其轉換成 ASCII 值。如下:將累加器 A 的值轉換為二個 ASCII 碼,并存入 Result 開始的二個單元,例如 A 賦值#1AH。思考題BCD 碼轉換成二進制數的算法是什么?例如:(91) BCD 對應的二進制數是多少?將BCD碼寫成權值相加的形式,再將各位轉化為二進制。9×101+1×100=91=()B實驗內容1. 把 R 3 中的 8 位二進制整數轉換為壓縮 BCD 碼,存放在 R4, R5 中。ORG 0000HMOV R3,#10111011BMOV A,R3MOV B,#100DIV ABMOV R4,AMOV A,BMOV B,#10DIV
7、 ABMOV R5,ASWAP AADD A,BMOV R5,A寄存器結果:2. 設 4 位 BCD 碼 abcd 依次存放在內部 RAM 中 50H53H 單元的低 4 位,(高 4 位為 0)。試編程將其轉換成二進制數并存入 R6R7 中。ORG 0000H MOV 50H,#01MOV 51H,#02 MOV 52H,#03 MOV 53H,#04MOV A,50H MOV B,#10MUL ABMOV B,#100MUL ABMOV R1,B MOV R0,A MOV B,#100MOV A,51HMUL ABADD A,R0MOV R0,A MOV A,BADDC A,R1MOV R
8、1,AMOV B,#10MOV A,52HMUL ABADD A,R0MOV R0,AMOV A,R1ADDC A,#0MOV R1,AMOV A,R0ADD A,53HMOV R0,AMOV A,R1ADDC A,#0MOV R6,AMOV A,R0MOV R7,A執行結果:4位BCD碼為1234,轉換為2進制數為4d2與實際相符。 實驗三 程序跳轉表實驗一、實驗目的1 熟悉 KEIL 集成調試環境和匯編程序的調試方法。2 了解簡單的函數計算。3 掌握多分支結構程序的編程方法二、實驗說明多分支結構是程序中常見的結構,在多分支結構的程序中,能夠按調用號執行相應的功能,完成指定操作。若給出調用號
9、來調用子程序,一般用查表方法,查到子程序的地址,轉到相應子程序。三、思考題1 寫跳轉程序時要注意些什么?1)子程序的第1條指令前必須有標號,即表明子程序的名稱,也作為調用指令的符號地址。2)要有入口條件,用來說明入子程序時,它所要處理的數據如何得到。另外,要有出口條件,即處理的結果是如何存放的。3)注意保護現場和恢復現場,即在調用子程序前將不允許被破壞的內容保存起來;恢復現場即在子程序執行完畢返回主程序前,將保存的內容恢復到保護現場前的狀況;4)子程序必須以RET結束。子程序中,對堆棧的入棧和出棧操作次數必須相同,以保證返回后堆棧指針SP的值與調用時一直。2 可以避免重復書寫相同的程序;可以簡
10、化程序的邏輯結構;使程序模塊化,通用化。3、 實驗內容ORG 0000HMOV R0,#0FCHCJNE R0,#0,NEXT0 MOV R0,#2 MOV A,R0 SJMP NEXT3NEXT0:CJNE R0,#80H,NEXT1 MOV R0,#2 MOV A,R0 SJMP NEXT3NEXT1:JC NEXT2 SETB C MOV A,R0 RRC A SJMP NEXT3NEXT2:MOV A,R0 MOV B,#2 MUL ABNEXT3:MOV 30H,AEND測試結果:X<0X=0X>0 實驗四 數據排序實驗一、實驗目的1 熟悉 KEIL 集成調試環境和匯編程
11、序的調試方法。2 掌握排序程序的設計方法。二、實驗說明本例程采用交換排序法將內部RAM 中的5059H 單元中的10個單字節無符號二進制數按從小到大的次序排列,并將這一列排序后的數據從小到大依次存貯到外部RAM 1000H開始處。初始:結果:三、實驗內容畫出本實驗程序的流程圖。 實驗五 鍵盤顯示仿真實驗一、實驗目的1 熟悉 KEIL 集成調試環境和匯編程序的調試方法。2 學習使用外圍接口工具調試程。3 熟悉鍵盤顯示接口電路及程序設計。提高實驗1. 根據鍵盤、LED 仿真板,設計一個走馬燈程序,通過按鍵實現啟停、速率及方向的控制UpDown BIT 00H StartEnd BIT 01H LA
12、MPCODE EQU 21HORG 0000H AJMP MAIN ORG 30H MAIN: MOV SP,#5FH MOV P1,#0FFH CLR UpDown ;啟動時處于向上的狀態 CLR StartEnd ;啟動時處于停止狀態 MOV LAMPCODE,#01H ;單燈流動的代碼 LOOP:ACALL KEY ;調用鍵盤程序 JNB F0,LNEXT ;如果無鍵按下,則繼續 ACALL KEYPROC ;否則調用鍵盤處理程序 LNEXT: ACALL LAMP ;調用燈顯示程序 AJMP LOOP DELAY: MOV R7,#100 D1: MOV R6,#100 DJNZ R6
13、,$ DJNZ R7,D1 RET KEYPROC: MOV A,B ;從B寄存器中獲取鍵值 JB ACC.2,KeyStart ;分析鍵的代碼,某位被按下,則該位為1 JB ACC.3,KeyOver JB ACC.4,KeyUp JB ACC.5,KeyDown AJMP KEY_RET KeyStart: SETB StartEnd ;第一個鍵按下后的處理 AJMP KEY_RET KeyOver: CLR StartEnd ;第二個鍵按下后的處理 AJMP KEY_RET KeyUp: SETB UpDown ;第三個鍵按下后的處理 AJMP KEY_RETKeyDown: CLR U
14、pDown ;第四個鍵按下后的處理 KEY_RET: RET KEY: CLR F0 ;清F0,表示無鍵按下。 ORL P3,#00111100B ;將P3口的接有鍵的四位置1 MOV A,P3 ;取P3的值 ORL A,#11000011B ;將其余4位置1 CPL A ;取反 JZ K_RET ;如果為0則一定無鍵按下 CALL DELAY ;否則延時去鍵抖 ORL P3,#00111100B MOV A,P3 ORL A,#11000011B CPL A JZ K_RET MOV B,A ;確實有鍵按下,將鍵值存入B中 SETB F0 ;設置有鍵按下的標志 K_RET: ORL P3,#
15、00111100B ;此處循環等待鍵的釋放 MOV A,P3 ORL A,#11000011B CPL A JZ K_RET1 ;讀取的數據取反后為0說明鍵釋放了 AJMP K_RET K_RET1:CALL DELAY ;消除后沿抖動 RETD500MS: ;流水燈的延遲時間 MOV R7,#255 D51: MOV R6,#255 DJNZ R6,$ DJNZ R7,D51 RET LAMP: JB StartEnd,LampStart; 如果StartEnd=1,則啟動 MOV P1,#0ffH LampStart: AJMP LAMPRET ;否則關閉所有顯示,返回 LampStart
16、: JB UpDown,LAMPUP ;如果UpDown=1,則向上流動 MOV A,LAMPCODE RL A ;左移位而MOV LAMPCODE,A MOV P1,A LCALL D500MS LCALL D500MS AJMP LAMPRET LAMPUP: MOV A,LAMPCODE RR A ;向下流動實際就是右移 MOV LAMPCODE,A MOV P1,A LCALL D500MS LAMPRET: RET END 2. 根據實驗仿真板 2 設計一個按鍵顯示數字的程序,即按 0 顯示 0,依次類推。ORG 0000HSTART:MOV P2,#0FEHMOV P3,#0EFHJB P3.0,NEXT1MOV P0,#0C0HLJMP FINALNEXT1:MOV P3,#0EFHJB P3.1,NEXT2MOV P0,#0F9HLJMP FINALNEXT2: MOV P3,#0EFHJB P3.2,NEXT3MOV P0,#0A4HLJMP FINALNEXT3: MOV P3,#0EFHJB P3.3,NEXT4MOV P0,#0B0HLJMP FINALNEXT4: MOV P3,#0DFHJB P3.0,NEXT5MOV P0,#99HLJMP FINALNEXT5: MOV P3,
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 新鄉學院《現代食品營養與安全自科類》2023-2024學年第一學期期末試卷
- 興安職業技術學院《配器Ⅰ》2023-2024學年第一學期期末試卷
- 2024屆山東省臨沂市經濟開發區中考數學模擬試題含解析
- 甘肅省高臺縣重點達標名校2024年中考數學五模試卷含解析
- 廣東韶關曲江重點中學2024屆中考數學最后沖刺模擬試卷含解析
- 2025員工三級安全培訓考試試題【考點提分】
- 2025公司廠級員工安全培訓考試試題有答案
- 2025年項目部安全培訓考試試題答案4A
- 2024-2025企業級安全培訓考試試題及答案【名校卷】
- 2025年項目部安全管理人員安全培訓考試試題附答案【A卷】
- 項目部施工管理實施計劃編制任務分工表
- 【2021部編版語文】-三年級下冊第七單元教材解讀--PPT課件
- 橙色黑板風小學生知識產權科普PPT模板
- 電網公司變電設備帶電水沖洗作業實施細則
- 中國供銷合作社標識使用手冊課件
- Q∕CR 9218-2015 鐵路隧道監控量測技術規程
- 甲狀腺解剖及正常超聲切面ppt課件
- 上海市城市地下空間建設用地審批及房地產登記試行規定
- 蠕墨鑄鐵項目可行性研究報告寫作范文
- “V”法鑄造工藝及應用
- 高二年級學業水平考試備考實施方案
評論
0/150
提交評論