zoukankan      html  css  js  c++  java
  • 嵌入式C程序基础与编程结构

    嵌入式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编程知识有助于学生选择一个有价值的职业。              

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

  • 相关阅读:
    Burpsuite intruder模块 越过token进行爆破,包含靶场搭建
    burpsuiteb windows10 下载与安装
    sqlmap的命令总结
    Vue.js与jQuery混用
    IE低版本cors跨域请求
    window.open打开网址被拦截
    一图一知之python3数据类型
    一图一知-vue强大的slot
    一图一知-强大的js数组
    windows中git输错密码后不能修改问题
  • 原文地址:https://www.cnblogs.com/wujianming-110117/p/13191579.html
Copyright © 2011-2022 走看看