while(1)
{
LED != LED;
delay(100);
}
‘贰’ 单片机闪烁小灯程序怎么写
#include<reg52.h>
#defineuintunsignedint
sbitD0=P0^0;
main()
{
while(1)
{
inti,j;
D0=0;
for(i=0;i<100;i++)
for(j=0;j<670;j++);
D0=1;
for(i=0;i<100;i++)
for(j=0;j<670;j++);
}
}
上面是基于51系列单片机写的,D0是小灯的IO 口,在While循环中控制高低电平(写0或1)就能实现小灯闪烁。
‘叁’ 用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--);
}
(3)单片机闪烁灯编程扩展阅读:
单片机应用分类:
通用型:
这是按单片机(Microcontrollers)适用范围来区分的。例如,80C51式通用型单片机,它不是为某种专门用途设计的;专用型单片机是针对一类产品甚至某一个产品设计生产的,例如为了满足电子体温计的要求,在片内集成ADC接口等功能的温度测量控制电路。
总线型:
这是按单片机(Microcontrollers)是否提供并行总线来区分的。总线型单片机普遍设置有并行地址总线、 数据总线、控制总线,这些引脚用以扩展并行外围器件都可通过串行口与单片机连接。
另外,许多单片机已把所需要的外围器件及外设接口集成一片内,因此在许多情况下可以不要并行扩展总线,大大减省封装成本和芯片体积,这类单片机称为非总线型单片机。
控制型:
这是按照单片机(Microcontrollers)大致应用的领域进行区分的。一般而言,工控型寻址范围大,运算能力强;用于家电的单片机多为专用型。
通常是小封装、低价格,外围器件和外设接口集成度高。 显然,上述分类并不是惟一的和严格的。例如,80C51类单片机既是通用型又是总线型,还可以作工控用。
参考资料来源:网络-单片机
‘肆’ 51单片机控制一个灯闪烁的程序怎么做
控制闪烁大概有两种方式
一是延时
先控制灯亮
然后延时一段时间
然后控制灯灭,再延时,循环;二是利用中断
隔一段时间进入中断给IO口取反就行
‘伍’ 51单片机灯闪烁怎么编程
51单片机闪烁灯的编程程序要与相对应的机器连接之后,固定编码操作。
‘陆’ 8个LED指示灯循环闪烁的程序(单片机)
1:设置一个变量i,它可以从0循环到3
2:检测一个已取消缓冲的键。按“+1”
3:当I值为每个值时,执行相应的模式。
水量灯参考程序
#include
#include
#定义uchar无符号字符
Ucharj,温度;
无效延迟(无符号整型ms)
{
Uchart;
(女士)
对于(t = 0;T < 123;T + +);
}
Voidmain()
{
P1=0XFF;
延迟(500);
Temp=0xfe;//奇怪,led连接在P2.3~P2.6
对于(j = 0;J < 4;J + +)
{
P1=temp;
延迟(500);
Temp=_crol_(Temp,1);
}
P1=0XFF;
(1);
}
(6)单片机闪烁灯编程扩展阅读:
注意事项:
#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;//所有的灯都亮着
}
}
‘柒’ 单片机c语言程序问题,LED闪烁灯的,初学单片机,希望高手能回答的通俗易懂些
void DelayMS(uint x)//这是个延时函数
{
uchar i;
while(x--)
{
for(i=120;i>0;i--); //for 语句后边可以接分号,意思是从120自减到1
}
}
void main()
{
while(1)//死循环,延时函数中的x变为0仍然可以闪烁的原因是一直在执行,灯亮灯灭的操作
{
LED = ~LED;//亮灭灯的操作
DelayMS(150);//延时150毫秒
}
}
//while(1)死循环,一直循环执行
LED = ~LED;//亮灭灯的操作
DelayMS(150);//延时150毫秒
这两句代码
‘捌’ 单片机下面程序是怎么实行LED灯闪烁的
原理:LED闪烁其实就是LED亮灭,要看电路,有的直接是单片机驱动的小LED,给高平亮,给低电平灭,一直给高低电平循环就表现出亮灭了。
延时:就是亮多久后灭,灭多久后亮。
实现:先给高电平,LED亮,经过延时后,再给一个低电平,LED灭,再给一个延时,如此无限循环。
‘玖’ 怎样在51单片机变写一个让很多各LED灯闪烁的程序
void delay_ms(int ms)
{
int a=1000;
int b=1000;
int a=a*ms;
while(a--)
while(b--);
}
void main()
{
while(1)
{
p2=0;
p2.0 = 1; // 2
delay_ms(1000);
p2.0 = 0;
p2.1 = 1; // 0
delay_ms(1000);
p2.1 = 0;
p2.2 = 1; // 1
delay_ms(1000);
p2.2 = 0;
p2.3 = 1; // 4
delay_ms(1000);
p2.3 = 0;
}
}