MSP430矩阵式4×4键盘源代码

发布者:创意旋律最新更新时间:2021-04-02 来源: eefocus关键字:MSP430  矩阵式  4×4键盘 手机看文章 扫描二维码
随时随地手机看文章

简介:本文给大家分享了一个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; 

   }

}


关键字:MSP430  矩阵式  4×4键盘 引用地址:MSP430矩阵式4×4键盘源代码

上一篇:MSP430和CC1101的电磁波唤醒功能设计
下一篇:基于MSP430的变频伺服系统设计

推荐阅读最新更新时间:2024-11-06 11:38

基于MSP430和DS18B20的温室大棚温度监测系统模块电路
  1 温度采集传感器DS18B20   DS18B20是一种单总线数字测温芯片,使用方便、耐磨耐碰、抗干扰能力强,能够直接读取被测物体的温度,其测量范围为 -55~+125℃,且测量精度高,电压适用范围宽(3.0~5.5V),供电方式既可以采用外部供电,也可以采用寄生电源的方式从数据线上获取电能。它体积小,根据应用场合的不同可以有不同的封装形式,封装后的DS18B20可用于电缆沟测温、高炉水循环测温、锅炉测温、机房测温、农业大棚测温、弹药库测温等各种非极限温度场合。   DS18B20独特的单线接口方式使得它在与微处理器连接时仅需要一条线即可实现与微处理器的双向通讯。与此同时,DS18B20还支持多点组网功能,可以将多个DS
[单片机]
基于<font color='red'>MSP430</font>和DS18B20的温室大棚温度监测系统模块电路
MSP430单片机的DCO初始化
1.平台说明MSP430F5438。 2.ACLK选择XT1,频率为32.768K,MCLK和SMCLK选择DCOCLKDIV,频率为8000K。 //辅助时钟ACLK32.768K //系统时钟子系统时钟8000K #include“inc/hw_memmap.h” #include“ucs.h” #include“wdt_a.h” #include“gpio.h” #include“sfr.h” voidmain(void) { //停止看门狗 WDT_A_hold(WDT_A_BASE); //P4.0保持输出状态 GPIO_setAsOutputPin(GPIO_PORT_P4,GPIO_PIN0); //初始化P7.
[单片机]
<font color='red'>MSP430</font>单片机的DCO初始化
基于MSP430单片机实现ARINC429总线通讯的硬件设计
ARINC429航空通讯总线是一种常用的惯导系统通讯总线。由于该总线的功能相对独立,航空电子系统逐步走向综合,各子系统之间的数据通讯变得更加频繁。因此,研制一种基于ARINC429总线标准多种导航检测信号的手持设备,就可以为雷达导航测试人员提供很多方便。 1 ARINC429总线简介 ARINC429总线标准又称为Mark33数字信息传输系统,由美国航空无线电公司(ARINC)颁布实施。我国在航空电子设备(诸如GPS、惯导系统、电子飞行仪表)中也大量采用了ARINC429规范与外设进行通讯。此总线允许一个发送器和最多20个接收器进行一对单向、差分耦合、双绞屏蔽线信号传输。该标准的数据字分25 bits和32bits两种,以双级归零码
[单片机]
基于<font color='red'>MSP430</font>单片机实现ARINC429总线通讯的硬件设计
制作一个基于MSP430的无线充电器
电源切换 直流输入采用单刀双闸继电器,交流上电常开闭合,常闭打开实现交流优先,交流断电继电器断电,常闭闭合,实现自动切换。在切换时,时间很短,C1 可提供一定时间的电量,可以实现不断电切换,不影响充电。见图2 所示。 发射及接收电路发射电路由振荡信号发生器和谐振功率放大器两部分组成, 见图3 所示。采用NE555($0.0700) 构成振荡频率约为510KHZ 信号发生器,为功放电路提供激励信号;谐振功率放大器由Lc 并联谐振回路和开关管IRF840($0.6202) 构成。振荡线圈按要求用直径为0.8mm 的漆包线密绕2O 圈,直径约为6.5cm,实测电感值约为142uH ,由, 当谐振在510KHZ 时,与其并联
[单片机]
制作一个基于<font color='red'>MSP430</font>的无线充电器
MSP430F2274 端口操作
/******************************************************************************************************************************************* * 功能 : P1.0用来控制LED的亮灭,软件延时50000,来翻转P1.0 * * * *
[单片机]
基于MSP430 单片机的便携式气象仪设计
设计了一种低功耗便携式气象仪,该气象检测系统以低功耗MSP430单片机为主控,利用温度传感器.湿度传感器.气压传感器.风速和风向测量模块,进行温度.湿度.气压.风速.风向的测量;通过时钟芯片和12864液晶实现数据的实时显示;通过E2PROM进行数据的实时存储和查询.该气象仪具有小型化.实时化.低功耗和便携式等特点,测试结果表明该气象仪的测量精度可达普通气象测量要求,稳定性好,特别适用于小区域的气候监测. 0 引言 温度.湿度.气压.风速.风向等气象参数的测量在日常生活.农业.渔业.工业.林业.航海等领域中起着十分重要的作用,很多地区气象参数的测量大多依靠当地天气预报,可是,天气预报地域范围较广,无法精确到小区域的气候测量
[单片机]
基于<font color='red'>MSP430</font> 单片机的便携式气象仪设计
MSP430F149中中断优先级问题
1、MSP430F149中UART0的接收中断高于定时器TimerA的中断优先级。但是在程序的调试过程中确发现了不合适的现象。 2、程序调试场景是这样的:定时器计时到1S后,通过UART0向触摸屏写入数据;点击触摸屏后,向单片机上传该处的坐标。设置断点在定时器的某一处,单步运行到该处后,点击触摸屏上的某一点,单击调试的下一步,之后发现程序没有跳转到串口的接收中断程序,而是运行定时器中断程序内的下一行命令。
[单片机]
uC/OS-II的任务切换机理及中断调度优化
引 言   在嵌入式操作系统领域,由Jean J. Labrosse开发的μC/OS,由于开放源代码和强大而稳定的功能,曾经一度在嵌入式系统领域引起强烈反响。而其本人也早已成为了嵌入式系统会议(美国)的顾问委员会的成员。   不管是对于初学者,还是有经验的工程师,μC/OS开放源代码的方式使其不但知其然,还知其所以然。通过对于系统内部结构的深入了解,能更加方便地进行开发和调试;并且在这种条件下,完全可以按照设计要求进行合理的裁减、扩充、配置和移植。通常,购买RTOS往往需要一大笔资金,使得一般的学习者望而却步;而μC/OS对于学校研究完全免费,只有在应用于盈利项目时才需要支付少量的版权费,特别适合一般使用者的学习、研究和开发。
[应用]
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved