基于proteus的51单片机仿真实例三十九、C语言的文件调用

来源:互联网 发布:乐视视频怎么设置数据 编辑:程序博客网 时间:2024/06/07 13:13
1、组成一个程序的函数可以保存在一个源程序文件中,也可以保存在不同的程序文件中,最后将他们连接在一起,也可以实现具体功能。
这种做法可以将一个大型、冗长的程序文件化解成若干个较小的文件,这样不仅增强了程序的可读性,而且可以实现将任务分拆,有多人同时开发,从而大大增加软件开发速度
 
2、本例在一个项目中建立两个源程序文件ex28.c,ex28_1.c,并将这两个文件都添加到该工程项目中。为了能在ex28.c文件中调用ex28_1.c中的函数,需要在ex28.c文件的开头将需要调用的函数声明为外部函数(使用关键字extern),以此说明他们已经在其他文件中定义了。
 
3、在keil c51中新建工程ex28,分别编写如下程序代码,并保存为ex28.c和ex28_1.c,编译并生成ex28.hex文件
//实例28:文件包含演示实例1,在主函数中调用其他程序文件中的函数
#include <reg51.h>   // 头文件包含
extern void delay(void);    //声明该函数在其他文件中定义过的函数
void main(void)
{
  P0 = 0x0f;      //P0口显示
 delay();     //调用其他文件中的延时函数
 P0 = 0xf0;
 
 while(1)    //
 {
 }
}
 
 
//实例28,本文件中定义延时函数,供主程序文件调用该函数
#include <reg51.h>     // 头文件包含
void delay(void)    //函数定义
{
  unsigned int i,j;
 for(i = 0;i < 5000;i++)
 for(j = 0;j < 50;j++);
}
4、在proteus中新建仿真文件ex28.dsn,原理图如下图所示


5、将ex28.hex文件载入at89c51中,启动仿真,程序运行结果如下




0 0