久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1541|回復: 2
打印 上一主題 下一主題
收起左側

單片機按鍵控制LED燈怎么編寫的功能都實現不了?哪里有問題?

[復制鏈接]
回帖獎勵 1 黑幣 回復本帖可獲得 1 黑幣獎勵! 每人限 1 次(中獎概率 10%)
跳轉到指定樓層
樓主


#include<reg52.h>   //單片機頭文件

#define uchar unsigned char    //宏定義
#define uint unsigned int
        
sbit LED1=P2^0;    //LED燈
sbit LED2=P2^1;

sbit Key1=P0^0;                //開
sbit Key2=P0^1;                //關
sbit Key3=P0^2;                //功能1
sbit Key4=P0^3;                //功能2
sbit Key5=P0^4;                //功能3


void delay1ms(uint Y)     //延時函數
{
        int i;
        while(Y--)for(i=0;i<120;i++);
}


void main()
{
        while(1)
  {
                        if(Key1==0)    //開始
                        {
                                delay1ms(5);
                                if(Key1==0)
                                {
                                                LED1=1;LED2=0;
                                                if(Key3==0)   //功能1
                                                {
                                                delay1ms(5);
                                                        if(Key3==0)
                                                        {

                                                                        LED1=0;
                                                                        delay1ms(200);
                                                                        LED1=1;
                                                                        delay1ms(200);
                                                                        while(Key3==0);
                                                        }
                                                }
                                                if(Key4==0)  //功能2
                                                {
                                                        delay1ms(5);
                                                        if(Key4==0)
                                                        {
                                                                LED1=0;LED2=1;
                                                                while(Key4==0);
                                                        }
                                                }
                                                if(Key5==0)   //功能3
                                                {
                                                        delay1ms(5);
                                                        if(Key5==0)
                                                        {
                                                                LED1=1;LED2=0;
                                                        }
                                                }
                                                while(Key1==0);
                                                        }
                        }
        }
}

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:336670 發表于 2019-5-17 17:37 | 只看該作者
#include<reg52.h>
sbit led1=P0^0;
sbit led2=P0^1;

sbit key1=P2^0;
sbit key2=P2^1;
sbit key3=P2^2;
sbit key4=P2^3;
sbit key5=P2^4;
void delay()
{
        unsigned int a=30000;
        while(a--);       
}
void main()
{
        while(1)
        {
        if(key1==0)
                {
                        if(key2!=0)
                        {
                                if(key3==0)
                                {
                                        led1=~led1;
                                        delay();
                                }
                                else if(key4==0)
                                {
                                        led1=1;
                                        led2=0;
                                }
                                else if(key5==0)
                                {
                                        led1=0;
                                        led2=1;
                                }
                        }
                }
        }
}
你把引腳改了試試這個呢

kz.png (24.68 KB, 下載次數: 45)

kz.png
回復

使用道具 舉報

板凳
ID:213173 發表于 2019-5-18 08:05 | 只看該作者
如果P0口接按鍵需要接10K上拉電阻,LED要串接1K限流電阻。程序改這樣就可以滿足樓主全部要求。
  1. #include<reg52.h>   //單片機頭文件

  2. #define uchar unsigned char    //宏定義
  3. #define uint unsigned int
  4.         
  5. sbit LED1=P2^0;    //LED燈
  6. sbit LED2=P2^1;

  7. sbit Key1=P0^0;                //開
  8. sbit Key2=P0^1;                //關
  9. sbit Key3=P0^2;                //功能1
  10. sbit Key4=P0^3;                //功能2
  11. sbit Key5=P0^4;                //功能3


  12. void delay1ms(uint Y)     //延時函數
  13. {
  14.         int i;
  15.         while(Y--)
  16.                 for(i=0;i<120;i++);
  17. }

  18. void main()
  19. {
  20.         bit i=0;
  21.         while(1)
  22.         {
  23.                 if(Key1==0)    //開始
  24.                 {
  25.                         delay1ms(5);
  26.                         if(Key1==0)
  27.                         {
  28.                                 i=1;
  29.                                 LED1=0;LED2=0;
  30.                                 while(Key1==0);
  31.                         }
  32.                 }
  33.                 if(Key2==0)    //停止
  34.                 {
  35.                         delay1ms(5);
  36.                         if(Key2==0)
  37.                         {
  38.                                 i=0;
  39.                                 LED1=1;LED2=1;
  40.                                 while(Key2==0);
  41.                         }
  42.                 }
  43.                 if(i==1)
  44.                 {
  45.                         if(Key3==0)   //功能1
  46.                         {
  47.                                 delay1ms(5);
  48.                                 if(Key3==0)
  49.                                 {
  50.                                         LED1=1;LED2=1;
  51.                                         while(Key3==0);
  52.                                         while(Key1&Key2&Key4&Key5)
  53.                                         {
  54.                                                 LED1=~LED1;
  55.                                                 delay1ms(250);
  56.                                         }
  57.                                         LED1=1;
  58.                                 }
  59.                         }
  60.                         if(Key4==0)  //功能2
  61.                         {
  62.                                 delay1ms(5);
  63.                                 if(Key4==0)
  64.                                 {
  65.                                         LED1=0;LED2=1;
  66.                                         while(Key4==0);
  67.                                 }
  68.                         }
  69.                         if(Key5==0)   //功能3
  70.                         {
  71.                                 delay1ms(5);
  72.                                 if(Key5==0)
  73.                                 {
  74.                                         LED1=1;LED2=0;
  75.                                         while(Key5==0);
  76.                                 }
  77.                         }               
  78.                 }
  79.         }
  80. }
復制代碼
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 四虎影院新网址 | 在线黄| 成年男女免费视频网站 | 国产在线视频在线观看 | 日韩欧美精品一区 | 自拍第一页 | 91精品久久久久久久久久 | 婷婷久| www.午夜 | 久久精品国产久精国产 | 国产精品久久亚洲7777 | 日韩成人av在线播放 | 日朝毛片 | 免费av手机在线观看 | 天堂网avav | 在线三级网址 | 91精品久久久久 | 久久久国产精品一区 | 91精品国产自产精品男人的天堂 | 精品国产乱码久久久久久中文 | 国产伦一区二区三区四区 | 久久国产麻豆 | 亚洲精品日韩在线 | 在线免费小视频 | 天天综合久久 | 激情av免费看 | 亚洲成人中文字幕 | 欧美精品一区二区三区在线播放 | 午夜在线免费观看视频 | 在线视频国产一区 | 欧美性网| 狠狠躁躁夜夜躁波多野结依 | 精久久久久 | 自拍偷拍第一页 | www天天操 | 成人激情视频在线播放 | 欧美日韩精品中文字幕 | 欧美日韩久 | 欧美综合一区二区 | 蜜桃视频在线观看免费视频网站www | 日本免费网 |