⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 16

📁 16矩阵键盘—在5110液晶显示
💻
字号:
/***********************************************
程序功能:扫描4X4键盘并将键值在1602液晶上显示
------------------------------------------------
拨码开关设置:将KEY位、LCD位拨至ON,其余拨至OFF
跳线设置:将跳线座J13上的短路帽拔下
------------------------------------------------
测试说明:按动K1~K16按键,观察液晶显示
************************************************/
#include <msp430x14x.h>
#include "Keypad.h"
#include "Keypad.c"
#include "nokia_5110.h"

//引用外部变量的声明    
extern unsigned char key_val;         
extern unsigned char key_Flag; 
/********************主函数********************/
void main(void)
{
    uchar Strings[]={"Key Value:"};
    uchar c[2];
    uchar temp;
    
    /*下面六行程序关闭所有的IO口*/
    P1DIR = 0XFF;P1OUT = 0XFF;
    P2DIR = 0XFF;P2OUT = 0XFF;
    P3DIR = 0XFF;P3OUT = 0XFF;
    P4DIR = 0XFF;P4OUT = 0XFF;
    P5DIR = 0XFF;P5OUT = 0XFF;
    P6DIR = 0XFF;P6OUT = 0XFF;
    
    WDTCTL = WDTPW + WDTHOLD;       //关闭看门狗
    P6DIR |= BIT2;P6OUT |= BIT2;  //关闭电平转换      
    
    LCD_init();                           //初始化液晶    
    LCD_clear();
    Init_Keypad();                  //初始化键盘端口
    LCD_write_english_string(0,0,Strings);        //显示提示文字
    while(1)
    {
        Key_Event();
    
        if(key_Flag == 1)
        {
            key_Flag = 0;
            
            //显示十位
            temp = key_val / 10;
            if(temp)
            {
              switch(key_val%10)
              {
                case 0:c[0]='A';break;
                case 1:c[0]='B';break;
                case 2:c[0]='C';break;
                case 3:c[0]='D';break;
                case 4:c[0]='#';break;
                case 5:c[0]='*';break;
              }
            }
            else
              c[0]=0x30+key_val;
            c[1]='\0';
            LCD_write_english_string(0,3,c);
        }
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -