*注:可以肯定的说这个教程只是为初学或入门者准备的,笔者本人也只是菜鸟一只,有望各位大侠高手指点错误提出建议。
明浩 2003-3-30 pnzwzw@cdle.net
以上简单介绍了KEIL51软件,要使用KEIL51软件,必需先要安装它。KEIL51是一个商业的软件,对于我们这些普通爱好者可以到KEIL中国代理周立功公司的网站上下载一份能编译2K的DEMO版软件,基本可以满足一般的个人学习和小型应用的开发。(安装的方法和普通软件相当这里就不做介绍了)
安装好后,你是不是迫不及待的想建立自己的第一个C程序项目呢?下面就让我们一起来建立一个小程序项目吧。或许你手中还没有一块实验板,甚至没有一块单片机,不过没有关系我们可以通过KEIL软件仿真看到程序运行的结果。
首先当然是运行KEIL51软件。怎么打开?噢,天!那你要从头学电脑了。呵呵,开个玩笑,这个问题我想读者们也不会提的了:P。运行几秒后,出现如图1-1的屏幕。

图1-1 启动时的屏幕
(1)点击Project菜单,选择弹出的下拉式菜单中的New Project,如图1-2。接着弹出一个标准Windows文件对话窗口,如图1-3,这个东东想必大家是见了N次的了,用法技巧也不是这里要说的,以后的章节中出现类似情况将不再说明。在"文件名"中输入您的第一个C程序项目名称,这里我们用"test",这是笔者惯用的名称,大家不必照搬就是了,只要符合Windows文件规则的文件名都行。"保存"后的文件扩展名为uv2,这是KEIL uVision2项目文件扩展名,以后我们可以直接点击此文件以打开先前做的项目。

图1-2 New Project菜单

图1-3 文件窗口
(2)选择所要的单片机,这里我们选择常用的Ateml公司的AT89C51。此时屏幕如图1-4所示。AT89C51有什么功能、特点呢?不用急,看图中右边有简单的介绍,稍后的章节会作较详细的介绍。完成上面步骤后,我们就可以进行程序的编写了。
(3)首先我们要在项目中创建新的程序文件或加入旧程序文件。如果你没有现成的程序,那么就要新建一个程序文件。在KEIL中有一些程序的Demo,在这里我们还是以一个C程序为例介绍如何新建一个C程序和如何加到您的第一个项目中吧。点击图1-5中1的新建文件的快捷按钮,在2中出现一个新的文字编辑窗口,这个操作也可以通过菜单File-New或快捷键Ctrl+N来实现。好了,现在可以编写程序了,光标已出现在文本编辑窗口中,等待我们的输入了。第一程序嘛,写个简单明了的吧。下面是经典的一段程序,呵,如果你看过别的程序书也许也有类似的程序:
#include <AT89X51.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
}
}

图1-4选取芯片

图1-5新建程序文件
(4)点击图1-5中的3保存新建的程序,也可以用菜单File-Save或快捷键Ctrl+S进行保存。因是新文件所以保存时会弹出类似图1-3的文件操作窗口,我们把第一个程序命名为test1.c,保存在项目所在的目录中,这时你会发现程序单词有了不同的颜色,说明KEIL的C语法检查生效了。如图1-6鼠标在屏幕左边的Source Group1文件夹图标上右击弹出菜单,在这里可以做在项目中增加减少文件等操作。我们?quot;Add File to Group 'Source Group 1'"弹出文件窗口,选择刚刚保存的文件,按ADD按钮,关闭文件窗,程序文件已加到项目中了。这时在Source Group1文件夹图标左边出现了一个小+号说明,文件组中有了文件,点击它可以展开查看。

图1-6把文件加入到项目文件组中

图1-7编译程序
到此为止,第一课已经完结了,初步学习了一些KEIL uVision2的项目文件创建、编译、运行和软件仿真的基本操作方法。其中一直有提到一些功能的快捷键的使用,的确在实际的开发应用中快捷键的运用可以大大提高工作的效率,建议大家多多使用,还有就是对这里所讲的操作方法举一反三用于类似的操作中。

图1-8调试运行程序
Tags:单片机,c语言教程
责任编辑:adminESP32单片机入门篇
超声波测距+温度+报警的单片机代码_51单片机超声波测距C语言程序
七段数码管显示原理研究_数码管显示0~9对应的段码
单片机C语言编程入门教程 流水灯程序示例
基于51单片机—多功能秒表,多功能计时器C语言程序
STC89C52单片机数字电流表电压表源码与电路图 51单片机电流电压
自学stm32单片机四个步骤,实用又高效!
先学51还是先学STM32?STM32和51单片机的区别
单片机最小系统介绍及电路设计 STM32单片机最小系统
什么是PIC单片机
为什么51单片机的晶振一般使用11.0592? 51单片机常用波特率初值表
51单片机寄存器功能一览表
单片机写延时程序的几种方法
自学单片机编程之中断与时钟程序
哈佛结构与冯·诺伊曼结构区别以及X86体系
单片机万年历:公历日期与农历日期的相互转换程序
AVR定时器1的CTC模式设置
单片机超声波视觉识别系统的测量软件开发,超声波测距
LCD1602的单片机驱动详解
- · 自学单片机编程之中断与时钟程序
- · 哈佛结构与冯·诺伊曼结构区别以及X86体
- · RS485通信和Modbus协议
- · 单片机时钟,8位数码管数字钟的制作
- · 简单流水灯的实现程序
- · 51单片机按键程序中 while(!key)的作用
- · 51单片机制作的经济、安全的电子密码锁
- · 看门狗电路图
- · 单片机数字时钟 89C2051数字钟套件
- · 认识单片机引脚【详解】
- · 89C2051实现的电子钟
- · 单片机4×4矩阵键盘设计方案
- · C51的中断编程
- · c51中断函数的介绍
- · 汇编:单片机驱动LED数码管电路及编程
- · 单片机汇编:音乐盒DIY—生日快乐歌程序
- · 51单片机指令功能表
- · 电热水器定时控制器设计,单片机运用
- · 单片机发展的历史
- · MCS-51系列单片机指令表
- · 51单片机汇编程序集