各位好,小弟我新手一枚,打算让灯循环右移浪起来,哪里错了呢
#include<reg52.h>
#define uint unsigned int;
uint z,x,i;
void delay(uintz);
void main()
{
while(1)
{
P1=0x7f;
for(i=0;i<8;i++)
{
delay(5000);
P1>>=1;
}
}
}
void delay(uintz)
{
for(x=z;x>0;x--);
}
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
#define uint unsigned int
#define uchar unsigned char
uchar a;
void delay(uintz);
void main()
{
uint i;
a=0x7f;
while(1)
{
P1=a;
for(i=0;i<8;i++)
{
delay(5000);
a>>=1;
}
}
}
void delay(uintz)
{
uint x,z;
for(x=z;x>0;x--);
}
试试这个可以吗
- #include<reg52.h>
- #include<intrins.h>
- #define uint unsigned int
- #define uchar unsigned char
- void delayms(uint num)
- {
- uint x,y;
- for(x=num;x>0;x--)
- for(y=110;y>0;y--);
- }
- void main()
- {
- uint led;
- led=0x7f;
- while(1)
- {
- P1=led;
- delayms(500);
- led=_crol_(led,1);
- }
- }
复制代码1.P1>>=1;P1的值依次如下循环
0x7f 0x3f 0x1f 0x0f 0x07 0x03 0x01 0x00
2.delay的时间太短了
en,可以,给你点赞
有道理,试试
一周热门 更多>