历史上的今天
返回首页

历史上的今天

今天是:2025年04月02日(星期三)

正在发生

2021年04月02日 | MSP430矩阵式4×4键盘源代码

2021-04-02 来源:eefocus

简介:本文给大家分享了一个msp430矩阵式4×4键盘源代码。

#include   

char key;

manage_key1()

{}

.................

.................

manage_key16()

{}

void delays( )

    {

     int v=500;

     while(v!=0)v--;

    }

void keyscan( )

  char sccode,recode;

  P1DIR=0X0f;         

 

  P1OUT=0X00;           //置所有行为低电平,行扫描,列线输入(此时)  

  if((P1IN&0X0F)!=0X0F)   //判断是否有有键按下(读取列的真实状态,若第4列有键按下 则P1的值会变成0111 0000),有往下执行

  {

    delays();

    if((P1IN&0x0f)!=0x0f)     //再次判断列中是否是干扰信号,不是则向下执行

    {

     sccode=0xef;            //逐行扫描初值(即先扫描第1行)

     while((sccode&0x01)!=0)  //行扫描完成(4行已全部扫描完)sccode为1110 1111 停止while程序

      {

        P1OUT=sccode;         //输出行扫描码

        if((P1IN&0x0F)!=0X0F)  //本行有键按下(即P1(真实的状态)的高四位不全为1)

        {

          recode=(P1IN&0x0F)|0xf0;  //列(列处于低四位,高四位补1)

          key=(sccode & recode);     //行和列

        }

//所扫描行没有键按下,则扫描下一行,直到4行都扫描,此时sccode为1110 1111退出while程序

        else

        {

          sccode=(sccode<<1)|0x10;   ;//行扫描码左移一位

        }

       }

     }

        //无键按下,返回0

  }

}

void main( )

{

   keyscan();

   delays();

   switch(key)

   {

    case 0xee: manage_key1();break;    // 1110 1110

    case 0xde: manage_key2();break;    // 1101 1110

    case 0xbe: manage_key3();break;    // 1011 1110

    case 0x7e: manage_key4();break;    // 0111 1110

   

    case 0xed: manage_key5();break;    // 1110 1101

    case 0xdd: manage_key6();break;    // 1101 1101

    case 0xbd: manage_key7();break;    // 1011 1101

    case 0x7d: manage_key8();break;    // 0111 1101

   

    case 0xeb: manage_key9();break;    // 1110 1011

    case 0xdb: manage_key10();break;    // 1101 1011

    case 0xbb: manage_key11();break;    // 1011 1011

    case 0x7b: manage_key12();break;    // 0111 1011

   

    case 0xe7: manage_key13();break;    // 1110 0111

    case 0xd7: manage_key14();break;    // 1101 0111

    case 0xb7: manage_key15();break;    // 1011 0111

case 0x77: manage_key16();break;    // 0111 0111 

default: break; 

   }

}


推荐阅读

史海拾趣

ERA Transformers公司的发展小趣事

在电子行业中,ERA Transformers公司以其开创性的技术而闻名。该公司专注于研发和生产高效的电子变压器,以满足不断增长的电子设备需求。在一次研发过程中,公司工程师们面临了一个重大挑战:如何提高变压器的能效和稳定性。经过数月的深入研究与反复试验,他们终于开发出了一种新型的高效能变压器,该变压器采用了先进的材料和独特的设计,显著提高了能效和稳定性,这一创新技术的突破使得ERA Transformers公司在电子行业中崭露头角。

Echelon_Corporation公司的发展小趣事

近年来,随着物联网技术的快速发展,Echelon也积极布局该领域。公司在嵌入式系统部门收购了Echelon Corporation后,成立了新的物联网业务部门,并推出了SmartServer物联网平台。该平台采用了开放、可扩展的体系结构,可以连接、监控商业和工业物联网部署设备,并提供智能化和自动化的决策支持。SmartServer平台的推出,使得Echelon在物联网领域取得了重要突破。

冠图电子(GTL-POWER)公司的发展小趣事

