各位前辈好,本人是自学的51单片机,在一家小工厂工作,因为老板想让我帮他改改机器才学的单片机。整个工厂就我一人搞单片机。因为没有系统的学过,加上没什么人可以交流。所以在代码上比较凌乱。学会51之后发现有点意思,自己业余又去折腾了一些常用的IC,随着IC编写的数量增加,感觉模块化越来越重要了。之前都是自己写好的代码这里复制,那里粘贴的方法弄得,如果写上2000行就觉得没法看了。
想自己为每个元器件编写一个头文件,手上只有一本书,但是头文件那里介绍的太少了,基本是顺带提的。网上也找了些资料看看,有些疑问。劳烦各位前辈帮忙指点一二。
假设我要编写一个1602的头文件。而整个工程的主文件是main.c
1,是不是要建两个文件,一个是1602.c 一个是1602.h ,h文件里面声明各个函数,然后去c文件里把各个函数实体编写出来?
2,使用的时候,是不是把这两个文件一起复制到main.c相同的目录下面,然后再main.c中用include命令包含1602.h就可以了,1602.c文件是不是编译器会自从找到?还是说在1602.c文件中也需要用include命令包含1602.h。
3,因为在1602中我要用到51的某个IO口,比如P1,而这个P1在1602.h中是没有声明的,是不是需要在1602.h中使用#include<reg51.h>命令?如果需要,在1602.c中还需不需要用#include<reg51.h>命令?
4,当我多个头文件里出现了重复的变量名,是不是会冲突?除了声明不同的名字外,有没有声明办法避免?
5,我查看了一下reg51.h,以及intrins.h两个自带的头文件,并没有找到他们的.c文件,觉得很奇怪。这个文件在哪里啊?我想研究一下格式。
6, 多个头文件对应的C代码文件,在一个工程里,是不是需要用KEIL的add files to。。。这个命令把他们都加到工程里来,还是说只要main.c里面使用#include<xxx.h>命令就够了?
问的比较多啊,空手找人问这么多是有些讨厌,还希望有知道的前辈指点指点,您的举手之劳可能会节约我大量的走弯路的时间。感激不尽,最好有朋友有简单的范例给我贴一个图。
另外本人在工厂里工作,有激光切割机,做简单的结构件比较方便,正在做小**孵化机,有喜欢DIY的朋友可以加个好友,不知道准不准留Q,我打个中文的数字 一三七三五四四二。
再次感谢,再次感谢。
|