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

    环境:keil uversion3

    知识点:

      问:include<file>与include"file"的区别

      答:include<file>优先到标准库中去搜索模块。

        include"file"优先到自定义库中去搜索模块。

    功能:led灯闪烁

    步骤:

      1.新建3个文件:main.c、delay.c、delay.h

      2.把main.c和delay.c添加到工程中

    文件结构:

      

    文件内容:

      main.c

    #include<reg52.h>
    #include"delay.h"
    sbit led0 = P2^7; 
    void main(){
        led0 = 0;
        delay_1ms(200);
        led0 = 1;
        delay_1ms(200);
    }

      delay.c

    void delay_1ms(unsigned char c)
    {
        unsigned char a,b;
        for(;c>0;c--)
            for(b=142;b>0;b--)
                for(a=2;a>0;a--);
    }

      delay.h

    #ifndef DELAY_H        
    #define DELAY_H
    /*********************************
    功能:延时子程序,延时时间为 1ms,使用晶振是12M
    **********************************/
    extern void delay_1ms(unsigned char c);
    #endif

    解释:

      1.有时候在delay.c文件中会#include"delay.h",是想在delay.c文件中引用delay.h中的一些资源,比如说一些宏定义。但是这种引入不是必须的。

      2. #ifndef  #define #endif 的目的是防止重复定义,如果自己能确保不重复,这也不是必须的。。。

      

      

      

      

  • 相关阅读:
    git rror: RPC失败
    linux加载模块报错:could not insert module xxx.ko: Unknown symbol in module
    Ubuntu 20.04 添加当前用户 Root 权限
    C程序编译过程
    静态代码块和非静态代码块
    java反射
    ==和equal的区别
    solr中配置域
    Solr的简介以及安装
    Spring Data Redis 小demo
  • 原文地址:https://www.cnblogs.com/wangxuehao/p/8227602.html
Copyright © 2011-2022 走看看