51单片机led灯闪烁程序

作者&投稿:樊蓓 (若有异议请与网页底部的电邮联系)

如何用单片机控制LED灯闪烁?
以下是一个简单的51单片机程序,通过按下按键可以实现4种不同状态的灯亮灭,包括正闪、反闪、多种间隔闪。程序中使用了定时器来实现闪烁功能。程序中使用了P1.0到P1.3作为控制灯的引脚,P3.2作为按键的引脚。每当按下按键时,通过判断状态值来切换不同的灯亮灭模式。定时器中断函数用来实现灯的闪...

关于单片机led灯闪烁的问题
第二个程序,i是局部变量,执行完第一次for语句后,程序跳回main函数重新执行,i会有一个新的值,这个值有可能重新为0,所以for语句会继续执行,因此灯会不断闪烁。

51单片机C程序实验LED灯:[1]单个灯闪烁
程序清单 说明: 先写的延时子程序,放在了前面 然后是闪烁的主程序 includereg51.h sbit led=P1^0; \/\/延时子程序 void delay() { int i; for(i=0;i=30000;i++); } \/\/主程序 void main() { led=0; while(1) { led=~led; delay(); } } 完成结果仿真图 (tip:双击单片机,选...

怎样使单片机的LED灯间隔1秒闪烁1次
当单片机LED灯一亮一灭间隔1秒时,可以使用以下代码实现:\/\/ 初始化IO口 P1 = 0xFF; \/\/ 设置延时时间 while (1) { P1 = 0x00; \/\/ 延时1秒 for (int i = 0; i < 10000; i++) { \/\/ 空循环 } P1 = 0xFF; \/\/ 延时1秒 for (int i = 0; i < 10000; i++) { \/\/ 空循...

单片机一通电LED灯就闪
新的单片机里面一般都有个测试IO口的程序。。如果你发现灯在闪蜂鸣器在叫说明IO口是好使的,你重新写别的程序烧进去就没事儿了。。。

51单片机控制LED闪烁频率
关闭LED,利用键盘返回值作延时函数参数。2.精确解决方案——定时器:初始化定时器,打开中断等,然后进入while等待中断,在中断函数里先定义一个变量,然后将键盘返回值赋值给此变量,再将此变量去重装定时器初值,接下来就是为LED取反。有不懂的随时回复我。希望我的回答能帮助到你。

51单片机一个LED灯闪烁电路图原理
文中的R2就是图中的R1,文中的C1就是图中的C3。 zppzbs1 | 发布于2013-05-30 举报| 评论 0 0 为您推荐: 51单片机原理及应用 单片机 电路图 单片机与plc的区别 单片机& 教你三步看懂电路图 单片机原理及接口技术 单片机电路图讲解 单片机电路图的应用 单片机是什么 单片机 闪烁 其他...

单片机入门,led灯闪烁
你先单独把灯点亮一下,不要让他闪烁,然后看一下有没有问题;如果没有,那就是时间控制方面的问题,有可能while(a--);太短,还没亮就灭了,可以在while里边再加一个while语句。

51单片机实验LED灯:[1]单个灯闪烁。用proteus做单片机仿真时候,LED...
你写的程序并没有加载到工程中,只是写了程序没有用的,不加到工程中,是不能编译的。程序是对的。见下图,首先要把写的程序保存,然后在画红圈的位置,点鼠标右键,把这个程序加进来,加载进来后,左边应该是那样的。

用C语言编写一个单片机控制LED灯闪烁变化的编程 急用!!!
C语言实现LED灯闪烁控制配套51单片机开发板。include \/\/包含单片机寄存器的头文件 \/***函数功能:延时一段时间 \/ void delay(void) \/\/两个void意思分别为无需返回值,没有参数传递。{ unsigned int i; \/\/定义无符号整数,最大取值范围65535。for(i=0;i<20000;i++) \/\/做20000次空...

照妮17023717908问: 在51单片机中怎样用一个按键按键LED灯的闪烁和停止,编写出主要的程序就可以了,新手上路请多多包涵呢 -
界首市一干回答: 按一下松手还闪烁,再按一次就熄灭LED.这是两种状态,你可以给按键次数计数,如奇数led闪烁,偶数led灭.

照妮17023717908问: 用一个按键控制一个LED闪烁的程序怎么写 -
界首市一干回答: 如用51单片机#include<reg51.h>#define uchar unsigned char#define uint unsigned intsbit S1=P3^2;sbit LED=P0^0;void delay(uint z){ int x,y; for(x=110;x>0;x--) for(y=z;y>0;y--)}void main(){ LED=0; while(1) { if(S1==0) { delay(5); if(S1==0); { LED=~LED; } } }}以上程序仅供参考

照妮17023717908问: 求单片机大神!!! 用AT89c51单片机控制LED灯闪烁设计电路和编程! -
界首市一干回答: #include<reg51.h> sbit a=P1^0; void delay(unit time) void main() { while(1) { a=0; delay(500); a=1; delay(500); } } void delay(unsigned int time) { int i; for(;time>0;time--) for(i=100;i>0;i--); }

照妮17023717908问: 如何用51单片机写两LED灯两两一起闪烁的流水灯C程序 -
界首市一干回答: 这个比较简单吧uchar table[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};void delay();//自己写吧 延迟一秒 void led_blink();//~~~~~~~~~~~~ void single_stream();//单向流水函数声明 void double_stream();//~~~~~~~~void led_blink() //全...

照妮17023717908问: AT89S51单片机,编写程序,用定时计数器1控制LED以10HZ的频率闪烁,求程序 -
界首市一干回答: # include <reg52.h>unsigned int i = 0;sbit led = P1^16530;void main(void) {TMOD = 0x10;TH1 = 0x0FC; //@12MHz 1msTL1 = 0x18;EA = 1;ET1 = 1;TR1 = 1; 版while(1){ } }void Timer1Interrupt(void) interrupt 3 {TH1 = 0x0FC;TL1 = 0x18; i++; if (i >= 50){权i = 0;led = ~led;} }

照妮17023717908问: 单片机控制LED闪烁 -
界首市一干回答: 是多大的频率?你可以考虑用T0做一个1ms的8位重载中断中断里自动给一个temp加1,然后设一个12个u8数组,每个u8代表一个灯需要闪烁的时间间隔乘1ms,在主程序中对12个数组同T0的temp进行比较,如果temp比某个u8的数字大了,就让相应位点亮,关闭也同理,这样就闪起来了.如果你要求的慢,可以T0改2ms,3ms,反正只要差不多就行了,大概这个思路.

照妮17023717908问: 请问51单片机控制LED灯以不同的频率同时闪烁的程序不用定时器中断怎么写?谢谢各位了.... -
界首市一干回答: 顺序写也没问题,把他们的时序弄清就行了 .点亮第一组要亮的灯,延时,在改成第二组再延时,继续第三组.延时时还可以干别的,算好时间回来改灯就行了.

照妮17023717908问: 51单片机简单的LED闪程序.想让P0^0口和P0^7口同时分别控制LED灯闪,怎么写 -
界首市一干回答: 很简单呀,给你一个示范:#include<reg51.h>#define uchar unsigned char void delay(uchar a) { uchar i,j; for(i=0;i<a;i++) for(j=0;j<120;j++); } main() { uchar LED=0xfe; while(1) { P0=LED; delay(100); P0=0xff; delay(100); LED=(LED<<1)|0x01; if(LED==0xff)LED=0xfe; } }

照妮17023717908问: 大佬们,单片机汇编语言编写流水灯,全部八次闪烁,怎么编啊 -
界首市一干回答: 51单片机用汇编语言编写流水灯程序,就是控制多个LED ,使其在特定时间间隔内,只有一个LED 发光,其他熄灭,用这种方式顺序移动点亮LED的位置,就形成了流水灯的效果.以下是程序: ;假设晶振12MHZ,P1控制8个LED低电平亮 ;...

照妮17023717908问: 求一段简单51单片机程序,8个led按顺序每个闪4次 -
界首市一干回答: #include<reg51.h>#define uchar unsigned char void delay(uchar a) { uchar i,j; for(i=0;i<a;i++) for(j=0;j<120;j++); } main() { uchar LED=0xfe,i; while(1) { for(i=0;i<4;i++) { P0=LED; delay(100); P0=0xff; delay(100); } LED=(LED<<1)|0x01; if(LED==0xff)LED=0xfe; } }


本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网