| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 895 人关注过本帖
标题:新手求助,帮我看哈这个程序怎么错了
只看楼主 加入收藏
ttanyi
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2010-4-21
结帖率:0
收藏
已结贴  问题点数:0 回复次数:6 
新手求助,帮我看哈这个程序怎么错了
#include<reg51.H>
#define uchar unsigned char
void delay();
uchar a,b;
void main()
{
P0=0;
P1=0;
while(1)
{
P0=a;
P1=b;
a=ox1;
b=ox3f;
delay(2000);
P0>>=1;
P1<<=1;
}
}
我想用P0和P1口各控制三盏灯。
我是大一的学生,希望大家帮帮我,谢谢!
搜索更多相关主题的帖子: include 
2010-04-21 08:50
lijm1989
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:珠海
等 级:贵宾
威 望:12
帖 子:675
专家分:2844
注 册:2009-10-14
收藏
得分:5 
是0x不是ox。。。。
程序也有问题~~~不知道LZ解决了没 ··
2010-04-26 16:25
mv578070052
该用户已被删除
收藏
得分:5 
提示: 作者被禁止或删除 内容自动屏蔽
2010-04-30 22:03
软编小虫
Rank: 5Rank: 5
来 自:广西,南宁,马山
等 级:职业侠客
威 望:1
帖 子:160
专家分:324
注 册:2008-10-8
收藏
得分:0 
首先,你的头文件必须隔开  #include  <reg51.h>
就像上边的一样,不然C语言将不识别,其次,你的头文件里的H应为小写,因为C语分大小写,而U3编辑器的头文件是用小写声明的。
你调用的delay()函数从那弄来?你并还没编写就调用了。

P0=a;
P1=b;
a=ox1;
b=ox3f;
顺序倒了,你也可这样写,但我看不出有什么意义。因为你还没对a,b进行初始化,就把它赋给了P1,P0,这样两个端口的值将不确定,然后你又对A,B进行赋值,但却没用它们。。。。。
兄弟,你的程序主要是用来控三盏灯的,但我看不出你的程序中有这种逻辑,while()里边的逻辑完全是错的,
好好学C语。。。。。
<<=与>>=这些符号都是对的。

2010-05-28 14:19
ty359393185
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2010-6-8
收藏
得分:0 
你的延时程序没有写啊,怎么就调用了呢 ,建议延时程序写成
先在main()前面声明unsigned  int  delay(int a)

unsigned  int  delay(int a)

  unsigned  int  i,j;
  for(i=a;i>0;i--)
    for (j=110;j>0;j--);
 
这个延时程序大概延时1毫秒  要想准确延时就要用中断才行
2010-06-08 17:51
renpei
Rank: 1
等 级:新手上路
帖 子:3
专家分:2
注 册:2010-7-12
收藏
得分:0 
程序全是错的,
2010-07-12 21:25
快速回复:新手求助,帮我看哈这个程序怎么错了
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017662 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved