焊接资讯

您现在的位置是:首页 > led灯 > 正文

led灯

51单片机led灯闪烁代码及中断(51单片机8个led灯交替闪烁程序)

工品易达2022-11-05led灯22

用定时器实现51单片机上LED灯每隔两秒亮暗闪烁

你用的是几个灯啊?比如说8个灯吧,用p0口,

就是直接讲p0口与led直接相连就行了啊,注意led的另一端要接在一起,共地或者高电平都可以,但是为了保护led,最好在每个小灯上串上一个电阻(若单片机采用的是5v电压,电阻可选用500欧左右的就可以了),以减小通过led的电流。剩余的就是单片机的最小系统了,没什么好说的吧,就是晶振,复位而已。

程序嘛,也很简单啊,你说用定时器,每个两秒如果单纯用一个定时器的话肯定不够用的,要结合循环判断语句,比如你采用12m的晶振,并且将定时中断时间定为50ms,那么设置一个变量,每20次就是一秒了,所以40次就是两秒。这样的话,每个40次就让led的状态(用0和1表示亮与灭)改变就可以了。main函数中应该设置一个死循环函数,可用while(1),让单片机不断的循环工作。

51单片机通过外部中断和开关控制LED闪亮

是不是按一下开关触发中断,使LED闪烁,再按一下,LED熄灭?

LED EQU P1.0

ORG 0000H

LJMP MAIN

ORG 0003H

LJMP EXT0

ORG 0030H

MAIN:

MOV TMOD,#01H

MOV TH0,#HIGH(65536-41667)

MOV TL0,#LOW(65536-41667)

SETB ET0

SETB EA

SETB EX0

SETB IT0

CLR A

SJMP $

EXT0:

CPL TR0

RETI

T0ISR:

CLR TR0

MOV TH0,#HIGH(65536-41667)

MOV TL0,#LOW(65536-41667)

SETB TR0

INC A

CJNE A,#4,T0E

CLR A

CPL LED

T0E:

RETI

END

在51单片机中怎样用一个按键按键LED灯的闪烁和停止,编写出主要的程序就可以了

首先,要知道控制led的电路,知道控制电平的管脚,同理也要搞清楚开关的电路。

其次,设置开关的状态控制电平的高低,从而控制led灯的亮灭。

最后,具体的执行办法,要看你是什么型号的51单片机,要查书本,或者网上查。

51单片机控制led灯点亮与熄灭

// 51单片机控制八个发光二极管 左右循环。

#includereg52.h

#define uchar unsigned char

#define uint unsigned int

unsigned char TAB[]= {0xff,0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f,0xff,0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe,0xff}; // 改变这里 LED 各种花样

uchar t,i;

void main()

{

TMOD=0x10;

TH1=(65535-50000)/256;  // 50ms一次

TL1=(65535-50000)%256;

EA=1;

ET1=1;//开定时器1中断

TR1=1;//启动定时器1

t=0;

i=0;

while(1)

{

}

}

void timer1() interrupt 3

{

TH1=(65535-50000)/256;  // 50ms一次

TL1=(65535-50000)%256;

t++;

if(t==20)

{

t=0;

P2=TAB[i];

i++;

if(i==18) { i=0;}

}

}

51单片机led灯闪烁代码及中断的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于51单片机8个led灯交替闪烁程序、51单片机led灯闪烁代码及中断的信息别忘了在本站进行查找喔。微信号:ymsc_2016

发表评论

评论列表

  • 这篇文章还没有收到评论,赶紧来抢沙发吧~