电子设计大赛系列培训 ------ 单片机和 c 语言 (2)

Post on 30-Dec-2015

105 Views

Category:

Documents

13 Downloads

Preview:

Click to see full reader

DESCRIPTION

电子设计大赛系列培训 ------ 单片机和 C 语言 (2). 第三讲 Keil C 和 STC-ISP 软件的使用. 3.1 Keil C 软件使用. Keil C51 是众多单片机应用开发的优秀软件之一,它集编辑、编译、仿真于一体,支持汇编、 PLM 语言和 C 语言的程序设计,界面友好,易学易用。. 3.1.1 启动 Keil C51 软件. 下面介绍 Keil C51 软件的使用方法,启动 Keil C51 时的屏幕图所示。. 启动 KeilC51 时的屏幕. 几秒钟后出现编辑界面,屏幕如下图所示。. 进入 KeilC51 时的编辑界面. - PowerPoint PPT Presentation

TRANSCRIPT

汽车学院

电子设计大赛培训系列之三

电子设计大赛系列培训------ 单片机和 C 语言 (2)

汽车学院

电子设计大赛培训系列之三

第三讲 Keil C 和 STC-

ISP 软件的使用

汽车学院

电子设计大赛培训系列之三

3.1 Keil C 软件使用

Keil C51Keil C51 是众多单片机应用开发的是众多单片机应用开发的优秀软件之一,它集编辑、编译、仿优秀软件之一,它集编辑、编译、仿真于一体,支持汇编、真于一体,支持汇编、 PLM PLM 语言和语言和CC 语言的程序设计,界面友好,易学语言的程序设计,界面友好,易学易用。易用。

汽车学院

电子设计大赛培训系列之三

3.1.1 启动 Keil C51 软件

启动 KeilC51 时的屏幕

下面介绍下面介绍 Keil C51Keil C51 软件的使用方法,启动软件的使用方法,启动 Keil C51Keil C51时的屏幕图所示。时的屏幕图所示。

汽车学院

电子设计大赛培训系列之三进入 KeilC51 时的编辑界面

几秒钟后出现编辑界面,屏幕如下图所示。

汽车学院

电子设计大赛培训系列之三

6.1.2 简单程序建立过程简介

在 KeilC51 中建立一个新工程

下面通过简单的编程、调试操作和演示,让大家学习和掌握 Keil C51 软件的基本使用方法和基本调试技巧。

1 、建立工程。单击“ Project” 菜单准备建立一个新工程,在弹出的下拉菜单中选中“ New Project” 选项(见下图)。

汽车学院

电子设计大赛培训系列之三将新工程保存到指定目录

2 、工程名称。选择要保存的路径,输入工程文件的名字,比如保存到 d:\STCproject 目录下,工程项目名为 P_STCproject ,单击“保存”按钮即可,如图。

汽车学院

电子设计大赛培训系列之三

单片机的选型

3 、选择芯片。系统弹出一个对话框要求选择单片机的型号,可以根据所使用的单片机来选择。 Keil C51 几乎支持所有的 MCS-51 内核的单片机,虽然这里没有 STC 的单片机选项,但是选中Atmel 中的 89C52 即可默认是 STC89C52RC 单片机。如下图所示,选择 89C52 之后,右边栏是对这个单片机的基本的说明,然后单击“确定”按钮。

汽车学院

电子设计大赛培训系列之三

4 、建立新文件。完成上一步骤后界面如图所示,到目前为止,在建好的项目中还没有编写一句程序,下面开始编写第一个程序。

KeilC51中的一个

空项目界面

汽车学院

电子设计大赛培训系列之三

在下图中,单击“ File” 菜单再在下拉菜单中单击“ New” 选项;

准备新建一个文件

汽车学院

电子设计大赛培训系列之三

新建文件后屏幕如图所示

新建文件界面

汽车学院

电子设计大赛培训系列之三

此时光标在编辑窗口中闪烁,这时可以键入用户编写的源程序了,此处建议保存该空白文件及其类型,单击菜单上的“ File” ,在下拉菜单中选中“ Save as” 项者单击,屏幕如下图所示,在“文件名”栏右侧的编辑框中,键入欲使用的文件名,同时,必须键入正确的扩展名。注意,如果用C语言编写程序则扩展名为 .c ;如果用汇编语言编写程序,则扩展名必须为 .asm 。然后,单击“保存”按钮。

保存新建文件及其类型

界面

汽车学院

电子设计大赛培训系列之三

5 、将此文件加入该工程。回到编辑界面后,单击“ Target1”前面的“+”号,然后在“ SourceGroup1” 上单击右键弹出如图所示菜单项;

在 KeilC51 中的一个空项目里加入文件

汽车学院

电子设计大赛培训系列之三

然后单击“ AddFiletoGroup‘SourceGroup1’” 屏幕如图所示

C 源程序被加入空项目里

汽车学院

电子设计大赛培训系列之三

选中 Text1.c ,然后单击“ Add” 屏幕如图所示,

C 源程序被加入空项目后的界面

汽车学院

电子设计大赛培训系列之三

此时‘ Source Group1’ 文件夹中多了一个子项“ Text1.c” ,子项的多少与所增加的源程序的多少相同。

6 、编辑源程序。在光标闪烁的代码编辑区输入如下 C 语言源程序;

#include<reg52.h>#include<stdio.h>void main(void){SCON = 0x52; // 串口方式 1, 允许接收TMOD = 0x20;// 定时器 T1 工作在方式 2TH1 = 0xF3; // 选定波特率TR1 = 1; // 启动定时器,此行及以上 3 行为 printf 函数所

必须printf("Hello I am KEIL.\n") ;printf("I will be your friend.\n") ;while(1);}

汽车学院

电子设计大赛培训系列之三

在输入上述程序时, Keil c51 会自动识别关键字,并以不同的颜色提示用户加以注意,这样会使用户少犯错误,有利于提高编程效率。程序输入完毕后,如图所示

C 源程序在项目中被编辑的效果

汽车学院

电子设计大赛培训系列之三

7 、编译调试。然后单击“ Project” 菜单,再在下拉菜单中单击“ Built Target” 选项(或者使用快捷键 F7 ),编译成功后,再单击“ Debug” 菜单,在下拉菜单中单击“ Start/stop Debug Session” 选项(或者使用快捷键 Ctrl+F5 ),界面如下图所示

C 源程序在执行

Ctrl+F5后的效果

汽车学院

电子设计大赛培训系列之三

8 、运行和停止程序。单击“ Debug” 菜单,在下拉菜单中单击“ go” 选项(或者使用快捷键 F5 ),然后再单击“ Debug”菜单,在下拉菜单中单击“ Stop Runing” 选项(或者使用快捷键 Esc );再单击“ View” 菜单,在下拉菜单中单击“ Serial Windows#1”选项,就可以看到程序运行后的结果,其结果如图所示

C 源程序最后的执行结果

汽车学院

电子设计大赛培训系列之三

至此,在 KeilC51 中做了一个完整工程的全过程,但这只是纯软件的开发过程,必须在 KeilC51 中进行进一步设置才能将已编译好的程序下载到 STC 单片机中供其运行。9 、输出 hex 文件 ( 做为烧录文件使用 ) 。 单击“ Project” 菜单,再在下拉菜单中单击“ options for Target ‘Target1’” 选项或者右击 Target1 选“ Options fo Target ‘Target 1’”也可以用工具栏按钮。

汽车学院

电子设计大赛培训系列之三

汽车学院

电子设计大赛培训系列之三

在对话框中的“ Output”选项卡中选中“ CreateHEXFile” 前的复选框,再编译一次程序,在项目目录中就会产生HEX代码,本例会产生 P_STCproject.hex供下载器软件使用。下载器软件会把程序下载到 STC89C52RC 单片机中。

汽车学院

电子设计大赛培训系列之三HEX 代码产生的设置

汽车学院

电子设计大赛培训系列之三

3.1.3 Keil C 的调试

1、编译

汽车学院

电子设计大赛培训系列之三

2 、除错模式 CTRL+F5

汽车学院

电子设计大赛培训系列之三

查看堆栈单步运行

复位

连续运行

跟踪运行 运行到光标处

停止运行源程序 /反汇编

窗口切换

查看串行口

调试工具

汽车学院

电子设计大赛培训系列之三

除错模式界面

汽车学院

电子设计大赛培训系列之三

3 、周边除错辅助工具 ( 用以模拟 )

汽车学院

电子设计大赛培训系列之三

3.1.4 IO port 模拟

汽车学院

电子设计大赛培训系列之三

01. 可自行控制 P0 脚位

汽车学院

电子设计大赛培训系列之三

02.P1 、 P2 变化

汽车学院

电子设计大赛培训系列之三

单片机以 STC89C52RC 单片机为主芯片,用串口线即可完成程序的下载,电源采用USB 口供电,更加方便携带,一台计算机足以完成程序的开发及下载工作。

3.2 3.2 用 stc-isp 软件将 HEX 文件写入单片机芯片中

3.2.1 开发板和 STC 下载线的配置

