文档介绍:3单片机的C语言基础C语言是一种高级程序设计语言,C语言具有汇编语言和高级语言的双重特性,既可以作为系统设计语言来编写操作系统,也可以作为应用程序设计语言来编写不依赖计算机硬件的应用程序。它的优点是可读性强和可移植性高。使用C语言来开发程序不但可以减少程序开发的时间,而且所开发出来的程序不会占据大量的程序存储器,因此许多嵌入式系统程序都使用C语言作为开发工具。目前,单片机使用C语言编写程序比较流行,特别是对于初学者,利用C语言编写单片机程序根本不用了解通用寄存器的应用过程以及内部各个部件的地址,只需记住特殊寄存器的作用就可以编写完美的程序。单片机C语言程序设计过程中,虽然出现了各种不同的C语言编译器,但使用C语言编程时仍然依照C语言格式进行。在这一节中,我们将学习单片机程序设计中常用的C语言基础知识。本节任务:;;、函数的使用方法;。、C语言简介C语言诞生于20世纪70年代初在贝尔实验室,当时的目的是作为UNIX操作系统的实现语言。随着UNIX操作系统的广泛使用,C语言也迅速得到推广。C语言在发展过程中出现了多种版本,并且得到不断的改进。各个C语言版本之间存在一些不一致的地方。美国国家标准协会(ANSI)在1983年对C语言进行了改进和扩充,制定了ANSIC标准,并于1989年再次修订。二、C语言的特点C语言可读性强和可移植性高的优点。C语言的主要特点如下:(1)C语言是一种面向过程的高级程序设计语言。(2)可移植性好,编写的程序能够适应各种平台。(3)C语言语言简洁,结构紧凑,使用方便、灵活。(4)C语言是一种模块化的程序设计语言。(5)数据处理能力强,运算符丰富。三、单片机使用C语言的基本格式在开始学习C语言之前,我们先看一个完整的单片机程序案例,。本程序利用KeilC软件编写。/************************/#include<>sbitLED=P1^0;//定义LED为P1_0;voiddelay(void){ inti,j;for(I=1;I<=255;i++)//延时一段时间for(j=1;j<=255;j++);}voidmain(void){ LED=0;while(1){ delay(); LED=!LED; }}/************************/从以上程序中我们看到C语言程序有以下特点:(1)C语言程序中大小写是有所区别的,基本上C语言大都是使用小写。(2)程序中每一条指令的结尾都必须加上分号“;”。每一个声明,每一个语句都必须以分号结束。但预处理命令、函数头和大括号“}”之后不能加分号。(3)C语言程序中,main()表示主程序,程序都是从该函数开始运行,所以程序中一定要有且仅有一个main()函数,但可以有多个其他函数(如min()函数等),每一个函数完成相对独立的功能,函数是C语言程序的基本模块单元。main()是函数名,后面的一对圆括号“()”用来写函数的参数,参数可以省略,但圆括号不能省略。(4)函数之后的“{”表示本函数开始,“}”表示本函数结束。(5)程序中所使用的变量一定要预先作声明,换言之,变量的声明必须放在程序的开头。(6)为了增强程序的可读性,低一层次的语句或声明通常比高一层次的语句或声明缩进若干格后书写,以体现层次结构四、编译预处理所谓预处理,是指在进行编译的第一遍扫描(词法扫描和语法分析)之前所做的工作。预处理是C语言的一个重要功能,它由预处理程序负责完成。当对一个源文件进行编译时,系统将自动调用预处理程序对源程序中的预处理部分作处理,处理完毕自动进入对源程序的编译。预处理命令都以“#”开头,每个处理命令必须单独占一行,且末尾不使用分号作为结束符。预处理命令放在源程序的首部,作用域是从当前说明的地方开始到文件结束,在文件之外就失去作用。常用的预处理命令有宏定义、条件编译和文件包含。C语言有以下一些编译指令,如表2-1-1所示。表3-1-1编译预处理编译指令说明#include包含另一个文件#define定义一个宏(macro)或是常量#undef取消一个宏或是常量的定义#asm和endasm在程序中加入汇编语言的程序#ifdef、#indef、#else和#endif用于条件式的编译#include指示编译器把它所包的文件加进来一起进行编译。#include<>,;