1.在电灯程序里,设置一个account,是1的时候,LED1亮。你再按一次,程序还要进来这里,这时候,account++;account = 2的时候,LED2亮,后面你就该懂了,大体就是 LED On ( ){ account++;if account = 1;

led1 = 灭;led2 = 灭;} if(k2){ delay(10ms);if(k2){ led1 = 亮; //不知道你是0为亮还是1为亮 delay(1S) //延时1s led3 = 亮;} while(k1);led1 = 灭;led3 = 灭;} 思路就是这个样子。

1); delay(1000); delay(1000);}}}void xianshi2(){ led=0xfe;if(temp==2){num=8;while(num--){ dat=led;

最好使用单刀双掷拨动开关;这种开关中点为断路状况,向左拨动,灯1亮,灯2灭;反之,向右拨动,灯2亮,灯1灭;拨到中间位置的时候,两盏灯同时熄灭;建议楼主到摩托车或电动车修理行去询问转向灯开关,其功能与楼主的需求

先判断按键是否按下,然后变量加一,根据变量的值决定哪个LED亮 a=0;if(key==0){ delayms(10);if(key==0){ if(a==0){ led1=1;while(Key==0);led1=0;} if(a==1)……led2……a++;} }

一个按键怎么实现两个Led灯切换,就是按下第一个灯亮松手灯灭,再按一下第二个灯亮松平灯灭。单片机C

当松手时,KEY1 = 1,不满足if语句不 进入循环,LED继续保持当前状态即LED = 0,如果再次按下按键,此时检测到KEY1 = 0,进入循环,LED取反得到LED = 0,灯亮。*/ delay(500); /*此处延迟,保证连续两次按键

你没有松手监测呀!就是在按键处理程序后要加一个while(k1!=0);就是只有你松开按键后才认为本次按键执行完毕,不然就会一直重复执行按键按下的程序,那么你的d1一直就会执行亮灭操作!

void main(void){ P1=oxff;//初始化P1 while(1){ LED=~K1;} }

1、首先打开桌面上的keil软件,在进行对51单片机进行编程时最常用的就是keil软件。2、编写相应的代码:#include //定义单片机的头文件sbit led=P2^0; //定义单片机的管脚,void main(void) //主函数

单片机用c语言,按钮控制一个LED灯,要求按下松开,LED亮,按下松开,LED暗!循环

} break;} return num;} 楼主编写的程序只能识别4个按键,显示4种不同的状态。要想识别16个按键,建议看看:http://hi.baidu.com/%D7%F6%B6%F8%C2%DB%B5%C0/blog/item/7ec90efb831f6bd4b58f315e.html

你可以按照以下步骤编写STC8G1K08芯片的LED点亮和灭的时间控制程序:设置芯片的时钟和计数器,以便实现时间控制。例如,可以使用定时器或延时函数来控制时间。在主函数中编写程序,实现LED点亮和灭的时间控制。可以使用if语句或

你没有松手监测呀!就是在按键处理程序后要加一个while(k1!=0);就是只有你松开按键后才认为本次按键执行完毕,不然就会一直重复执行按键按下的程序,那么你的d1一直就会执行亮灭操作!

把你程序中的 “while(!k3); //等待按键松开” 这一条语句,作为k1和k2的动作条件,即将该句后的分号去掉,同时加大括号,将k1和k2动作语句包含在大括号里面,就可以了。解释:因为你的这一句,是指等k3松开后再

程序确实有问题,修改如下:#includesbit key=P3^3;sbit led=P2^0;void delayms(int a){int i;while(a--)for(i=0;i<120;i++);}main(){led=1;while(1) { if(key==0) delay(10);

KEY1) //检测到按键按下 { LED = ~LED; /*LED取反,此时LED = 0,灯亮。当松手时,KEY1 = 1,不满足if语句不 进入循环,LED继续保持当前状态即LED = 0,如果再次按下按键,此时检测到KEY1 = 0,进

led=!led 的意思就是取反的意思,即原来led灯亮的话 执行该条语句后就变成灭;原来灭的话 执行该条语句后 就变成亮。故你每一次按下开关,led灯都会由亮变灭或由灭变亮,这就是Led会有时亮有时灭的原因。

单片机在按键控制LED亮灭的程序疑问

使用89c51单片机实现模拟路灯可以通过控制LED灯的亮灭来模拟路灯的工作状态。下面是一个简单的实现过程:1. 准备材料:89c51单片机、LED灯、电阻、面包板、杜邦线等。2. 连接电路:将89c51单片机与LED灯连接起来。将LED的正极

1选用合适的单片机和LED灯,将它们连接在电路板上。2在单片机程序中编写代码,控制LED灯的亮灭状态。3在代码中指定LED灯的亮灭顺序,以及延时时间。通常采用循环结构进行控制。4在将代码烧录到单片机之后,启动实验,即可看到

方法1:用8050的三极管做开关电路,三极管的基极接P2.0,然后用集电极通过LED接5v电源,发射极通过220欧姆电阻接地。执行SETB P2.0 指令可以点亮led。方法2:用P1.0直接驱动led,应该让led另一端通过220欧姆电阻接5v

按键按下就打控制灯的io取反就可以了。如:if(key1==1){while(key1==1); // 等待按键放开led1=~led1;} 使用四个独立按键控制四个LED灯亮灭的汇编程序怎么弄?单片机的P1.0-P1.3接四个发光二极管L1-L4的阴极

如何用单片机点亮LED灯 接好单片机的硬件电路,然后编写程序,再然后烧写程序,然后就可以程序了,没问题的话就可以按你的要求点亮了 如何利用AT89S51单片机控制一个LED灯的亮度 # include void delay(unsigned

LED_D1 =1;//=1亮灯 ,=0灭灯当也要看电路,完善的电路还会有驱动电路如三极管点了,也要看LED固定的那端是接地还是接VCC。最终无非就是通过单片机的IO口输出一个0或1来是LED二极管电路正向导通形成发光。

1、创建项目,如图所示。2、创建延迟函数。3、创建C语言主函数。设计unsigned char k=0;变量。4、添加循环效果。5、点亮灯,通过k++,改变效果。6、添加延迟效果,单片机就可以控制8个灯依次亮,全亮了,然后再依次灭。

如何通过单片机控制LED灯亮灭?

按键位置:P0.1;功能:1,当第一次按键按下,第一个灯亮,按键放开灯灭 2,当第二次按键按下,第二个灯亮,按键放开灯灭 3,重复执行前面两个步骤 灯的位置:P2口;/ include define uint unsigned

1、首先打开编程软件Keil uVision4,新建一个工程文件,在菜单栏中Project—— New uVision Project..。2、然后选择单片机型号是 Atmel 公司的 AT89c52,单击OK。3、再单击工具栏上新建按钮,新建一个文档,然后再点击保存,

int0中断 程序我先试试 include sbit P10 = P1^0;sbit K1= P3^2;unsigned char a;void main(void){ IT0=1;EX0=1;EA=1;while(1){ } } int0() interrupt 0 { a++;if(a%2==0){ P10=~P

if(!KEY1) //检测到按键按下 { LED = ~LED; /*LED取反,此时LED = 0,灯亮。当松手时,KEY1 = 1,不满足if语句不 进入循环,LED继续保持当前状态即LED = 0,如果再次按下按键,此时检测到KEY1 = 0,进入

51单片机的按键控制小灯亮灭的问题(程序类型:c语言)怎么解决?

C语言实现LED灯闪烁控制配套51单片机开发板。include //包含单片机寄存器的头文件 /***函数功能:延时一段时间 / void delay(void) //两个void意思分别为无需返回值,没有参数传递。{ unsigned int i; //定义

1、新建项目,如图所示。2、添加头文件,创建延迟函数。3、创建C主函数。4、添加死循环效果。5、点亮LED灯。P1=0x7e;二进制11111110。6、添加延迟效果。注意事项:很多公司都有51系列的兼容机型推出,今后很长的一段时间内

3.编写程序:使用单片机的编程软件(如Arduino IDE、Keil等),编写控制LED灯的程序。以下是一个简单的示例程序(以Arduino为例):// 定义LED灯连接的引脚 const int ledPin = 13;void setup() { // 将LED引脚设置为

通过51单片机控制时钟,从而控制时间,来完成闪烁 /***/ /*程序名称:点亮一个P1。0口的发光管*/ /*说  明 :利用软件延时500ms*/ /*操作类型:位操作        

如何用单片机控制LED灯闪烁?

单片机从小白开始系列(七)第一个C语言程序来控制LED灯
led应该是一个变量,是代表led灯 亮或者灭的一个变量。 当你按下开关后,s1==0,就执行 led=!led 这条语句。 led=!led 的意思就是取反的意思,即原来led灯亮的话 执行该条语句后就变成灭;原来灭的话 执行该条语句后 就变成亮。按键按下就打控制灯的io取反就可以了。如:if(key1==1){while(key1==1); // 等待按键放开led1=~led1;} 使用四个独立按键控制四个LED灯亮灭的汇编程序怎么弄? 单片机的P1.0-P1.3接四个发光二极管L1-L4的阴极,P1.4-P1.7接四个开关K1-K4程序:ORG 00HSTART: MOV A,P1ANL A,#0F0HRR ARR AORl A,#0F0HMOV P1,ASJMP START可以检测单个按键,也可以同时检测多个按键过程:开始--读P1口数据到A--A中的数据右移4次--A中的内容和F0H相或--A中的数据送到P1口--回到开始
1、首先打开编程软件Keil uVision4,新建一个工程文件,在菜单栏中Project—— New uVision Project..。 2、然后选择单片机型号是 Atmel 公司的 AT89c52,单击OK。 3、再单击工具栏上新建按钮,新建一个文档,然后再点击保存,输入保存的路径,输入名字。 4、右键单击将这个文件添加到到工程文件夹中。 5、打开新建的文档,在文档中进行写程序。 6、点击下面方框中的图标,在Target项晶振的上写上:12.0代表晶振是12M,然后跳到Output项在生成HEX文件上打勾,点击OK。 7、然后点击三个编译按钮意思分别为:单个文件编译、编译已修改的文件、产生HEX文件,HEX文件用来下载到单片机上的,也可用来做仿真。 8、我们打开ISIS 7 Professional 软件,将程序添加到该电路中,然后按下启动按钮。
先判断按键是否按下,然后变量加一,根据变量的值决定哪个LED亮 a=0; if(key==0) { delayms(10); if(key==0) { if(a==0){ led1=1;while(Key==0);led1=0;} if(a==1)……led2…… a++; } }