keil c 中的问题
时间:10-02
整理:3721RD
点击:
#include <at89x51.h>
#include "ds1302_51.h"
#include "led.h"
#include "onekey51.h"
#define K_SET P1_0
#define K_ADD P1_1
#define K_SUB P1_2
#define K_EXIT P1_3
uchar /*dis_buf[]={0,0,0,0,0,0},*/ tmp_buf [6],pos=0,i_set,count_blk,count_500ms=0,c_rdkey=0;
bit set_flag=0,blink=1,point_flag=1,f_rdkey=0;
void TimerInit()
{
TMOD&=~T0_M1_;
TMOD|=T0_M0_;
TH0=0xf7;
TL0=0x00;
ET0=1;
EA=1;
TR0=1;
}
void ISR_T0() interrupt TF0_VECTOR
{
TH0=0xf7;
TL0=0x00;
ds1302_read_time();
if(++count_500ms==200)
{
count_500ms=0;
point_flag^=1;
}
if(set_flag)
{
if(++count_blk==100)
{
count_blk=0;
blink^=1;
}
}
P2=0x00;
if(!set_flag)
P0=led[dis_buf[pos]];
else
{
if(pos!=i_set||blink)
P0=led[tmp_buf[pos]];
else
P0=0xff;
}
if(!set_flag && point_flag && pos==2)
{
P0&=0x7f;
}
if(pos==4 || (set_flag && pos==2))
P0&=0x7f;
P2=1<<pos;
if(++pos==6)
pos=0;
if(++c_rdkey==4)
{
c_rdkey=0;
f_rdkey=1;
}
}
void TimeAdd()
{
uchar tmp;
swich(i_set)
{
case 0:
case 2:
tmp=10;
break;
case 1:
case 3:
tmp=6;
break;
case 4:
if(tmp_buf[5]<2)
tmp=10;
else
tmp=4;
break;
case 5:
if(tmp_buf[4]<4)
tmp=3;
else
tmp=2;
break;
}
if(++tmp_buf[i_set]==tmp)
tmp_buf[i_set]=0;
}
void TimeSub()
{
uchar tmp;
swich(i_set)
{
case 0:
case 2:
tmp=9;
break;
case 1:
case 3:
tmp=5;
break;
case 4:
if(tmp_buf[5]<2)
tmp=9;
else
tmp=3;
break;
case 5:
if(tmp_buf[4]<4)
tmp=2;
else
tmp=1;
break;
}
if(tmp_buf[i_set]==0)
tmp_buf[i_set]=tmp;
else
tmp_buf[i_set]--;
}
void SaveSet()
{
uchar h,m,s;
s=(tmp_buf[1]<<4) | tmp_buf[0];
m=(tmp_buf[3]<<4) | tmp_buf[2];
h=(tmp_buf[5]<<4) | tmp_buf[4];
ds1302_set_time(h,m,s);
}
void main()
{
uchar temp,i;
TimerInit();
DS1302Init();
while(1)
{
if(f_rdkey)
{
f_rdkey=0;
if(!set_flag && Read1Key(0,K_SET))
{
i_set=5;
count_blk=0;
for(i=0;i<6;i++)
tmp_buf[i]=dis_buf[i];
set_flag=1;
}
if(set_flag)
{
if(Read1Key(0,K_SET))
{
if(i_set--==0)
i_set=5;
}
if(Read1Key(1,K_ADD))
{
TimeAdd();
}
if(Read1Key(2,K_SUB))
TimeSub();
}
if(temp==Read1Key(3,K_EXIT))
{
if(temp==2)
SaveSet();
set_flag=0;
}
}
}
}
}
#include "ds1302_51.h"
#include "led.h"
#include "onekey51.h"
#define K_SET P1_0
#define K_ADD P1_1
#define K_SUB P1_2
#define K_EXIT P1_3
uchar /*dis_buf[]={0,0,0,0,0,0},*/ tmp_buf [6],pos=0,i_set,count_blk,count_500ms=0,c_rdkey=0;
bit set_flag=0,blink=1,point_flag=1,f_rdkey=0;
void TimerInit()
{
TMOD&=~T0_M1_;
TMOD|=T0_M0_;
TH0=0xf7;
TL0=0x00;
ET0=1;
EA=1;
TR0=1;
}
void ISR_T0() interrupt TF0_VECTOR
{
TH0=0xf7;
TL0=0x00;
ds1302_read_time();
if(++count_500ms==200)
{
count_500ms=0;
point_flag^=1;
}
if(set_flag)
{
if(++count_blk==100)
{
count_blk=0;
blink^=1;
}
}
P2=0x00;
if(!set_flag)
P0=led[dis_buf[pos]];
else
{
if(pos!=i_set||blink)
P0=led[tmp_buf[pos]];
else
P0=0xff;
}
if(!set_flag && point_flag && pos==2)
{
P0&=0x7f;
}
if(pos==4 || (set_flag && pos==2))
P0&=0x7f;
P2=1<<pos;
if(++pos==6)
pos=0;
if(++c_rdkey==4)
{
c_rdkey=0;
f_rdkey=1;
}
}
void TimeAdd()
{
uchar tmp;
swich(i_set)
{
case 0:
case 2:
tmp=10;
break;
case 1:
case 3:
tmp=6;
break;
case 4:
if(tmp_buf[5]<2)
tmp=10;
else
tmp=4;
break;
case 5:
if(tmp_buf[4]<4)
tmp=3;
else
tmp=2;
break;
}
if(++tmp_buf[i_set]==tmp)
tmp_buf[i_set]=0;
}
void TimeSub()
{
uchar tmp;
swich(i_set)
{
case 0:
case 2:
tmp=9;
break;
case 1:
case 3:
tmp=5;
break;
case 4:
if(tmp_buf[5]<2)
tmp=9;
else
tmp=3;
break;
case 5:
if(tmp_buf[4]<4)
tmp=2;
else
tmp=1;
break;
}
if(tmp_buf[i_set]==0)
tmp_buf[i_set]=tmp;
else
tmp_buf[i_set]--;
}
void SaveSet()
{
uchar h,m,s;
s=(tmp_buf[1]<<4) | tmp_buf[0];
m=(tmp_buf[3]<<4) | tmp_buf[2];
h=(tmp_buf[5]<<4) | tmp_buf[4];
ds1302_set_time(h,m,s);
}
void main()
{
uchar temp,i;
TimerInit();
DS1302Init();
while(1)
{
if(f_rdkey)
{
f_rdkey=0;
if(!set_flag && Read1Key(0,K_SET))
{
i_set=5;
count_blk=0;
for(i=0;i<6;i++)
tmp_buf[i]=dis_buf[i];
set_flag=1;
}
if(set_flag)
{
if(Read1Key(0,K_SET))
{
if(i_set--==0)
i_set=5;
}
if(Read1Key(1,K_ADD))
{
TimeAdd();
}
if(Read1Key(2,K_SUB))
TimeSub();
}
if(temp==Read1Key(3,K_EXIT))
{
if(temp==2)
SaveSet();
set_flag=0;
}
}
}
}
}
Build target '目标 1'
compiling DS1302.c...
DS1302.c(2): warning C318: can't open file 'ds1302_51.h'
DS1302.c(3): warning C318: can't open file 'led.h'
DS1302.c(4): warning C318: can't open file 'onekey51.h'
DS1302.C(10): error C129: missing ';' before 'bit'
目标未创建
错误是以上这些,我是不知道怎么弄了,求帮忙
你头文件都放在哪里了?如果是#include "ds1302_51.h",这样包含的话,就需要把头文件放在你当前的工程文件中,或者放在keil根目录的keil\c51\inc文件夹中;或者就是直接包含头文件的路径如:
#include "c:\xxx\xxx\xxx\xx.h";你可以参考一下; 你还有error呢;
虽然我还是不懂,但还是谢谢你了。
楼上说得对,把'ds1302_51.h等头文件包含在该工程文件的文件夹里,再试试吧!

加载。h的头文件
谢谢 我再试试
文件 不全
keil C 加载的文件中没有,或是没找到该文件
该文件名中多了一个2
即该文件名不对,修改一下OK了
