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