📄 keyscan.c
字号:
#include "spce061a.h"
#include"bit.h"
#include"sp.h"
char number1[2]={'0','0'};
char i=1;
unsigned char number_i=0;
void pwm(unsigned char choice1)
{
if(choice1>6)
{ i=6;
*P_Watchdog_Clear =0x0001;
}
else if(choice1<0)
{ i=0;
*P_Watchdog_Clear =0x0001;
}
else
{
switch(choice1)
{ case 0:*P_TimerA_Ctrl=0x01f0;break;//占空比7/16
case 1:*P_TimerA_Ctrl=0x01b0;break;//占空比6/16
case 2:*P_TimerA_Ctrl=0x0170;break;//占空比5/16
case 3:*P_TimerA_Ctrl=0x0130;break;//占空比4/16
case 4:*P_TimerA_Ctrl=0x00f0;break;//占空比3/16
case 5:*P_TimerA_Ctrl=0x00b0;break;//占空比2/16
case 6:*P_TimerA_Ctrl=0x0070;break;//占空比1/16
}
}
*P_Watchdog_Clear =0x0001;
}
void keyscan()
{ unsigned char hang,key,key_value;
*P_Watchdog_Clear=0x0001;
hang=0x01;
P1_Lowbyte = hang;
key=P1_Lowbyte;
key_value=key&0xff;
if(key_value!=0&&number_i<2)
switch(key_value)
{ case 0x05:pwm(i++);delay(2000);break; //按键S2按下,步进加1v
case 0x09:number1[number_i]='1';number_i++;delay(2000);break; //LCD_clear_screen();number1[number_i]='0';LCD_write_com(0x90);letter_display(&number1[number_i]);number_i++;delay(2000);break; //按键S4按下,
case 0x11:number1[number_i]='2';number_i++;delay(2000);break;//LCD_clear_screen();number1[number_i]='1';LCD_write_com(0x90);letter_display(&number1[number_i]);number_i++;delay(2000);break; //按键S6按下,
case 0x21:number1[number_i]='3';number_i++;delay(2000);break; //LCD_clear_screen();number1[number_i]='2';LCD_write_com(0x90);letter_display(&number1[number_i]);number_i++;delay(2000);break; //按键S8按下,
}
*P_Watchdog_Clear=0x0001;
hang=0x02;
P1_Lowbyte = hang;
key=P1_Lowbyte;
key_value=key&0xff;
if(key_value!=0)
switch(key_value)
{ //case 0x06:pwm(i--);delay(2000);break; //LCD_clear_screen();number1[number_i]='3';LCD_write_com(0x90);letter_display(&number1[number_i]);number_i++;delay(2000);break; //按键S1按下,步进减1v
case 0x0a:number1[number_i]='4';number_i++;delay(2000);break; //LCD_clear_screen();number1[number_i]='4';LCD_write_com(0x90);letter_display(&number1[number_i]);number_i++;delay(2000);break; //按键S3按下,
case 0x12:number1[number_i]='5';number_i++;delay(2000);break; //LCD_clear_screen();number1[number_i]='5';LCD_write_com(0x90);letter_display(&number1[number_i]);number_i++;delay(2000);break; //按键S5按下,
case 0x22:number1[number_i]='6';number_i++;delay(2000);break; //LCD_clear_screen();number1[number_i]='6';LCD_write_com(0x90);letter_display(&number1[number_i]);number_i++;delay(2000); break; //按键S7按下
}
*P_Watchdog_Clear =0x0001;
if(number_i==2)
{ write_com(0x95);
hzkdis(number1);
write_com(0x8e);
hzkdis(number1);
number_i=0;
*P_Watchdog_Clear =0x0001;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -