找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2478|回复: 3
打印 上一主题 下一主题
收起左侧

51单片机启停保的逻辑电图

[复制链接]
跳转到指定楼层
楼主
ID:69634 发表于 2015-3-22 19:37 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
          #include<reg52.h>
                           sbit KEY1 = P3^2;   
               sbit KEY2 = P3^3;
               //sbit KEY3 = P3^4;
              //sbit LED1 = P0^0;
               sbit LED2 = P1^0;  

                               
                           void KEY()
                          {
                                if((KEY1==0||LED2==0)&& KEY2==1)                                                                                                                                                          
                                                { LED2=0;}
                                                                                else
                                                                                { LED2=1;}
                          }               
                      void Main(void)
                                                        {
                                                                  while(1)
                                                                        {
                                                                                // P0=0x00;
                                                                                // P3=0x00;
                                                                                 KEY();
                                                                        }
                                                        }
                       
请问各位老师,为什么LED亮保持不住,有时短,有时长,我搞了很久也不明白

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:1 发表于 2015-3-23 00:23 来自手机 | 只看该作者
按键没有做消抖处理
回复

使用道具 举报

板凳
ID:75077 发表于 2015-3-23 09:40 来自手机 | 只看该作者
在按键指令后加上延时50ms的指令,或者用一个硬件消除,就是在开关后面加上单稳态多谐震荡器。型号54121。

评分

参与人数 1黑币 +35 收起 理由
admin + 35 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

地板
ID:69634 发表于 2015-3-25 20:09 | 只看该作者
我改成如下程序,效果还不错。
          #include<reg52.h>
                           sbit KEY1 = P3^2;   
               sbit KEY2 = P3^3;
               sbit LED2 = P0^0;
                           void delay(unsigned int b) //延时约1ms
                                                                                {
                                                                                unsigned int i;
                                                                                while (--b!=0)
                                                                                        for(i=600;i>0;i--);  
                                        }
                               
                           void KEY()
                          {
                                if((KEY1==0||LED2==0)&& KEY2==1)
                                                                                                                                                  
                                                { LED2=0;}
                                                                                else
                                                                                { LED2=1;}
                          }               
                      void Main(void)
                                                        {
                                                          while(1)
                                                                            {

                                                                                            if((KEY1&KEY2) != 1)
           {
                   delay(30) ;       
            KEY();
               
           }
                                                                            }                                                        
                                                   }                               
               

评分

参与人数 1黑币 +35 收起 理由
admin + 35 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表