case 0: led = 1; readkey(); break; //熄灭 case 1: delay(); readkey(); //慢速闪烁 case 2: delay(); readkey(); //中速闪烁 case 3: delay(); readkey(); led = ~led; //快速闪烁 } }
Keil uVision4实例 51单片机控制LED灯闪烁,关键看C语言的编程细节。建立项目:LED灯闪烁。新建C文件:LED灯闪烁 引用51头文件。将所有的灯都点亮。让所有的灯全部灭了。添加循环语句。添加一个变量。使用循环语句创造延迟。
1、首先打开桌面上的keil软件,在进行对51单片机进行编程时最常用的就是keil软件。2、编写相应的代码:#include
KEY1) //检测到按键按下 { LED = ~LED; /*LED取反,此时LED = 0,灯亮。当松手时,KEY1 = 1,不满足if语句不 进入循环,LED继续保持当前状态即LED = 0,如果再次按下按键,此时检测到KEY1 = 0,进
led2;sbit key1=P1^0;sbit key2=P1^1;sbit key3=P1^2;void delay(int a){uchar i;while(a--)for(i=0;i<120;i++);}main(){unsigned int i;
Keil编程:51单片机键盘控制LED
1、首先打开编程软件Keil uVision4,新建一个工程文件,在菜单栏中Project—— New uVision Project..。2、然后选择单片机型号是 Atmel 公司的 AT89c52,单击OK。3、再单击工具栏上新建按钮,新建一个文档,然后再点击保存,
//作为按键输入,在准双向IO口中应该置位 p1^1=1;//关闭LED while(1){ if(p1^0==0){ for(a=20;a>0;a--)for(b=250;b>0;b--);//去抖 if(p1^0==0){ wait://按键已经按下 if(p1^0==1){ //
在四个灯循环点亮的状态下,每点亮一个灯需要延时,如果调用延时子程序,按键就显示不灵敏了,所以,采用定时器中断的方式控制延时,就不影响按键了。include
你没有松手监测呀!就是在按键处理程序后要加一个while(k1!=0);就是只有你松开按键后才认为本次按键执行完毕,不然就会一直重复执行按键按下的程序,那么你的d1一直就会执行亮灭操作!
sbit led=P0^0;bit flag=0;main(){ while(1){ if(key==0){ led=flag;while(key==0);flag=~flag;} } }
KEY1) //检测到按键按下 { LED = ~LED; /*LED取反,此时LED = 0,灯亮。当松手时,KEY1 = 1,不满足if语句不 进入循环,LED继续保持当前状态即LED = 0,如果再次按下按键,此时检测到KEY1 = 0,进
1、首先打开桌面上的keil软件,在进行对51单片机进行编程时最常用的就是keil软件。2、编写相应的代码:#include
51单片机怎么用c语言写一个按钮控制一个led的闪烁,按一下开始闪烁,再按就灭掉
led=1;//点亮 delay(100);//延时100MS led=0;//熄灭 } else led=0;} void delay(unsigned int i){自己根据单片机频率写个1MS带形参的演示程序} 这个程序是现写的。。应该能执行,有些细节没有写,自己修改下,
*/ delay(500); /*此处延迟,保证连续两次按键动作处在程序的延时过程中,不进行其他程序从而不会影响小灯。*/ } }}void delay(uint z) //延时函数{ uint x, y; for(x=85; x>0; x--)
1、首先打开桌面上的keil软件,在进行对51单片机进行编程时最常用的就是keil软件。2、编写相应的代码:#include
sbit k1 = P1^0;//按键1 开关 sbit p6 = P1^6; //输出1 灯 bit t1, t2;void main(void){ while(1){ if(k1==0 && t1==0) {t1=1; p6=~p6;} if(k1==1 ) {t1=0;} }} // 下面是四个
一个简单的开关控制一盏灯的c程序如下:include
51单片机一个开关控制一盏灯的c程序是什么?
TX-1单片机开发板 独立键盘开关接在P3.4到P3.7口#include
include
不用中断一样的实现,而且可以有多少个按键就可以有多少种流水灯方式。你使用的键盘函数直接调用流水灯函数就可以。比如使用独立键盘,if(P1.1==0) light_water(); 然后:void light_water(){ num=1;for(a=0;a<8;
if(key1 == 0) //如果高电平按下按键就==1 { delay(200); //按键防抖 if(key1 == 0){ led1=1; //如果低电平亮就=0 led2=0;led3=0;led4=0;} } if(key2 == 0){ delay(200); //按键防
include
求解读51单片机用四个按键独立控制四个led的c程序
这个找TB,很多的!如果是C语言的实物,可以搜:C语言 数码管 单片机 实物。如果是汇编语言的仿真,可以搜:汇编语言 数码管 单片机 仿真。根据类似的方式,很好找的!要控制LED灯的亮度,应采用PWM方式,对实物控制可以实现,仿真效果出不来。
#include "reg51.h" // 试试 sbit k1 = P1^0;//按键1 开关 sbit p6 = P1^6; //输出1 灯 bit t1, t2; void main(void) { while(1) { if(k1==0 && t1==0) {t1=1; p6=~p6;} if(k1==1 ) {t1=0;} }} // 下面是四个开关,两个灯 的实例 http://zhidao.baidu.com/question/532520062.html
用单片机控制第一个灯亮 #include //包含51单片机寄存器定义的头文件 void main(void) { while(1) { P1=0xfe; //P1=1111 1110B,即P1.0输出低电平 } }
首先你的贴出来的程序不完整,最好贴出完整代码! 其次,如果你的程序没问题的话,你的LED闪烁是必须在你按住按键且不能弹起情况下才会发生的,你是一直按着吗? 而且注意你n的类型,因为你这样一直加,会溢出的
1、首先打开桌面上的keil软件,在进行对51单片机进行编程时最常用的就是keil软件。 2、编写相应的代码:#include //定义单片机的头文件sbit led=P2^0; //定义单片机的管脚,void main(void) //主函数{ while(1) //无限循环 {led=0x1f; //点亮前面三个灯。这里是十六进制的换算, //不懂得可以查一下资料 }。 3、打开烧写软件,点击【打开文件】,寻找刚刚编写的程序。 4、找到相应的文件夹以后,寻找HEX文件。这是所能烧写软件识别的程序。 5、找到程序以后,将单片机连接到电脑,并点击程序下载,将程序烧写进单片机。 6、程序下载进单片机以后就能够看到八个led点亮了前面三个。
#include sbit key=P1^0; sfr LED=P0; main() { while(1) if(key==0)P0=0xc0; else P0=0xff; }
#include sbit key = P1^0;//按键 void delay(unsigned int time) { unsigned int i,j; for(i=0; i<time; i++) for(j=0; j<1000; j++) {;} } void mian() { unsigned int temp =0x00; while(1) { if(key == 0) { delay(20);//适当延时,消除按键抖动,自己看实际情况修改时间 if(key == 0) temp = ~temp; } P2 = temp; } }