📄 main.c
字号:
#include "option.h"
#include "def.h"
#include "44b.h"
#include "44blib.h"
#include "GUI.H"
#include "DIALOG.H"
#include "WM.h"
#include "button.h"
#include "progbar.h"
#include "ADC.h"
#include "string.h"
#include "define.h"
extern const GUI_BITMAP bmwelcome;//欢迎位图
//----------------------------------------------------------------------
int status=0;
/*
status=0;//程序处于欢迎界面状态
status=1;//程序处于主界面状态
status=11;//程序处于脉搏测量界面状态
status=12;//程序处于脉搏常识浏览界面状态
status=13;//程序处于脉搏测量仪设置界面状态
status=14;//程序处于脉搏测量仪使用方法界面状态
status=6;//程序处于主界面状态
status=7;//程序处于主界面状态
*/
//------------------------------------------------------------------
char *knowledge[98]={
" 脉搏测量常识 ",
"<一>,正常脉搏的观",
"察及生理性变化1,正",
"常脉搏的观察及生理",
"性变化动脉有节律的",
"搏动称为脉搏。由于",
"心脏周期性活动,使",
"动脉内压和容积发生",
"节律变化,这种变化",
"以波浪形式沿动脉壁",
"向外周传播形成脉搏.",
"(1)正常脉搏",
"1.脉率 即每分钟脉",
"搏搏动的次数。成人",
"在安静时,每分钟脉",
"搏为60-100次. 正常",
"情况下,脉率和心率",
"是一致的,当脉率微",
"弱难以测得时,应测",
"心率。",
"2.脉律 即脉搏的节",
"律性。正常脉搏的节",
"律是有规则、均匀的",
"搏动,间隔时间相等",
"在一定程度上反映了",
"心脏的功能。",
"2,生理性变化",
"情绪、运动等因素而",
"变动。一般女性比男",
"性稍快。幼儿比成人",
"快,运动和情绪变化",
"时可暂时增快,休息",
"和睡眠时较慢。",
"<二>:异常脉搏的观",
"察及护理",
"1,频率异常",
"1.速脉 成人脉率每分",
"钟超过100次,称为速",
"脉。常见于发热休克",
"大出血前期等病人。",
"2.缓脉 成人脉率每",
"分钟低于60次, 称为",
"缓脉。常见于颅内压",
"增高,房室传导阻滞",
"洋地黄中毒等病人。",
"<三>:测量脉搏的",
"方法",
"(一)测量部位 凡身体",
"浅表靠近骨骼的动脉",
"均可用以诊脉。",
"常用的有桡动脉,",
"其次有颞浅动脉、颈",
"动脉、肱动脉、腘动",
"脉、足背动脉、胫后",
"动脉、股动脉等。",
"(二)操作方法",
"1.触诊法",
"(1)诊脉前,病人情",
"绪应稳定,避免过",
"度活动及兴奋。",
"(2)病人手腕放于舒",
"适位置。",
" (3)诊脉者以食、",
" 中、无名指(三指",
"并拢),指端轻按于",
" 桡动脉处,压力的",
"大小以清楚触到搏动",
"为宜,一般病人计数",
"半分钟,并将所测得",
" 数值乘2即为每分钟",
" 的脉搏数。异常脉搏",
"(如心血管疾病、危",
"重病人等) 应测1分",
"钟。当脉搏细弱而触",
"不清时,可用听诊器",
"听心率1分钟代替触",
"诊。测后记录结果。",
"(4)脉搏短绌的病人",
",应由两人同时测量",
",一人听心率,另一",
"人测脉率,两人同时",
"开始,由听心率者发",
"出'起'、 '停'口令",
",测1分钟。",
"以分数式记录。记录",
"方法为心率/脉率,",
"如心率为100次,脉",
"率为76次则写成",
"100/76次/分。",
"(四)注意事项",
"1.活动或情绪激动",
"时,应休息20分钟",
"后再测。",
"2.不可用拇指诊脉",
",以免拇指小动脉",
"搏动与病人脉搏相",
"混淆.3.偏瘫病人测",
"脉应选择健侧肢体."
};
//---------------------------------------------------------------------
char *usageArray[30]={
"脉搏测量仪使用说明",
"<一>测量仪配置",
"<1>.进入主界面,点击",
"\"测量设置\"进入脉",
"搏仪选项配置界面:",
"1.点击\"测量时间\"",
"下的左边按纽,减少",
"测量时间,点击右边",
"按纽增加测量时间;",
"2.点击\"健康状态提",
"示\"右边复选按钮,设",
"置测量仪根据你的测",
"量结果提示你的健康",
"状态,并显示其他相关",
"配置选项;",
"3.如果你选择了健康",
"状态提示,你需要选择",
"你的运动与否状态,",
"你的性别,年龄阶段.",
"测量仪根据这些和你",
"的脉搏测量数据判断",
"你的健康状态。",
"<二>测量脉搏",
"进入主界面后,点击",
"\"测量脉搏\"进入脉搏",
"测量界面.点击\"开始\"",
"开始测量脉搏;点击",
"\"停止\"结束脉搏测量",
"这是你可以在界面下",
"方读取你的测量结果."
};
//-------------------------------------------------------------------------
struct ConfigData configData;
struct Knowledge showKnowledge;
struct Usage usage;
/**********************************************************************
* main loop
*/
#define DELAY_TIME 50000
void Main(void)
{
int i,j;
GUI_COLOR Color;
GUI_HID_STATE m_hidState;
rSYSCFG=CACHECFG; // Using 8KB Cache//
Port_Init();
Isr_Init();
ADCInit();//ADC初始化
ChangePllValue( 56, 3, 1 ) ;
//Uart_Init(0,57600);
Uart_Init(0,115200);
Delay(0);
Uart_Select(0); //Select UART0
Uart_Printf("\n uc-gui demo");
GUI_Init();
TP_init();
// Test_Rtc();
//-----------------------------------------------
configData.minutes=1;
configData.sex=1;
configData.ageLevel=2;
configData.exerciseOrNormal=1;
configData.prompt=0;
for(j=0;j<=99;j++)
showKnowledge.message[j]=knowledge[j];
showKnowledge.nCount=99;
showKnowledge.startLine=0;
showKnowledge.endLine=11;
for(j=0;j<=30;j++)
usage.message[j]=usageArray[j];
usage.nCount=30;
usage.startLine=0;
usage.endLine=11;
GUI_Clear();
status=0;//欢迎界面
GUI_DrawBitmap(&bmwelcome,0,0);//显示欢迎界面
/*
while(1)
{
GUI_Clear();
status=0;//欢迎界面
GUI_DrawBitmap(&bmwelcome,0,0);
Delay( DELAY_TIME) ;
WaitKey();
_ExecCalibration();Delay( DELAY_TIME) ; //WaitKey();
_TestCalibration();Delay( DELAY_TIME) ; //WaitKey();
// _ExecKeyboard();Delay( DELAY_TIME) ; //WaitKey();
GUI_Clear();
GUI_SetBkColor(GUI_BLUE);
GUI_SetColor(GUI_WHITE);
GUI_SetFont(&GUI_Font_HZK16);
GUI_DispString("你好,朋友!");
GUI_DispString("\n谢谢您选择了我们的产\n品!");
GUI_DispString("\n北京恒丰锐科科技有限\n公司");
GUI_DispString("\nhttp://www.hfrk.net");
GUI_DispString("\n电话:010-63726790");
GUI_DispString("\n按key2继续......");
WaitKey();
GUI_Clear();
GUI_SetFont(&GUI_Font_HZK16);
GUI_DispString("现在是字体演示\n");
GUI_SetFont(&GUI_Font6x8);
GUI_DispString("\nGUI_Font6x8");
GUI_SetFont(&GUI_Font8x8);
GUI_DispString("\nGUI_Font8x8");
GUI_SetFont(&GUI_Font8_ASCII);
GUI_DispString("\nGUI_Font8_ASCII");
GUI_SetFont(&GUI_Font8x16);
GUI_DispString("\nGUI_Font8x16");
GUI_SetFont(&GUI_Font16_ASCII);
GUI_DispString("\nGUI_Font16_ASCII");
GUI_SetFont(&GUI_Font16B_ASCII);
GUI_DispString("\nGUI_Font16B_ASCII");
GUI_SetFont(&GUI_Font16B_ASCII);
GUI_DispString("\nGUI_Font16B_ASCII");
GUI_SetFont(&GUI_Font_HZK16);
GUI_DispString("\n现在是字体演示\n");
GUI_SetFont(&GUI_Font24_ASCII);
Delay( DELAY_TIME+5000) ;
GUI_Clear();
GUI_SetFont(&GUI_Font_HZK16);
GUI_DispString("支持16级灰度");
ShowColorBar();//
Delay( DELAY_TIME+3000) ;
GUI_Clear();
GUI_SetBkColor(GUI_BLUE);
GUI_SetColor(GUI_WHITE);
GUI_SetFont(&GUI_Font_HZK16);
GUI_DispStringAt("位图演示",48,60);
Delay( DELAY_TIME) ; //WaitKey();
GUI_DrawBitmap(&bm001,0,0);Delay( DELAY_TIME) ; //WaitKey();
GUI_DrawBitmap(&bm002,0,0);Delay( DELAY_TIME) ; //WaitKey();
GUI_DrawBitmap(&bm003,0,0);Delay( DELAY_TIME) ; //WaitKey();
GUI_DrawBitmap(&bm004,0,0);Delay( DELAY_TIME) ; //WaitKey();
GUI_DrawBitmap(&bm005,0,0);Delay( DELAY_TIME) ; //WaitKey();
GUI_DrawBitmap(&bm006,0,0);Delay( DELAY_TIME) ; //WaitKey();
GUI_DrawBitmap(&bm007,0,0);Delay( DELAY_TIME) ; //WaitKey();
GUI_Clear();
GUI_SetBkColor(GUI_BLUE);
GUI_SetColor(GUI_WHITE);
GUI_SetFont(&GUI_Font_HZK16);
GUI_DispString("绘图函数演示");
GUI_SetDrawMode(GUI_DRAWMODE_NORMAL);
GUI_FillCircle(60, 64, 40);//绘制填充圆
Delay( DELAY_TIME+1000) ; //WaitKey();
GUI_SetDrawMode(GUI_DRAWMODE_XOR);
GUI_FillCircle(60, 134, 40);//绘制填充圆
Delay( DELAY_TIME) ; //WaitKey();
GUI_SetDrawMode(GUI_DRAWMODE_NORMAL);//恢复正常绘制模式
GUI_Clear();
GUI_SetBkColor(GUI_BLACK);
GUI_SetColor(0xffffff);
DrawPolygon();//绘制多边形
Delay( DELAY_TIME+1000) ;
GUI_SetColor(0xffffff);
GUI_Clear();
GUI_SetBkColor(GUI_BLACK);
for (i=10; i<80; i++)
GUI_DrawCircle(100,50+i,60);
Delay( DELAY_TIME+1000) ; //WaitKey();
GUI_Clear();
GUI_SetFont(&GUI_Font_HZK16);
GUI_DispString("\n以下对话框演示一般\nkey1选择键\nkey2为确定键");
GUI_DispString("\n按key2继续......");
Color = WM_SetDesktopColor(GUI_BLACK);
GUI_MessageBox("系统问候", "大家好!", 0);
WM_SetDesktopColor(Color);
//WaitKey();
//GUI_SetDrawMode(GUI_DRAWMODE_NORMAL);//恢复正常绘制模式
GUI_SetDrawMode(GUI_DRAWMODE_XOR);
GUI_SetBkColor(GUI_BLACK);
GUI_SetColor(0xffffff);
GUI_SetFont(&GUI_Font6x8);
Dialog_Radio();//单选按钮测试
Dialog_SliderClolor();
Dialog_All();
GUI_Clear();
//ShowHiresAntialiasing();//(这个程序按键反映迟钝)
//Widget_Progbar();//(这个程序按键反映迟钝)
// DemoListbox();//(这个程序按键反映迟钝)
//DemoButton();
GUI_Clear();
DemoScale();//电子仪表盘测试
GUI_Clear();
DemoBandingMemdev();
GUI_Clear();
Demo_DrawGraph();
}*/
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -