51单片机如何用C程序中的_crol_和_cror_实现流水灯来回显示?

51单片机如何用C程序中的_crol_和_cror_实现流水灯来回显示?,第1张

for(i=0i<8i++)

{

P2=(1<<i)

delay()

}

for(i=0i<8i++)

{

P2=(1<<(7-i))

delay()

}

用个移位处理就行了 set(void) { 流水灯.c * 描述 : 该程序实现LED的流水灯显示。 该程序用于学习 LED流水本例中是调用的 intrins.h 中

程序利用循环移位函数_crol_和_cror 形成来回滚动的效果 #include #include #define ... R17 220R //名称:花样流水灯 //说明:16 只LED 分两段组按预设的多种花样变换显示

程序如下:

#include <reg52.h>

sbit led1 = P2^0

sbit led2 = P2^1

sbit led3 = P2^2

sbit led4 = P2^3

sbit led5 = P2^4

sbit led6 = P2^5

sbit led7 = P2^6

sbit led8 = P2^7

void main()

{

  int i,j

 //点亮第一个灯

  led1 = 1

  led2 = 0

  led3 = 0

  led4 = 0

  led5 = 0

  led6 = 0

  led7 = 0

  led8 = 0

  //延时1秒

for(i = 0i <110++i)

{

 for(j = 0j <1000++j)

 {

   //什么也不做

 }

}

  //点亮第二个灯

  led1 = 0

  led2 = 1

  led3 = 0

  led4 = 0

  led5 = 0

  led6 = 0

  led7 = 0

  led8 = 0 

  //点亮剩余的灯

  //省略……

  while(1)

}

扩展资料:

流水灯几点说明:

void:因为该延时函数不需要返回值,所以写为void

delay1s:该函数的函数名,命名需要符合C语言的标识符命名规则。

(): 不需要传入参数,所以括号中为空

至此我们可以把流水灯程序写为以下形式:

以下是一个简单的51单片机程序,通过按下按键可以实现4种不同状态的灯亮灭,包括正闪、反闪、多种间隔闪。程序中使用了定时器来实现闪烁功能。

程序中使用了P1.0到P1.3作为控制灯的引脚,P3.2作为按键的引脚。每当按下按键时,通过判断状态值来切换不同的灯亮灭模式。定时器中断函数用来实现灯的闪烁,可根据需求自行调整闪烁频率。

编程不易,忘采纳


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

原文地址: http://outofmemory.cn/yw/12091700.html

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

发表评论

登录后才能评论

评论列表(0条)

保存