• 嵌入式成长轨迹35 【Zigbee项目】【单片机基础】【按键】


    将四个灯接向P1四个子引脚,再给按键分配一个引脚即可。注意在这里分配的P3^6引脚是低电平有效的。

    为了避免按键抖动的影响,设置了检测到按下后一秒依然能检测到按下,才判定为按下按键。

     1 #include<reg51.h>
     2 
     3 sbit led1=P1^0;
     4 sbit led2=P1^1;
     5 sbit led3=P1^2;
     6 sbit led4=P1^3;
     7 
     8 sbit key = P3^6;//改成6也可正常使用
     9 
    10 unsigned char key_value;
    11 
    12 void delay(unsigned int i)
    13 {
    14   unsigned int j;
    15   for(;i>0;i--)
    16     for(j=100;j>0;j--);
    17 }
    18 
    19 void main(void)
    20 {
    21    key_value = 0;
    22  while(1)
    23    {
    24      //delay(1000);
    25      if(key == 0)
    26      {
    27          delay(1000);
    28          if(key == 0)
    29          {
    30                switch(key_value) 
    31                  {
    32                case 0:
    33                
    34                   led1 = 0;
    35                   led2 = 1;
    36                   led3 = 1;
    37                   led4 = 1;
    38                    key_value++;
    39                   break;
    40                
    41             case 1:
    42             
    43                     led1 = 1;
    44                           led2 = 0;
    45                     led3 = 1;
    46                     led4 = 1;
    47                      key_value++;
    48                     break;
    49                 
    50                 case 2:
    51             
    52                    led1 = 1;
    53                    led2 = 1;
    54                    led3 = 0;
    55                    led4 = 1;
    56                     key_value++;
    57                    break;
    58                  
    59                  case 3:
    60                      led1 = 1;
    61                      led2 = 1;
    62                      led3 = 1;
    63                      led4 = 0;
    64                       key_value = 0;
    65                      break;    
    66                      }
    67                           
    68               }
    69             }
    70         }
    71     }

    这里将led1、led2、led3、led4、key分别对应管脚P1^0、P1^1、P1^2、P1^3、P3^6。key用来读取P3^6的输入,这里按键接

    P3^6,所以key可以读取按键;其它信号都是输出控制来led灯。

    问题:
    那些外围电路的作用是?


    PS:
    用keil如何把c语言程序生成hex文件:
      project——option for target‘——output——creat Hex打上勾就OK了

    注意生成文件时不要习惯性地按Ctrl+F5(这是VC的编译执行),keil里边的快捷键据说可以自己设定的:通过Edit-

    >Configuration->Shortuct Keys 这个菜单来设定·当然,直接按生成按钮就肯定可以。

  • 相关阅读:
    ORACLE中dba,user,v$等开头的常用表和视图
    CentOS最基本的20个常用命令
    Spring IOC原理解读 面试必读
    Nginx Web服务应用
    Linux系统SSH免密登录
    Zabbix+Grafana打造高逼格监控系统
    Ansible入门
    你应该知道的 5 个 Docker 工具
    关于 Docker Hub 上不能注册 Docker ID 的问题
    Linux下终端录制工具-asciinema
  • 原文地址:https://www.cnblogs.com/zeedmood/p/2666871.html
Copyright © 2020-2023  润新知