📄 key123_q.c
字号:
/******************************************
* 文件名:
* LED4.c
* 功能:
* 主程序
* 单个按键键盘测试程序
******************************************/
#include <msp430x44x.h>
#define uchar unsigned char
#define uint unsigned int
uint f = 0;
void flash_led(uint x)
{
uint temp ;
P1DIR |= BIT0;
for(temp=0;temp<x;temp++);
P1OUT ^= BIT0;
}
char key(void)
{
int temp=0;
char x;
P1DIR &= ~(BIT1+BIT2+BIT3); //设置P1.123为输入
keystart:
temp = P1IN ;
flash_led(f);
if((temp & 0x0e)!=0x0e)
flash_led(f);
else goto keystart;
temp = P1IN ;
if((temp & 0x0e)!=0x0e)
{
temp = P1IN ;
temp = ~temp ;
if((temp & BIT1)== BIT1)
temp = 0 ;
else if((temp & BIT2)== BIT2)
temp = 1 ;
else if((temp & BIT3)== BIT3)
temp = 2 ;
x = temp ;
key1111:
temp = P1IN ;
if((temp & 0x0e)==0x0e)
return(x);
else goto key1111;
}
}
/******************************************/
void main(void)
{
char i;
WDTCTL = WDTHOLD + WDTPW; //关闭看门狗
P1DIR |= BIT0;
P5DIR |= BIT1;
for(;;)
{
i = key();
if(i==0)
{
f = f + 4000;
if(f> 50000)
f = 50000;
}
else if(i==1)
{
f = f - 4000 ;
if(f<0)
f = 0 ;
}
else if(i==2)
{
P1OUT ^= BIT0;
P5OUT ^= BIT1;
}
_NOP();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -