求msp430 4x4矩阵键盘显示键值的程序,
答案:1 悬赏:30 手机版
解决时间 2021-02-24 23:50
- 提问者网友:蓝琪梦莎
- 2021-02-24 02:01
求msp430 4x4矩阵键盘显示键值的程序,
最佳答案
- 五星知识达人网友:平生事
- 2021-02-24 03:38
无
********************************************//
unsigned char keymap[] = {1;*********************************************************************
控制打开或者关闭键盘中断
SW= 0;关闭端口中断
else
KEY_IE =0xf0;/7 接上拉电阻
/控制键盘开关/消除抖动
Check_Key():
[p13]→ 1 2 3 4
[p12]→ 5 6 7 8
[p11]→ 9 10 11 12
[p10]→ 13 14 15 16
***************************************/
void Key_Event(void)
{
unsigned char tmp;/
void delay(void)
{
unsigned int tmp;/如果有键按下
{
delay();/ //是否P1IN的P1;/ 列检测
{
if((KEY_IN tmp2) == 0x00) / 获取键值
return; 设置P1OUT全为0,P1.h>/ /p14\///
KEY_IES =0xf0; / /设置键盘逻辑键值
与程序计算键值的映射
tmp1 = 0x08/
void Check_Key(void)
{
unsigned char row ;P1;6\= 1; tmp2右移1位
}
}
}
}
/键值,9:delay
功 能:扫描键盘的IO端口:无
返回值 ,12; /关键盘中断
}
}
KEY_IFG=0;KEY_OUT=0;col++) / 4;/ 0xf0) /row lt,14;=1;*端口1按键中断*/ / /行扫描
{
KEY_OUT = 0x0f; / 4;0xf0) / /////tmp >
#pragma vector=PORT1_VECTOR
__interrupt void Port(void)
{
if((KEY_IFG0xf0):无
返回值 ;存放键值
void CtrlKey(unsigned char sw).4~P1;< // 调用check_Key()!=0) /P1.7输出四位中有一个为0
tmp1 gt!=0有键按下
{
CtrlKey(0),等待按键输入
tmp = KEY_IN; sw=0关 sw=1开
/// //
if((KEY_IN 0xf0)< 退出循环
}
tmp2 < / / 是否是该列;
#define KEY_DIR P1DIR
#define KEY_OUT P1OUT
#define KEY_IN P1IN
#define KEY_IE P1IE
#define KEY_IES P1IES
#define KEY_IFG P1IFG
//
}
//
void CtrlKey(unsigned char sw)
{
if(sw==0)
KEY_IE =0;/中断标志清0
Key_Val = 0;*******************************************
函数名称;
}
// /P1;msp430F149 4*4矩阵键盘P1口中断扫描
#includelt,8;47
********************************************//
unsigned char keymap[] = {1;*********************************************************************
控制打开或者关闭键盘中断
SW= 0;关闭端口中断
else
KEY_IE =0xf0;/7 接上拉电阻
/控制键盘开关/消除抖动
Check_Key():
[p13]→ 1 2 3 4
[p12]→ 5 6 7 8
[p11]→ 9 10 11 12
[p10]→ 13 14 15 16
***************************************/
void Key_Event(void)
{
unsigned char tmp;/
void delay(void)
{
unsigned int tmp;/如果有键按下
{
delay();/ //是否P1IN的P1;/ 列检测
{
if((KEY_IN tmp2) == 0x00) / 获取键值
return; 设置P1OUT全为0,P1.h>/ /p14\///
KEY_IES =0xf0; / /设置键盘逻辑键值
与程序计算键值的映射
tmp1 = 0x08/
void Check_Key(void)
{
unsigned char row ;P1;6\= 1; tmp2右移1位
}
}
}
}
/键值,9:delay
功 能:扫描键盘的IO端口:无
返回值 ,12; /关键盘中断
}
}
KEY_IFG=0;KEY_OUT=0;col++) / 4;/ 0xf0) /row lt,14;=1;*端口1按键中断*/ / /行扫描
{
KEY_OUT = 0x0f; / 4;0xf0) / /////tmp >
#pragma vector=PORT1_VECTOR
__interrupt void Port(void)
{
if((KEY_IFG0xf0):无
返回值 ;存放键值
void CtrlKey(unsigned char sw).4~P1;< // 调用check_Key()!=0) /P1.7输出四位中有一个为0
tmp1 gt!=0有键按下
{
CtrlKey(0),等待按键输入
tmp = KEY_IN; sw=0关 sw=1开
/// //
if((KEY_IN 0xf0)< 退出循环
}
tmp2 < / / 是否是该列;
#define KEY_DIR P1DIR
#define KEY_OUT P1OUT
#define KEY_IN P1IN
#define KEY_IE P1IE
#define KEY_IES P1IES
#define KEY_IFG P1IFG
//
}
//
void CtrlKey(unsigned char sw)
{
if(sw==0)
KEY_IE =0;/中断标志清0
Key_Val = 0;*******************************************
函数名称;
}
// /P1;msp430F149 4*4矩阵键盘P1口中断扫描
#includelt,8;47
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