首页 理论教育 《零点起步-AVR单片机开发入门与典型实例》书评

《零点起步-AVR单片机开发入门与典型实例》书评

时间:2023-10-17 理论教育 版权反馈
【摘要】:C语言提供的数据类型有整型、实型、字符型、数组类型、指针类型、结构体类型、共用体类型等。具有汇编语言的部分功能,直接对硬件进行操作,因此C语言又常被称之为“中级语言”。6)C语言编制的程序较其他高级语言编制的程序具有效率高,可移植性强等特点。C语言的头文件中包括了各个标准库函数的函数原型。main是一个函数名,表示“主函数”。

《零点起步-AVR单片机开发入门与典型实例》书评

C语言是一种结构化程序设计语言,编写的程序层次清晰,便于按模块化方式组织,易于调试和维护,并且C语言的表现能力和处理能力极强。其主要特点有:

1)C语言简洁、紧凑,使用方便、灵活。只有32个关键字、5种基本语句、9种控制语句,程序书写形式自由,主要使用小写字母表示。

2)具有丰富的运算符和数据类型,便于实现各类复杂的数据结构。C语言提供的数据类型有整型、实型、字符型、数组类型、指针类型、结构体类型、共用体类型等。特别是指针类型,使得用户能够通过操作内存空间地址来直接处理数据,提高了程序设计灵活性及执行效率

3)能够直接访问内存的物理地址,进行位(bit)一级的操作。具有汇编语言的部分功能,直接对硬件进行操作,因此C语言又常被称之为“中级语言”。

4)具有结构化控制语句,便于实现程序的模块化设计。

5)既可用于系统软件的开发,也适合于应用软件的开发。

6)C语言编制的程序较其他高级语言编制的程序具有效率高,可移植性强等特点。

下面是一个简单的C语言小程序,通过这个小程序我们开始C语言的学习。这个程序是\icc\examples目录中的文件led.c的基础上修改的流水灯实验。(www.xing528.com)

上面的程序就称为C语言源程序,简称C程序。

该例程是在初始化I/O寄存器后之后,运行一个无限循环,并且在这个循环中改变LED的步进图案,LED是在LED_On例程中被改变的,在LED_On例程中直接写正确的数值到I/O端口,因为CPU执行速度很快,为能够看见图案变化,LED_On例程调用了延时例程,因为不能确定实际的延时值,这一对嵌套循环只能给出延时的近似延时时间,如果这个定时时间很重要,那么在这个例程中应该使用硬件定时器来完成延时。

该程序中的第一行中include是一条编译预处理命令,其意义是把尖括号<>或引号""内指定的文件包含到本程序中来,成为本程序的一部分。被包含的文件通常是由系统提供的,其扩展名为.h。因此也称为头文件或首部文件。C语言的头文件中包括了各个标准库函数的函数原型。因此,凡是在程序中调用一个库函数时,都必须包含该函数原型所在的头文件。在本例中include的作用是将后面的iom16v.h头文件包含到设计的程序中来,因为在iom16v.h头文件中有程序要用到的ATmega16单片机I/O寄存器的定义。

main是一个函数名,表示“主函数”。C程序总是由一个或多个函数组成的,程序通过函数实现要做的各种操作,函数名可以按照标识符的命名法则随程序员的喜好去取,但是需要注意的是在C程序中“主函数”只有一个就是main,C程序总是从main函数中的第一条语句开始执行,并且在主函数中的最后一条语句结束运行。

用{}括起来的部分是函数的语句部分,称为函数体。

//...是注释部分,是为了便于程序阅读及维护而添加的,对于程序的编译和执行没有影响。注释可以加到程序的任何位置,但需要注意的是注释不能够嵌套,即在注释中不能再含有//...。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