哪位大侠能帮我解决编程问题!
控制爆破专家2006/01/17电子技术 IP:广西

#include<reg51.h>
#include<absacc.h>
sbit XIAOSHI_0=P3^0;
sbit XIAOSHI_1=P3^1;
sbit FEN_0=P3^2;
sbit FEN_1=P3^3;
sbit setd=P3^4;
sbit movd=P3^5;
void XIANSHI();
void TJ_FEN();
void TJ_XIAOSHI();
void main(void)
{
unsigned char i;
i=0;
SP=0x70[s:9]1=0xff[s:9]3=0xff;
DBYTE[0x6f]=0;DBYTE[0x6e]=0;
DBYTE[0x6d]=0;DBYTE[0x6C]=0;
TH0=0x3c;TL0=0xaf;
ET0=1;EA=1;TR0=1;
while(1)
{
while(setd==0)
{
i++;TR0=0; while(setd==0);
}
XIANSHI()
if (i=1)
TJ_XIANSHI();
else if (i=2)
TJ_FEN();
}
}
void timer0() interrupt 1
{
unsigned char j,w;
j++;
while(j==20)
{
j=0;
DBYTE[0x6f]++;
if (DBYTE[0x6f]==10)
{DBYTE[0x6f]=0;DBYTE[0x6e]++;}
else if (DBYTE[0x6e]==6)
{DBYTE[0x6e]=0;DBYTE[0x6d]++;while((DBYTE[0x6c]*10+DBYTE[0x6d])>=24){DBYTE[0x6c]=0;DBYTE[0x6d]=0;}
else if (DBYTE[0x6d]==10)
{DBYTE[0x6d]=0;DBYTE[0x6c]++;}
TH0=0x3c;TL0=0xaf;
}

}
void XIANSHI()
{
unsigned char p;
p=DBYTE[0x6c];
XIAOSHI_0=0;
P1=SHUZI[p];
XIAOSHI_0=1;
p=DBYTE[0x6d];
XIAOSHI_1=0;
P1=SHUZI[p]
XIAOSHI_1=1;
p=DBYTE[0x6e];
FEN_0=0;
P1=SHUZI[p];
FEN_0=1;
p=DBYTE[0x6f];
FEN_1=0;
P1=SHUZI[p];
FEN_1=1;
}
unsigned char code SHUZI[10]={0x05,0xdd,0x46,0x54,0x9c,0x34,0x24,0x5d,0x04,0x14}
void TJ_FEN()
{}
void TJ_XIAOSHI()
{}

问题我在第一个if处出错,我现在可找不出错在哪!

来自:电子信息 / 电子技术
14
已屏蔽 原因:{{ notice.reason }}已屏蔽
{{notice.noticeContent}}
~~空空如也
LED
19年2个月前 IP:未同步
30548

不知道,顶一下,盼望高手出现。

引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
hackerboygn
19年2个月前 IP:未同步
30549
我只略动一点汇编,还没涉及C。回去在好好看看!
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
LiuNianqiu
19年2个月前 IP:未同步
30550

你的问题具体是什么?

还有这里

XIANSHI() 〈----- 这里是不是忘了一个分号
if (i=1)
TJ_XIANSHI();
else if (i=2)

引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
J_Chan
19年1个月前 IP:未同步
30551

不是的,C不用分号;
是不是”i\"的类型不符啊?

引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
一个凡人
19年1个月前 IP:未同步
30552

谁给你说的不用分号啊?

你把分号加上就可以了哈,你得好好多练练

引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
阿丕
19年0个月前 IP:未同步
30553

原:

if (i=1)
TJ_XIANSHI();
else if (i=2)
TJ_FEN();
}

更改为:

if (i==1)
TJ_XIANSHI();
else if (i==2)
TJ_FEN();
}

引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
mass_lynnxy
19年0个月前 IP:未同步
30554

原:

if (i=1)
TJ_XIANSHI();
else if (i=2)
TJ_FEN();
}

更改为:

if (1==i)
TJ_XIANSHI();
else if (2==i)
TJ_FEN();
}

这样如果只写一个“=”,编译器认为你给常量赋值,肯定通不过编译。
在判断语句都可以这样写,可以让编译器为你查错。

引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
gaolf_2000
18年9个月前 IP:未同步
30555
我来晚了

第28行少了;

:),这种错误最低级,建议写代码时小心;免得遭罪!

引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
rabbit
18年9个月前 IP:未同步
30556
我也不懂C
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
ldc
18年8个月前 IP:未同步
30557
我QBASIC还可以(不过过时了)C已经完全忘了
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
jedininja
18年8个月前 IP:未同步
30558

i++;TR0=0; while(setd==0); //这个分号是多的吧?
}
XIANSHI() //这个分号少了吧?
if (i=1) //这个显然错了,有时我们也这么写,但绝不会拿常量赋给变量,因为一点意义都没有,用变量赋变量的时候倒有
TJ_XIANSHI();
else if (i=2) //这个显然也是错的
TJ_FEN();
}

总的来说,编程习惯太差,还要多学一些提高编程风格的知识——无论做软件还是硬件,有一个整洁、有条理的环境,对提高工作效率、减少错误都是有帮助的。

引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
jedininja
18年8个月前 IP:未同步
30559
编译错误的原因是XIANSHI()函数后少了分号,其它错误只是引起执行结果不对,不会在编译时出错。
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
jedininja
18年8个月前 IP:未同步
30560
这个问题居然放了半年?没人会C语言?
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论

想参与大家的讨论?现在就 登录 或者 注册

所属专业
上级专业
同级专业
插入公式
评论控制
加载中...
文号:{{pid}}
投诉或举报
加载中...
{{tip}}
请选择违规类型:
{{reason.type}}

空空如也

加载中...
详情
详情
推送到专栏从专栏移除
设为匿名取消匿名
查看作者
回复
只看作者
加入收藏取消收藏
收藏
取消收藏
折叠回复
置顶取消置顶
评学术分
鼓励
设为精选取消精选
管理提醒
编辑
通过审核
评论控制
退修或删除
历史版本
违规记录
投诉或举报
加入黑名单移除黑名单
查看IP
{{format('YYYY/MM/DD HH:mm:ss', toc)}}