如何用C语言写一个循环彩灯的程序,采用定时器方式1工作。

如何用C语言写一个循环彩灯的程序,采用定时器方式1工作。,第1张

unsigned char lights = 0 //lights到各位分别表示P1.0~P1.7

int i=0

while (1)

{

//①L1、L2、…L8依次点亮

lights = 0x01

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

{

delay(500)

lights = lights <<1

}

delay(500)

//模隐②L1、L2、…旦卖厅L8依配轿次熄灭

lights = 0xfe

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

{

delay(500)

lights = (lights <<1) + 0x01

}

delay(500)

//③L1、L2、…L8全亮

lights = 0xff

delay(500)

//全灭

lights = 0x00

delay(500)

}

你可以将灯连接到p1口来实现( 假设有八个彩灯,且为共阳的);

1.轮流点亮 逐个点亮

MOV A,#11111110B

先点亮连p1.0的灯,然后是p1.1的,一直到p1.7的,然后又点亮p1.0的

LOOP:

MOV P1,A

ACALL DELAY;你建一个延时程序使拦缺棚灯亮一段时间

RL A

SJMP LOOP

2.间隔点亮

MOV A,#10101010B

先点亮连p1.0,p1.2,p1.4,p1.6的灯,然后是p1.1,p1.3,p1.5,p1.7的

LOOP:

MOV P1,A

ACALL DELAY;你建一个延时子程序使灯扮锋亮保持一段时间

RL A

SJMP LOOP

3.全灭全亮

MOV A,#00000000B

先全简则部点亮,然后再全灭

LOOP:

MOV P1,A

ACALL DELAY;你建一个延时子程序使灯亮保持一段时间

CPL A

SJMP LOOP

1. 流程:红灯亮 10 秒,红灯灭,绿灯亮 10 秒,绿灯灭。黄灯闪 5 秒,黄灯灭,以此循环。

2. 打开编程平台,新伏穗缓建程序。在执行模块中选择缺模【彩灯】 。右击可设置彩灯选项。 教学过程

3. 如下图编写好程序 4)将族局程序下载到主控器中,观


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

原文地址: https://outofmemory.cn/yw/8285023.html

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

发表评论

登录后才能评论

评论列表(0条)

保存