独立按键

[复制链接]
638|0
手机看帖
扫描二维码
随时随地手机跟帖
我爱你的吻123|  楼主 | 2016-11-18 13:02 | 显示全部楼层 |阅读模式
/**************************************************************************************
*                              独立按键实验                                                                                                  *
实现现象:下载程序后按下K1按键可以对D1小灯状态取反。
注意事项:无                                                                                                                                                                  

原理图请参考我的博客:一个简洁的51原理图。

***************************************************************************************/

#include "reg52.h"                         //此文件中定义了单片机的一些特殊功能寄存器


typedef unsigned int u16;          //对数据类型进行声明定义
typedef unsigned char u8;


sbit k1=P3^1;         //定义P31口是k1
sbit led=P2^0;         //定义P20口是led


/*******************************************************************************
* 函 数 名         : delay
* 函数功能                   : 延时函数,i=1时,大约延时10us
*******************************************************************************/
void delay(u16 i)
{
        while(i--);       
}


/*******************************************************************************
* 函 数 名         : keypros
* 函数功能                   : 按键处理函数,判断按键K1是否按下
*******************************************************************************/
void keypros()
{
        if(k1==0)                  //检测按键K1是否按下
        {       
                delay(1000);   //消除抖动 一般大约10ms
                if(k1==0)         //再次判断按键是否按下
                {
                        led=~led;          //led状态取反
                }
                while(!k1);         //检测按键是否松开
        }               
}


/*******************************************************************************
* 函 数 名       : main
* 函数功能                 : 主函数
* 输    入       : 无
* 输    出             : 无
*******************************************************************************/
void main()
{       
        while(1)
        {       
                keypros();  //按键处理函数       
        }               
}


相关帖子

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

本版积分规则

个人签名:本工作室是专业电子类设计开发团队,团队成员全为从事51\DSP\ ARM\fpga类嵌入式开发和图像处理、机器学习等相关算法研究多年的软、硬件开发工程师,已与全国几十家客户成功合作,可以长期提供技术支持,承接各类相关项目开发与咨询服务。 QQ:1746430162

37

主题

836

帖子

60

粉丝