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;}

最近更新

求职面试的方法和技巧 55页

2025年胶带技术标准Word文档 138页

会计工作的个人年度总结(3篇) 11页

停电应急预案(10篇) 43页

2025年职场经验谈做不可替代的员工 125页

六年级建议书作文汇编(3篇) 5页

广州市人体肺癌组织七种金属元素分析 3页

关于高三年级工作计划(28篇) 152页

2025年新居乔迁之喜祝福语 10页

2025年新学期计划500字作文 37页

平泉市土地利用景观格局变化及驱动因素分析的.. 4页

即兴演讲稿两分钟(31篇) 40页

2025年新学期小学校长的开学典礼致辞 19页

工艺路径对纯铝粉末材料多道次等径角挤扭变形.. 3页

2025年羽绒厂污水处理工程环评报告表 52页

山东招掖地区花岗质岩体形成条件及成因研究 3页

小直径容器单面焊双面成型手工电弧焊工艺 3页

小区管网平衡调试新技术和新设备介绍 3页

2025年网络营销环境分析与网络营销方案 10页

概论电气工程基础 68页

2025年度江苏省肿瘤科质控中心质控工作督查方.. 6页

酒店式公寓:短租市场投资与退出 10页

医院诊疗证明书 3页

海南省中学初中地理全部知识点总结中考复习提.. 26页

胸腔镜下肺叶切除手术配合 31页

[考试必备]2022-2022年最新山东省郓城第一中学.. 5页

06ms201-1图集 46页

纤维素的碱化新版资料 10页

大蒜种植机设计结构设计【全套设计论文含有CA.. 43页

《[英]阿加莎·克里斯蒂-1950 捕鼠器 The Mou.. 65页