单片机编程题:开关控制四盏灯用开关K1,K2控制红黄兰绿四盏灯的亮灭.四盏灯接在P2口,K1,K2接在P1口.是没有按时候先亮第一盏,按K1亮第二盏而第一盏就灭了,再按K2就亮第三盏前面两盏就灭了,

来源:学生作业帮助网 编辑:作业帮 时间:2024/04/26 18:40:34
单片机编程题:开关控制四盏灯用开关K1,K2控制红黄兰绿四盏灯的亮灭.四盏灯接在P2口,K1,K2接在P1口.是没有按时候先亮第一盏,按K1亮第二盏而第一盏就灭了,再按K2就亮第三盏前面两盏就灭了,

单片机编程题:开关控制四盏灯用开关K1,K2控制红黄兰绿四盏灯的亮灭.四盏灯接在P2口,K1,K2接在P1口.是没有按时候先亮第一盏,按K1亮第二盏而第一盏就灭了,再按K2就亮第三盏前面两盏就灭了,
单片机编程题:开关控制四盏灯
用开关K1,K2控制红黄兰绿四盏灯的亮灭.四盏灯接在P2口,K1,K2接在P1口.
是没有按时候先亮第一盏,按K1亮第二盏而第一盏就灭了,再按K2就亮第三盏前面两盏就灭了,再把K1打开就亮第四盏前三盏暗,最后再把K2打开就回到第一盏灯亮其他暗.就是这样的,很麻烦.还要用C语言来编.应该是C51的东西吧.

单片机编程题:开关控制四盏灯用开关K1,K2控制红黄兰绿四盏灯的亮灭.四盏灯接在P2口,K1,K2接在P1口.是没有按时候先亮第一盏,按K1亮第二盏而第一盏就灭了,再按K2就亮第三盏前面两盏就灭了,
昨天就看到有人问了,不会还是你吧,你要说清楚啊,想怎么控制,一起亮,一起灭?一个按键开,一个按键关?说具体点,要不怎么帮你 
今天晚上上线晚了,明天上班抽时间给你写吧,一会儿就搞定了,要不要留个邮箱啊,电路图也给你吧 
还有,一定要按这个顺序吗?如果我乱按会出现什么情况,直接无效? 
算了,直接贴上来吧
#include "reg52.h"
#define uint unsigned int
#define uchar unsigned char
sbit LED_R = P2^0; 
sbit LED_Y = P2^1; 
sbit LED_B = P2^2; 
sbit LED_G = P2^3;  
sbit Key1 = P1^0;   
sbit Key2 = P1^1;
uchar Key1_Times = 0, Key2_Times = 0, Key_Flag = 0;
void Delay(uint x)
{
 uint a,b;
 for(a = x; a > 0; a--)
  for(b = 110; b > 0; b--);
}
void KeyScan()
{
 if(Key1 == 0)
 {
  Delay(10);
  if(Key1 == 0)
  {     
   Key_Flag = 1;
   Key1_Times++;
   if(Key1_Times == 3)
    Key1_Times = 2;
  }
  while(!Key1);
 } 
 if(Key2 == 0)
 {
  Delay(10);
  if(Key2 == 0)
  {     
   Key_Flag = 1;
   Key2_Times++;    
   if(Key2_Times == 3)
    Key2_Times = 2;
  } 
  while(!Key2);
 }
}
void main()
{
 P2 = 0xff;
 LED_R = 0;
 while(1)
 {
  KeyScan();
  if(Key_Flag == 1)
  {
   Key_Flag = 0;
    
   if((Key1_Times == 1) && (Key2_Times == 0))
   {
    LED_R = 1;
    LED_Y = 0;
   }
   else if((Key1_Times == 1) && (Key2_Times == 1))
   {
    LED_R = 1;
    LED_Y = 1;
    LED_B = 0;
   }
   else if((Key1_Times == 1) && (Key2_Times == 2))
   {
    Key2_Times--;
   }
   else if((Key1_Times == 2) && (Key2_Times == 0))
   {
    Key1_Times--;
   }   
   else if((Key1_Times == 2) && (Key2_Times == 1))
   {
    LED_R = 1;
    LED_Y = 1;
    LED_B = 1; 
    LED_G = 0;
   }    
   else if((Key1_Times == 2) && (Key2_Times == 2))
   {
    LED_Y = 1;
    LED_B = 1; 
    LED_G = 1; 
    LED_R = 0;
    Key1_Times = 0;
    Key2_Times = 0;
   }
  }   
 }
}

单片机编程题:开关控制四盏灯用开关K1,K2控制红黄兰绿四盏灯的亮灭.四盏灯接在P2口,K1,K2接在P1口.是没有按时候先亮第一盏,按K1亮第二盏而第一盏就灭了,再按K2就亮第三盏前面两盏就灭了, c语言编程由开关k1控制四盏灯的亮灭 AT89S51单片机的P1.P1.3 接四个发光二极管,P1.P1.7 接四个开关.编程反应对应关系AT89S51单片机的P1.P1.3 接四个发光二极管L1~L4 ,P1.P1.7 接四个开关K1~K4 编程将开关的状态反映到发光二极管上开关闭合 拨码开关可以充当普通开关控制通断吗?拨码开关如何跟单片机连接? AT89C2051单片机控制11.0592,或者STC11F02E单片机,内部振荡,C语言设计,两个拨动开关K1、K2,两个按键具体要求:当拨动开关K1发出低电平(K1=0)时,L1、L2灯亮的顺序是(灭亮、灭灭、亮灭,亮亮)如 单片机汇编语言按键控制流水灯,两个开关k1,k2.实现功能按下k1,流水灯左移动,按下k2,流水灯右移动.请高手回答,用汇编语言,重要说清思路,在下感激不尽. 单片机 八个开关 控制八盏灯AT89c51 用8个灯(连在P1的8个口上)监视8个开关(SW-SPST,连在P0的八个端口上),开关的另外一端接地.如果开关合上,则对应的灯亮.用汇编编程. 51单片机控制30颗串联的led,开关管选择方案51单片机控制30颗串联的led,开关选择方案 求个高手帮忙用80c51单片机汇编编写一段程序,通过实验箱上的钮子开关K1、K2、K3控制发光二极管的亮或灭.①使用P3口作为信号输入口,P1口作为信号输出口.②用三个钮子开关控制三支发光二极 51单片机 求C编程 ,接三个按钮开关 控制两个继电器控制两个电磁阀在控制气缸动作一个气缸从左往右装 A,B,C,三个开关,接P1.0,P1.2,P1.3 ;两个继电器a1,a2接P0.0,P0.1,接电磁阀b1,b2;b1为进气总开关 单片机计数,比如有个变量A等于0 ,有个开关K1,当我按下K1变量A就加1 求C语言 请问如何用51单片机控制220V交流开关的通断,最好附上电路图, 1. 花样流水灯要求:在单片机控制下,当拨动开关K1发出低电平(K1=0)时,发光二极管L1-L8从两头向中间逐个点亮(时间间隔0.5秒),当L1-L8全部点亮后延时2秒钟全部熄灭,如此往复循环.当拨动 单片机怎样控制可控硅在220V电路中作开关用?(控制一个40W节能灯) 51单片机控制三极管8550做开关电路图51的控制三极管的IO口还要接电阻吗?8050和8550做开关有什么区别? 舵机怎么用开关控制我想用简单的开关控制舵机,听别人说单片机可以满足我的要求,但我是菜鸟,分就剩100,, 水泵远程控制开关 怎样控制家电开关?