/********************************************
* 通用頭文件
********************************************/
#include "general.h"
/********************************************
* main主函數
********************************************/
void main()
{
// P1 =0xfe;
while(1)
{
run1_led(); //流水燈函數
display(0,1); //數碼管動態掃描函數
// display(1,2);
// display(2,3);
// display(3,4);
// display(4,5);
// display(5,6);
}
}
通用頭文件__GENERAL_H_頭文件 (包含所有調用函數頭文件)
#ifndef __GENERAL_H_
#define __GENERAL_H_
#include <reg52.h>
#include <intrins.h>
#include "def.h"
#include "running_led.h"
#include "delay.h"
#include "display_led.h"
#endif
宏定義__DEF_H_頭文件
#ifndef __DEF_H_
#define __DEF_H_
#define uchar unsigned char
#define uint unsigned int
#endif
延時函數__DELAY_H_頭文件
#ifndef __DELAY_H_
#define __DELAY_H_
#include "general.h"
void delay(uint z);
#endif
延時函數.C文件
/********************************************
* 包含頭文件
********************************************/
#include "delay.h"
/********************************************
* 延時函數
********************************************/
void delay(uint z)
{
uint x,y;
for(x = z;x > 0; x--)
for(y = 110;y > 0;y--);
}
數碼管掃描__DISPLAY_LED_H_頭文件
#ifndef __DISPLAY_LED_H_
#define __DISPLAY_LED_H_
#include "general.h"
sbit dula = P2^6;
sbit wela = P2^7;
uchar code tabledu[]= {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x7b,0x71};
uchar code tablewe[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf};
void display(uchar we,uchar du);
#endif
數碼管掃面.C文件
/********************************************
* 包含頭文件
********************************************/
#include "display_led.h"
/********************************************
* 掃描函數
********************************************/
void display(uchar we,uchar du)
{
dula = 1;
P0 = tabledu[du];
dula = 0;
delay(5);
P0 = 0XFF;
wela = 1;
P0 = tablewe[we];
wela = 0;
}
為什么編譯會出現好多警告
Rebuild target 'Target 1'
assembling STARTUP.A51...
compiling delay.c...
compiling main.c...
Objects\main.c(17): warning C206: 'run1_led': missing function-prototype
compiling display_led.c...
linking...
*** ERROR L104: MULTIPLE PUBLIC DEFINITIONS
SYMBOL: TABLEWE
MODULE: .\Objects\main.obj (MAIN)
*** ERROR L104: MULTIPLE PUBLIC DEFINITIONS
SYMBOL: TABLEDU
MODULE: .\Objects\main.obj (MAIN)
*** ERROR L104: MULTIPLE PUBLIC DEFINITIONS
SYMBOL: TABLEWE
MODULE: .\Objects\display_led.obj (DISPLAY_LED)
*** ERROR L104: MULTIPLE PUBLIC DEFINITIONS
SYMBOL: TABLEDU
MODULE: .\Objects\display_led.obj (DISPLAY_LED)
*** WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS
SEGMENT: ?CO?DELAY
*** WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS
SEGMENT: ?CO?MAIN
*** WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS
SEGMENT: ?PR?_DISPLAY?DISPLAY_LED
*** WARNING L1: UNRESOLVED EXTERNAL SYMBOL
SYMBOL: RUN1_LED
MODULE: .\Objects\main.obj (MAIN)
*** WARNING L2: REFERENCE MADE TO UNRESOLVED EXTERNAL
SYMBOL: RUN1_LED
MODULE: .\Objects\main.obj (MAIN)
ADDRESS: 0094H
Program Size: data=10.0 xdata=0 code=152
Target not created.
Build Time Elapsed: 00:00:01
|