单片机实验1(Kiel 软件的使用和C程序调试)_第1页
单片机实验1(Kiel 软件的使用和C程序调试)_第2页
单片机实验1(Kiel 软件的使用和C程序调试)_第3页
单片机实验1(Kiel 软件的使用和C程序调试)_第4页
单片机实验1(Kiel 软件的使用和C程序调试)_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、单片机原理与接口技术实验单片机原理与接口技术实验 实验一:实验一:Kiel Kiel 软件的使用和软件的使用和C C程序调试程序调试一、实验目的:一、实验目的: 1 1、通过实验学会用、通过实验学会用C C语言进行程序的设计。语言进行程序的设计。 2 2、学会应用、学会应用keil-uvisionkeil-uvision集成调试软件对集成调试软件对C C语言程语言程序进行调试。掌握序进行调试。掌握C C语言程序的编辑、编译、运行、语言程序的编辑、编译、运行、单步调试的过程和通过寄存器、存储器检查程序运行单步调试的过程和通过寄存器、存储器检查程序运行结果是否正确的方法。结果是否正确的方法。 二、

2、二、kerl-uvisionkerl-uvision集成调试软件的操作集成调试软件的操作 操作步骤:操作步骤:1、双击桌面上的、双击桌面上的UV2UV2快捷图快捷图 ,启动,启动软件。软件。 2 2、点击、点击P P工程工程 N N新建工程新建工程 输入文件名(如输入文件名(如A1A1)并点击保存。)并点击保存。 3 3、出现、出现CPUCPU屏幕,选屏幕,选AtmelAtmel AT89C51 AT89C51 点确定。点确定。屏幕左上方出现图标目标屏幕左上方出现图标目标1 1。 4 4、点击文件、点击文件 新建文件新建文件 出现程序输入区。出现程序输入区。输入输入C C语言程序:语言程序:#

3、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); 输入后点击文件中的保输入后点击文件中的保存,输入程序名存,输入程序名( (例如例如S1.C)S1.C)并选择存入的盘并选择存入的盘( (如如D:)D:)点点击保存。击保存。 程序名一般不超过程序名一般不超过6 6个个字母数字字母数字, ,以字母打头,以字母打头,C C语言要加尾缀:语言要加尾缀:.C.C。 如果程序已经存在,可如果程序已经存在,可点击文件点击文件 打开文件,打开文件,找到需

4、要选择的文件。找到需要选择的文件。 5 5、点击(图标)目标、点击(图标)目标1 1前的前的“+”+”号,出现(号,出现(图标图标)源程序组源程序组1 1,选中并点右键,选,选中并点右键,选“文件增加到源程序组文件增加到源程序组1”1”,选择文件类型为,选择文件类型为C C,再选要输入的程序,再选要输入的程序 S1.CS1.C,点,点ADDADD(加入),点确定。(加入),点确定。 此时点击源程序组此时点击源程序组1 1可以看到可以看到要输入的程序要输入的程序S1.CS1.C 。在对程序编译前要进行以下的设置:在对程序编译前要进行以下的设置: 1、单击“project”(工程)菜单,在下拉菜单

5、中单击“options for target 1”(目标 目标1属性),再单击“target”(目标),将输入仿真器的晶振频率改为12.0MHz。 2、在目标 目标1属性 页面下选择output(输出) ,点击“Create HEX file”(产生hex文件)的选项,以便汇编后生成HEX代码,供编程器使用。 3、对于软件仿真,在目标 目标1属性 页面下点“Debug”(调试),再选“S 使用软件仿真器”,同时选中“加载代码到仿真器”和“运行到main0”,然后点击“确定”。 6 6、程序的编译和链接、程序的编译和链接 依次依次点击屏幕上方左下角的编译和建造目标图标点击屏幕上方左下角的编译和建

6、造目标图标 对文件进行编译和链接,对文件进行编译和链接,观察左下角的调试观察左下角的调试程序信息显示,如有错可根据该栏提示的信息进行修程序信息显示,如有错可根据该栏提示的信息进行修改,修改后要重新保存和编译改,修改后要重新保存和编译, ,直到无错误提示。直到无错误提示。 7 7、点击调试图标、点击调试图标 ,进入程序调试画面,此时,进入程序调试画面,此时黄箭头所指是将要执行的指令。黄箭头所指是将要执行的指令。 (1 1)调试界面分为)调试界面分为4 4部分:部分: 左上角为左上角为REGREG和系统显示区和系统显示区, ,可观察寄存器的变化;可观察寄存器的变化; 左下角为调试程序时的信息显示;

