任务2 KEIL集成开发环境
一、教学目标
【能力目标】
能在KEIL软件中完成源程序的输入、保存。能对源程序进行编译和基本调试。
【知识目标】
(1)熟悉KEIL软件的开发环境,掌握源程序输入的几种方法及保存的类型。
(2)熟悉源程序的编译过程及相关调试步骤。掌握单步、断点等的调试方法。
二、工作任务
在KEIL软件中输入以下源程序,并完成编译、调试和保存。
#include <REG52.h> //预处理命令 sbit P1_0=P1^0; void main(void) //主函数名 { unsigned int a; //定义变量a 为int 类型 do { for(a=0; a<50000; a++); //这是一个循环 P1_0=0; //设P1.0 口为低电平,点亮LED for(a=0; a<50000; a++); //这是一个延时循环 P1_0=1; //设P1.0 口为高电平,熄灭LED } while(1); }
三、任务实施
在计算机D盘新建一个文件夹,重命名为“项目一”,项目一的所有任务都保存在该文件夹内。
1.新建与保存源程序
第一步:双击KEIL uVision3的桌面快捷方式,启动KEIL集成开发软件。启动后的KEIL C51集成开发环境界面如图1-2-1所示。
第二步:新建文本编辑界面或加入原先的程序文件。
选择“File(文件)”→“New”命令或菜单栏的“新建文本”命令,即可在项目界面的右侧打开一个新的文本编辑界面,默认文件名为“Text1”,如图1-2-2所示。
第三步:输入源程序。
在“Text1”中输入C语言源程序,如图1-2-3所示。
图1-2-1 KEIL C51集成开发环境初始界面
图1-2-2 新建文本编辑界面
第四步:保存源程序。
保存文件时必须加上文件的扩展名,C语言程序文件的扩展名使用“*.C ”。选择路径和文件名为“D:\任务一\LIANXI1.C”,如图1-2-4所示。
注意:第三步和第四步之间的顺序可以互换,即可以先输入源程序后保存,也可以先保存后输入源程序。
图1-2-3 输入源程序
图1-2-4 保存源程序
2.建立新工程
第五步:新建KEIL工程。
选择“Project(工程)”→“New Project(新建工程)”命令,将出现保存对话框,如图1-2-5所示。在保存工程对话框中输入工程文件名“LIANXI1”,KEIL工程默认扩展名为“*.uv2”,工程名称不用输入扩展名。一般情况下使工程文件名称和源文件名称相同即可,输入名称后保存,将出现“Select Device for Target(选择设备)”对话框,如图1-2-6所示。
图1-2-5 建立新工程
图1-2-6 选择CPU
第六步:选择CPU型号。
本新建工程选择了Atmel公司的AT89C52单片机。在对话框中选择“公司(Atmel)”→“CPU(AT89C52)”型号,单击“确定”按钮返回主界面,如图1-2-6所示。
单击“是”按钮,如图1-2-7所示,选择程序加载时是否加载默认初始化条件。
图1-2-7 加载初始化
3.加入源程序到工程中
第七步:加入源程序。
展开“Target1”,在“Source Group 1”上单击鼠标右键添加文件,如图1-2-8所示。选择添加到工程中的源程序文件“LIANXI1.C”,如图1-2-9所示。
图1-2-8 加入文件
图1-2-9 选择源程序
双击该文件或单击选中该文件,再单击“Add”按钮,即可将该文件添加到工程当中。再单击“Close”按钮,出现如图1-2-10所示界面。
图1-2-10 源程序
4.相关参数设置
第八步:工程目标“Target 1”属性设置。
选中工程目标“Target 1”单击右键,按照如图1-2-11所示,进入如图1-2-12所示‘Target 1’属性设置界面。
图1-2-11 工程目标
图1-2-12 “Target 1”属性设置界面
(1)工程目标“Target 1”属性设置。
该界面包括单片机的晶振频率、存储器等属性确定,修改晶振的频率为12MHz,如图1-2-12所示。
(2)工程输出“Output”选项卡。
该界面设置如图1-2-13所示,允许生成“*.HEX”可固化文件。
图1-2-13 工程输出
(3)工程调试“Debug”选项卡。
工程调试界面设置如图1-2-14所示,左边是软件仿真设置,右边是硬件仿真设置。当使用软件仿真时,选中左边的“Use Simulator”;如果使用硬件仿真器时,那么就单击右边下拉菜单选择单片机型号并单击“Settings”按钮。设置硬件仿真时,同时把仿真器连接到计算机串口上。
图1-2-14 工程调试界面
(4)串口设置。
串口设置如图1-2-15所示。串口型号是根据仿真器实际情况连接来设置的,如将仿真器接到COM1口,就选择COM1;通信波特率选择9600即可。
图1-2-15 串口设置
5.源程序编译
第九步:源程序的编译与目标文件的获得。
如图1-2-16所示,单击“构造目标”快捷按钮,进行源程序的编译连接,源程序编译相关的信息会出现在输出界面中的“构造”页中。
图1-2-16 源程序编译
如果源程序中书写、格式等有错误,则不能通过编译,错误会在输出界面中报告出来。双击该错误,就可以定位到源程序的出错行,可以对源程序进行反复修改,再编译,直到没有错误为止。显示编译结果为0错误,0警告,则为编译通过,同时产生了目标文件。
注意:每次修改源程序后一定要保存。
6.程序调试界面
(1)执行代码。
在KEIL调试器中,单击按钮,出现调试工具栏,如图1-2-17所示。再次单击按钮,退出程序调试。
图1-2-17 调试工具栏
是复位模式,模拟芯片的复位,程序回到最开头处执行。当单击按钮后,运行目标程序,执行代码,程序处于停止状态时才有效。为停止模式,运行状态时才有效。和为单步运行程序,前者进入函数运行,后者把函数当作一条语句运行。从函数中跳出,单击只运行光标行程序。
(2)设置断点/取消断点。
单击或在光标行前面双击,可设置调试断点,让程序快速运行到断点处,用于程序分析。如图1-2-18所示为单击按钮后,运行目标程序到断点处。取消断点单击按钮。
图1-2-18 运行目标程序到断点处
(3)参数设置。
如图1-2-19所示,可以观察单片机中断、I/O接口内容、串行口和定时器参数。
图1-2-19 参数设置
(4)。
从左到右依次为“反汇编界面”、“观察界面”、“代码界面”、“串行口界面”和“存储器界面”。如图1-2-20所示为“反汇编界面”。如图1-2-21所示为“串行口界面”,可以看到从C51单片机芯片的串行口I/O的字符。如图1-2-22所示为“观察界面”,可以观察/修改变量值,单击“F2”按钮,可以增加观察变量。如图1-2-23所示为“存储器界面”,输入I,D,C,X可以观察/修改存储器的内容。
图1-2-20 反汇编界面
图1-2-21 串行口界面
图1-2-22 观察界面
图1-2-23 存储器界面
最后,要停止程序运行回到文件编辑模式中,就要先单击(停止)按钮,再单击(调试)按钮,然后就可以进行关闭KEIL等相关操作了。
四、实践练习
(1)输入下列程序,完成源程序的输入、保存,名称自定。
#include<REG51.H> #include<STDIO.H> void main(void) { SCON=0x50; //串口方式1,允许接收 TMOD=0x20; //定时器1定时方式2 TCON=0x40; //设定时器1开始计数 TH1=0xE8; //11.0592MHz 1200波特率 TL1=0xE8; TI=1; TR1=1; //启动定时器 while(1) { printf(“Hello World!\n”); //显示Hello World } }