Echelon Corporation于1988年在美国加州成立,其初衷是开发和推广先进的通信和控制技术。在成立初期,Echelon便推出了其标志性的LonWorks控制网络平台。该平台采用了开放的通信协议,使得不同厂商的设备可以无缝连接和通信,为工业自动化、建筑自动化等领域带来了革命性的变化。LonWorks平台的成功推出,为Echelon在电子行业奠定了坚实的基础。

DBS Microwave Inc公司的发展小趣事

DBS Microwave始终将产品质量放在首位。公司建立了一套严格的质量管理体系,从原材料采购到产品生产的每一个环节都进行严格的质量控制。此外,公司还注重员工的培训和技能提升,确保每一位员工都能够熟练掌握生产技能和质量要求。这些措施使得DBS Microwave的产品质量得到了客户的高度认可。

Conexcon Group公司的发展小趣事

在电子行业的快速发展中,Conexcon Group以其前瞻性的技术视野,成功研发出一款新型智能芯片,这款芯片不仅性能卓越,而且功耗极低,迅速赢得了市场的青睐。公司凭借这一技术突破,逐步扩大了在国内外市场的份额,成为了行业内技术创新的领军者。随着产品线的不断丰富,Conexcon Group逐渐形成了从芯片设计到整机制造的完整产业链,进一步巩固了其在电子行业的领先地位。

General Electric Company公司的发展小趣事
能够输出较大的电流,以满足高压驱动或负载的需求。

问答坊 | AI 解惑

2007年无线测试和测量技术发展趋势及需求热点分析

2007年,由语音、数据、视频和移动性构成的四重业务将进一步推动各种无线新技术的标准化、产业化及业务和应用的融合,无线新技术将向着移动、宽带、多媒体的方向继续发展。3G移动通信将作为主流产业快速发展,新兴的宽带无线接入技术(WiMax/Wi-Fi等 ...…

查看全部问答>

面试自我介绍一分钟,如何完美表现自己

一段短短的自我介绍,其实是为了揭开更深入的面谈而设的。    一分钟的自我介绍,犹如商品广告,在短短六十秒内,针对“客户”的需要, 将自 己最美好的一面,毫无保留地表现出来,不但要令对方留下深刻的印像,还要即时引发 起“购买欲”。 ...…

查看全部问答>

马上要毕业的大学生向各位求助

我是电子信息工程的本科生今年七月份毕业,我最近应聘到一家主要研发,制造节能灯的企业做一名技术员(公司刚成立不久现在主要不是研发),我的理想是通过自己的努力最后能做一名电子工程师,我不知道我的这一份工作能对我的目标会起到多大的作用, ...…

查看全部问答>

说说大家WCE的产品

交流下大家的Windows CE产品,看看目前市场上用到的Windows CE产品有哪些? 注:标明Windows CE版本号、产品名及简要介绍、工资。 先说我自己的: Windows CE 5.0、Windows CE 6.0 终端——类似电脑,主要用户行业的窗口柜台(如银行、邮政、保 ...…

查看全部问答>

RS232的问题,理解不够,指点下吧,很急啊

看到一个232的串口通信的程序,因为以前自己做的只是单字节传送,程序也较为简单。现在想了解下多字节传送看了些232协议的资料,看太快没理解上去。又看了个程序,有些不理解的地方,希望指点一下,不懂的地方已经标注。(真没时间搞这个程序了,明 ...…

查看全部问答>

在wince中如何判断CAPSLOCK是否被触发?

RT...........在wince中如何判断CAPSLOCK是否被触发?…

查看全部问答>

新手报到,12864示波器

新手报到,展示一下才做的12864示波器。 stc12c5a32s2+12864的示波器,配合36MHz的晶振,最高采样频率达到200KHz,即5us一次。…

查看全部问答>

st72f324j4t6不起震

                                 用RLINK下载没有反应,后来查板子,发现晶震不振,另外换了块板子,还是不振,有什么其他的原因吗?…

查看全部问答>

基于GSM的门禁安防系统

本帖最后由 paulhyde 于 2014-9-15 03:32 编辑 基于GSM的门禁安防系统 是湖北省第八届挑战杯大赛作品 参赛前的效果演示:$(\'swf_f6U\').innerHTML=AC_FL_RunContent(\'width\', \'550\', \'height\', \'400\', \'allowNetworking\', \'internal ...…

查看全部问答>