快装活动房厂家
免费服务热线

Free service

hotline

010-00000000
快装活动房厂家
热门搜索:
行业资讯
当前位置:首页 > 行业资讯

c语言模块化编程的方法

发布时间:2020-06-30 16:19:42 阅读: 来源:快装活动房厂家

模块化设计原则:高内聚第一步:创建头文件(源文件与头文件同名如delay.c与delay.h)第二步:防止重复包含处理 在.h文件里加入#ifndefXXXX#defineXXXX.......#endif

例如:#ifndef_DELAY_H__#define_DELAY_H__.......#endif第三步: 代码封装(内部调用【.h封装外部调用的部分】) 封装成函数或者宏定义以便提高可读性和可修改文件,尽量少用或者不用全局变量第四步:使用源文件.c文件添加到文件中模块化编程实例:delay.h文件

#ifndef __DELAY_H__#define __DELAY_H__#define uchar unsingned char #define uint unsigned intvoid delay50us(uint t);void delay50ms(uint t);#endif

delay.c文件#includereg52.h>#include"模块化编程实例.h"void delayus(uint t)//延时函数{ uint j; for(;t>0;t--) for(j=6245;j>0;j--);}void delayms(uint t)//延时函数{ uint j; for(;t>0;t--) for(j=6245;j>0;j--);}数码管.h文件

#ifndef __DELAY_H__#define __DELAY_H__#define"模块化编程实例.h" #define uint unsigned intvoid dispaytable(uchar *p);void dispayt(uchar num0,uchar num1,uchar num2,uchar num3,uchar num4,uchar num5,uchar num6,uchar num7,);#endif

数码管.c文件#include"数码管.h"#include"模块化编程实例.h"unsigned char code smg_du[]={0xfe,0xfd,0xfb,0xf7,0xef,0xbf,0x7f};unsigned char code smg_we[]={0x00,0x00,0x3e,0x41,0x41,0x41,0x3e,0x00};void display_table(uchar *p){ uchar i;foe(i=0;i8;i++){ P1=smg_du[*p]; P2=smg_we[i]; delay_50us(20);} }void display(uchar num0,uchar num1,uchar num2,uchar num3,uchar num4,uchar num5,uchar num6,uchar num7,){ P1=smg_du[mun0]; P2=smg_we[0]; delay_50us(20);

P1=smg_du[mun1]; P2=smg_we[1]; delay_50us(20);

P1=smg_du[mun2]; P2=smg_we[2]; delay_50us(20);

P1=smg_du[mun3]; P2=smg_we[3]; delay_50us(20);

P1=smg_du[mun4]; P2=smg_we[4]; delay_50us(20);

P1=smg_du[mun5]; P2=smg_we[5]; delay_50us(20);

P1=smg_du[mun6]; P2=smg_we[6]; delay_50us(20);

P1=smg_du[mun7]; P2=smg_we[7]; delay_50us(20);}

mian.c文件#include"数码管.h"#includereg52.h>#include"模块化编程实例.h"sbit rst=P3^6;unsigned char table[]={2,3,4,5,6,7,8,9};void main(){rst=0;while(1){ display_tale(table);}}

pid控制相关文章:pid控制原理

c语言相关文章:c语言教程

订制文化衫

菏泽劳保工服制作

东营工作服定制