单片机流水灯程序 16

单片机流水灯程序 16,第1张

#include<reg52h>

#include <intrinsh>

void delayms(unsigned char ms) // 延时子程序

{

unsigned char i;

while(ms--)

{

for(i = 0; i < 120; i++);

}

}

main()

{

unsigned char LED;

LED = 0xff;

P0 = LED;

while(1)

{

delayms(1000);

LED = LED<<1; //循环右移1位,点亮下一个LED

if(LED==0x00)

{

LED=0xff;

}

P0 = LED;

}

}

1灭)。编译器keil

C代码如下:

#include<reg51h>

#include<intrinsh> //包含循环左移函数 _cro_l头文件

unsigned char tmp; //中间变量

//////////////////////////////////////////////////////////////////////////////////////////////////

// 延时子程序

////////////////////////////////////////////////////////////////////////////////////////////////

void delay(unsigned int cnt)

{

while(--cnt);

}

//////////////////////////////////////////////////////////////////////////////////////////////////

// 主函数

////////////////////////////////////////////////////////////////////////////////////////////////

main()

{

while(1) //外层循环

{

tmp = 0xfe;

P1 = tmp;

while(1) //内层循环,执行1、3、5、7亮灯循环

{

delay(30000); //延时以便能观察到灯亮移动,自己可以调整时间,由晶振和实参决定

tmp = _crol_(tmp,2);

P1 = tmp;

if(tmp == 0xbf) //判断是否已经点亮到第7灯。是,则退出进入2、4、6、8循环

{

break;

}

}

tmp = 0xfd;

P1 = tmp;

while(1) //内层循环,执行2、4、6、8亮灯循环

{

delay(30000); //延时以便能观察到灯亮移动,自己可以调整时间,由晶振和实参决定

tmp = _crol_(tmp,2);

P1 = tmp;

if(tmp == 0x7f) //判断是否已经点亮到第8灯。是,则退出进入1、3、5、7循环

{

break;

}

}

}

}

以上就是关于单片机流水灯程序 16全部的内容,包括:单片机流水灯程序 16、c语言流水灯程序 求具体代码、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zz/10210545.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-06
下一篇2023-05-06

发表评论

登录后才能评论

评论列表(0条)

    保存