汽车学院

电子设计大赛培训系列之三单片机最小系统、下载线和上位机之间的配置图

汽车学院

电子设计大赛培训系列之三

stc-isp 软件在视窗系统桌面的快捷方式

3.2.2 3.2.2 如何将如何将 HEX HEX 文件写入单片机芯片文件写入单片机芯片 首先在 PC 机上安装 stc-isp 软件(该步骤略去)并启动该软件,可以在 http://www.mcu-memory.com 下载 stc-isp 软件,安装好后的软件在桌面上应出现如图所示的图标。双击该图标打开,正式进入软件操作阶段。

汽车学院

电子设计大赛培训系列之三

1 、选择所用的单片机,这里选用与开发板上型号一致的单片机,即 STC89C52RC ,如图所示。如果使用的是其他型号的单片机,可以根据所用单片机型号来选择。

在 stc-isp 软件中

选择单片机

型号

汽车学院

电子设计大赛培训系列之三

2 、打开文件(单击 Open File→*.hex ) ,选中源程序Text1.C 所产生的 P_STCproject.hex 文件(文件名与项目名有关)并双击它,该文件的十六进制代码被调入右边的文件缓冲区窗口,如下图所示。

在 stc-isp 软件中

HEX 文件的导入

汽车学院

电子设计大赛培训系列之三

3 、选择所用的串行口,通常选择 COM1 ,如下图( a )所示。如果所用的 PC 机有多个串口,或者使用 USB 到串口的转换装置,就要根据实际情况来选择。最高波特率可以作为默认值使用,如下图( b )所示。如果所用的 PC 机配置较低,可以选低一些的波特率进行尝试。

在 stc-isp 软件中对串行口和波特率的选择

汽车学院

电子设计大赛培训系列之三

*4 、选择其他选项。 STC 单片机可工作于双倍速,这在写片时决定;写片时可以决定单片机内部的振荡电路增益是否减半;下次冷启动时是否需要将 P10 和 P11置为低电平才能正常工作。这些都可以在写片时决定,如图所示。

在 stc-isp 软件中设定其他选项

汽车学院

电子设计大赛培训系列之三

5 、单击“ Download” 按钮开始下载。注意:一定要先单击“ Download” 按钮,然后再给单片机电路板通电,如果一切正常,那么将弹出如下图所示界面不断提示工作进程,直至所有下载工作完成。

在 stc-isp 软件中正常下载界面

汽车学院

电子设计大赛培训系列之三

点亮发光二极管:

#include<reg51.h>sbit D1=P3^7;void main(){ while(1) D1=1;}

3.3实例

汽车学院

电子设计大赛培训系列之三

点亮发光二极管:

#include<reg51.h>sbit D1=P3^7;void main(){

while(1)D1=0;

}

汽车学院

电子设计大赛培训系列之三

发光二极管闪烁:#include<reg51.h>sbit D1=P3^7;unsigned int a;void main(){

while(1){a=50000;D1=0;while(a--);a=50000;D1=1;while(a--);}

}

汽车学院

电子设计大赛培训系列之三

课堂练习对照 51 单片机学习板原理图写程序;用位操作和总线操作两种方法完成以下题目;1.熟练建立 KEIL 工程;2.点亮第一个发光管;3.点亮最后一个发光管;4.点亮 1 、 3 、 5 、 7 ;5.点亮二、四、五、六;6.尝试让第一个发光管闪烁;7.尝试设计出流水灯程序。

汽车学院

电子设计大赛培训系列之三

课后训练

1. 第一个发光管以间隔 200ms 闪烁2. 8 个发光管由上至下间隔 1s流动,其中每个管亮 500ms, 灭

500ms,亮时蜂鸣器响,灭时关闭蜂鸣器,一直重复下去。3. 8 个发光管来回流动,第个管亮 100ms,流动时让蜂鸣器发

出“滴滴”声。4. 用 8 个发光管演示出 8 位二进制数累加过程。5. 8 个发光管间隔 200ms由上至下,再由下至上,再重复一次,

然后全部熄灭再以 300ms间隔全部闪烁 5 次。重复此过程。6. 间隔 300ms 第一次一个管亮流动一次,第二次两个管亮流动,

依次到 8 个管亮,然后重复整个过程。7. 间隔 300ms先奇数亮再偶数亮,循环三次;一个灯上下循环

三次;两个分别从两边往中间流动三次;再从中间往两边流动三次; 8 个全部闪烁 3 次;关闭发光管,程序停止。

汽车学院

电子设计大赛培训系列之三

Thank you very much

谢谢大家!

top related