让灯循环右移亮起来程序问题

2019-07-15 18:19发布

各位好,小弟我新手一枚,打算让灯循环右移浪起来,哪里错了呢
#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--);
}
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
10条回答
柠檬守护
1楼-- · 2019-07-16 16:15
楼主变量全部用的是全局变量哦!我们在进行单片机编程的时候,尽量少用这样的变量!
Aince
2楼-- · 2019-07-16 17:17
循环右移应该用C51库中自带的函数_cror_实现,包含头文件intrins.h               用法如:P1=_cror_(P1,-1);
uaeng
3楼-- · 2019-07-16 23:00
void delay(uintz);改成void delay(uint z); 还有不必用到全局变量吧。
库特先生
4楼-- · 2019-07-17 04:26
 精彩回答 2  元偷偷看……

一周热门 更多>