新闻  |   论坛  |   博客  |   在线研讨会
一键多功能
0750long | 2009-04-24 17:25:19    阅读:1940   发布文章

 

 

昨天晚上写的一键多功能技术。。。把一些心得写下来和大家分享下。。!!!

 

   一键多功能技术,就是通过一个按键控制不同的东西。如我按一下键,P0.0口的灯亮,按第二下就是P0.1口的灯亮。。

 

设计思想:,我们给LED1到LED4闪烁的时段定义出不同的ID号,当L1在闪烁时,ID=0;当L2在闪烁时,ID=1;当L3在闪烁时,ID=2;当L4在闪烁时,ID=3;很显然,只要每次按下开关K1时,分别给出不同的ID号我们就能够完成上面的任务了。

 

 

下面,说说硬件电路。

 

P1.0口以独立按键式接一个开关.

P0.0~P0.3接4个LED.

 

下面看程序。

#include <reg51.h>
#define uchar unsigned char
#define uint unsigned int

sbit K1=P1^0;
sbit led0=P0^0;
sbit led1=P0^1;
sbit led2=P0^2;
sbit led3=P0^3;

void delay()      //延时程序
{

    uint n;
 for(n=0;n<3000;n++);

}


main()
{

    uchar count;//定义一个变量记录他们的ID
 while(1)
   
     {
      if(!K1)       //这一个IF语句对我们的ID进行操作。这里也是我们以后判断它如何做的依据。
      {
         delay();
         if(!K1)
        {
          count++;
       if(count>3)count=0;
      }
     while(!K1);
       delay();
    }
   if(count==0)     //执行部分。当ID=0是led0点亮。下面的以此类推
       {
       led0=0;      
     }
   else  if(count==1)
       {
       led1=0;     
     }
   else  if(count==2)
       {
       led2=0;      
     }
   else  if(count==3)
       {
       led3=0;      
     }
   delay();
   P0=0xff;    //点亮以后然后全部灭掉。
   delay();
   }
}

 

程序不难。。主要是学会思想。。还有就是多编程。。熟悉。。。。

  这些程序,虽然容易,但是我还没有一次就编译成功的。。这也说明了,我编程还存在很大的问题。。。但是能通过这些发现。

得到不少。。。

*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。

参与讨论
登录后参与讨论
推荐文章
最近访客