当前位置: 首页 > news >正文

南通网站设计佛山网站建设方案服务

南通网站设计,佛山网站建设方案服务,如何看自己网站流量,黄页电话号码本1、按键介绍 按键管脚两端距离长的表示默认是导通状态,距离短的默认是断开状态, 如果按键按下,初始导通状态变为断开,初始断开状态变为导通 我们开发板是采用软件消抖,一般来说一个简单的按键消抖就是先读取按键的状…

1、按键介绍 

按键管脚两端距离长的表示默认是导通状态,距离短的默认是断开状态, 如果按键按下,初始导通状态变为断开,初始断开状态变为导通 

我们开发板是采用软件消抖,一般来说一个简单的按键消抖就是先读取按键的状态,如果得到按键按下之后,延时 10ms,再次读取按键的状态,如果按键还是按下状态,那么说明按键已经按下。其中延时10ms 就是软件消抖处理

2、独立按键 

K1连在P3^1管脚,     K2——P3^0,       K3——P3^2,        K4——P3^3

需求:通过开发板上的独立按键 K1 控制 D1 指示灯亮灭 

#include "reg52.h"
typedef unsigned int u16;
typedef unsigned char u8;
void delay_10us(u16 ten_us){
    while(ten_us--);
}
sbit LED1=P2^0;    //控制D1指示灯
sbit LED2=P2^1;   //控制D2指示灯
sbit LED3=P2^2;   //控制D3指示灯
sbit LED4=P2^3;   //控制D4指示灯
//使用宏定义的方法控制独立按键的键值
#define KEY1_PRESS 1
#define KEY2_PRESS 2
#define KEY3_PRESS 3
#define KEY4_PRESS 4
//没有任何按键被按下
#define KEY_UNPRESS 0

//定义按键对应的管脚口
sbit KEY1=P3^1;
sbit KEY2=P3^0;
sbit KEY3=P3^2;
sbit KEY4=P3^3;

//封装函数实现按键返回一个键值
//定义一个只能传递0或1的模式model
//0单次扫描,1连续扫描
u8 key_scan(u8 model){
    //打一个标志
    static u8 key=1;  //static 静态变量
    if(model==1){
    key=1;
    }

    if(key==1&&(KEY1==0||KEY2==0||KEY3==0||KEY4==0)){
        //消抖处理,使用延迟操作 5ms~10ms
        delay_10us(1000);
        key=0;
        //如果按键仍是按下状态,说明信号稳定
        if(KEY1==0){
            return KEY1_PRESS;
        }
        else if(KEY2==0){
            return KEY2_PRESS;
        }
        else if(KEY3==0){
            return KEY3_PRESS;
        }
        else if(KEY4==0){
            return KEY4_PRESS;
        }
}
    else if(KEY1==1&&KEY2==1&&KEY3==1&&KEY4==1){//没有按键被按下
        key=1;
        return KEY_UNPRESS;
    }
}

void main(){
    u8 value=0;
    while(1){
        value=key_scan(0);
        if(value==KEY1_PRESS){
            LED1=!LED1;
            //delay_10us(50000);    //加一下延时可以验证,单次扫描和连续扫描的情况
        }
        else if(value==KEY2_PRESS){
            LED2=!LED2;
        }
        else if(value==KEY3_PRESS){
            LED3=!LED3;
        }
        else if(value==KEY4_PRESS){
            LED4=!LED4;
        }
    }
}

3、矩阵按键 

矩阵键盘两端都与单片机 I/O 口相连,因此在检测时需编程通过单片机 I/O 口送出低电平。

4*4 矩阵键盘的工作原理和检测方法。开发板上将 16 个按键排成 4 行 4 列,第一行将每个按键的一端连接在一起构成行线,第一列将每个按键的另一端连接在一起构成列线,这样便一共有 4 行 4 列共 8 根线,我们将这 8 根线连接到单片机的 8 个 I/O 口上,通过程序扫描键盘就可检测 16 个键。

单片机 I/O 口送出低电平检测方法有多种,最常用的是行列扫描法线翻转法

(1)行列扫描法检测时,先送一列为低电平,其余几列全为高电平(此时我们确定了列数),然后立即轮流检测一次各行是否有低电平,若检测到某一行为低电平(这时我们又确定了行数),则我们便可确认当前被按下的键是哪一行哪一列的

(2)线翻转法,就是使所有行线为低电平时,检测所有列线是否有低电平,如果有,就记录列线值;然后再翻转,使所有列线都为低电平,检测所有行线的值,由于有按键按下,行线的值也会有变化,记录行线的值。从而就可以检测到全部按键

 

3.1行列扫描法

 

3.2线翻转法

http://www.ritt.cn/news/21118.html

相关文章:

  • wordpress仿站维护免费建站网站一级
  • 国内外免费开源cms赣州seo外包
  • 浙江网站建设dyfwzx优化大师怎么下载
  • 做网站是靠什么挣钱电商网络销售是做什么
  • t型网站域名和版面郑州客串seo
  • 自己网站怎么做优化网络营销怎么做?
  • 通州区网站制作常见的营销策略有哪些
  • 出名的网站建设软件百度知道登录入口
  • 传奇手游网站大全9377抖音seo搜索引擎优化
  • 西安学校网站建设哪家专业杭州专业seo公司
  • c 做商务网站方便吗媒体邀约
  • 程序天下:lamp网站开发黄金组合 pdf网络推广服务合同
  • 网站的营销方案seo黑帽多久入门
  • 桂林漓江学院网站seo百度百科
  • o2o网站平台怎么做广州seo优化公司
  • 建设政务网站报告网络服务提供者知道或者应当知道
  • 广州 互联网公司 网站首页合肥seo管理
  • 建立个人网站怎么赚钱北京网络营销
  • 珠海网站系统建设网站模板源码
  • 携程做旅游的网站营销网点机构号
  • 做公务员试题比较好的网站b2b
  • 怎么查询一个网站从哪做的今日新闻简讯30条
  • 网站开发者选项如何建网站赚钱
  • 如何给一个企业的网站做推广宜昌今日头条新闻
  • 哪个网站做ppt临沂seo优化
  • asp.netmvc 做网站快速排名怎么做
  • 网站内容全屏截屏怎么做怎么找需要做推广的公司
  • 系统建站前端培训班一般多少钱
  • wordpress网站 华为新网seo关键词优化教程
  • 网站建设网站自助建设谷歌收录查询