msp430f149单片机+4*4键盘+1602程序

2020-07-29来源: 51hei关键字:msp430f149  单片机  4*4键盘  1602

调试好的msp430f149接4*4键盘代码


单片机源程序如下:


#include "msp430x14x.h"

#include "1602.h"

#define  uchar unsigned char

#define  uint unsigned int

#define  key_DIR P5DIR

#define  key_OUT P5OUT

#define  key_IN  P5IN

uchar keymap[]={0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15};

uchar i,j;

uchar checkkey(void)

{

    return(key_IN^0xf0);

}

uchar getkeyvalue(void)

{

    uchar hang,lie,temp1,temp2;

    uchar key_val;

    temp1=0x08;

    for(hang=0;hang<4;hang++)

    {

       key_OUT=0x0f;

       key_OUT=~temp1;

       temp1 >>=1;

       if((key_IN&0xf0)!=0xf0)

       {

          temp2=0x10;

          for(lie=0;lie<4;lie++)

          {

             if((key_IN & temp2) == 0x00)

             {

                 key_val=keymap[hang*4+lie];

                 break;

             }

             temp2<<=1;

          }

       }

    }

    return(key_val);

}

int main( void )

{

  // Stop watchdog timer to prevent time out reset

  WDTCTL = WDTPW + WDTHOLD;

  uchar t,keyvalue;

  LcdReset();

  key_DIR=0x0f;

  while(1)

  {

      key_OUT=0x00;

      Delay5ms();

      t=checkkey();

      if(t)

      {

         keyvalue=getkeyvalue();

      switch(keyvalue)

      {

        case 0:LcdReset();i=0;break;

        case 1:Disp1Char(0,0,'1');j=1;break;

        case 2:Disp1Char(2,0,'2');j=2;break;

        case 3:Disp1Char(3,0,'3');j=3;break;

        case 4:Disp1Char(4,0,'4');j=4;break;

        case 5:Disp1Char(5,0,'5');j=5;break;

        case 6:Disp1Char(6,0,'6');j=6;break;

        case 7:Disp1Char(7,0,'7');j=7;break;

        case 8:Disp1Char(8,0,'8');j=8;break;

        case 9:Disp1Char(9,0,'9');j=9;break;

        case 10:Disp1Char(10,0,'A');i=10;break;

        case 11:Disp1Char(11,0,'B');i=11;break;

        case 12:Disp1Char(12,0,'C');i=12;break;

        case 13:Disp1Char(13,0,'D');i=13;break;

        case 14:Disp1Char(14,0,'E');i=14;break;

        case 15:Disp1Char(15,0,'F');i=15;break;

        

      }

      }

  }

  //return 0;

}


关键字:msp430f149  单片机  4*4键盘  1602 编辑:什么鱼 引用地址:http://news.eeworld.com.cn/mcu/ic504670.html 本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。

上一篇:MSP430单片机AD9851 AD9850源码
下一篇:关于低功耗msp430PID控制电机转速的C程序

关注eeworld公众号 快捷获取更多信息
关注eeworld公众号
快捷获取更多信息
关注eeworld服务号 享受更多官方福利
关注eeworld服务号
享受更多官方福利

推荐阅读

msp430F149测电压显示在12864上外接一个led
; <msp430F149.h>#include  "cry12864.h"#include  "cry12864.c"#include  "LED.c"//typedef unsigned char uchar;//typedef unsigned int  uint;#define   Num_of_Results   32uchar shuzi[] = {"0123456789."};uchar tishi[] = {"voltage:"
发表于 2020-07-29
MSP430F149单片机实现公交卡/饭卡充值功能模块
实验目的1.   最基础实现刷卡后显示冲值/扣款说明2.   实现芯片内部寄存器的读写,实现可记忆性。设计思路根据M1射频卡与读写器的通讯过程,程序设计基本流程如下:主函数架构:void main(void){  WDTCTL = WDTPW + WDTHOLD; // 关看门狗  int i = 0;  unsigned char status;  BoardConfig(0xf0);  Init_Port();  InitUART();  Port_init();   //系统初始化,设置IO口属性&
发表于 2020-07-24
<font color='red'>MSP430F149</font>单片机实现公交卡/饭卡充值功能模块
MSP430F149控制ADF4360-7程序
单片机源程序如下:/***********************************************************************************************文件:ADF4370.H作者:沨用途:集成锁相环ADF4360-7控制程序MCU: MSP430F149 晶振:8MHz编译器:IAR Ror MSP430 5.10硬  件:2011_10_06***********************************************************************************************/#define uchar
发表于 2020-07-23
MSP430F149学习之路——按键与LED
代码 1 /*********************************** 2 程序功能:用按键控制LED状态 3 缺点:按键按下后无法改变LED灯的状态,可以利用板上的复位键^~^ 4 *************************************/ 5 #include <msp430x14x.h> 6  7 int k,i=0; 8 void int_clk(); 9 void led(int n);10 void main()11 {12   WDTCTL = WDTPW
发表于 2020-06-30
MSP430F149学习之路——LED
 1 #include <msp430x14x.h> 2  3 void int_clk(); 4 void delay(int i); 5 void main() 6 { 7   WDTCTL = WDTPW + WDTHOLD; 8   int_clk(); 9   P6DIR = 0XFF;10   P6OUT = 0Xff;11   while(1)12   {13   
发表于 2020-06-20
AVR第11课:如何对待我们的单片机
大家学习MCS51单片机和AVR单片机,又或者是PIC单片机,又或者是MSP430单片机之后,是否感觉自己可以成为一名工程师了呢?我在这里来说说我的看法吧。我们学习这些单片机的时候,先学习了理论知识,这个一般是书本上的理论知识,比如介绍单片机的发展、单片机的应用领域、单片机的原理等等。然后呢找一块开发板,对着视频教程学习,边看视屏边做实验,学习完之后呢,去做那么一两个小项目,比如“基于LabView和PWM的霍尔测速和控速的直流电机系统”,这个项目呢,相对来说综合要求能力比较高,如果一个人能够坐下来的话,你的能力就算不错了,相当不错了。从设计电路图、焊接电路板、写程序、调试等等下来,会有很大的提高。如果仅仅做了实验,我可以告诉
发表于 2020-07-25
何立民专栏 单片机及嵌入式宝典

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

换一换 更多 相关热搜器件
电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2020 EEWORLD.com.cn, Inc. All rights reserved