7、左下角为调试程序时的信息显示; 右上角为程序编写和修改区;右上角为程序编写和修改区; 右下角存储器的显示区。右下角存储器的显示区。 (2 2)存储区设置)存储区设置: : 如果未出现存储区,设置方式如下:点如果未出现存储区,设置方式如下:点击击:V:V视图视图 M M存储器窗口,右下角会出现存储器窗口,右下角会出现4 4个存储区:存储器个存储区:存储器#1-#4#1-#4。可以根据需要设置。通常设置。可以根据需要设置。通常设置程序存储区程序存储区、内部数据存内部数据存储区储区、外部数据存储区外部数据存储区。 点击存储器点击存储器1#1#,在上面地址栏中输入,在上面地址栏中输入C:0000HC:

8、0000H,存储器,存储器1#1#被被设计为设计为程序存储器程序存储器,地址从,地址从0000H0000H开始。开始。 点击存储器点击存储器2#2#,在上面地址栏中输入,在上面地址栏中输入D:0000HD:0000H,此时存储器,此时存储器2#2#被设计为内部数据存储器,被设计为内部数据存储器,地址从地址从0000H0000H开始。开始。 点击存储器点击存储器3#3#,在上面地址栏中输入,在上面地址栏中输入X:0000HX:0000H,此时存储器,此时存储器3#3#被设计为外部数据存储器,被设计为外部数据存储器,地址从地址从0000H0000H开始。开始。 8 8、运行程序、运行程序 点击点击

9、 (左图标)为全速运行或停止程(左图标)为全速运行或停止程序运行(右图标);如果希望单步执行(即一条一条的执行指序运行(右图标);如果希望单步执行(即一条一条的执行指令,以便调试程序)可点击令,以便调试程序)可点击 图标,每点击一次黄箭头会向下图标,每点击一次黄箭头会向下移动,指向下一条指令。移动,指向下一条指令。 9 9、对、对C C语言程序,调试时需打开以下窗口:语言程序,调试时需打开以下窗口:(1 1)变量的查询:)变量的查询: 打开打开V V视图:视图:W W监视监视& &调用堆栈窗,在局部栏中或监调用堆栈窗,在局部栏中或监视视#1#1、2 2中观察结果。中观察结果。(

10、2 2)用)用scanfscanf输入,或用输入,或用printfprintf输出时:输出时: 打开打开V V视图:串行口视图:串行口1#1#观察结果。观察结果。 当单步运行时,在当单步运行时,在scanfscanf语句运行后,在串行口语句运行后,在串行口1#1#中光标位置按输入格式要求输入数据后中光标位置按输入格式要求输入数据后回车。回车。(3 3)修改或停止运行程序时再次点击)修改或停止运行程序时再次点击 ,退出,退出运行状态,可以进行程序的修改。运行状态,可以进行程序的修改。 三、三、实验内容实验内容 熟悉熟悉Kiel CKiel C软件界面软件界面, ,编辑、编译、运行程序。编辑、编译

11、、运行程序。1 1、顺序程序:输入下面程序,调试并观察运算结果。、顺序程序:输入下面程序,调试并观察运算结果。#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 2、分支程序、分支程序#include#include#include#includemain()main() int x,y,max; in

12、t x,y,max; SCON=0 x52; SCON=0 x52; TMOD=0 x20;TMOD=0 x20; TH1=0 xf4; TH1=0 xf4; TR1=1; TR1=1; printf(input x,y:n);printf(input x,y:n); scanf(%d %d,&x,&y); scanf(%d %d,&x,&y); if(xy) max=x; if(xy) max=x; else max=y; else max=y; printf(%dn,max); printf(%dn,max); while(1); while(1);2022-3-6 3 3、循环程序:输入下面程序、循环程序:输入下面程序( (有错误有错误) ),调试并,调试并观察运算结果观察运算结果。#include#includevoid main (void) int i;s=0; i=1; SCON=0 x52;TMOD=0 x20; TH1=0 xf3;TR1=1 while (i101); s=s+i ; i+ printf(“%dn”,s); while(1) 四、自编程序四、自编程序 编写编写C C程序,用程序,用forfor语句实现语句实现0-1000-100的求和。的求和。 要求:程序必须编译通过并运行正

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论