⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 keyboard.h

📁 这个文档程序主要应用了单片机的串行通讯部分
💻 H
📖 第 1 页 / 共 2 页
字号:
						state=0x10;
						statefinish=0;
						break;
					}break;
				case 0x10:			
				case 0x30:
				case 0x40:
				case 0x41:
				case 0x50:
				case 0x51:mlimitf=0;scrfreshf=1;state=0x00;break;//退出
				default:tiaoshi=1;lightflag=0;break;//其他状态
			}
		}
/*2222222222222222222222222222222222222222222222222222222222222222222222222*/
		else if(keycode==0x02)//II.按键2
		{
			switch(state)
			{
				case 0x00:					
					clrscr(0);
					clrscr(1);
					clrscr(2);					
					gprssend[5]=0x3f;
					gprssend[6]=0xda;
					gprssend[7]=0xab;
					gprssend[8]=0xcd;
					gprssend[9]=0xef;					
					serl_snd_string(gprssend);//发送查询配置命令
					gprscarryf=1;//置gprs消息位
					gprssendtime=second;//同步计时开始							
					lcd_prt_char(32,'x');//“稍候……”
					lcd_prt_char(34,'y');
					lcd_prt_char(36,'z');
					lcd_prt_char(38,'z');
					lcd_prt_char(72,'s');lcd_prt_char(74,'t');//图象
					lcd_prt_char(79,'s');lcd_prt_char(81,'t');//图象
					lcd_prt_char(86,'s');lcd_prt_char(88,'t');//图象
					lcd_prt_char(92,'s');lcd_prt_char(94,'t');//图象
					statefinish=0;
					state=0x40;
					break;//ISP_CONTR=0x60;
				case 0x01:break;//
				case 0x02:break;//
				case 0x03:break;//
				case 0x10:
					if(oldnewsf0)
					{
						//disnewsmark=1;
						loadnews(1);
						state=0x20;
						statefinish=0;
						break;
					}break;//					
				case 0x30:contraf=!contraf;break;
				case 0x41:					
					if     (gprsturner==18)gprsturner=32;
					else if(gprsturner==35)gprsturner=42;
					else if(gprsturner==46)gprsturner=56;//此处限制了接入点为5个字符
					else if(gprsturner==59)gprsturner=68;
					else if(gprsturner==71)gprsturner=100;
					else if(gprsturner==109)gprsturner=130;
					else if(gprsturner==132)gprsturner+=2;//隔过“.”
					else if(gprsturner==136)gprsturner+=2;
					else if(gprsturner==140)gprsturner+=2;
					else if(gprsturner==144)gprsturner=156;
					else if(gprsturner==159)gprsturner=168;
					else if(gprsturner==171)gprsturner=0;//返回
					else gprsturner++;
					break;
				case 0x51:					
					if     (gprsturner==9)gprsturner=30;
					else if(gprsturner==32)gprsturner+=2;
					else if(gprsturner==36)gprsturner+=2;
					else if(gprsturner==40)gprsturner+=2;
					else if(gprsturner==44)gprsturner=56;
					else if(gprsturner==59)gprsturner=68;
					else if(gprsturner==71)gprsturner=100;
					else if(gprsturner==135)gprsturner=0;
					else gprsturner++;
					break;
				default:tiaoshi=1;lightflag=0;break;//其他状态
			}
		}
