购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

1.2.1 认识C语言

1.C语言的特点

C语言是一种结构化语言,它层次清晰,便于按模块化方式组织程序,易于调试和维护。C语言的表现能力和处理能力极强,它不仅具有丰富的运算符和数据类型,便于实现各类复杂的数据结构,它还可以直接访问内存的物理地址,进行位(bit)一级的操作。由于C语言实现了对硬件的编程操作,因此,C语言集高级语言和低级语言的功能于一体,效率高,可移植性强,特别适合单片机系统的编程与开发。

2.单片机采用C语言编程的好处

与汇编语言相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。用过汇编语言后再使用C语言来开发,体会更加深刻。下面简要说明单片机采用C语言编程的几点好处。

(1)语言简洁,使用方便灵活

C语言是现有程序设计语言中规模最小的语言之一,C浯言的关键字很少,ANSI C标准只有 32 个关键字,9 种控制语句,压缩了一切不必要的成分。C语言的书写形式比较自由,表达方法简洁,使用一些简单的方法就可以构造出相当复杂的数据类型和程序结构。同时,目前几乎所有单片机都有相应的C语言级别的仿真调试系统,调试十分方便。

(2)代码编译效率较高

目前,较好的C语言编译系统编译出来的代码效率只比直接使用汇编低 20%左右,如果使用优化编译选项甚至可以更低。况且,AVR系列单片机片上ROM空间可以做得很大,代码效率所差的 20%已经不是一个重要问题。

(3)无须深入理解单片机内部结构

采用汇编语言进行编程时,编程者必须对单片机的内部结构及寄存器的使用方法十分清楚;在编程时,一般还要进行RAM分配,稍不小心,就会发生变量地址重复或冲突。

采用C语言进行设计,不必对单片机硬件结构有很深入的了解,编译器可以自动完成变量存储单元的分配,编程者可以专注于应用软件部分的设计,大大加快了软件的开发速度。

(4)可进行模块化开发

C语言是以函数作为程序设计的基本单位的,C语言程序中的函数相当于汇编语言中的子程序。各种C语言编译器都会提供一个函数库,此外,C语言还具有自定义函数的功能,用户可以根据需要编制满足某种特殊需要的自定义函数(程序模块),这些程序模块可不经修改,直接被其他项目所用。因此,采用C语言编程,可以最大程度地实现资源共享。

(5)可移植性好

用过汇编语言的读者都知道,即使是功能完全相同的一种程序,对于不同的单片机,必须采用不同的汇编语言来编写,这是因为汇编语言完全依赖于单片机硬件。C语言是通过编译来得到可执行代码的,本身不依赖机器硬件系统,用C语言编写的程序基本上不用修改或者进行简单的修改,即可方便地移植到另一种类型的单片机上。

(6)可以直接操作硬件

C语言具有直接访问单片机物理地址的能力,可以直接访问片内或片外存储器,还可以进行各种位操作。

总之,用C语言进行单片机程序设计是单片机开发与应用的必然趋势,一旦学会使用C语言,就会对它爱不释手。尤其是学习过 51 单片机C语言的读者,再学习AVR单片机C语言是十分方便的,只需要对AVR单片机的硬件结构及相关寄存器做一简单了解即可。 2ZIH2l3ev2LxmjaNrVCZ2kmURuG8StLSHchDGk+7rZXWfJ3SzJ8XFhfgIsPIpIU3

点击中间区域
呼出菜单
上一章
目录
下一章
×