📄 16
字号:
/***********************************************
程序功能:扫描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 + -