嵌入式C程序基础与编程结构
Basics of Embedded C Program and Programming Structure
嵌入式C编程是处理器在我们日常生活中遇到的每一个嵌入式系统(如手机、洗衣机和数码相机)中运行的灵魂。
每个处理器都与一个嵌入式软件相关联。首先也是最重要的是决定嵌入式系统功能的嵌入式软件。嵌入式C语言是单片机最常用的编程语言。
早期,许多嵌入式应用程序是使用汇编级编程开发的。但是,它们没有提供可移植性。这种缺点被各种高级语言如C、Pascal和COBOL的出现所克服。然而,正是C语言在嵌入式系统中得到了广泛的接受,而且它还在继续这样做。编写的C代码更加可靠、可伸缩和可移植;而且事实上,更容易理解。
关于C语言
C语言是丹尼斯·里奇在1969年开发的。它是一个或多个函数的集合,每个函数都是执行特定任务的语句的集合。
C语言是一种中级语言,它支持高级应用程序和低级应用程序。在深入讨论嵌入式C编程的细节之前,我们应该先了解RAM的内存组织。
语言的显著特点
C语言是一个用不同的关键字、数据类型、变量、常量等设计的软件。
嵌入式C是一个通用术语,它被赋予一种用C编写的编程语言,它与特定的硬件体系结构相关联。
Embedded C是C语言的一个扩展,带有一些附加的头文件。这些头文件可能会从一个控制器更改为另一个控制器。
使用微控制器8051 include
嵌入式系统设计者必须了解硬件体系结构,才能编写程序。这些程序在监视和控制外部设备方面发挥着突出的作用。它们还直接操作和使用微控制器的内部结构,如中断处理、定时器、串行通信和其他可用功能。
Differences between C and Embedded C
嵌入式软件的基本附加特性
数据类型
数据类型是指一个广泛的系统,用于声明不同类型的变量,如整数、字符、浮点等。嵌入式C软件使用四种数据类型,用于在内存中存储数据。
“char”用于存储任何单个字符;“int”用于存储整数值,“float”用于存储任何精度浮点值。
下表给出了32位计算机上不同数据类型的大小和范围。不同字号的机器的大小和范围可能不同。
有些词是专门用来完成特定任务的。这些词被称为关键字。它们是标准的,在嵌入式C中预定义。
关键字总是用小写字母写的。在编写主程序之前,必须定义这些关键字。嵌入式软件的基本关键字如下:
sbit:此数据类型用于访问SFR寄存器的单个位。
语法:sbit variable name=SFR bit;
例:sbit a=P2^1;
说明:如果我们将P2^1指定为“a”变量,那么我们可以在程序的任何地方使用“a”而不是p2.1,这样可以降低程序的复杂性。
位:该数据类型用于访问RAM(20h-2fh)的位可寻址存储器。
语法:位变量名;
例:c位;
说明:它是一个小数据区的位序列设置,程序用它来存储一些东西。
SFR:此数据类型用于通过其他名称访问SFR寄存器。所有SFR寄存器必须用大写字母声明。
语法:SFR
variable name=SFR寄存器的SFR地址;
例如:SFR端口0=0x80;
说明:如果将0x80指定为“port0”,则可以在程序中的任何位置使用0x80而不是port0,从而降低程序的复杂性。
SFR寄存器:SFR代表“特殊功能寄存器”。微控制器8051具有256字节的RAM存储器。这个RAM分为两部分:第一部分128字节用于数据存储,另一部分128字节用于SFR寄存器。所有外围设备,如I/O端口、定时器和计数器,都存储在SFR寄存器中,每个元素都有一个唯一的地址。
嵌入式C程序的结构
· comments
· preprocessor directives
· global variables
· main() function
{
· local variables
· statements
· ……………
· ……………
}
· fun(1)
{
· local variables
· statements
· ……………
· ……………
}
注释:在嵌入式C语言中,我们可以在代码中添加注释,这有助于读者轻松理解代码。
C=a+b;/将两个值存储在另一个变量C中的变量相加/
预处理器指令:嵌入式C软件的所有功能都包含在预处理器库中,如“includes
全局变量
全局变量是在主函数之前声明的变量,可以在程序中的任何函数上访问。
Global variable
局部变量
局部变量是在函数中声明的变量,它只能在该函数中使用。
Local variable
Main()函数
程序的执行从主函数开始。每个程序只使用一个main()函数。
嵌入式C程序的优点
开发应用程序所需时间较短。
它降低了程序的复杂性。
很容易验证和理解。
从一个控制器到另一个控制器在本质上是可移植的。
几个嵌入式C程序的例子
以下是一些简单的嵌入式C程序,用于基于微控制器的项目。
Example-1
Example-2
Example-3
Example-4
希望能够为嵌入式C编程的初学者提供一种简单易行的方法。更好地理解嵌入式C编程是设计基于嵌入式的项目的最基本的先决条件。除此之外,更好的理解和适当的嵌入式C编程知识有助于学生选择一个有价值的职业。
我们鼓励并欢迎读者提出疑问、建议和意见。因此,您可以在下面的评论部分发布您对本文的查询和反馈。