1 / 12
文档名称:

最新单片机按键连接方法.doc

格式:doc   大小:313KB   页数:12页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

最新单片机按键连接方法.doc

上传人:朱老师 2022/2/21 文件大小:313 KB

下载得到文件列表

最新单片机按键连接方法.doc

文档介绍

文档介绍:单片机按键连接方法
单片机按键连接方法总结〔五种按键扩展方案详细介绍〕
单片机在各种领域运用相当广泛,而作为人机交流的按键设计也有很多种。不同的设计方法,有着不同的优缺点。而又由于单片机I/O资源有限,如何用最少的I/O口扩展更全输出高电平。如果这个时候从P00到P03的任意一个端口检测到低电平,很容易知道是按下了那个键,肯定是s13到s16的其中一个。如果没有检测到信号,就进行下一次的检测,让P01到P03为高电平,P00为低电平,然后检测P01到P03的状态。如果P01为低,那么按下的是s1,;P02为低,那么按下的是s2;P03为低,那么按下的是s3。
然后再让P00,P02,P03为高电平,P01为低电平。同理用上面的方法可以检测出按下的那个按键。〔
局部程序源代码会在后面贴出来,阅读代码可以更好理解电路〕
5〕、接下来这种方案那么更为强大。不过需要用到一个A/D转换器〔有的单片机集成有A/D转换器,那么更为方便〕。如果A/D转化器的分辨率为n位,理论上是可以扩展2^n〔2的n次方〕个按键。
    这是一种接AD转化器的方案,有两种:第一种是并联式;第二种是串联式。在功能上也有些不同。第一种的话各个电阻值各不相同,当按下不同按键时,进入AD的模拟量是不一样的,通过AD转换,就可以得到按下的是哪个按键。方式一还可以同时识别多个按键,即可以设置组合键,只要电阻取得适宜。
方式二各个电阻可以取一样的,方便计算,但是不能有组合按键。因为当按下上面的按键后,下面所有按键都会被短路。〔在实际运用中,还需要接地,这里没有画出〕 。前面说理论上可以扩展2^n个按键,这只是理论,因为这里电阻的精度有限,所以实际是不可能的,两个模拟量之间要有足够大的差值,程序才可能准确的分辨。
 
上面就是我介绍的五种按键扩展方案,后面几种比较另类,不过也有他们的优点。以上电路我都仿真过,可以实现。
附方案4键盘扫描源代码:
sbit line_1=;
sbit line_2=;
sbit line_3=;
sbit line_4=
char key=0;  
void key_scan()
{
    line_1=line_2=line_3=line_4=1;
        if(~(line_1&&line_2&&line_3&&line_4))
     {
        if(line_1==0) {key=13;return;}
        if(line_2==0) {key=14; return;}
        if(line_3==0) {key=15;return;}
        if(line_4==0) {key=16; return;}
     }
      
    line_2=line_3=line_4=1;
    line_1=0;
        if(~(line_2&&line_3&&line_4))
     { 
            delay();
            if(line_2==0) {key=1;return;}
            if(line_3==0) {key=2;return;}
            if(line_4==0) {key=3;return;}
     }
    line_1=line_3=line_4=1;
   
 line_2=0;
        if(~(line_1&&line_3&&line_4))
     { 
            delay();
            if(line_3==0) {key=5;return;}
            if(line_4==0) {key=6;return;}
     }
    line_1=line_2=line_4=1;
    line_3=0;
        if(~(line_2&&line_1&&line_4))
     { 
            delay();
            if(line_4==0) {key=9;return;}
     }
    line_4=0;
    line_1=line_2=line_3=1;
        if(~(line_2&&line_3&&line_1))
     { 
            delay();
            if(line_1==0) {key=10;return;}

最近更新

旅游旅游景区融资计划书 7页

新能源大专生的职业生涯规划书 5页

斯波阿斯项目商业计划书 8页

三语下册试题命制意图、试题、双向细目表 11页

三年级期末总复习知识点口语交际 5页

三元乙丙橡胶共混研究分析进展 11页

七氟丙烷气体灭火装置通用技术规范 8页

七夕联谊策划书 12页

马铃薯种薯跨境贸易滞期损失计算合同2025年份.. 9页

一种多频点干扰信号产生方案 6页

应变传感器超材料基底结构设计及多尺度数值模.. 9页

高考生物一轮复习讲义(全国版) 第2单元 第5.. 19页

高考生物一轮复习讲义(全国版) 第8单元 第8.. 22页

船舶维修专用码头2025年份第二季度废弃物处理.. 10页

医疗行业OTC药品销售代表综合培训 131页

眩晕幻灯片医学知识宣讲 37页

外阴阴道手术病人的护理 74页

2019-2020学年实验幼儿园大班(上册)期末检测试.. 7页

2019-2020年幼儿园中班保育员三级考试试题试卷.. 12页

2019-2020年幼儿园保育员初级考试试题试卷(附.. 12页

2025年完整版口腔内科学 7页

天津市建设工程计价办法 22页

园林绿化工程施工及验收规范CJJ82-2012表格 29页

北师大版小学数学四年级下册数学好玩《优化》.. 5页

保险需求分析表 4页

加油站员工培训考试试题 3页

某住宅楼建筑工程量计算实例 1页

得胜再得胜 53页

保险需求分析表 4页

地藏占察忏法仪轨 定弘法师 16页