⑴ 单片机LED灯闪烁程序
一切不谈电路只谈固件程序的行为都是在耍流氓……
⑵ 让一只发光二极管闪烁程序
发光二极管交替闪烁就要提供一定频率的波形 来驱动二极管 方法有 比如芯片 产生一个PWM 波形单片机编程产生一个PWM波形三极管配合其他元件也能产生硬件类一般都上硬之城看那里比较专业,专业的问题专业解决,这是最快的也是最好的方法,好过自己瞎搞,因为电子元器件的电子型号那些太多了一不小心就会弄错,所以还是找专业的帮你解决。
⑶ 单片机下面程序是怎么实行LED灯闪烁的
原理复:LED闪烁其实就是制LED亮灭,要看电路,有的直接是单片机驱动的小LED,给高平亮,给低电平灭,一直给高低电平循环就表现出亮灭了。
延时:就是亮多久后灭,灭多久后亮。
实现:先给高电平,LED亮,经过延时后,再给一个低电平,LED灭,再给一个延时,如此无限循环。
⑷ 单片机小白 求简单的led灯闪烁程序
要用什么语言?
硬件连接有规定么?
什么样的单片机?
闪烁时间多少?
⑸ 为什么我写的程序不能使单片机LED灯闪烁
程序有错误,编译都通不过,当然无法闪灯了。
#include"reg52.h"
typedefunsignedcharu8;
typedefunsignedintu16;
sbitled=P2^0;
voiddelay(u16i)
{
while(i--);
}
voidmain()
{
while(1)
{
led=0;
delay(50000);//这里多了一个空格
led=1;
delay(50000);
}
}
⑹ 这是一个闪烁的LED灯的C语言,比较简单的,但是我想听大师解释一下急用!!!!
#include <reg52.h> //使用52单片机头文件库
#define uchar unsigned char //重定义,将unsigned char类型重新命名为uchar
#define uint unsigned int //重定义,将unsigned int类型重新命名为uint
sbit LED = P1^0; //将单片机第P1.0位的定义为LED
void DelayMS(uint x) //定义延时函数,返回类型是void,函数名是DelayMS,x为参数,类型为uint
{
uchar i; //定义uchar类型的参数 i
while(x--) //while循环,循环次数为x,每执行一次之后x-1
{
for(i=120;i>0;i--); //for循环,i的初始值为120,当i>0时进入for循环,每次循环之后i-1,因为for循环里面没有具体执行语句,相当于使函数停留在这里
}
}
void main() //主函数
{
while(1) //while循环,1为循环条件,即一直在循环
{
LED = ~LED; //将LED的值取反,相当于将单片机P1.0的值取反,使灯的状态改变
DelayMS(150); //每改变一次灯的状态则调用DelayMS延时函数
}
}
⑺ 51单片机怎么只控制一颗LED灯闪烁
1、新建项目,如图所示。
注意事项:
很多公司都有51系列的兼容机型推出,今后很长的一段时间内将占有大量市场。51单片机是基础入门的一个单片机,还是应用最广泛的一种。需要注意的是51系列的单片机一般不具备自编程能力。
⑻ 单片机控制led的闪烁程序
你这个程序死循环了,我一点一点给你纠正:
1 你有个不好的习惯,希望你改正:回
定义变量的时候,答请明确的指明变量的类型:unsigned char i,或者unsigned int i
而不要是unsigned i,这是不好的习惯。
2 你的这个地方是个死循环:
for(j=7;j>=0;j--)
{
led=(temp>>=1);
yanshi(50);
}
因为你的j定义的是unsigned 类型,所以,j永远都会是非负数,所以,你的for循环会一直进行,修改如下:
for(j=7;j>0;j--)
{
led=(temp>>=1);
yanshi(50);
}
3 看你的while(1)循环里:
while(1) {
if(kaiguan==0) yanshi(20);
if(kaiguan==0)
{
kaideng();
}
if(kaiguan!=1)
{led=0xff;}
}
你这样写,我问你 if(kaiguan==0)和if(kaiguan!=1)有什么区别吗?
⑼ 用单片机设计8个led灯同时闪烁的程序!!
方法:
1:设定一个变量i,可以从0到3循环的变化
2:检测一个经过消抖处理的按键,按一下,i+1
3:当专i值为各个值时,执属行相应的花样。
流水灯参考程序
#include
#include
#define uchar unsigned char
uchar j,temp;
void delay(unsigned int ms)
{
uchar t;
while(ms--)
for(t=0;t<123;t++);
}
void main()
{
P1=0xff;
delay(500);
temp=0xfe; //有点怪,led接在P2.3~P2.6
for(j=0;j<4;j++)
{
P1=temp;
delay(500);
temp=_crol_(temp,1);
}
P1=0xff;
while(1);
}
⑽ 单片机LED灯闪烁延迟程序
int main(void)
{
while(1)
{
D3=0;
yanshi();
D3=1;
yanshi();
}
}
注意单片机程序是从main函数开始执行的,注意单片机主函数内部不加while大循专环,程序会一直属往下执行,直到RAM溢出产生错误为止程序将跑飞,所以主程序内部一定要加大循环,上面的格式是经过无数工程师的验证,主函数的书写格式。