KeilC51使用教程

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Keil C语言程序设计示例教程(开发C8051F310)

使用汇编语言或C语言要使用编译器,以便把写好的程序编译为机器码,才能把HEX可执行文件写入单片机内。KEIL uVISION是众多单片机应用开发软件中最优秀的软件之一,它支持众多不同公司的MCS51架构的芯片,甚至ARM,它集编辑,编译,仿真等于一体,它的界面和常用的微软VC++的界面相似,界面友好,易学易用,在调试程序,软件仿真方面也有很强大的功能。因此很多开发51应用的工程师或普通的单片机爱好者,都对它十分喜欢。

在这里以51单片机并结合C程序为例(汇编操作方法类似,唯一不同的是汇编源程序文件名后缀为“.ASM ”),图文描述工程项目的创建和使用方法。

1.首先我们要养成一个习惯:最好先建立一个空文件夹,把您的工程文件放到里面,以避

免和其他文件混合,如下图, 创建了一个名为“PRJ_C8051”文件夹

2.点击桌面上的Keil uVision4图标,出现启动画面:

3.点击“project --- New uVision Project”新建一个工程:

4.在对话框,选择放在刚才建立的“PRJ_C8051”文件夹下,给这个工程取个名为Test_C8051F310, 然后保存,工程的后缀为uvporj。

5.弹出一个框,在CPU类型下我们找到并选中“Silicon Laboratories. Inc.”下的

C8051F310

6.加入C8051起动码

7.建立一个源程序文本

8.在下面空白区别写入或复制一个完整的C程序:

9.输入源程序文件名名称,示例输入“Test_C8051F310.c”,然后保存:

10.把刚创建的源程序文件加入到工程项目文件中。

11.设置---目标(第1步~ 第4步)

15.工程项目创建和设置全部完成!点击保持并编译

16.在C8051F310中的C语言程序示例

//-----------------------------------------------------------------------------

// Includes

// 在c8051f310.h在头文件中定义了C8051F310的寄存器、输入/输出的端口

//-----------------------------------------------------------------------------

#include // SFR declarations

//-----------------------------------------------------------------------------

// 16-bit SFR Definitions for 'F30x

//-----------------------------------------------------------------------------

sfr16 TMR2RL = 0xca; // Timer2 reload value

sfr16 TMR2 = 0xcc; // Timer2 counter

//-----------------------------------------------------------------------------

// Global CONSTANTS

//-----------------------------------------------------------------------------

#define SYSCLK 24500000 / 8 // SYSCLK frequency in Hz

sbit LED = P0^0; // LED='1' means ON

//-----------------------------------------------------------------------------

// Function PROTOTYPES

//-----------------------------------------------------------------------------

void SYSCLK_Init (void);

void PORT_Init (void);

void Timer2_Init (int counts);

void Timer2_ISR (void);

//-----------------------------------------------------------------------------

// MAIN Routine

//-----------------------------------------------------------------------------

void main (void)

{

// disable watchdog timer

PCA0MD &= ~0x40; // WDTE = 0 (clear watchdog timer

// enable)

SYSCLK_Init (); // Initialize system clock to

// 24.5MHz

PORT_Init (); // Initialize crossbar and GPIO

Timer2_Init (SYSCLK / 12 / 10); // Init Timer2 to generate

相关文档
最新文档