码迷,mamicode.com
首页 > 其他好文 > 详细

嵌入式C程序基础与编程结构

时间:2020-06-25 13:49:53      阅读:77      评论:0      收藏:0      [点我收藏+]

标签:软件   glob   c代码   字节   整数   大写   info   数码相机   寄存器   

嵌入式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<reg51.h>。             

嵌入式系统设计者必须了解硬件体系结构,才能编写程序。这些程序在监视和控制外部设备方面发挥着突出的作用。它们还直接操作和使用微控制器的内部结构,如中断处理、定时器、串行通信和其他可用功能。

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<reg51.h>,”defines“。这些函数在运行程序时执行。             

全局变量             

全局变量是在主函数之前声明的变量,可以在程序中的任何函数上访问。

技术图片

Global variable

局部变量             

局部变量是在函数中声明的变量,它只能在该函数中使用。

技术图片

Local variable

Main()函数             

程序的执行从主函数开始。每个程序只使用一个main()函数。             

嵌入式C程序的优点             

开发应用程序所需时间较短。             

它降低了程序的复杂性。             

很容易验证和理解。             

从一个控制器到另一个控制器在本质上是可移植的。             

几个嵌入式C程序的例子             

以下是一些简单的嵌入式C程序,用于基于微控制器的项目。

技术图片

Example-1

技术图片

Example-2

技术图片

 

 Example-3

技术图片

Example-4

 希望能够为嵌入式C编程的初学者提供一种简单易行的方法。更好地理解嵌入式C编程是设计基于嵌入式的项目的最基本的先决条件。除此之外,更好的理解和适当的嵌入式C编程知识有助于学生选择一个有价值的职业。              

我们鼓励并欢迎读者提出疑问、建议和意见。因此,您可以在下面的评论部分发布您对本文的查询和反馈。

嵌入式C程序基础与编程结构

标签:软件   glob   c代码   字节   整数   大写   info   数码相机   寄存器   

原文地址:https://www.cnblogs.com/wujianming-110117/p/13191579.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!