/*3333333333333333333333333333333333333333333333333333333333333333333333333*/
		else if(keycode==0x03)//III.按键3
		{
			switch(state)
			{
				case 0x00:
					clrscr(0);
					clrscr(1);
					clrscr(2);					
					gprssend[5]=0x3f;
					gprssend[6]=0xda;
					gprssend[7]=0xab;
					gprssend[8]=0xcd;
					gprssend[9]=0xef;					
					serl_snd_string(gprssend);//发送查询配置命令
					gprscarryf=1;//置gprs消息位
					gprssendtime=second;//同步计时开始							
					lcd_prt_char(32,'x');//“稍候……”
					lcd_prt_char(34,'y');
					lcd_prt_char(36,'z');
					lcd_prt_char(38,'z');
					lcd_prt_char(72,'s');lcd_prt_char(74,'t');//图象
					lcd_prt_char(79,'s');lcd_prt_char(81,'t');//图象
					lcd_prt_char(86,'s');lcd_prt_char(88,'t');//图象
					lcd_prt_char(92,'s');lcd_prt_char(94,'t');//图象
					statefinish=0;
					state=0x50;
					break;
				case 0x10:
					if(oldnewsf1)
					{
						//disnewsmark=2;
						loadnews(2);
						state=0x20;
						statefinish=0;
						break;
					}break;//					
				case 0x21:statefinish=0;state=0x20;break;//
				case 0x22:statefinish=0;state=0x21;break;//
				case 0x23:statefinish=0;state=0x22;break;//
				case 0x24:statefinish=0;state=0x23;break;//
				case 0x25:statefinish=0;state=0x24;break;//
				case 0x26:statefinish=0;state=0x25;break;//
				case 0x27:statefinish=0;state=0x26;break;//
				case 0x28:statefinish=0;state=0x20;break;//此处应重新设计
				case 0x30:
					if(contraf)zclsend[16]+=0x01;
					else zclsend[16]+=0x10;
					break;
				case 0x41:
					if     (gprsturner>7&&gprsturner<19)//手机号码
					{
						gprsres[gprsturner+15]++;
						if(gprsres[gprsturner+15]>0x39)gprsres[gprsturner+15]=0x30;
						break;
					}
					else if(gprsturner>31&&gprsturner<36)//心跳时间
					{
						gprsharth=0;
						gprsresadd(&gprsharth,&gprsres[14]);//改变GPRS参数
						break;
					}
					else if(gprsturner>41&&gprsturner<47)//接入点
					{
						gprsres[gprsturner+1]++;
						if(gprsres[gprsturner+1]==0x7b)gprsres[gprsturner+1]=0x61;
					}
					else if(gprsturner>55&&gprsturner<60)//重连时间
					{
						gprsresadd(&gprsres[34],&gprsres[35]);//改变GPRS参数
						break;
					}
					else if(gprsturner>67&&gprsturner<72)//断开时间
					{
						gprsresadd(&gprsres[36],&gprsres[37]);//改变GPRS参数
						break;
					}
					else if(gprsturner>=106&&gprsturner<=109)//终端号
					{
						gprsresadd(&gprsres[12],&gprsres[13]);//改变GPRS参数
						break;
					}
					else if(gprsturner>=130&&gprsturner<=132)//远程IP1
					{
						gprsresadd(&gprsharth,&gprsres[0]);//改变GPRS参数
						break;
					}
					else if(gprsturner>=134&&gprsturner<=136)//远程IP2
					{
						gprsresadd(&gprsharth,&gprsres[1]);//改变GPRS参数
						break;
					}
					else if(gprsturner>=138&&gprsturner<=140)//远程IP3
					{
						gprsresadd(&gprsharth,&gprsres[2]);//改变GPRS参数
						break;
					}
					else if(gprsturner>=142&&gprsturner<=144)//远程IP4
					{
						gprsresadd(&gprsharth,&gprsres[3]);//改变GPRS参数
						break;
					}
					else if(gprsturner>=156&&gprsturner<=159)//本地端口
					{
						gprsresadd(&gprsres[10],&gprsres[11]);//改变GPRS参数
						break;
					}
					else if(gprsturner>=168&&gprsturner<=171)//远程端口
					{
						gprsresadd(&gprsres[4],&gprsres[5]);//改变GPRS参数
						break;
					}
					else break;
				case 0x51:
					if     (gprsturner>=6&&gprsturner<=9)//终端号
					{
						cdmaresadd(&gprsres[8],&gprsres[9]);//改变GPRS参数
						break;
					}
					else if(gprsturner>=30&&gprsturner<=32)//远程IP1
					{
						cdmaresadd(&gprsharth,&gprsres[0]);//改变GPRS参数
						break;
					}
					else if(gprsturner>=34&&gprsturner<=36)//远程IP2
					{
						cdmaresadd(&gprsharth,&gprsres[1]);//改变GPRS参数
						break;
					}
					else if(gprsturner>=38&&gprsturner<=40)//远程IP3
					{
						cdmaresadd(&gprsharth,&gprsres[2]);//改变GPRS参数
						break;
					}
					else if(gprsturner>=42&&gprsturner<=44)//远程IP4
					{
						cdmaresadd(&gprsharth,&gprsres[3]);//改变GPRS参数
						break;
					}
					else if(gprsturner>=56&&gprsturner<=59)//本地端口
					{
						cdmaresadd(&gprsres[6],&gprsres[7]);//改变GPRS参数
						break;
					}
					else if(gprsturner>=68&&gprsturner<=71)//远程端口
					{
						cdmaresadd(&gprsres[4],&gprsres[5]);//改变GPRS参数
						break;
					}
					else if(gprsturner>=132&&gprsturner<=135)//心跳时间
					{
						gprsharth=0;
						cdmaresadd(&gprsharth,&gprsres[15]);//改变GPRS参数
						break;
					}
					else break;
				default:tiaoshi=1;lightflag=0;break;//其他状态
			}
		}
