搜索
编程论坛
→
集成开发
→
『 单片机编程 』
→ 新手求助,帮我看哈这个程序怎么错了
标题:
新手求助,帮我看哈这个程序怎么错了
只看楼主
ttanyi
等 级:
新手上路
帖 子: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
来 自:珠海
等 级:
贵宾
威 望:
12
帖 子:675
专家分:2844
注 册:2009-10-14
第
2
楼
得分:5
是0x不是ox。。。。
程序也有问题~~~不知道LZ解决了没 ··
2010-04-26 16:25
mv578070052
该用户已被删除
第
3
楼
得分:5
提示:
作者被禁止或删除 内容自动屏蔽
2010-04-30 22:03
软编小虫
来 自:广西,南宁,马山
等 级:
职业侠客
威 望:
1
帖 子:160
专家分:324
注 册:2008-10-8
第
4
楼
得分: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
等 级:
新手上路
帖 子:1
专家分:0
注 册:2010-6-8
第
5
楼
得分: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
等 级:
新手上路
帖 子:3
专家分:2
注 册:2010-7-12
第
6
楼
得分:0
程序全是错的,
2010-07-12 21:25
7
1/1页
1
参与讨论请移步原网站贴子:
https://bbs.bccn.net/thread-303824-1-1.html
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 0.243744 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved