打印

ZDFDS

[复制链接]
2058|13
手机看帖
扫描二维码
随时随地手机跟帖
沙发
沉默爱电子| | 2013-1-2 23:56 | 只看该作者
这挺简单的吧。

使用特权

评论回复
板凳
anazel| | 2013-1-3 08:55 | 只看该作者
唉,一声叹息啊

使用特权

评论回复
地板
hlzhaowu| | 2013-1-3 09:07 | 只看该作者
有几个LED啊

使用特权

评论回复
5
JerryWu75| | 2013-1-3 11:07 | 只看该作者
本帖最后由 JerryWu75 于 2013-1-3 11:11 编辑

if(Key==K1){
    if(Status==常亮){
        Status=闪烁1;
    } else if(Status==闪烁1){
        Status=闪烁2;
    } else { //闪烁2
        Status=常亮;
    }
} else if(Key==K2){
    if(Status==依次点亮){
        Status= 待机;
    } else {
        Status= 依次点亮;
    }
}
if(Status==常亮){
     LED控制1;
} else if(Status==闪烁1){
     LED控制2;
} else if(Status==闪烁2){
     LED控制3;
} else if(Status==依次点亮){
     LED控制4;
} else { //待机
     LED控制5;
}

使用特权

评论回复
6
sin0725| | 2013-1-3 14:48 | 只看该作者
= = ....连我这个只看了一点书的都觉得不难

使用特权

评论回复
7
qiliangzhong| | 2013-1-3 19:43 | 只看该作者
唉··

使用特权

评论回复
8
Shadow_Song| | 2013-1-4 09:10 | 只看该作者
//刚学单片机 才写的一个,望大神们指导

#include <REGX51.H>
#define uchar unsigned char
#define K1  P2_0    //定义P0_0口为K1
#define K2  P2_1    //定义P0_1口为K2
         //定义低电平有效
#define LED  P0     //定义P0为LED引脚
         //定义低电平有效
uchar key_chck;      //按键检测标志
uchar time_05;
uchar time_tmp;
void time0_inter() interrupt 1
{
TH0 = 0x70;   //20ms
TL0 = 0x00;
key_chck = 1;  //隔20ms(时间可调)检测一下按键
time_tmp++;
if(time_tmp > 25)
{
  time_tmp = 0;
  time_05++;
}
}
void main()
{
uchar led_status = 0;
TMOD = 0x01;
ET0  = 1;
TR0  = 1;
TH0 = 0x70;
TL0 = 0x00;
EA = 1;

while(1)
{
  if(key_chck)
  {
   key_chck = 0;
   if(led_status == 0x08)
   {
    if(!K1)
    {
     led_status++;   //将{led_status.1,led_status.0}设为K1状态标志
     led_status %= 3;
    }
   }
   if(!K2)
   {
    led_status += 0x04;
    led_status &= 0x0C;  //将{led_status.3,led_status.2}设为K2状态标志
   }
   
  }
  switch(led_status)
  {
   case 0x00:
     LED = 0x00;     //LED常亮
     break;
   case 0x01:
     if(time_05 & 0x01)   //LED隔0.5s闪一次
     {
      LED = ~LED;
     }
     break;
   case 0x02:
     if(time_05 % 3 == 0)   //LED 0.5s亮 1s灭
     {
      LED = 0xFF;
     }
     else
     {
      LED = 0x00;
     }
     break;
   case 0x04:
     LED = 0xFE;
     if(time_05 & 0x01)
     {
      LED = LED << 1;
     }
     break;
   case 0x08:
     LED = 0xFF;      //LED全灭 待命
     break;
   default:
     ;
  }
}
}

使用特权

评论回复
9
haitao10086| | 2013-1-4 09:20 | 只看该作者
唉。。。。。。

使用特权

评论回复
10
ZG11211| | 2013-1-4 10:31 | 只看该作者
两声叹息,哎,唉

使用特权

评论回复
11
wang84723814| | 2013-1-4 16:26 | 只看该作者

使用特权

评论回复
12
adofe| | 2013-1-5 17:28 | 只看该作者

使用特权

评论回复
13
1638574407| | 2013-1-5 19:38 | 只看该作者
好像很简单      

使用特权

评论回复
14
x6832969|  楼主 | 2013-1-14 13:03 | 只看该作者
anazel 发表于 2013-1-3 08:55
唉,一声叹息啊

很简单吧?这个就是现在所谓技术人员的学习态度吧?看来中国的技术路还需要很长一条路走。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

0

主题

0

帖子

0

粉丝