单片机-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 的目的是防止重复定义,如果自己能确保不重复,这也不是必须的。。。

  

  

 

  

  

posted on 2018-01-09 18:15  王雪皓  阅读(1468)  评论(0编辑  收藏  举报