A. 单片机下面程序是怎么实行LED灯闪烁的
原理:LED闪烁其实就是LED亮灭,要看电路,有的直接是单片机驱动的小LED,给高平亮,给低电平灭,一直给高低电平循环就表现出亮灭了。
延时:就是亮多久后灭,灭多久后亮。
实现:先给高电平,LED亮,经过延时后,再给一个低电平,LED灭,再给一个延时,如此无限循环。
B. 单片机控制LED灯常亮30秒后闪烁怎么编程
假设用的是51单片机的P1口,LED灯是低电平点亮,连接P1.0,那么可以参考如下思路:
初始化:
P1 =0xFF;
P1.0=0;点亮
delay_s(30);延时30秒
P1.0=1;熄灭
while(1)
{
delay_s(1);延时1秒
P1.0=0;点亮
delay_s(1);延时1秒
P1.0=1;熄灭
}
C. 单片机控制单个LED闪烁五下的c程序,希望能加讲解,谢谢啦
c语言程序很简单:
#include<reg51.h>//包含头文件
sbit LED=P1^0;//位变量定义
void main()//主程序
{
unsigned char i;//声明一个变量
for(i=0;i<5;i++)/循环5次
{
LED=0;//亮
delayms(500);//延时
LED=1;//灭
delayms(500);//延时
}
while(1);//停止不动
}
延时子程序随便搜一个,如果时间差别太大,可调某些参数
D. 单片机怎么延时闪烁LED灯
这是我写的五种方式流水灯:
#include<reg52.h> //五种花样流水灯
#include<intrins.h>
#define uint unsigned int
#define uchar unsigned char
uint a,b=7,e,f=4,h;
uchar c,d;
uchar code deng[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};//流水灯位置
void delay(uint x)
{
uint i,j;
for(i=x;i>0;i--)
for(j=110;j>0;j--);
} //延时
void y1() //第一流水灯程序 指针
{
while(h<=16&&h>=0)
{
P1=*(deng+a);
delay(200);
a++;
if(a==8)
a=0;h++;
}
}
void y2() //第二流水灯程序 数组
{
while(h<=30&&h>16)
{
P1=deng[b];
delay(100);
b--;
if(b==0)
b=7;h++;
}
}
void y3() //第三流水灯程序 左右移
{
c=0xe7;
while(h<=43&&h>30)
{
P1=c;
delay(500);
c=c>>1;
c=c<<2;h++;
}
}
void y4() //第四流水灯程序 库函数
{
d=0xaa;
while(h<=51&&h>43)
{
P1=d;
delay(100);
d=_crol_(d,1);h++;
}
}
void y5() //第五流水灯 定时器
{
TMOD=0x01;
TH0=(65536-45872)/256;
TL0=(65536-45872)%256;
EA=1;
ET0=1;
TR0=1;
while(h>51)
{
P1=deng[f];h++;
}
}
void y() interrupt 1
{
TH0=(65536-45872)/256;
TL0=(65536-45872)%256;
e++;
if(e==6)
e=0;
f++;
if(f==8)
f=0;
}
void main()
{
while(1)
{
y1();
y2();
y3();
y4();
y5();
}
}
E. 我刚学单片机,想让LED上的第一个小灯间隔200MS闪烁,我编的程序是这样的
// 定义 LED 的数码管编号
int led = 1;
// 定义 LED 闪烁的间隔时间,单位为毫秒
int interval = 200;
void setup() {
// 初始化数字输出为输出模式
pinMode(led, OUTPUT);
}
void loop() {
// 让 LED 亮起来
digitalWrite(led, HIGH);
// 延迟一段时间
delay(interval);
// 让 LED 熄灭
digitalWrite(led, LOW);
// 延迟一段时间
delay(interval);
}
F. 用C语言编写一个单片机控制LED灯闪烁变化的编程 急用!!!!!!!!!
C语言实现LED灯闪烁控制配套51单片机开发板。
#include //包含单片机寄存器的头文件
/****************************************
函数功能:延时一段时间
*****************************************/
void delay(void) //两个void意思分别为无需返回值,没有参数传递。
{
unsigned int i; //定义无符号整数,最大取值范围65535。
for(i=0;i<20000;i++) //做20000次空循环。
; //什么也不做,等待一个机器周期。
}
/*******************************************************
函数功能:主函数 (C语言规定必须有也只能有1个主函数)。
********************************************************/
void main(void)
{
while(1) //无限循环。
{
P0=0xfe; //P1=1111 1110B, P0.0输出低电平。
delay(); //延时一段时间。
P0=0xff; //P1=1111 1111B, P0.0输出高电平。
delay(); //延时一段时间。
}
}
单片机驱动LED灯的源程序:
#include<reg52.h> //头文件。
#define uint unsigned int
#define uchar unsigned char
sbit LED1=P1^7; //位定义。
void delay_ms(uint);//mS级带参数延时函数。
void main()
{
while(1)
{
LED1=0;
delay_ms(1000);
LED1=1;
delay_ms(1000);
}
}
void delay_ms(uint z) //延时子程序
{
uint x,y;
for(x=z;x>0;x--)
for(y=110;y>0;y--);
}
(6)单片机led灯延时闪烁编程扩展阅读:
单片机应用分类:
通用型:
这是按单片机(Microcontrollers)适用范围来区分的。例如,80C51式通用型单片机,它不是为某种专门用途设计的;专用型单片机是针对一类产品甚至某一个产品设计生产的,例如为了满足电子体温计的要求,在片内集成ADC接口等功能的温度测量控制电路。
总线型:
这是按单片机(Microcontrollers)是否提供并行总线来区分的。总线型单片机普遍设置有并行地址总线、 数据总线、控制总线,这些引脚用以扩展并行外围器件都可通过串行口与单片机连接。
另外,许多单片机已把所需要的外围器件及外设接口集成一片内,因此在许多情况下可以不要并行扩展总线,大大减省封装成本和芯片体积,这类单片机称为非总线型单片机。
控制型:
这是按照单片机(Microcontrollers)大致应用的领域进行区分的。一般而言,工控型寻址范围大,运算能力强;用于家电的单片机多为专用型。
通常是小封装、低价格,外围器件和外设接口集成度高。 显然,上述分类并不是惟一的和严格的。例如,80C51类单片机既是通用型又是总线型,还可以作工控用。
参考资料来源:网络-单片机
G. 单片机 8个LED灯随机闪烁怎么做
1、首先在电脑中新建项目:Keil uVision4 51单片机LED闪烁编程,如下图所示。
H. 单片机LED灯闪烁延迟程序
int main(void)
{
while(1)
{
D3=0;
yanshi();
D3=1;
yanshi();
}
}
注意单片机程序是从main函数开始执行的,注意单片机主函数内部不加while大循环,程序会一直往下执行,直到RAM溢出产生错误为止程序将跑飞,所以主程序内部一定要加大循环,上面的格式是经过无数工程师的验证,主函数的书写格式。