zoukankan      html  css  js  c++  java
  • 单片机的模块化编程

    一、编写单片机C语言程序开头格式

    File name:文件名称 

    Author:作者

    Version:版本号

    Description:功能描述

    Data:日期

    二、单片机C语言程序模块化步骤

    1、在同一文件夹下新建一个Main.C文件(或主文件或运行文件)和xxx.C文件(或功能文件)和xxx.h文件(头文件),其中xxx.C文件(或功能文件)和xxx.h文件(头文件)的文件名“xxx”要有意义,最好可以体现该文件的功能。

    2、编写xxx.C文件(或功能文件)内容

    (1)、包含xxx.h文件(或头文件)

    include"led.h"  

    (2)、声明变量或定义变量 //视具体情况,这步骤可省略。

    uchar temp;//调用xxx.h文件(或头文件)中声明的变量temp

    (3)、编写功能函数 

       void Delay(uint time)

    {    

         uchar i,j,k;    

         for(i=0;i<time;i++)

     {

         for(j=0;j<110;j++);

        }

     }

       void LedDisplay()

    {

         led=0x7f;

        for(k=0;k<8;k++)

     {

         led=_cror_(led,1);

         Delay(500);

        }

     }

    3、编写xxx.h文件(或头文件)内容

    (1)、#ifndef  xxx //表示if not define xxx.h  

    #ifndef __LED_H__  

    (2)、#define  xxx   //表示如果没有定义 xxx.h ,这里就定义一个 xxx.h。

    #define __LED_H__ 

    (3)、单片机头文件或宏定义或声明变量或定义变量或声明功能函数   

    #include "reg52.h" //由于xxx.C文件(或功能文件)的内容里面要用到51单片机寄存器P1
    #include "intrins.h" //循环移位用到
    #define uchar unsigned char//这些宏定义都可以在xxx.h 文件(或头文件)里定义
    #define uint unsigned int //这些宏定义都可以在xxx.h 文件(或头文件)里定义
    #define led P1
    extern uchar temp;//在xxx.h文件(或头文件)声明变量temp供其他xxx.C文件(或功能文件)调用,extern只声明变量,不定义变量,注意区分。
    void Delay(uint time);//将xxx.C文件(或功能文件)里编写的功能函数在xxx.h文件(或头文件)里面声明
    void LedDisplay(); // 将xxx.C文件(或功能文件)里编写的功能函数在xxx.h文件(或头文件)里面声明

    (4)、#endif // 定义结束

    说明:xxx.h文件(或头文件)内容中的xxx不能相同,且按格式“__大写英文名称_H__”定义。

    4、编写Main.C文件(或主文件或运行文件)内容

    (1)、包含单片机头文件 

    #include "reg52.h" 

    (2)、包含xxx.h文件(或头文件) 

    include"led.h"   

    (3)、主函数 

       void main()
    {
         while(1)
      {
            LedDisplay(); 
          }

       }

     

  • 相关阅读:
    Oracle 11g导出空表
    如何破解ROS路由器禁用路由PPPOE拨号?
    Oracle入门心得(2)
    ORACLE了局,每天10问(五)
    若何消除Oracle数据库的安静隐患(3)
    Oracle入门心得(1)
    ORACLE用户自定义备份与恢复条记
    ORACLE成绩,每天10问(三)
    ORACLE问题,每天10问(一)
    怎样消除Oracle数据库的安全隐患(1)
  • 原文地址:https://www.cnblogs.com/AChenWeiqiangA/p/13468202.html
Copyright © 2011-2022 走看看