/*4444444444444444444444444444444444444444444444444444444444444444444444444*/
		else if(keycode==0x04)//IV.按键4
		{
			switch(state)
			{
				case 0x00:
					if(newnewsf0||newnewsf1||newnewsf2)
					{
						
						loadnews(0);//载入新消息,,内部已清除newnewsf并标志oldnewf
						state=0x20;//切换到显示状态
						statefinish=0;//任务完成标志写零
						break;
					}
					else
					{
						statefinish=0;
						state=0x30;
						break;//
					}
				case 0x10:
					if(oldnewsf2)
					{
						loadnews(3);
						state=0x20;
						statefinish=0;
						break;
					}break;//
				case 0x20:statefinish=0;if(newsoverf)state=0x28;else state=0x21;break;//
				case 0x21:statefinish=0;if(newsoverf)state=0x28;else state=0x22;break;//
				case 0x22:statefinish=0;if(newsoverf)state=0x28;else state=0x23;break;//
				case 0x23:statefinish=0;if(newsoverf)state=0x28;else state=0x24;break;//
				case 0x24:statefinish=0;if(newsoverf)state=0x28;else state=0x25;break;//
				case 0x25:statefinish=0;if(newsoverf)state=0x28;else state=0x26;break;//
				case 0x26:statefinish=0;if(newsoverf)state=0x28;else state=0x27;break;//
				case 0x27:statefinish=0;state=0x28;break;//
				case 0x28:mlimitf=0;scrfreshf=1;state=0x00;break;//
				case 0x30:
					serl_snd_string(zclsend);
					mlimitf=0;
					scrfreshf=1;
					state=0x00;
					break;//
			    case 0x40:
					gprssend[5]=0x3f;
					gprssend[6]=0xda;
					gprssend[7]=0xab;
					gprssend[8]=0xcd;
					gprssend[9]=0xef;					
					serl_snd_string(gprssend);//发送查询配置命令
					gprscarryf=1;//置gprs传送位
					gprssendtime=second;//同步计时开始							
					lcd_prt_char(32,'x');//“稍候……”
					lcd_prt_char(34,'y');
					lcd_prt_char(36,'z');
					lcd_prt_char(38,'z');
					lcd_prt_char(72,'s');lcd_prt_char(74,'t');//图象
					lcd_prt_char(79,'s');lcd_prt_char(81,'t');//图象
					lcd_prt_char(86,'s');lcd_prt_char(88,'t');//图象
					lcd_prt_char(92,'s');lcd_prt_char(94,'t');//图象
					statefinish=0;
					state=0x40;
					break;
				case 0x50:			
					gprssend[5]=0x3f;
					gprssend[6]=0xda;
					gprssend[7]=0xab;
					gprssend[8]=0xcd;
					gprssend[9]=0xef;					
					serl_snd_string(gprssend);//发送查询配置命令
					gprscarryf=1;//置gprs传送位
					gprssendtime=second;//同步计时开始							
					lcd_prt_char(32,'x');//“稍候……”
					lcd_prt_char(34,'y');
					lcd_prt_char(36,'z');
					lcd_prt_char(38,'z');
					lcd_prt_char(72,'s');lcd_prt_char(74,'t');//图象
					lcd_prt_char(79,'s');lcd_prt_char(81,'t');//图象
					lcd_prt_char(86,'s');lcd_prt_char(88,'t');//图象
					lcd_prt_char(92,'s');lcd_prt_char(94,'t');//图象
					statefinish=0;
					state=0x50;
					break;
				case 0x41:				
					gprsload();//形成命令串
					serl_snd_string(gprssend);//发送命令					
					break;
				case 0x51:				
					cdmaload();//形成命令串
					serl_snd_string(gprssend);//发送命令					
					break;
				default:tiaoshi=1;lightflag=0;break;//其他状态
			}
		}
		else {tiaoshi=1;lightflag=0;}//未知按键
	keycode=0;//清除已执行的按键值
	}
}
#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -