单片机C51应用技术
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

任务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
    }
}