8个LED指示灯循环闪烁的程序(单片机)

8个LED指示灯循环闪烁的程序(单片机),第1张

1:设置一个变量zhidaoi,它可以从0循环到3

2:检测一个已取消缓冲的键。按“+1”

3:当I值为每个值时,执行相应的模式。

水量灯参考程序

#include

#include

#定义罩轿uchar无符号字符

Ucharj,温度;

无效延迟(无符号整型ms)

Uchart;

(女士)

对于(t = 0T <123T + +)

Voidmain()

P1=0XFF;

延迟(500);

Temp=0xfe;//奇怪,led连接在P2.3~P2.6

对于(j = 0J <4J + +)

P1=temp;

延迟(500);

Temp=_crol_(Temp,1);

P1=0XFF;

(1);

扩展资料:

注意事项:

#include“reg52。这个文件为单片机定义了一些特殊的功能寄存器

Typedef无符号int在16以下;//以声明的方式定义数据类型

无符号charu8;

//LED灯

Sbitleda=P0;

Sbitled1=P0^0;

Sbitled2=P0^1;

Sbitled3=P0^2;

Sbitled4=P0^3;

Sbitled5=P0^4;

Sbitled6=P0^5;

Sbitled7=P0^6;

Sbitled8=P0^7;

无效延迟(16岁以下)

,(我);

Voidmain()

而(1)

勒达=1;//所有的灯都亮着

//从左到右熄灭

Led1=0;

延迟(50000);//延迟时间约为450毫秒

Led2=0;

延迟(50000);//延迟时间约为450毫秒

Led3=0;

延迟(50000);//延迟时间约为450毫秒

Led4=0;

延迟(50000);//延迟时间约为450毫秒

Led5=0;

延迟(50000);//延迟时间约为450毫秒

Led6=0;

延迟(50000);//延迟时间约为450毫秒

Led7=0;

延迟(50000);//延迟时间约为450毫秒

Led8=0;

延迟(100000);//延迟大约900毫秒

//从右到左照明

Led8=1;

延迟(50000);//延迟时间物大肆约为450毫秒

Led7=1;

延迟(50000);//延迟时间约为450毫秒

Led6=1;

延迟(50000);//延迟时间约为450毫秒

Led5=1;

延迟(50000);//延迟时间约为450毫秒

Led4=1;

延迟(50000);//延迟时间约仿掘为450毫秒

Led3=1;

延迟(50000);//延迟时间约为450毫秒

Led2=1;

延迟(50000);//延迟时间约为450毫秒

Led1=1;

延迟(50000);//延迟时间约为450毫秒

勒达=1;//所有的灯都亮着

#include<reg51.h>

#include<intrins.h>

#define uchar unsigned char

#define uint unsigned int

sbit P0_0=P0^0

sbit P0_1=P0^1

sbit P0_2=P0^2

sbit P0_3=P0^3

void delay(uint z)//延时2ms程序

{uint x,y

for(x=zx<zx++)

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

}

void main()

{

while(1)

{

P1_3=1

P1_0=0

delay(250)

P1_0=1

P1_1=0

delay(250)

P1_1=1

P1_2=0

delay(250)

P1_2=1

P1_3=0

delay(250)

}

}

方法档巧渗2:宽梁

#include<reg51.h>

#include<intrins.h>

#define uchar unsigned char

#define uint unsigned int

sbit P0_0=P0^0

sbit P0_1=P0^1

sbit P0_2=P0^2

sbit P0_3=P0^3

void main()

{ TH0=(65536-10000)/行脊256

TL0=(65536-10000)%256

TMOD=0x01

EA=1

ET0=1

TR0=1

while(1)

{if(j==5)

P0_0=0

if(j==10)

{P0_1=0

P0_0=1}

if(j==15)

{P0_2=0

P0_1=1

}

if(j==20)

{P0_3=0

P0_2=1

j=0

}

}

}

void timer0_init() interrupt 1

{TH0=(65536-50000)/256

TL0=(65536-50000)%256

j++

}


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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存