首页 理论教育嵌入式C语言特点及应用技能|零起点学习单片机多语言编程

嵌入式C语言特点及应用技能|零起点学习单片机多语言编程

【摘要】:以上几方面导致了在嵌入式系统中应用高级语言变得非常必要。如何让读者较容易的具备嵌入式C语言的基本应用技能,从而为大量学习应用实例创造条件是本书的一个特点。嵌入式C语言与被控对象结合紧密,编程除具有标准C语言的特点外,与标准C语言相比,还有如下一些要求:1)对一些关键字进行了一定的扩展。

1.标准C语言

C语言是一种计算机高级程序设计语言,应用非常普遍,它具有以下一些基本特点:

1)具有高级语言面向用户、容易记忆、便于阅读等优点,又有面向硬件和系统,可以直接与底层硬件交互的能力。

2)它是一种结构化程序设计语言,便于采用自顶向下的设计方法,程序结构清晰、牢固,便于维护。

3)便于模块化,每个模块功能独立,为团队集体开发创造了良好的条件。

4)具有丰富的运算符,非常利于计算处理。

5)很容易利用众多的库函数,提高了程序开发的效率

6)数据类型丰富,具有较强的数据处理能力。

7)具有良好的可移植性,通过不同的C语言编译器,可以在不同的单片机上执行。

由于C语言具有上述众多优点,因而它既适宜编写系统软件,也适宜编写应用软件。

2.嵌入式C语言

所谓嵌入式系统,是指将操作软件或固件程序嵌入到机器芯片内,从而构成一个控制系统。包括单片机系统在内,由于芯片容量较小,通常直接用汇编语言编程,代码效率较高。但近来情况有所变化,有如下几个方面因素:

1)单片机芯片容量增大,速度提高。运行软件的能力大大增强。(www.chuimin.cn)

2)随着片上系统(System on Chip,SoC)的出现,系统硬件集成度大大提高,开发重点转移到软件方面。

3)软件复杂性提高,程序大型化,导致必须以团队化的开发方式编程。

4)软件开发的速度和可维护性成为主要因素。

5)技术交流及方便阅读的需要。

以上几方面导致了在嵌入式系统中应用高级语言变得非常必要。但在众多高级语言中,为什么C语言被青睐呢?可能是只有C语言具备与底层硬件交互的能力,因而在嵌入式系统中应用高级语言方面,C语言是最佳的选择。如何让读者较容易的具备嵌入式C语言的基本应用技能,从而为大量学习应用实例创造条件是本书的一个特点。

嵌入式C语言与被控对象结合紧密,编程除具有标准C语言的特点外,与标准C语言相比,还有如下一些要求:

1)对一些关键字进行了一定的扩展。

2)对核心芯片的结构有一定了解。

3)了解被控对象的硬件系统特性。

这些特点是学习者必须考虑的。本书后面如果不特别指明,C语言即指嵌入式C语言,不再加“嵌入式”前提。

3.C语言编译器

C语言程序可以在不同单片机之间移植。但这种移植的条件就是要靠与单片机对应的C语言编译器。例如,C语言程序要想通过编译生成8051系列单片机的机器代码,就必须在Keil C51编译器下才能通过。对AVR系列单片机也必须有专用的C语言编译器才可以生成相应的代码。因此,编译器对生成机器代码是至关重要的。Keil C51编译器可以生成高质量的8051机器代码,只比汇编语言稍多一些。后面要学习的内容,就是在Keil μVision 2开发环境下进行的。读者可以将两种语言编程进行对比,就可以深切体会到C语言的优势。现在网上可以下载到Keil uVi-sion 3,但要有2KB代码限制,会给使用带来不便。因而我们仍然以Keil μVision 2为主。