❶ STM32怎么实现单片机控制LED灯常亮10S后熄灭
首先实现LED灯的点亮和熄灭,控制连接LED灯的管脚输出高低电平就可以实现。如果电流比较大可以增加三极管驱动电路。10秒定时可以用定时器实现,设置一个1秒的定时器。上电点亮LED灯,并开始计时,10秒时间到熄灭LED就可以了。
❷ 想让单片机控制定时器延时闪烁,但是灯却一直亮着,没有达到要的效果(用c语言控制的)
delay()实现里面不能用if来判断TF0,因为程序运行到这时定时计数器还在计数,TH0还没有溢出,TF0还是0;所以你要用个while(!TF0);让程序在这等一下,等到TH0溢出,这时TF0被硬件自动置1,while(!TF0)循环结束,程序继续往下走,这时令TR0=0,关闭定时器。delay()运行完总共延时也就是50毫秒。以方式0为例():
❸ 为什么51单片机开发板,p1口 p1.6和p1.7的灯不受程序控制,一直亮着
如果51单片机发狂的话这里面一直亮着那就说明里面出现的短路了这个问题如果出现短路了一般情况就会出现这样的一种情况所以呢无论从哪个角度讲把方方面面来说的话这个里边这个电其前
❹ 单片机:为什么灯一直亮程序要求是控制P1.0,使输出高低电平,使灯亮一会暗一会
la=1; P0=temp[i]; la=0;中间没有时间间隔,即使灯亮了,你也看不到,延时程序不对。
❺ 求大神看一下单片机电路,怎么才能让灯一直亮
让灯一直亮很简单,如图所示:
❻ 单片机led为啥一直亮着而不是闪烁
改一下程序就可以了。
#include<reg51.h>
#include<intrins.h>
#define uint unsigned int
#define uchar unsigned char
uint a,b,c;
uchar led=0xfe;
void main()
{
a=0;
TMOD=0x01;
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
EA=1;
ET0=1;
TR0=1;
P1=led;
while(1)
{
if(a==20)
{
led=~led;
led|=0xfe;
P1=led;
a=0;
}
}
}
void timer() interrupt 1
{
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
a++;
}