标题: 请问这个流水灯程序哪里错了 [打印本页]

作者: 电子diy    时间: 2015-7-8 21:13
标题: 请问这个流水灯程序哪里错了
有52系列单片机头文件

IMG20150708205829.jpg (224.09 KB, 下载次数: 196)

IMG20150708205829.jpg

作者: 50527978    时间: 2015-7-8 23:56
用51的话,开头应该是少了#include<reg51.h>

作者: 50527978    时间: 2015-7-8 23:59
num=_crol_(num,1)接下来直接是num=P1,这样程序运行下来最终num=p1,而num=_crol_(num,1)就显得多余没有用处了
作者: 嘉辉先生    时间: 2015-7-9 11:54
在头文件里面再加个51单片机的都文件#include<reg51.h>。程序中P1=num已经把定义的最初哪一个灯亮给了P1口接下来就是num=_crol_(num,1);delay();让它依次右移就OK了,没有必要再写num=p1了。
作者: 可爱的梦扬    时间: 2015-7-9 13:29
P1没有赋初值

作者: crestgod    时间: 2015-7-9 14:46
1、开头少了#include<reg51.h>,如其他人所说
2、uchar uint 是否重新定义了。
3、num=P1 这行是败笔,把这行去掉了就可以了,这是最关键的一行
作者: slh0721    时间: 2015-7-9 15:17
除了以上问题,代表无符号意思的单词也写错了。应该是unsigned而不是unsignde.
作者: lovetmm3    时间: 2015-7-9 15:42
我都没啥说的了,错误都被他们说完了
作者: darren0540    时间: 2015-7-9 23:19

在头文件里面再加个51单片机的都文件#include<reg51.h>。没有必要写num=p1。
作者: fengyi    时间: 2015-7-10 11:10

num=_crol_(num,1)接下来直接是num=P1,这样程序运行下来最终num=p1,而num=_crol_(num,1)就显得多余没有用处了

作者: zhanghanli007    时间: 2015-7-13 15:53
头文件感觉有点没对,应该加reg51吧
作者: song90    时间: 2015-7-13 20:35
50527978 发表于 2015-7-8 23:56
用51的话,开头应该是少了#include

没头文件,审明变量也是错的,是unsigned,  delay()写法也是错的,没有设定参数,调用时要在主函数前审明,否则系统无法识别!
作者: aqswde    时间: 2015-7-13 22:50
num=_crol_(num,1);   改成   num=num-1;
作者: 海阔天空2015    时间: 2015-7-13 23:07
少了头文件对P1端口的定义,另外楼主应该学习一下代码的编写规范
作者: zhuyingyong    时间: 2015-7-14 11:18
头文件没包含reg51.h。
去掉num=P1 。
作者: zhuyingyong    时间: 2015-7-14 11:19
头文件没包含reg51.h。 去掉num=P1 。
作者: Ahaopiqi    时间: 2015-7-14 11:33

头文件对P1端口没有定义,人家不知道怎么干
作者: 云帝辰    时间: 2015-7-14 16:09
num=p1;不要加了  试试看
作者: days110001    时间: 2015-7-14 16:23
好东西,不错
作者: sxlwh    时间: 2015-7-18 10:16
num=P1,这样还咋亮

作者: nanning321    时间: 2017-12-28 00:07
加头文件就OK了
作者: 牧羊人之心    时间: 2017-12-28 15:15
用到特殊功能计数器,开头加上#include<reg51.h>还有unsignde改成unsigned
作者: sfdfag32342    时间: 2017-12-28 16:13
#include<reg51.h> 都没有。
作者: 2333333333333    时间: 2017-12-28 17:10
不要加num = P1 并且你没包含头文件
作者: 孤狼131    时间: 2017-12-28 23:06
第一行加一个#include<reg52.h>
作者: gz8281    时间: 2018-2-5 17:10
开头少了#inlcude<reg52.h>,另外两个宏定义的unsignde写错了,要改为unsigned;
作者: gz8281    时间: 2018-2-5 17:22
开头少了#include<reg52.h>,另外把unsignde改为unsigned
作者: gz8281    时间: 2018-2-5 17:34
另外在主函数里面改一下,改为:num=0xfe;
                                                P1=num;
然后在while里面改一下,改为:num=_crol_(num,1);
                                             delay();
                                             P1=num;

作者: 青桑叶    时间: 2018-2-5 21:43
P1=num;  num=P1; 你看看这个。。是吧?
作者: hailehh    时间: 2018-2-6 19:26
应该是少了51/52的头文件吧




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1