keil初級使用與匯編程序設計教程 - 圖文-_第1頁
keil初級使用與匯編程序設計教程 - 圖文-_第2頁
keil初級使用與匯編程序設計教程 - 圖文-_第3頁
keil初級使用與匯編程序設計教程 - 圖文-_第4頁
keil初級使用與匯編程序設計教程 - 圖文-_第5頁
已閱讀5頁,還剩20頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

1、 第 4章 AT C51匯 編語言程序設計 哎三 實訓 4:軟 件調試仿真器 KeiluVision應 用 (2 看指令執行 時間 ,延 時子程序 的設計 、觀測和調試 。 程管理 窗 口或片 內 RAM窗 口觀察子程序調用 時堆棧 的變化情況 。 =工 儲器 窗 口觀察片外 RAM窗 口中相關單元 的變化情況 。 =存 fF買 強化 Kei1實 訓 ,通 過 Kei1實 訓來增強編寫程序 的能力和對程序 的理解 。 41節 中建立工 程和設置 Kei1 程 目標選項 ,本 章項 目工 程名設為 LITI,選 用 叫艸 三 d鱷 酃 二 三 丁t1。 設置使用軟件仿真器 ,使 用匯編語言編寫源

2、程序 ,設 置匯編后生成格式 們 臣 標代碼文件 。工 程建 立 后 ,單 擊 按鈕建 立 新文件 ,彈 出一 個文本編輯 窗 口 枷 菅 刪 噦 、 ¨ 廈可在其 內進行源程序設計與編輯 。Kei1工 作界面如 圖 16所 示 ,圖 中最 上 欄 珊 喘 三主的項 目工 程名 LITI以 下操作參看 3。 4。 1節 敘述 。 廳亨存放 在 片 隊 免 夂5=X1+Xz+¨ 刂 : 循環 結構 ” , 燕初值 :R3、 R4=0 圖 16 源程序編輯 窗 口 43。 1 用 Keil設 計延時子程序并進行仿真調試和延時測量 目的 Kei1集 成開發環境下 ,當 晶振為 垴

3、 求累加 和 礓序流程 圖 12MHz時 ,設 計 ms延 時子程序 (對 應機器周期 s,并 進行仿真調試與延 時測量 。 2。 用 Kei丨 設計延時源程序并存盤 辱 4。 2。 1中 【 9】 延 時 ms源 程序輸入 圖 16中 的文本編輯 窗 口 內,檢 查無誤后 例 憔口 按鈕 ,取 文件名 LB41。 ASM存 盤 ,如 圖 17所 示 。但 工 程管 理 窗 口的文件管理 泄=還 沒有文件 LB41。 ASM,這 是 因為 尚未將文件添加到 工 程 中 。 文件名 江 LB41 m LB41。 ASM存 盤 圖 17 輸入源程序并取名 77 3.添 加源程 序文件到工 程 將源

4、程序文件添加到 工 程 ,進 行源程序匯編 ( Ii 可看到源程序 JILB41。 ASM己 添加到 工 程 中 , 、 氵 并建 立 了 HEX目 標代碼文件 。 4 I 運行 、觀察時間和延 時時間調試 “ ÷=妁 過程 二 二女 至 i星 :二 臺刂 工 運 行 的意 了 ,而 是執 單擊 工 具欄 中的工 具按鈕 瞰 :,進 入運行諼 0T ” 單步 工 具按鈕 T,則 運行調用子程序指令 LCALL1亠 回指令 RET結 束為子程序 , 共 9行 指令 。整個÷ ¨ “ ” 思是 將子程序這個過程 當成單步 來完成 =彡 。 行完子程序 的所有指令后返

5、回停止到下 一 條指 ÷ - - p± 的黃色 箭頭正指 向 SJMP$指 令 。從 工 程管理 窗 口的寄 T “ 時子程序 。而 state江 006” 表示 的是運行整 人于廴 =工 以秒為單位 的運行 時間 ,近 似等于 ms,差 麩 ;TL 二叫 -DO這 是 " -二 20ms的 延 卩 圖 18 添加源程序文件到工廷 如果有需要觀察子程 序 中的指 令運 t廠 J. 亍冒 刂 t 三t YASH 棧區的 ” 程單步 工具按鈕 T,則 工程管理窗口中的 子程序延時 40ms,而 機器周期數仍為 OO6。 =÷ 0x08和 0x09單 元 中的

6、 內容為 0003,三 1二 t OxOOO3。 每按 一 次 孔 按鈕 ,運 行子程序 中 條考 ÷ T 一 一 “ “ 均在累積增加 , states” 與 s” 都是從程序運 吁二 t三 票 一 “ 9” 擊 執行完當前子程序工具按鈕 ,跳 出子程 亨玎 一 存器 SP又 由 9變 為 7,表 示原先壓入堆棧的之辶 三 理窗 口中的 PC程 序計數器的內容為 OxOO03: 延 時子程序 的延 時時間除與設計程序有夫夕 ,0 卜 器頻率 12MHz的 延 時 。 若重設振蕩器頻率為 6IHz, . 指令 ,跳 入 子程序 中運行程 字 :這 玎二 歹F二 變為 9,表 示 已將

7、 主 程序 中調用指令 的下 一 條 二 T 1J=內 RAM堆 j 一景指令地 址 為 孑扌 行時 間 “ s” 、 = =二 1三 孑 =圣 LCALL SP由 7 二子埕 序 ,可 單 _ _ =莛 棧指針 (寄 J,可 以看 到 工 程 管 L_ _ 一 單片機原理 、應用與 PROTEUs仿 真 例 11程 序 的運行過程及相關存儲單元 內容 的變化情況 。 習題與思考 4 將 一 個按高低字節存放在 21H、 20H中 的雙字節數乘 以 2后 ,再 按高低次序將結 存放到 ” H、 21H、 zOH單 元 中 。 1。 2.試 編程 ,將 片外 RAM中 1000H1050H單 元

8、 的內容置為 55H。 試編寫統計數據 區長度 的程序 ,設 數據 區從片 內 RAM的 3OH單 元開始 ,該 數據 以 0結 束 ,統 計結果放入 2FH中 。 3。 4。 5。 試編寫程序 ,將 片外 RAM的 00H oFH數 據 區中的數據 由大到小排列 。 若 晶振頻率為 6MHz,試 計算下面延 時子程序 的延 時時間 。 DELAY: Mo LP: Mo DJNz DNZ RET 6。 7。 R7,#0F6H R6,#0FAH R6,$ R7,LP 試分別編寫延 時 20hs和 1s的 程序 。 試編寫利用調用子程序 的方法延 時 1 血 的程序 。 已知整 數存在 A中 ,查

9、 表結果存入片 內 用查表程序求 06之 間的整數 的立 方 。 8。 31H中 。 編寫程序 ,查 找在片 內 RAM的 存 入 51H單 元 。 9。 3OH H單 元 中出現 FFH的 次數 ,并 將查找結 10.試 用子程序求多項式 卜 (A+B餌 (B+c2的 值 。 11 已知 ( H 33H,(61H 43H,試 寫 出下列程序 的功能和運行 結果 。 oRG 00H SJMP $ 】 ss: Mo R0,#61H CRR: MOV A,R0 、 MOV R1,#70H CLR C ACA CRR SUBB A,#30H A,#0AH,NEQ sWAP A C刀 NE AJMP BIG MOV R1,A NEQ: JC CEN DEC R0 BIG SUBB A,#07H ACA CRR CEN: RET XCHD A,R1 (60H干 ,(61H , (70H . 12.在 片 內 RAM的 H單 元 開始 ,相 繼存 放 5個 無 符 號數 ,其 數 目 5存 放 在 21H 元 中 。試 編 寫程序 ,求 出這 組無 符

溫馨提示

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

評論

0/150

提交評論