本帖最后由 冷漠 于 2009-12-28 13:57 编辑  
 
挺简单的:把端口需要改变部分的语句说明为extern ,另写一个配置模块test_config.C就行了。 
下面提供三个模块,把模块二、三、做成库testlib.LIB。需要改变的部分做在配置模块test_config.C里,并包含在主模块test_main.C 中。 
 
改变时,只要改变PORT.H的内容就行了。 
 
模块一、test_main.c 
#include <reg51.h> 
#include "PORT.h" 
#include "main.h" 
#include"test_config.c" 
extern void lib(void); 
 
main() 
{ 
while(1) 
{ 
lib( ); 
} 
} 
 
模块二、test_lib.C 
// #include <reg51.h> 
#include "main.h" 
extern void port_out(uchar,bit); 
 
void lib( ) 
{ 
port_out(id_cs,off); 
//..... 
port_out(id_dat,on); 
port_out(id_cs,on); 
port_out(id_dat,off); 
}  
 
模块三、test_config.C 
#include <reg51.h> 
#include "main.h" 
#include "PORT.h" 
 
void port_out( uchar port_id, bit val ) 
{ 
  switch(port_id) 
  { 
  case id_cs :   
        _cs = val; 
         break;  
  case id_dat:  
        _dat= val; 
         break;  
  default:    
         break; 
  } 
}
 |