当前位置:首页 > ram嵌入式计算器报告
[项目名称]——课设报告 8 Disp_String (\
Disp_String (\ Disp_String (\ Disp_String (\ Disp_String (\ Disp_String (\ Disp_String (\ L=120; z=110;
Loop = FALSE; number = 0;
send_byte(cmd_reset); send_byte(cmd_reset); t=0; d=0; m=0; n=0; p=0; s=0;
break; case 16:
if(p!='\\0'&&L==120) {
Set_Color(GUI_WHITE); Fill_Rect(120,100,410,130); L=120;
}//选择0按键
Set_Color(GUI_WHITE); Fill_Rect(150,270,200,300); Set_Color(GUI_RED);
Set_Font (&GUI_Font8x16); Disp_String (\
[项目名称]——课设报告 9 Disp_String (\
L=L+10; a[t]=0+'0'; t++; s++; do {
send_byte(0xA1); send_byte(0xC8); send_byte(0); break;
}while(s<=8);
Loop = TRUE; number = 0;
break;
3.2 捕获键值
void Task_1(void *pdata) {
INT8U err; INT8U *Key_P; INT8U Key_Val;
Timer1_Init(); //打开时钟节拍,让操作系统跑起来
OSTaskCreate(Task_2, (void *)0, (OS_STK *)&Stack_Task_2[(STACKSIZE) - 1], 9); //在任务里创建另一个任务
OSTaskCreate(Task_3, (void *)0, (OS_STK *)&Stack_Task_3[(STACKSIZE) - 1], 10); //在任务里创建另一个任务
OSTaskCreate(Task_4, (void *)0, (OS_STK *)&Stack_Task_4[(STACKSIZE*3) - 1], 56); //在任务里创建另一个任务 for(;;) {
Key_P = OSMboxPend(Key_Mbox, 0, &err); Key_Val = *Key_P;
[项目名称]——课设报告 10
switch(Key_Val)
{ case 0x01 : GUI_StoreKey(1); break; case 0x02 : GUI_StoreKey(2); break; case 0x03 : GUI_StoreKey(3); break; case 0x04: GUI_StoreKey(4); break; case 0x05: GUI_StoreKey(5); break; case 0x06 : GUI_StoreKey(6); break; case 0x07: GUI_StoreKey(7); break; case 0x08: GUI_StoreKey(8); break; case 0x09: GUI_StoreKey(9); break; case 0x0A ://+ GUI_StoreKey(10); break; case 0x0B://- GUI_StoreKey(11); break; case 0x0C ://* GUI_StoreKey(12); break;
[项目名称]——课设报告 11
case 0x0D :// / GUI_StoreKey(13); break; case 0x0E :// = GUI_StoreKey(14); break; case 0x0F :// C GUI_StoreKey(15); break; case 0x00 :// 0 GUI_StoreKey(16); break; default: break;
}
} }
3.3数据获取和处理
以1为例: switch (number) { case 1: if(p!='\\0'&&L==120) { Set_Color(GUI_WHITE); Fill_Rect(120,100,410,130); L=120; } //选择1按键 Set_Color(GUI_WHITE); Fill_Rect(150,150,200,180); Set_Color(GUI_RED); Set_Font (&GUI_Font8x16); Disp_String (\ Disp_String (\ L=L+10;
共分享92篇相关文档