#include "common.h"
#include "delay.h"
#include "ad9851.h"
#include "lcd.h"
#include "key.h"
#include "keycontrol.h"
#define KeyInputN 5
float pc;
extern unsigned long FrequencyLong_HZ;
unsigned int FreqBJ=100;
unsigned char keycode;
//*=========================================================
//* 窗口显示函数:作者信息
//*=========================================================
void W_Show_Info(void)
{
LCD_Clear();
Display_Character(0,1,34); // 湖
Display_Character(2,1,35); // 北
Display_Character(4,1,36); // 汽
Display_Character(6,1,37); // 车
Display_Character(8,1,38); // 工
Display_Character(10,1,39); // 业
Display_Character(12,1,40); // 学
Display_Character(14,1,41); // 院
Display_Character(4,3,42); // 电
Display_Character(6,3,43); // 信
Display_Character(8,3,44); // 系
Display_Char(1,5,25); // T
Display_Char(2,5,3); // 3
Display_Char(3,5,8); // 8
Display_Char(4,5,3); // 3
Display_Char(5,5,26); // -
Display_Char(6,5,2); // 2
Display_Character(8,5,45); // 许
Display_Character(10,5,46); // 正
Display_Character(12,5,47); // 红
}
//*=========================================================
//* 窗口显示函数:系统主菜单 1:频率控制 2:阻抗测量
//*=========================================================
/*void W_Show_MMenu(void)
{
LCD_Clear();
Display_Character(2,1,5); // 阻
Display_Character(4,1,6); // 抗
Display_Character(6,1,7); // 测
Display_Character(8,1,8); // 量
Display_Character(10,1,9); // 分
Display_Character(12,1,10); // 析
Display_Character(14,1,11); // 仪
Display_Char(4,3,1); // 1
Display_Char(5,3,27); // :
Display_Character(6,3,2); // 频
Display_Character(8,3,3); // 率
Display_Character(10,3,4); // 控
Display_Character(12,3,27); // 制
Display_Char(4,5,2); // 2
Display_Char(5,5,27); // :
Display_Character(6,5,5); // 阻
Display_Character(8,5,6); // 抗
Display_Character(10,5,7); // 测
Display_Character(12,5,8); // 量
while(1)
{
keycode=keyscan();
switch(keycode)
{
case '1':W_Show_FreqCtrol();
break;
case '2':W_Show_ImpeMeasurOne();
break;
default:break;
}
}
} */
//*=========================================================
//* 窗口显示函数:频率控制菜单 1:自动方式 2:手动方式 D:返回到主菜单W_Show_MMenu
//*=========================================================
void W_Show_FreqCtrol(void)
{
LCD_Clear();
delay_nms(1000);
Display_Character(4,1,2); // 频
Display_Character(6,1,3); // 率
Display_Character(8,1,4); // 控
Display_Character(10,1,27); // 制
Display_Char(4,3,1); // 1
Display_Char(5,3,27); // :
Display_Character(6,3,12); // 自
Display_Character(8,3,16); // 动
Display_Character(10,3,19); // 方
Display_Character(12,3,20); // 式
Display_Char(4,5,2); // 2
Display_Char(5,5,27); // :
Display_Character(6,5,18); // 手
Display_Character(8,5,16); // 动
Display_Character(10,5,19); // 方
Display_Character(12,5,20); // 式
while(1)
{
keycode=keyscan();
switch(keycode)
{
case '1':W_Show_FreqCtrol_Auto();
break;
case '2':W_Show_FreqCtrol_Mannal();
break;
case 'D':
W_Show_Info();
break;
default:break;
}
}
}
//*=========================================================
//* 窗口显示函数:阻抗测量菜单One F:下一页 D:返回到主菜单W_Show_MMenu
//*=========================================================
/*void W_Show_ImpeMeasurOne(void)
{
LCD_Clear();
Display_Character(0,1,22); // 实
Display_Character(2,1,23); // 部
Display_Character(4,1,24); // :
Display_Character(0,3,25); // 虚
Display_Character(2,3,23); // 部
Display_Character(4,3,24); // :
Display_Character(2,5,15); // …
Display_Character(4,5,15); // …
Display_Character(6,5,15); // …
Display_Character(8,5,15); // …
Display_Character(10,5,15); // …
Display_Character(12,5,15); // …
while(1)
{
keycode=keyscan();
switch(keycode)
{
case 'F':W_Show_ImpeMeasurTwo();
break;
case 'D':
W_Show_MMenu();
default:break;
}
}
} */
//*=========================================================
//* 窗口显示函数:阻抗测量菜单Two C:上一页 D:返回到主菜单W_Show_MMenu
//*=========================================================
/*void W_Show_ImpeMeasurTwo(void)
{
LCD_Clear();
Display_Character(2,1,15); // …
Display_Character(4,1,15); // …
Display_Character(6,1,15); // …
Display_Character(8,1,15); // …
Display_Character(10,1,15); // …
Display_Character(12,1,15); // …
Display_Character(0,3,5); // 阻
Display_Character(2,3,6); // 抗
Display_Character(4,3,21); // 模
Display_Character(6,3,24); // :
Display_Character(0,5,28); // 相
Display_Character(2,5,29); // 位
Display_Character(4,5,30); // 值
Display_Character(6,5,24); // :
while(1)
{
pc=PCA_Capture();
pc=pc*FrequencyLong_HZ*0.2249*0.001;
pc=pc*360*0.001;
Clear_Area(7,5,9);
LCD_Print_Float(7,3,1.25);
LCD_Print_Float(7,5,pc);
delay_nms(1000);
keycode=keyscan();
switch(keycode)
{
case 'C':W_Show_ImpeMeasurOne();
break;
case 'D':
W_Show_MMenu();
break;
default:break;
}
}
} */
//*=========================================================
//* 窗口显示函数:自动方式 C:频率减- F:频率加+ E:自动扫频 D:返回到频率控制窗口W_Show_FreqCtrol
//*=========================================================
void W_Show_FreqCtrol_Auto(void)
{
LCD_Clear();
Display_Character(0,1,2); // 频
Display_Character(2,1,3); // 率
Display_Character(4,1,24); // :
Display_Char(12,1,16); // H
Display_Char(13,1,17); // z
// LCD_Print_Int(6,1,FrequencyLong_HZ);
Display_Char(15,1,32);
Display_Character(0,3,26); // 步
Display_Character(2,3,13); // 进
Display_Character(4,3,24); // :
Display_Char(12,3,16); // H
Display_Char(13,3,17); // z
// LCD_Print_Int(6,3,FreqBJ);
while(1)
{
keycode=keyscan();
switch(keycode)
{
case 'C':
AD9851_TESTONE();
/* if(FrequencyLong_HZ>100)
{
FrequencyLong_HZ-=FreqBJ;
AD9851_Update(FrequencyLong_HZ);
Clear_Area(6,1,5);
LCD_Print_Int(6,1,FrequencyLong_HZ);
delay_nms(1000);
} */
break;
case 'D':
W_Show_FreqCtrol();
break;
case 'E':
AD9851_TESTTWO();
/* FrequencyLong_HZ=0;
while(FrequencyLong_HZ<10000)
{
FrequencyLong_HZ+=FreqBJ;
AD9851_Update(FrequencyLong_HZ);
Clear_Area(6,1,5);
LCD_Print_Int(6,1,FrequencyLong_HZ);
delay_nms(100);
} */
break;
case 'F':
AD9851_TESTTHREE();
/* if(FrequencyLong_HZ<10000)
{
FrequencyLong_HZ+=FreqBJ;
AD9851_Update(FrequencyLong_HZ);
Clear_Area(6,1,5);
LCD_Print_Int(6,1,FrequencyLong_HZ);
delay_nms(1000);
} */
break;
case 'A':
FreqStepSet();
break;
default:break;
}
}
}
//*=========================================================
//* 窗口显示函数:手动方式 0-9 频率输入 C:删除键 E:ENTER D:返回到频率控制窗口W_Show_FreqCtrol
//*=========================================================
void W_Show_FreqCtrol_Mannal(void)
{
unsigned char t;
unsigned int sum=0;
unsigned char i=0;
unsigned char temp[KeyInputN]="";
LCD_Clear();
delay_nms(1000);
Display_Character(0,1,2); // 频
Display_Character(2,1,3); // 率
Display_Character(4,1,24); // :
Display_Char(12,1,16); // H
Display_Char(13,1,17); // z
Display_Char(0,3,29); // C
Display_Char(1,3,27); // :
Display_Character(2,3,33); // 删
Display_Chara