用c51单片机控制一个闪光灯循环闪光5次以后熄灭不再闪光,用C语言编程,求程序……

如题所述

用C语言编程,求程序的方法:

#include//包含单片机寄存器的头文件

/****************************************函数功能:延迟一段时间

*****************************************/

Voiddelay(Void)//Void表示没有返回值,也没有传递参数。

Unsignedint我;定义一个最大值为65535的无符号整数

For (I = 0;我< 20000;i++) //执行20000个空循环。

;//什么也不做,等待一个机器周期

/*******************************************************

函数函数:主函数(C语言规则必须有且只能有一个主函数)。

********************************************************/空白主要(空白)

而(1)//无限循环。

P0=0xfe;//P1=11111110B,P0.0输出低电平。

延迟();//推迟一段时间。

P0=0XFF;//P1=11111111B,P0.0输出高电平

延迟();//推迟一段时间。

单片机驱动LED光源程序:

#include//头文件。

定义uint无符号int

#定义uchar无符号字符

SbitLED1=P1^7;//定义。

空白delay_ms(单位);//带参数的ms级延时函数。

Voidmain()

而(1)

LED1=0;

Delay_ms(1000);

LED1=1;

Delay_ms(1000);

Voiddelay_ms(uintz)//delay子例程

使用Uintx,y;

For (x = z;X > 0;X -)

For (y = 110;Y > 0;Y -);

扩展资料:

单片机应用分类:

一般类型:

这是关于微控制器的。例如80C51通用型单片机,它并不是为特定的目的而设计的;专用单片机是为某一类产品甚至某一种产品而设计生产的。例如,为了满足电子体温计的要求,芯片中集成了具有ADC接口的温度测量控制电路等功能。

主线:

这是由微控制器是否提供并行总线来区分的。总线微控制器一般安装有并行地址总线、数据总线、控制总线,这些引脚扩展并行外围设备可以通过串口与单片机连接。

另外,很多单片机都需要将外围设备和外围设备的接口集成在一块,所以在很多情况下不能并行扩展总线,大大降低了封装成本和芯片体积,这种单片机被称为非总线单片机。

控制类型:

这是关于微控制器的一般应用。一般来说,工业控制寻址范围大,计算能力强。家用电器的单片机大多是专用的。

它通常是小包装、低价格、高集成的外围设备和外围接口。显然,上述分类并不独特和严格。例如,80C51类单片机既是通用的,又是总线的,还可以用于工业控制。

温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2018-05-04
设闪光灯LED在P1^0,阳极接电源正极,阴极接单片机引脚,即单片机引脚给低电平时LED亮,设亮灭一次的时间是间隔是0.1S(可更改)程序如下
#include <reg52.h>
#define uint unsigned int
#define uchar unsigned char
sbit LED=P1^0;
void delay(uint xms)
{
uint i,j;
for(i=xms;i>0;i--) //即延时约0.1*xms
for(j=11;j>0;j--);
}

void main()
{
uchar i;
for(i=0;i<5;i++)
{
LED=0;
delay(100);
LED=1;
delay(100);
}
while(1);
}
我在KEIL上运行0错误0警告本回答被提问者和网友采纳
第2个回答  2012-03-20
最基本的了,用定时器和计数器变量来做
第3个回答  2012-03-20
可以设置一变量i,用for循环,达到5次后关闭此灯

用c51单片机控制一个闪光灯循环闪光5次以后熄灭不再闪光,用C语言编程...
For (I = 0;我< 20000;i++) \/\/执行20000个空循环。;//什么也不做,等待一个机器周期。} /*** 函数函数:主函数(C语言规则必须有且只能有一个主函数)。***/空白主要(空白){ 而(1)//无限循环。{ P0=0xfe;//P1=11111110B,P0.0输出低电平。延迟();//推迟...

