资源简介
适用于MSP430的4*4键盘程序,基于P2口中断
代码片段和文件信息
//////////////////////////////////////////////////////////
/*******矩阵键盘驱动测试程序*****************************/
//函数功能:使用P2引脚的I/O中断对4*4键盘编码
//作者:刘意
//编写时间:2011年8月10日
#include
unsigned char Out[] = { 0XF7 0XFB 0XFD 0XFE }; //P2.3~P2.0依次输出低电平
unsigned char Key_ROW; //按键横排标记
unsigned char Key_COL; //按键列标记
void Port2_Init_1(void)
{
P2DIR = 0X0F; //P2.0~P2.3输出
//P2.4~P2.7输入
P2SEL = 0X00; //普通I/O口
P2OUT = 0XF0;
}
void Port2_IE_Init(void)
{
P2IE = 0XF0; //开启P2.4~P2.7的跳变中断
P2IES = 0XFF; //下降沿触发
P2IFG = 0X00; //清除中断标志位
}
void Port4_Init( void )
{
P4DIR = 0XFF; //设置P4输出
P4SEL = 0X00; //P4用作普通I/O
P4OUT = 0XFF; //P4输出高电平,共阳极LED熄灭
}
void LED_lighten( unsigned char key) //点亮相应LED
{
unsigned int i;
switch ( key )
{
case 0:
{
P4OUT &= ~BIT0;
for( i = 60000; i > 0; i-- );
P4OUT |= BIT0;
}break;
case 1:
{
P4OUT &= ~BIT1;
for( i = 60000; i > 0; i-- );
P4OUT |= BIT1;
}break;
case 2:
{
P4OUT &= ~BIT2;
for( i = 60000; i > 0; i-- );
P4OUT |= BIT2;
}break;
case 3:
{
P4OUT &= ~BIT3;
for( i = 60000; i > 0; i-- );
P4OUT |= BIT3;
}break;
case 4:
{
P4OUT &= ~BIT4;
for( i = 60000; i > 0; i-- );
P4OUT |= BIT4;
}break;
case 5:
{
P4OUT &= ~BIT5;
for( i = 60000; i > 0; i-- );
P4OUT |= BIT5;
}break;
case 6:
{
P4OUT &= ~BIT6;
for( i = 60000; i > 0; i-- );
P4OUT |= BIT6;
}break;
case 7:
{
P4OUT &= ~BIT7;
for( i = 60000; i > 0; i-- );
P4OUT |= BIT7;
}break;
case 8:
{
P4OUT &= ~(BIT0 + BIT1);
for( i = 60000; i > 0; i-- );
P4OUT |= (BIT0 + BIT1);
}break;
case 9:
{
P4OUT &= ~(BIT0 + BIT2);
for( i = 60000; i > 0; i-- );
P4OUT |= (BIT0 + BIT2);
}break;
case 10:
{
P4OUT &= ~(BIT0 + BIT3);
for( i = 60000; i > 0; i-- );
P4OUT |= (BIT0 + BIT3);
}break;
case 11:
{
P4OUT &= ~(BIT0 + BIT4);
for( i = 60000; i > 0; i-- );
P4OUT |= (BIT0 + BIT4);
}break;
case 12:
{
P4OUT &= ~(BIT0 + BIT5);
for( i = 60000; i > 0; i-- );
P4OUT |= (BIT0 + BIT5);
}break;
case 13:
{
P4OUT &= ~(BIT0 + BIT6);
for( i = 60000; i > 0; i-- );
P4OUT |= (BIT0 + BIT6);
}break;
case 14:
{
P4OUT &= ~(BIT0 + BIT7);
for( i = 60000; i > 0; i-- );
P4OUT |= (BIT0 + BIT7);
}break;
case 15:
{
P4OUT &= ~(BIT0
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 46742 2011-08-10 13:03 KeyBoard\KeyBoard.ewp
文件 2672 2011-08-10 20:55 KeyBoard\settings\KeyBoard.cspy.bat
文件 3060 2011-08-10 20:55 KeyBoard\settings\KeyBoard.ewp.wsdt
文件 1032 2011-08-10 20:55 KeyBoard\settings\KeyBoard.dni
文件 5147 2011-08-10 20:55 KeyBoard\settings\KeyBoard.dbgdt
文件 20591 2011-08-10 20:54 KeyBoard\Debug\Exe\KeyBoard.d43
文件 168 2011-08-10 20:55 KeyBoard\Debug\Obj\KeyBoard.pbd
文件 29213 2011-08-10 20:54 KeyBoard\Debug\Obj\main.r43
文件 162 2011-08-10 13:02 KeyBoard\KeyBoard.ewp.eww
文件 2085 2011-08-10 20:55 KeyBoard\KeyBoard.dep
文件 5695 2011-08-10 20:55 KeyBoard\main.c
文件 13744 2011-08-10 13:03 KeyBoard\KeyBoard.ewd
目录 0 2011-08-10 12:55 KeyBoard\Debug\Exe
目录 0 2011-08-10 12:55 KeyBoard\Debug\Obj
目录 0 2011-08-10 12:55 KeyBoard\Debug\List
目录 0 2011-08-10 12:55 KeyBoard\settings
目录 0 2011-08-10 12:55 KeyBoard\Debug
目录 0 2011-08-10 12:54 KeyBoard
----------- --------- ---------- ----- ----
130311 18
- 上一篇:宽带波束形成.txt
- 下一篇:一种隐含并行的大规模三相不平衡配电网络重构新算法
相关资源
- FPGA 4X4矩阵键盘VHDL程序
- MSP430F149写的NRF24L01收发代码
- Proteus 仿真MSP430之LCD12864
- MSP430F149的SD卡模块驱动
- 简易的矩阵键盘,带仿真,可直接用
- 基于两块430单片机及nrf24l01无线数据传
- 基于msp430f149的FFT算法,结果在1602液晶
- 基于msp430的智能宿舍
- MSP430G2553驱动DHT11温湿度传感器
- MSP430F55xx_ADC多通道多次转换串口发送
- MSP430F149 最小系统板原理图
- 4*4矩阵键盘(方法1) STM32F103
- PWM输出程序 MSP430
- 3款MSP430反汇编反编译工具软件
- 8255的PC口用于4*4键盘的扫描
- msp430 日历、时间、显示温度
- 基于430单片机的万年历程序
- MSP430F149+DS18B20+1602程序绝对好用
- MSP430芯片的密码锁软件设计.pdf
- msp430g2553单片机定时器中断例程
- msp430f149超声波雷达
- MSP430利用定时器测频率
- 基于msp430智能小车程序
- MSP430G2553和DS1302时钟程序
- 基于msp430智能家居程序
- ADF4350单片机MSP430控制程序
- 基于MSP430制作MP3源程序
- 基于MSP430单片机的交流电压测量设计
- msp430的pwm程序
- LCD12864实现贪吃蛇游戏
评论
共有 条评论