只有用作头文件时调试正确,而换成就报错很多。我知道两个头文件中位定义的格式不一样,但把^改成_之后依旧报错。
#include <reg52.h> //此文件中定义了单片机的一些特殊功能寄存器
#include "i2c.h"
#include "nixie.h"
#include "Delay.h"
#include "at24c02.h"
typedef unsigned int u16; //对数据类型进行声明定义
typedef unsigned char u8;
sbit LSA=P2^2;
sbit LSB=P2^3;
sbit LSC=P2^4;
sbit k1=P3^1;
sbit k2=P3^0;
sbit k3=P3^2;
sbit k4=P3^3; //定义按键端口
char num=0;
u8 disp[4];
/*******************************************************************************
* 函数名 :Keypros()
* 函数功能 :按键处理函数
* 输入 : 无
* 输出 : 无
*******************************************************************************/
void Keypros()
{
if(k1==0)
{
Delay(10); //消抖处理
if(k1==0)
{
At24c02Write(1,num); //在地址1内写入数据num
}
while(!k1);
}
if(k2==0)
{
Delay(10); //消抖处理
if(k2==0)
{
num=At24c02Read(1); //读取EEPROM地址1内的数据保存在num中
}
while(!k2);
}
if(k3==0)
{
Delay(1); //消抖处理
if(k3==0)
{
num++; //数据加1
if(num>255)num=0;
}
while(!k3);
}
if(k4==0)
{
Delay(10); //消抖处理
if(k4==0)
{
num=0; //数据清零
}
while(!k4);
}
}
/*******************************************************************************
* 函数名 :datapros()
* 函数功能 :数据处理函数
* 输入 : 无
* 输出 : 无
*******************************************************************************/
void datapros()
{
disp[0]=num/1000;//千位
disp[1]=num%1000/100;//百位
disp[2]=num%1000%100/10;//十位
disp[3]=num%1000%100%10; //个位
}
/*******************************************************************************
* 函数名 :DigDisplay()
* 函数功能 :数码管显示函数
* 输入 : 无
* 输出 : 无
*******************************************************************************/
void DigDisplay()
{
u8 i;
for(i=0;i<4;i++)
{
Nixie(i,disp[3-i]);
}
}
/*******************************************************************************
* 函 数 名 : main
* 函数功能 : 主函数
* 输 入 : 无
* 输 出 : 无
*******************************************************************************/
void main()
{
while(1)
{
Keypros(); //按键处理函数
datapros(); //数据处理函数
DigDisplay();//数码管显示函数
}
}
报错如下:
F:\单片机\Keil 4\C51\Inc\reg52.h(13): error C231: 'P0': redefinition
F:\单片机\Keil 4\C51\Inc\reg52.h(14): error C231: 'P1': redefinition
F:\单片机\Keil 4\C51\Inc\reg52.h(15): error C231: 'P2': redefinition
F:\单片机\Keil 4\C51\Inc\reg52.h(16): error C231: 'P3': redefinition
F:\单片机\Keil 4\C51\Inc\reg52.h(17): error C231: 'PSW': redefinition
F:\单片机\Keil 4\C51\Inc\reg52.h(18): error C231: 'ACC': redefinition
F:\单片机\Keil 4\C51\Inc\reg52.h(19): error C231: 'B': redefinition
F:\单片机\Keil 4\C51\Inc\reg52.h(20): error C231: 'SP': redefinition
F:\单片机\Keil 4\C51\Inc\reg52.h(21): error C231: 'DPL': redefinition
F:\单片机\Keil 4\C51\Inc\reg52.h(22): error C231: 'DPH': redefinition
F:\单片机\Keil 4\C51\Inc\reg52.h(23): error C231: 'PCON': redefinition
F:\单片机\Keil 4\C51\Inc\reg52.h(24): error C231: 'TCON': redefinition
F:\单片机\Keil 4\C51\Inc\reg52.h(25): error C231: 'TMOD': redefinition
F:\单片机\Keil 4\C51\Inc\reg52.h(26): error C231: 'TL0': redefinition
F:\单片机\Keil 4\C51\Inc\reg52.h(27): error C231: 'TL1': redefinition
F:\单片机\Keil 4\C51\Inc\reg52.h(28): error C231: 'TH0': redefinition
F:\单片机\Keil 4\C51\Inc\reg52.h(29): error C231: 'TH1': redefinition
F:\单片机\Keil 4\C51\Inc\reg52.h(30): error C231: 'IE': redefinition
F:\单片机\Keil 4\C51\Inc\reg52.h(31): error C231: 'IP': redefinition
F:\单片机\Keil 4\C51\Inc\reg52.h(32): error C231: 'SCON': redefinition
F:\单片机\Keil 4\C51\Inc\reg52.h(33): error C231: 'SBUF': redefinition
F:\单片机\Keil 4\C51\Inc\reg52.h(36): error C231: 'T2CON': redefinition
F:\单片机\Keil 4\C51\Inc\reg52.h(37): error C231: 'RCAP2L': redefinition
F:\单片机\Keil 4\C51\Inc\reg52.h(38): error C231: 'RCAP2H': redefinition
F:\单片机\Keil 4\C51\Inc\reg52.h(39): error C231: 'TL2': redefinition
F:\单片机\Keil 4\C51\Inc\reg52.h(40): error C231: 'TH2': redefinition
F:\单片机\Keil 4\C51\Inc\reg52.h(45): error C231: 'CY': redefinition
F:\单片机\Keil 4\C51\Inc\reg52.h(46): error C231: 'AC': redefinition
F:\单片机\Keil 4\C51\Inc\reg52.h(47): error C231: 'F0': redefinition
F:\单片机\Keil 4\C51\Inc\reg52.h(48): error C231: 'RS1': redefinition
F:\单片机\Keil 4\C51\Inc\reg52.h(49): error C231: 'RS0': redefinition
F:\单片机\Keil 4\C51\Inc\reg52.h(50): error C231: 'OV': redefinition
F:\单片机\Keil 4\C51\Inc\reg52.h(51): error C231: 'P': redefinition
F:\单片机\Keil 4\C51\Inc\reg52.h(54): error C231: 'TF1': redefinition
F:\单片机\Keil 4\C51\Inc\reg52.h(55): error C231: 'TR1': redefinition
F:\单片机\Keil 4\C51\Inc\reg52.h(56): error C231: 'TF0': redefinition
F:\单片机\Keil 4\C51\Inc\reg52.h(57): error C231: 'TR0': redefinition
F:\单片机\Keil 4\C51\Inc\reg52.h(58): error C231: 'IE1': redefinition
F:\单片机\Keil 4\C51\Inc\reg52.h(59): error C231: 'IT1': redefinition
F:\单片机\Keil 4\C51\Inc\reg52.h(60): error C231: 'IE0': redefinition
F:\单片机\Keil 4\C51\Inc\reg52.h(61): error C231: 'IT0': redefinition
F:\单片机\Keil 4\C51\Inc\reg52.h(64): error C231: 'EA': redefinition
F:\单片机\Keil 4\C51\Inc\reg52.h(65): error C231: 'ET2': redefinition
F:\单片机\Keil 4\C51\Inc\reg52.h(66): error C231: 'ES': redefinition
F:\单片机\Keil 4\C51\Inc\reg52.h(67): error C231: 'ET1': redefinition
F:\单片机\Keil 4\C51\Inc\reg52.h(68): error C231: 'EX1': redefinition
F:\单片机\Keil 4\C51\Inc\reg52.h(69): error C231: 'ET0': redefinition
F:\单片机\Keil 4\C51\Inc\reg52.h(70): error C231: 'EX0': redefinition
F:\单片机\Keil 4\C51\Inc\reg52.h(73): error C231: 'PT2': redefinition
F:\单片机\Keil 4\C51\Inc\reg52.h(74): error C231: 'PS': redefinition
F:\单片机\Keil 4\C51\Inc\reg52.h(75): error C231: 'PT1': redefinition
F:\单片机\Keil 4\C51\Inc\reg52.h(76): error C231: 'PX1': redefinition
F:\单片机\Keil 4\C51\Inc\reg52.h(77): error C231: 'PT0': redefinition
F:\单片机\Keil 4\C51\Inc\reg52.h(78): error C231: 'PX0': redefinition
F:\单片机\Keil 4\C51\Inc\reg52.h(81): error C231: 'RD': redefinition
F:\单片机\Keil 4\C51\Inc\reg52.h(82): error C231: 'WR': redefinition
F:\单片机\Keil 4\C51\Inc\reg52.h(83): error C231: 'T1': redefinition
F:\单片机\Keil 4\C51\Inc\reg52.h(84): error C231: 'T0': redefinition
F:\单片机\Keil 4\C51\Inc\reg52.h(85): error C231: 'INT1': redefinition
F:\单片机\Keil 4\C51\Inc\reg52.h(86): error C231: 'INT0': redefinition
F:\单片机\Keil 4\C51\Inc\reg52.h(87): error C231: 'TXD': redefinition
F:\单片机\Keil 4\C51\Inc\reg52.h(88): error C231: 'RXD': redefinition
F:\单片机\Keil 4\C51\Inc\reg52.h(91): error C231: 'SM0': redefinition
F:\单片机\Keil 4\C51\Inc\reg52.h(92): error C231: 'SM1': redefinition
F:\单片机\Keil 4\C51\Inc\reg52.h(93): error C231: 'SM2': redefinition
F:\单片机\Keil 4\C51\Inc\reg52.h(94): error C231: 'REN': redefinition
F:\单片机\Keil 4\C51\Inc\reg52.h(95): error C231: 'TB8': redefinition
F:\单片机\Keil 4\C51\Inc\reg52.h(96): error C231: 'RB8': redefinition
F:\单片机\Keil 4\C51\Inc\reg52.h(97): error C231: 'TI': redefinition
F:\单片机\Keil 4\C51\Inc\reg52.h(98): error C231: 'RI': redefinition
F:\单片机\Keil 4\C51\Inc\reg52.h(101): error C231: 'T2EX': redefinition
F:\单片机\Keil 4\C51\Inc\reg52.h(102): error C231: 'T2': redefinition
F:\单片机\Keil 4\C51\Inc\reg52.h(105): error C231: 'TF2': redefinition
F:\单片机\Keil 4\C51\Inc\reg52.h(106): error C231: 'EXF2': redefinition
F:\单片机\Keil 4\C51\Inc\reg52.h(107): error C231: 'RCLK': redefinition
F:\单片机\Keil 4\C51\Inc\reg52.h(108): error C231: 'TCLK': redefinition
F:\单片机\Keil 4\C51\Inc\reg52.h(109): error C231: 'EXEN2': redefinition
F:\单片机\Keil 4\C51\Inc\reg52.h(110): error C231: 'TR2': redefinition
F:\单片机\Keil 4\C51\Inc\reg52.h(111): error C231: 'C_T2': redefinition
F:\单片机\Keil 4\C51\Inc\reg52.h(112): error C231: 'CP_RL2': redefinition
compiling i2c.c...
compiling Delay10us.c...
compiling Nixie.c...
compiling Delay.c...
compiling At24c02.c...
Target not created