第二篇 C51语言程序设计指南

第3章 C51语言程序设计基础

C51语言既具有汇编语言对操作硬件的功能,又兼有高级编程语言的许多优点。在现代单片机程序设计中,C51语言得到了广泛的应用。本章主要介绍C51程序的基本结构以及C51程序设计的基础知识,包括标识符、关键字、数据类型、表达式和运算符等。

3.1 C51程序的基本结构

单片机C51语言继承了C语言的特点,其程序结构与一般C语言的程序结构没有差别。C51源程序文件的扩展名为“.c”,如Test.c、Function.c等。每个C51源程序中包含一个名为“main()”的主函数,C51程序的执行总是从main()函数开始的。当主函数中所有语句执行完毕,则程序执行结束。下面是一个典型的C51源程序的例子。


include<reg52.h>//预处理命令,reg52.h是一个头文件

void Function1(void);//自定义函数Function1声明

void main(void)//主函数

{

Function1();//调用自定义函数Function1

unsigned char ch;//主函数中变量声明

while(1)

{

printf(“ch=%c\n”,ch);//程序语句

ch++;//程序语句

}

}

void Function1(void)//自定义函数Function1

{

unsigned char ps;//自定义函数内部变量声明

ps=12;//程序语句

printf(“ps=%d\n”,ps);//程序语句

}


从上面的例子可以看出,一个典型的C51源程序包含预处理命令、自定义函数声明、main主函数和自定义函数。这几部分完全类似于C语言的程序结构,各个部分的功能如下。

❑预处理命令部分常用#include命令来包含一些程序中用到的头文件。这些头文件中包含了一些库函数以及其他函数的声明及定义。

❑自定义函数声明部分用来声明源程序中自定义的函数。

❑main主函数是整个C51程序的入口。不论main()函数位于程序代码中的哪个位置,C51程序总是首先从main()函数开始执行的。

❑自定义函数部分是C51源程序中用到的自定义函数的函数体,其中实现了用户自定义的功能。

除了扩展名为“.c”的源程序文件外,C51程序还支持扩展名为“.h”的头文件以及扩展名为“.lib”的库文件等。在一般的编译系统中,通常以项目结构来管理复杂的C51程序文件。例如在KeilµVision3编译环境中,整个项目结构如图3.1所示。

第二篇 C51语言程序设计指南 - 图1

图 3.1 KeilµVision3项目结构示意图

在这里,整个项目由项目文件来管理,项目文件的扩展名为“.Uv2”。整个工程项目中可以包含如下几类文件。

❑头文件用来包含一些库函数、系统变量声明以及将不同的C文件连接起来。

❑C源文件是C51程序的主要部分,用来实现特定的功能。C源文件可以有一个,也可以按照不同的功能分成多个,但所有这些C源文件中有且仅有一个可以包含一个main()主函数。

❑库文件是实现特定功能的函数库,供C源文件进行调用。

❑编译中间文件是源程序在编译链接过程中生成的中间文件,其中包含了文件编译调试的信息。

❑可烧录文件是编译系统生成的可以烧录到单片机内部供执行的文件,类似于“.exe”可执行文件。在C51语言中,一般扩展名为“.hex”或者“.bin”等。

在这些文件中,C源文件是必需的,其他的文件可以根据用户的实际需要而选用。