}
Disp_Queue[4] = current_q+10; Disp_Queue[6] = current_s; Disp_Queue[7] = current_g; Disp_Queue[0] = voltage_q+10; Disp_Queue[1] = voltage_b; Disp_Queue[2] = voltage_s; Disp_Queue[3] = voltage_g; break;
case 9: //设定时,电流值第三位闪烁 if( Flag_S ) {
Disp_Queue[6] = 20; } else {
Disp_Queue[6] = current_s; }
Disp_Queue[4] = current_q+10; Disp_Queue[5] = current_b; Disp_Queue[7] = current_g; Disp_Queue[0] = voltage_q+10; Disp_Queue[1] = voltage_b; Disp_Queue[2] = voltage_s; Disp_Queue[3] = voltage_g; break;
case 10://设定时,电流值第四位闪烁 if( Flag_S ) {
Disp_Queue[7] = 20; } else {
Disp_Queue[7] = current_g; }
Disp_Queue[4] = current_q+10; Disp_Queue[5] = current_b; Disp_Queue[6] = current_s; Disp_Queue[0] = voltage_q+10; Disp_Queue[1] = voltage_b; Disp_Queue[2] = voltage_s; Disp_Queue[3] = voltage_g; break;
case 11: //设定时,电压值电流值显示
Disp_Queue[0] = voltage_q+10; Disp_Queue[1] = voltage_b; Disp_Queue[2] = voltage_s; Disp_Queue[3] = voltage_g; Disp_Queue[4] = current_q+10; Disp_Queue[5] = current_b; Disp_Queue[6] = current_s; Disp_Queue[7] = current_g; break;
case 12://设定时,电压值电流值显示
Disp_Queue[0] = voltage_q+10; Disp_Queue[1] = voltage_b; Disp_Queue[2] = voltage_s; Disp_Queue[3] = voltage_g; Disp_Queue[4] = current_q+10; Disp_Queue[5] = current_b; Disp_Queue[6] = current_s; Disp_Queue[7] = current_g; break; default:
break; } }
//LCD显示函数(扫描频率62.5HZ) void Display_Lcd(void) {
static unsigned char i=0; P0=table_d[Disp_Queue[i]]; P2=table_w[i]; i = ++i & 0x07; }
//按键处理模块,支持短击,长击,连击 #include\#include\
//按键检测程序标志位定义
bit Key_Scan_F ;//按键检测使能标志位 bit Key_Dis_F ;//按键禁止响应 bit Flag_Left;//左移键按下标志位 bit Flag_Right;//右移键按下标志位 bit Flag_Add; //加键按下标志位 bit Flag_Dec; //减键按下标志位 //按键检测程序寄存器定义
unsigned char Key_Num ; //本次键码
unsigned char Key_Backup; //备份键码
unsigned char K_ADD_DELAY = AN_XD_DL ;//按键响应延时时间(倒计时器),服务于连按
unsigned char K_DEC_DELAY = AN_XD_DL ;//按键响应延时时间(倒计时器),服务于连按
//unsigned char NOKEY_JSQ;//无键计时器 unsigned char KEY_JSQ;//按键闭合计数器
extern unsigned char WK_MODE;//系统设定工作模式
extern char voltage_q,voltage_b,voltage_s,voltage_g;//最大电压值第一位,第二位,第三位,第四位
extern char current_q,current_b,current_s,current_g;//最大电流值第一位,第二位,第三位,第四位
extern unsigned int Voltage_Max,Current_Max;//最大电压值,最大电流值 extern unsigned char Disp_Queue[8];//显缓区 //执行系统设定键长击操作函数 void Key_Cj_Action(void) {
switch( WK_MODE ) { case 0:
WK_MODE = 1; break; case 11:
WK_MODE = 2; break; case 12:
WK_MODE = 0; break; } }
// 执行系统设定键短击操作函数 void Key_Dj_Action(void) {
switch( WK_MODE ) {
case 1:
WK_MODE = 3; break; case 2:
WK_MODE = 7; break; case 3:
WK_MODE = 11; break;
case 4:
WK_MODE = 11; break; case 5:
WK_MODE = 11; break; case 6:
WK_MODE = 11; break; case 7:
WK_MODE = 12; break; case 8:
WK_MODE = 12; break; case 9:
WK_MODE = 12; break; case 10:
WK_MODE = 12; break; default:
break; } }
//右移键执行函数
void Key_Right_Action(void) {
switch( WK_MODE ) {
case 3:
WK_MODE = 4; break; case 4:
WK_MODE = 5; break; case 5:
WK_MODE = 6; break; case 6:
WK_MODE = 3; break; case 7:
WK_MODE =8 ;
break; case 8:
WK_MODE = 9; break; case 9:
WK_MODE = 10; break; case 10:
WK_MODE = 7; break; default:
break; } }
//左移键执行函数
void Key_Left_Action(void) {
switch( WK_MODE ) { case 3:
WK_MODE = 6; break; case 4:
WK_MODE = 3; break; case 5:
WK_MODE = 4; break; case 6:
WK_MODE = 5; break; case 7:
WK_MODE = 10; break; case 8:
WK_MODE = 7; break; case 9:
WK_MODE = 8; break; case 10:
WK_MODE = 9; break; default:
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库智能电池充电器的设计-毕业设计 - 图文(7)在线全文阅读。
相关推荐: