單片機實驗1(Kiel 軟件的使用和C程序調(diào)試)_第1頁
單片機實驗1(Kiel 軟件的使用和C程序調(diào)試)_第2頁
單片機實驗1(Kiel 軟件的使用和C程序調(diào)試)_第3頁
單片機實驗1(Kiel 軟件的使用和C程序調(diào)試)_第4頁
單片機實驗1(Kiel 軟件的使用和C程序調(diào)試)_第5頁
已閱讀5頁,還剩14頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、單片機原理與接口技術(shù)實驗 實驗一:Kiel 軟件的使用和C程序調(diào)試一、實驗目的: 1、通過實驗學會用C語言進行程序的設(shè)計。 2、學會應用keil-uvision集成調(diào)試軟件對C語言程序進行調(diào)試。掌握C語言程序的編輯、編譯(biny)、運行、單步調(diào)試的過程和通過寄存器、存儲器檢查程序運行結(jié)果是否正確的方法。共十九頁 二、kerl-uvision集成調(diào)試軟件(run jin)的操作 操作步驟:1、雙擊桌面上的UV2快捷圖 ,啟動軟件。共十九頁 2、點擊P工程(gngchng) N新建工程 輸入文件名(如A1)并點擊保存。共十九頁 3、出現(xiàn)(chxin)CPU屏幕,選Atmel AT89C51 點確

2、定。屏幕左上方出現(xiàn)圖標目標1。共十九頁 4、點擊文件(wnjin) 新建文件(wnjin) 出現(xiàn)程序輸入?yún)^(qū)。共十九頁輸入C語言(yyn)程序:#includevoid main(void) int x,y,sum,sub,mul,div; x=5; y=8; sum=x+y; sub=x-y; mul=x*y; div=y/x; while(1); 輸入后點擊文件中的保存(bocn),輸入程序名(例如S1.C)并選擇存入的盤(如D:)點擊保存。 程序名一般不超過6個字母數(shù)字,以字母打頭,C語言要加尾綴:.C。 如果程序已經(jīng)存在,可點擊文件 打開文件,找到需要選擇的文件。共十九頁 5、點擊(di

3、n j)(圖標)目標1前的“+”號,出現(xiàn)(圖標)源程序組1,選中并點右鍵,選“文件增加到源程序組1”,選擇文件類型為C,再選要輸入的程序 S1.C,點ADD(加入),點確定。 此時點擊源程序組1可以看到要輸入的程序S1.C 。共十九頁在對程序編譯前要進行以下的設(shè)置: 1、單擊“project”(工程)菜單,在下拉菜單中單擊“options for target 1”(目標 目標1屬性),再單擊“target”(目標),將輸入仿真器的晶振頻率改為12.0MHz。 2、在目標 目標1屬性 頁面下選擇output(輸出) ,點擊“Create HEX file”(產(chǎn)生hex文件)的選項,以便匯編后生

4、成HEX代碼,供編程器使用。 3、對于軟件仿真(fn zhn),在目標 目標1屬性 頁面下點“Debug”(調(diào)試),再選“S 使用軟件仿真器”,同時選中“加載代碼到仿真器”和“運行到main0”,然后點擊“確定”。共十九頁 6、程序的編譯和鏈接 依次點擊(din j)屏幕上方左下角的編譯和建造目標圖標 對文件進行編譯和鏈接,觀察左下角的調(diào)試程序信息顯示,如有錯可根據(jù)該欄提示的信息進行修改,修改后要重新保存和編譯,直到無錯誤提示。共十九頁 7、點擊調(diào)試圖標 ,進入(jnr)程序調(diào)試畫面,此時黃箭頭所指是將要執(zhí)行的指令。共十九頁 (1)調(diào)試界面分為(fn wi)4部分: 左上角為REG和系統(tǒng)顯示區(qū)

