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

📄 keyboard.c

📁 用C8051F020实现的基于TCP/IP协议的虚功率源。C8051F020外接LCD,键盘,USB接口
💻 C
📖 第 1 页 / 共 4 页
字号:
											value_count++;
										}
									if(Line==4)
										{
											if(value_count==5)
												break;
											if(point_exist==0)
												{
													value_fi_tmp[value_count] = '7';
													value_count++;
													value_fi_tmp[value_count] = '.';
												}
											else
												{
													value_fi_tmp[value_count] = '7';
													value_count++;
												}
										}
								}
							if(Interface==RS232C_SCREEN)
								{
									if(Line==1)
										{
											if(value_count==6)
												break;
											value_baudrate_tmp[value_count] = '7';
											value_count++;
										}
									if(Line==2)
										{
											if(value_count==1)
												break;
											value_datadigit_tmp[value_count] = '7';
											value_count++;
										}
									if(Line==3)
										{
											if(value_count==1)
												break;
											value_stopdigit_tmp[value_count] = '7';
											value_count++;
										}
								}
							if(Interface==LXI_SCREEN)
								{
									if(Line==1)
										{
											if(value_count==15)
												break;
											value_ip_tmp[value_count] = '7';
											value_count++;
										}
									if(Line==2)
										{
											if(value_count==15)
												break;
											value_mask_tmp[value_count] = '7';
											value_count++;
										}
									if(Line==3)
										{
											if(value_count==15)
												break;
											value_gateway_tmp[value_count] = '7';
											value_count++;
										}
									if(Line==4)
										{
											if(value_count==15)
												break;
											value_dns_tmp[value_count] = '7';
											value_count++;
										}
								}
							display_digit(Cursor,Yy_value,0x37);
							//在当前位置显示下划线
							write_lcd(0xF3);
							write_lcd(Cursor);
							write_lcd(Yy_value + 15);
							write_lcd(0xFF);
							Cursor++;
						}
				}
			break;
			case KEY_8:
				{
					if(Input==1)
						{
							if(Interface==MAIN_SCREEN)
								{
									if(Line==1)
										{
											if(value_count==5)
												break;
											if(point_exist==0)
												{
													value_u_tmp[value_count] = '8';
													value_count++;
													value_u_tmp[value_count] = '.';
												}
											else
												{
													value_u_tmp[value_count] = '8';
													value_count++;
												}
										}
									if(Line==2)
										{
											if(value_count==5)
												break;
											if(point_exist==0)
												{
													value_i_tmp[value_count] = '8';
													value_count++;
													value_i_tmp[value_count] = '.';
												}
											else
												{
													value_i_tmp[value_count] = '8';
													value_count++;
												}
										}
									if(Line==3)
										{
											if(value_count==2)
												break;
											value_f_tmp[value_count] = '8';
											value_count++;
										}
									if(Line==4)
										{
											if(value_count==5)
												break;
											if(point_exist==0)
												{
													value_fi_tmp[value_count] = '8';
													value_count++;
													value_fi_tmp[value_count] = '.';
												}
											else
												{
													value_fi_tmp[value_count] = '8';
													value_count++;
												}
										}
								}
							if(Interface==RS232C_SCREEN)
								{
									if(Line==1)
										{
											if(value_count==6)
												break;
											value_baudrate_tmp[value_count] = '8';
											value_count++;
										}
									if(Line==2)
										{
											if(value_count==1)
												break;
											value_datadigit_tmp[value_count] = '8';
											value_count++;
										}
									if(Line==3)
										{
											if(value_count==1)
												break;
											value_stopdigit_tmp[value_count] = '8';
											value_count++;
										}
								}
							if(Interface==LXI_SCREEN)
								{
									if(Line==1)
										{
											if(value_count==15)
												break;
											value_ip_tmp[value_count] = '8';
											value_count++;
										}
									if(Line==2)
										{
											if(value_count==15)
												break;
											value_mask_tmp[value_count] = '8';
											value_count++;
										}
									if(Line==3)
										{
											if(value_count==15)
												break;
											value_gateway_tmp[value_count] = '8';
											value_count++;
										}
									if(Line==4)
										{
											if(value_count==15)
												break;
											value_dns_tmp[value_count] = '8';
											value_count++;
										}
								}
							display_digit(Cursor,Yy_value,0x38);
							//在当前位置显示下划线
							write_lcd(0xF3);
							write_lcd(Cursor);
							write_lcd(Yy_value + 15);
							write_lcd(0xFF);
							Cursor++;
						}
				}
			break;
			case KEY_9:
				{
					if(Input==1)
						{
							if(Interface==MAIN_SCREEN)
								{
									if(Line==1)
										{
											if(value_count==5)
												break;
											if(point_exist==0)
												{
													value_u_tmp[value_count] = '9';
													value_count++;
													value_u_tmp[value_count] = '.';
												}
											else
												{
													value_u_tmp[value_count] = '9';
													value_count++;
												}
										}
									if(Line==2)
										{
											if(value_count==5)
												break;
											if(point_exist==0)
												{
													value_i_tmp[value_count] = '9';
													value_count++;
													value_i_tmp[value_count] = '.';
												}
											else
												{
													value_i_tmp[value_count] = '9';
													value_count++;
												}
										}
									if(Line==3)
										{
											if(value_count==2)
												break;
											value_f_tmp[value_count] = '9';
											value_count++;
										}
									if(Line==4)
										{
											if(value_count==5)
												break;
											if(point_exist==0)
												{
													value_fi_tmp[value_count] = '9';
													value_count++;
													value_fi_tmp[value_count] = '.';
												}
											else
												{
													value_fi_tmp[value_count] = '9';
													value_count++;
												}
										}
								}
							if(Interface==RS232C_SCREEN)
								{
									if(Line==1)
										{
											if(value_count==6)
												break;
											value_baudrate_tmp[value_count] = '9';
											value_count++;
										}
									if(Line==2)
										{
											if(value_count==1)
												break;
											value_datadigit_tmp[value_count] = '9';
											value_count++;
										}
									if(Line==3)
										{
											if(value_count==1)
												break;
											value_stopdigit_tmp[value_count] = '9';
											value_count++;
										}
								}
							if(Interface==LXI_SCREEN)
								{
									if(Line==1)
										{
											if(value_count==15)
												break;
											value_ip_tmp[value_count] = '9';
											value_count++;
										}
									if(Line==2)
										{
											if(value_count==15)
												break;
											value_mask_tmp[value_count] = '9';
											value_count++;
										}
									if(Line==3)
										{
											if(value_count==15)
												break;
											value_gateway_tmp[value_count] = '9';
											value_count++;
										}
									if(Line==4)
										{
											if(value_count==15)
												break;
											value_dns_tmp[value_count] = '9';
											value_count++;
										}
								}
							display_digit(Cursor,Yy_value,0x39);
							//在当前位置显示下划线
							write_lcd(0xF3);
							write_lcd(Cursor);
							write_lcd(Yy_value + 15);
							write_lcd(0xFF);
							Cursor++;
						}
				}
			break;
			case KEY_0:
				{
					if(Input==1)
						{
							if(Interface==MAIN_SCREEN)
								{
									if(Line==1)
										{
											if(value_count==5)
												break;
											if(point_exist==0)
												{
													value_u_tmp[value_count] = '0';
													value_count++;
													value_u_tmp[value_count] = '.';
												}
											else
												{
													value_u_tmp[value_count] = '0';
													value_count++;
												}
										}
									if(Line==2)
										{
											if(value_count==5)
												break;
											if(point_exist==0)
												{
													value_i_tmp[value_count] = '0';
													value_count++;
													value_i_tmp[value_count] = '.';
												}
											else
												{
													value_i_tmp[value_count] = '0';
													value_count++;
												}
										}
									if(Line==3)
										{
											if(value_count==2)
												break;
											value_f_tmp[value_count] = '0';
											value_count++;
										}
									if(Line==4)
										{
											if(value_count==5)
												break;
											if(point_exist==0)
												{
													value_fi_tmp[value_count] = '0';
													value_count++;
													value_fi_tmp[value_count] = '.';
												}
											else
												{
													value_fi_tmp[value_count] = '0';
													value_count++;
												}
										}
								}
							if(Interface==RS232C_SCREEN)
								{
									if(Line==1)
										{
											if(value_count==6)
												break;
											value_baudrate_tmp[value_count] = '0';
											value_count++;
										}
									if(Line==2)
										{
											if(value_count==1)
												break;
											value_datadigit_tmp[value_count] = '0';
											value_count++;
										}
									if(Line==3)
										{
											if(value_count==1)
												break;
											value_stopdigit_tmp[value_count] = '0';
											value_count++;
										}
								}
							if(Interface==LXI_SCREEN)
								{
									if(Line==1)
										{
											if(value_count==15)
												break;
											value_ip_tmp[value_count] = '0';
											value_count++;
										}
									if(Line==2)
										{
											if(value_count==15)
												break;
											value_mask_tmp[value_count] = '0';
											value_count++;
										}
									if(Line==3)
										{
											if(value_count==15)
												break;
											value_gateway_tmp[value_count] = '0';
											value_count++;
										}
									if(Line==4)
										{
											if(value_count==15)
												break;
											value_dns_tmp[value_count] = '0';
											value_count++;
										}
								}
							display_digit(Cursor,Yy_value,0x30);
							//在当前位置显示下划线
							write_lcd(0xF3);
							write_lcd(Cursor);
							write_lcd(Yy_value + 15);
							write_lcd(0xFF);
							Cursor++;
						}
				}
			break;
			case KEY_POINT:
				{
					if(Input==1)
						{
							if(Interface==MAIN_SCREEN)
								{
									if(Line==1)
										{
											if(value_count==5)
												break;
											value_u_tmp[value_count] = '.';
											value_count++;
										}
									if(Line==2)
										{
											if(value_count==5)
												break;
											value_i_tmp[value_count] = '.';
											value_count++;
										}
									if(Line==3)
										{
											if(value_count==2)
												break;
											value_f_tmp[value_count] = '.';
											value_count++;
										}
									if(Line==4)
										{
											if(value_count==5)
												break;
											value_fi_tmp[value_count] = '.';
											value_count++;
										}

									point_exist = 1;	//说明已经输入过'.'了,不再需要自动补充'.'
								}
							if(Interface==RS232C_SCREEN)
								break;
							if(Interface==LXI_SCREEN)
								{
									if(Line==1)
										{
											if(value_count==15)
												break;
											value_ip_tmp[value_count] = '.';
											value_count++;
										}
									if(Line==2)
										{
											if(value_count==15)
												break;
											value_mask_tmp[value_count] = '.';
											value_count++;
										}
									if(Line==3)
										{
											if(value_count==15)
												break;
											value_gateway_tmp[value_count] = '.';
											value_count++;
										}
									if(Line==4)
										{
											if(value_count==15)
												break;
											value_dns_tmp[value_count] = '.';
											value_count++;
										}
								}
							display_digit(Cursor,Yy_value,0x2E);
							//在当前位置显示下划线
							write_lcd(0xF3);
							write_lcd(Cursor);
							write_lcd(Yy_value + 15);
							write_lcd(0xFF);
							Cursor++;
						}
				}
			break;
			default:
			break;
		}
	P3IF = 0x00;					//清IE6中断标志
	EIE2 = 0x10;					//IE6(for keyboard)中断允许
}

⌨️ 快捷键说明

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