请教c51单片机,c语言编程,关于控制LED灯闪烁频率?
在无限循环中,不断检测K1和K2按键状态,以改变全局变量“freq”并控制LED灯的闪烁频率;然后使用一个计时器中断服务程序来控制LED灯的闪烁,具体实现方式请参考代码注释。最后,为了保证每个周期的闪烁持续时间与频率相符,应该在循环内部加入一个延时操作,等待一定时间再进入下一次循环。

单片机控制单个LED闪烁五下的c程序,希望能加讲解,谢谢啦
void main()\/\/主程序 { unsigned char i;\/\/声明一个变量 for(i=0;i<5;i++)\/循环5次 { LED=0;\/\/亮 delayms(500);\/\/延时 LED=1;\/\/灭 delayms(500);\/\/延时 } while(1);\/\/停止不动 } 延时子程序随便搜一个,如果时间差别太大,可调某些参数 ...

51单片机怎么用c语言写一个按钮控制一个led的闪烁,按一下开始闪烁,再按...
flash=~flash;\/\/按键按下后执行动作 } } } void ledflash(){ if(flash){ led=1;\/\/点亮 delay(100);\/\/延时100MS led=0;\/\/熄灭 } else led=0;} void delay(unsigned int i){自己根据单片机频率写个1MS带形参的演示程序} 这个程序是现写的。。应该能执行,有些细节没有写,自己修改下,...

单片机用c语言,按钮控制一个LED灯,要求按下松开,LED亮,按下松开,LED...
1、首先打开桌面上的keil软件,在进行对51单片机进行编程时最常用的就是keil软件。2、编写相应的代码:#include<reg52.h> \/\/定义单片机的头文件sbit led=P2^0; \/\/定义单片机的管脚,void main(void) \/\/主函数{ while(1) \/\/无限循环 {led=0x1f; \/\/点亮前面三个灯。这里...

用C语言编写一个单片机控制LED灯闪烁变化的编程 急用!!!
; \/\/什么也不做,等待一个机器周期。} \/ 函数功能:主函数 (C语言规定必须有也只能有1个主函数)。\/void main(void){ while(1) \/\/无限循环。{ P0=0xfe; \/\/P1=1111 1110B, P0.0输出低电平。delay(); \/\/延时一段时间。P0=0xff; \/\/P1=1111 1111B, P0.0输出高电...

求用C语言编程实现51单片机的LED灯移动
include<reg51.h> define uchar unsigned char sbit c10=P1^0;sbit c11=P1^1;sbit c12=P1^2;sbit c13=P1^3;uchar led1,led3;void delay(uchar a){ uchar i,j;for(i=0;i<a;i++)for(j=0;j<120;j++);} main(){ uchar keyval=0xff;led1=0xfe;led3=0xf8;while(1){ if(c10...

请问单片机C51用C语言怎么编这个例子
delay(1);if(K2==0){NUM1--;if(NUM1==0);{NUM1=0;} } switch(NUM1){case 1:{delay(40);P1=~P1;}break;case 2:{delay(20);P1=~P1;}break;} } } void main(){ P1=0X00;while(1){delay(20);P1=~P1;keyscan();} } 参考资料:自己写的,不确定,自己调试下看看 ...

c51单片机c语言交通灯的程序
EX1=1;logo();P2=0Xc3;\/\/ 开始默认状态,东西绿灯,南北黄灯 sec_nb=sec_dx+5;while(1){ key(); \/\/调用按键扫描程序 display(); \/\/调用显示程序 Buzzer();} } \/\/函数的定义部分 void key() \/\/按键扫描子程序 { if(k1!=1){ delay(10);if(k1!=1){ while(k1!=1){ key_t...

求用C语言编写的交通灯程序,C51单片机控制,无左转右转
1.当为黄灯时南北、东西两道同时为黄灯;以提示行人或车辆下一个灯色即将到来时间 3秒。2.当南北为红灯,南北道车辆禁止通行,时间30秒;南北道为绿灯,南北道车辆通过时间38秒 。3.当东西道绿灯,东西道车辆通行,时间为28秒;东西道为红灯,东西道车辆禁止通过时间为40秒。4.这样如上表的...

相似回答