vs和sql做购物网站,长治市城乡建设局网站,精美网站制作公司,建设规划展览馆网站的优势其实#xff0c;头文件的功能就是申明资源#xff0c;特别是多个C文件的时候#xff0c;简单地说#xff0c;就像是库文件。例如#xff1a;reg51.h头文件#xff0c;就是单纯的申明资源#xff0c;系统的其它头文件#xff0c;还有申明函数的。如果自己编写头文件头文件的功能就是申明资源特别是多个C文件的时候简单地说就像是库文件。例如reg51.h头文件就是单纯的申明资源系统的其它头文件还有申明函数的。如果自己编写头文件就可以包含这两个方面的内容了例如发下是1602器件的头文件#ifndef __LCD_H_#define __LCD_H_/**********************************当使用的是4位数据传输的时候定义使用8位取消这个定义**********************************/#define LCD1602_4PINS/**********************************包含头文件**********************************/#include//---重定义关键词---//#ifndef uchar#define uchar unsigned char#endif#ifndef uint#define uint unsigned int#endif/**********************************PIN口定义**********************************/#define LCD1602_DATAPINS P0sbit LCD1602_EP2^7;sbit LCD1602_RWP2^5;sbit LCD1602_RSP2^6;/**********************************函数声明**********************************//*在51单片机12MHZ时钟下的延时函数*/void Lcd1602_Delay1ms(uint c); //误差 0us/*LCD1602写入8位命令子函数*/void LcdWriteCom(uchar com);/*LCD1602写入8位数据子函数*/void LcdWriteData(uchar dat) ;/*LCD1602初始化子程序*/void LcdInit();#endif它必须配合1602的C文件同时使用#includelcd.h/******************************************************************************** 函 数 名 : Lcd1602_Delay1ms* 函数功能 : 延时函数延时1ms* 输 入 : c* 输 出 : 无* 说 名 : 该函数是在12MHZ晶振下12分频单片机的延时。*******************************************************************************/void Lcd1602_Delay1ms(uint c) //误差 0us{uchar a,b;for (; c0; c--){for (b199;b0;b--){for(a1;a0;a--);}}}/******************************************************************************** 函 数 名 : LcdWriteCom* 函数功能 : 向LCD写入一个字节的命令* 输 入 : com* 输 出 : 无*******************************************************************************/#ifndef LCD1602_4PINS //当没有定义这个LCD1602_4PINS时void LcdWriteCom(uchar com) //写入命令{LCD1602_E 0; //使能LCD1602_RS 0; //选择发送命令LCD1602_RW 0; //选择写入LCD1602_DATAPINS com; //放入命令Lcd1602_Delay1ms(1); //等待数据稳定LCD1602_E 1; //写入时序Lcd1602_Delay1ms(5); //保持时间LCD1602_E 0;}#elsevoid LcdWriteCom(uchar com) //写入命令{LCD1602_E 0; //使能清零LCD1602_RS 0; //选择写入命令LCD1602_RW 0; //选择写入LCD1602_DATAPINS com; //由于4位的接线是接到P0口的高四位所以传送高四位不用改Lcd1602_Delay1ms(1);LCD1602_E 1; //写入时序Lcd1602_Delay1ms(5);LCD1602_E 0;// Lcd1602_Delay1ms(1);LCD1602_DATAPINS com 4; //发送低四位Lcd1602_Delay1ms(1);LCD1602_E 1; //写入时序Lcd1602_Delay1ms(5);LCD1602_E 0;}#endif/******************************************************************************** 函 数 名 : LcdWriteData* 函数功能 : 向LCD写入一个字节的数据* 输 入 : dat* 输 出 : 无*******************************************************************************/#ifndef LCD1602_4PINSvoid LcdWriteData(uchar dat) //写入数据{LCD1602_E 0; //使能清零LCD1602_RS 1; //选择输入数据LCD1602_RW 0; //选择写入LCD1602_DATAPINS dat; //写入数据Lcd1602_Delay1ms(1);LCD1602_E 1; //写入时序Lcd1602_Delay1ms(5); //保持时间LCD1602_E 0;}#elsevoid LcdWriteData(uchar dat) //写入数据{LCD1602_E 0; //使能清零LCD1602_RS 1; //选择写入数据LCD1602_RW 0; //选择写入LCD1602_DATAPINS dat; //由于4位的接线是接到P0口的高四位所以传送高四位不用改Lcd1602_Delay1ms(1);LCD1602_E 1; //写入时序Lcd1602_Delay1ms(5);LCD1602_E 0;LCD1602_DATAPINS dat 4; //写入低四位Lcd1602_Delay1ms(1);LCD1602_E 1; //写入时序Lcd1602_Delay1ms(5);LCD1602_E 0;}#endif/******************************************************************************** 函 数 名 : LcdInit()* 函数功能 : 初始化LCD屏* 输 入 : 无* 输 出 : 无*******************************************************************************/#ifndef LCD1602_4PINSvoid LcdInit() //LCD初始化子程序{LcdWriteCom(0x38); //开显示LcdWriteCom(0x0c); //开显示不显示光标LcdWriteCom(0x06); //写一个指针加1LcdWriteCom(0x01); //清屏LcdWriteCom(0x80); //设置数据指针起点}#elsevoid LcdInit() //LCD初始化子程序{LcdWriteCom(0x32); //将8位总线转为4位总线LcdWriteCom(0x28); //在四位线下的初始化LcdWriteCom(0x0c); //开显示不显示光标LcdWriteCom(0x06); //写一个指针加1LcdWriteCom(0x01); //清屏LcdWriteCom(0x80); //设置数据指针起点}#endif观察注意到C文件中的资源、函数都是通过头文件申明的这样才能在主C文件中调用到1602的C文件中的函数你看主程序是这样的#include#includelcd.hunsigned char PuZh[] Pechin Science ;/******************************************************************************** 函 数 名 : main* 函数功能 : 主函数* 输 入 : 无* 输 出 : 无*******************************************************************************/void main(void){unsigned char i;LcdInit();for(i0;i16;i){LcdWriteData(PuZh[i]);}while(1){}}知道了自编头文件的作用就可以按照上述格式编写自己的其它器件的C文件和头文件了。