5、,可觀察寄存器的變化; 左下角為調(diào)試程序時的信息顯示; 右上角為程序編寫和修改區(qū); 右下角存儲器的顯示區(qū)。 共十九頁 (2)存儲區(qū)設(shè)置: 如果未出現(xiàn)存儲區(qū),設(shè)置方式如下:點擊:V視圖 M存儲器窗口,右下角會出現(xiàn)4個存儲區(qū):存儲器#1-#4??梢愿鶕?jù)需要設(shè)置。通常設(shè)置程序存儲區(qū)、內(nèi)部(nib)數(shù)據(jù)存儲區(qū)、外部數(shù)據(jù)存儲區(qū)。 點擊存儲器1#,在上面地址欄中輸入C:0000H,存儲器1#被設(shè)計為程序存儲器,地址從0000H開始。 點擊存儲器2#,在上面地址欄中輸入D:0000H,此時存儲器2#被設(shè)計為內(nèi)部數(shù)據(jù)存儲器,地址從0000H開始。 點擊存儲器3#,在上面地址欄中輸入X:0000H,此時存儲器3

6、#被設(shè)計為外部數(shù)據(jù)存儲器,地址從0000H開始。 共十九頁 8、運行程序 點擊 (左圖標)為全速運行或停止程序運行(右圖標);如果希望單步執(zhí)行(即一條一條的執(zhí)行指令,以便調(diào)試程序)可點擊 圖標,每點擊一次黃箭頭會向下(xin xi)移動,指向下(xin xi)一條指令。共十九頁 9、對C語言程序,調(diào)試時需打開(d ki)以下窗口:(1)變量的查詢: 打開V視圖:W監(jiān)視&調(diào)用堆棧窗,在局部欄中或監(jiān)視#1、2中觀察結(jié)果。(2)用scanf輸入,或用printf輸出時: 打開V視圖:串行口1#觀察結(jié)果。 當單步運行時,在scanf語句運行后,在串行口1#中光標位置按輸入格式要求輸入數(shù)據(jù)后回車。(3)

7、修改或停止運行程序時再次點擊 ,退出運行狀態(tài),可以進行程序的修改。 共十九頁三、實驗內(nèi)容 熟悉Kiel C軟件界面,編輯、編譯、運行程序。1、順序程序:輸入(shr)下面程序,調(diào)試并觀察運算結(jié)果。#include#includevoid main(void) int x,y; SCON=0 x52; TMOD=0 x20; TH1=0 xF3; TR1=1; printf(input x,y:n); scanf(%d%d,&x,&y); printf(%X,x+y); printf(%d,x+y); while(1);共十九頁2、分支(fnzh)程序#include#includemain()

8、 int x,y,max; SCON=0 x52; TMOD=0 x20; TH1=0 xf4; TR1=1; printf(input x,y:n); scanf(%d %d,&x,&y); if(xy) max=x; else max=y; printf(%dn,max); while(1);共十九頁2022/7/15 3、循環(huán)程序:輸入下面(xi mian)程序(有錯誤),調(diào)試并觀察運算結(jié)果。#include#includevoid main (void) int i;s=0; i=1; SCON=0 x52;TMOD=0 x20; TH1=0 xf3;TR1=1 while (i101

9、); s=s+i ; i+ printf(“%dn”,s); while(1)共十九頁 四、自編程序 編寫C程序,用for語句實現(xiàn)0-100的求和。 要求:程序必須編譯通過并運行正確。 五、實驗報告 每次實驗完畢后記錄(jl)實驗結(jié)果,在下次實驗時提交上次實驗的實驗報告。 報告內(nèi)容: 1、實驗目的 2、實驗內(nèi)容 3、實驗原理圖與線路連接 4、實驗步驟 5、實驗結(jié)果 6、實驗體會共十九頁內(nèi)容摘要單片機原理與接口技術(shù)實驗。2、學會應用keil-uvision集成調(diào)試軟件對C語言程序進行調(diào)試。void main(void)。熟悉Kiel C軟件界面,編輯(binj)、編譯、運行程序。printf(input

溫馨提示

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

評論

0/150

提交評論