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

📄 main.c

📁 全国电子设计大赛:智能电动车的设计.实现功能:以AT89C52单片机为核心
💻 C
📖 第 1 页 / 共 5 页
字号:
				else
				{
				    DisplayNumber( 4,8*8, 5  ); // 5.USB
					DisplayNumber( 4,8*9, 18 );
					DisplayNumber( 4,8*10,41 );
					DisplayNumber( 4,8*11,39 );
					DisplayNumber( 4,8*12,22 );
				}
				if( vertical == 6 )
				{
				    DisplayNumber( 6,8*8, 6  ); // 6.温度(反显)
					DisplayNumber( 6,8*9, 18 );
					DisplayRevChinese( 6,16*5,wen );
					DisplayRevChinese( 6,16*6,du4 );
				}
				else
				{
				    DisplayNumber( 6,8*8, 6  ); // 6.温度
					DisplayNumber( 6,8*9, 18 );
					DisplayChinese( 6,16*5,wen );
					DisplayChinese( 6,16*6,du4 );
				}
		        break;

		case 10://*************************************************************
		        //*************************************************************
				// 第一主屏(菜单1):时间设置
				//*************************************************************
				//*************************************************************
		        DisplayChinese( 2,16*0,xing ); // 星期:
				DisplayChinese( 2,16*1,qi   );
				DisplayNumber ( 2,16*2,17   );
				DisplayChinese( 4,16*0,shi  ); // 时间:
				DisplayChinese( 4,16*1,jian );
				DisplayNumber ( 4,16*2,17   );
				DisplayChinese( 6,16*0,ri   ); // 日期:
				DisplayChinese( 6,16*1,qi   );
				DisplayNumber ( 6,16*2,17   );
				//-------------------------星期修改-------------------------
				if( horizontal == 1 ) DisplayRevNumber( 2,8*6 ,setup_time[3]   ); else DisplayNumber( 2,8*6 ,setup_time[3]   ); // 星期
				//------------------------时分秒修改------------------------
				if( horizontal == 2 ) DisplayRevNumber( 4,8*6 ,setup_time[2]/10); else DisplayNumber( 4,8*6 ,setup_time[2]/10); // 时钟
				if( horizontal == 3 ) DisplayRevNumber( 4,8*7 ,setup_time[2]%10); else DisplayNumber( 4,8*7 ,setup_time[2]%10);
				DisplayNumber( 4,8*8,17  ); // :
				if( horizontal == 4 ) DisplayRevNumber( 4,8*9 ,setup_time[1]/10); else DisplayNumber( 4,8*9 ,setup_time[1]/10); // 分钟
				if( horizontal == 5 ) DisplayRevNumber( 4,8*10,setup_time[1]%10); else DisplayNumber( 4,8*10,setup_time[1]%10);
				DisplayNumber( 4,8*11,17 ); // :
				if( horizontal == 6 ) DisplayRevNumber( 4,8*12,setup_time[0]/10); else DisplayNumber( 4,8*12,setup_time[0]/10); // 秒钟
				if( horizontal == 7 ) DisplayRevNumber( 4,8*13,setup_time[0]%10); else DisplayNumber( 4,8*13,setup_time[0]%10);
				//------------------------年月日修改------------------------
				if( horizontal == 8 ) DisplayRevNumber( 6,8*6 ,setup_time[6]/10); else DisplayNumber( 6,8*6 ,setup_time[6]/10); // 年
				if( horizontal == 9 ) DisplayRevNumber( 6,8*7 ,setup_time[6]%10); else DisplayNumber( 6,8*7 ,setup_time[6]%10);
				DisplayNumber( 6,8*8,19  ); // -
				if( horizontal == 10 )DisplayRevNumber( 6,8*9 ,setup_time[5]/10); else DisplayNumber( 6,8*9 ,setup_time[5]/10); // 月
				if( horizontal == 11 )DisplayRevNumber( 6,8*10,setup_time[5]%10); else DisplayNumber( 6,8*10,setup_time[5]%10);
				DisplayNumber( 6,8*11,19 ); // -	
				if( horizontal == 12 )DisplayRevNumber( 6,8*12,setup_time[4]/10); else DisplayNumber( 6,8*12,setup_time[4]/10); // 日
				if( horizontal == 13 )DisplayRevNumber( 6,8*13,setup_time[4]%10); else DisplayNumber( 6,8*13,setup_time[4]%10);
                //----------------------------------------------------------
				if( up | down )
				{
				    switch( horizontal )
					{
					    case 0:	if( up&&!down )horizontal = 8;	    else if( down&&!up )horizontal = 1;	break;

						case 1:	if( up&&!down )setup_time[3] += 1;  else if( down&&!up )setup_time[3] -= 1;  time_modify=1; break;// 星期

					    case 2:	if( up&&!down )setup_time[2] += 10; else if( down&&!up )setup_time[2] -= 10; time_modify=1; break;// 时十位
					    case 3:	if( up&&!down )setup_time[2] += 1;	else if( down&&!up )setup_time[2] -= 1;  time_modify=1; break;// 时个位
					    case 4:	if( up&&!down )setup_time[1] += 10; else if( down&&!up )setup_time[1] -= 10; time_modify=1; break;// 分十位
					    case 5:	if( up&&!down )setup_time[1] += 1;	else if( down&&!up )setup_time[1] -= 1;  time_modify=1; break;// 分个位
					    case 6:	if( up&&!down )setup_time[0] += 10; else if( down&&!up )setup_time[0] -= 10; time_modify=1; break;// 秒十位
					    case 7:	if( up&&!down )setup_time[0] += 1;	else if( down&&!up )setup_time[0] -= 1;  time_modify=1; break;// 秒个位

					    case 8:	if( up&&!down )setup_time[6] += 10; else if( down&&!up )setup_time[6] -= 10; time_modify=1; break;// 年十位
					    case 9:	if( up&&!down )setup_time[6] += 1;	else if( down&&!up )setup_time[6] -= 1;  time_modify=1; break;// 年个位
					    case 10:if( up&&!down )setup_time[5] += 10; else if( down&&!up )setup_time[5] -= 10; time_modify=1; break;// 月十位
					    case 11:if( up&&!down )setup_time[5] += 1;	else if( down&&!up )setup_time[5] -= 1;  time_modify=1; break;// 月个位
					    case 12:if( up&&!down )setup_time[4] += 10; else if( down&&!up )setup_time[4] -= 10; time_modify=1; break;// 日十位	
					    case 13:if( up&&!down )setup_time[4] += 1;	else if( down&&!up )setup_time[4] -= 1;  time_modify=1; break;// 日个位

					    default:break; 
					}
					up = down = 0; 
				}
				//----------------------------------------------------------
				// 上下限限制
				if( setup_time[3]>7  )setup_time[3] = 1;  else if( setup_time[3]<1 )setup_time[3] = 7; // 星期
				if( setup_time[6]>99 )setup_time[6] = 0;  else if( setup_time[6]<0 )setup_time[6] = 99;// 年 
				if( setup_time[5]>12 )setup_time[5] = 0;  else if( setup_time[5]<0 )setup_time[5] = 12;// 月 
				if( setup_time[4]>31 )setup_time[4] = 0;  else if( setup_time[4]<0 )setup_time[4] = 31;// 日 
				if( setup_time[2]>23 )setup_time[2] = 0;  else if( setup_time[2]<0 )setup_time[2] = 23;// 时钟 
				if( setup_time[1]>59 )setup_time[1] = 0;  else if( setup_time[1]<0 )setup_time[1] = 59;// 分钟 
				if( setup_time[0]>59 )setup_time[0] = 0;  else if( setup_time[0]<0 )setup_time[0] = 59;// 秒钟 
		        break;

		case 20://*************************************************************
		        //*************************************************************
				// 第二主屏(菜单2):报警设置
				//*************************************************************
				//*************************************************************
		        DisplayChinese( 2,16*0,bao4  );  // 报警比率:
				DisplayChinese( 2,16*1,jing3 );
				DisplayChinese( 2,16*2,bi3   );
				DisplayChinese( 2,16*3,lv4   );
				DisplayNumber ( 2,8*8,17     );

				//---------------------报警比率修改-------------------------
				DisplayRevNumber( 2,8*10,alarm_range/10 ); 
				DisplayRevNumber( 2,8*11,alarm_range%10 );

                //----------------------------------------------------------
				// 有加减, 相应的值加一或减一 ,上下限限制
				if     ( up&&!down ) { alarm_range +=1; alarm_range &= 0x0F; SetSQW( alarm_range ); }
				else if( !up&&down ) { alarm_range -=1; alarm_range &= 0x0F; SetSQW( alarm_range ); }
				up = down = 0;
				//----------------------------------------------------------
				switch( alarm_range )
				{
				    case 0 : DisplayNumber(5,8*4,34);  // None
					         DisplayNumber(5,8*5,61);
							 DisplayNumber(5,8*6,60);
							 DisplayNumber(5,8*7,51);
							 DisplayChinese(5,16*4,blank);
							 DisplayChinese(5,16*5,blank);
							 DisplayChinese(5,16*6,blank);
				             break;
					case 1 : DisplayNumber(5,8*4,2 );  // 256 Hz
					         DisplayNumber(5,8*5,5 );
							 DisplayNumber(5,8*6,6 );
							 DisplayNumber(5,8*7,77); 
							 DisplayChinese(5,16*4,blank);
							 DisplayChinese(5,16*5,blank);
							 DisplayNumber(5,8*12,28);
							 DisplayNumber(5,8*13,72);
				             break;
					case 2 : DisplayNumber(5,8*4,1 );  // 128 Hz
					         DisplayNumber(5,8*5,2 );
							 DisplayNumber(5,8*6,8 );
							 DisplayNumber(5,8*7,77); 
							 DisplayChinese(5,16*4,blank);
							 DisplayChinese(5,16*5,blank);
							 DisplayNumber(5,8*12,28);
							 DisplayNumber(5,8*13,72);
				             break;
					case 3 : DisplayNumber(5,8*4,8 );  // 8.192 KHz
					         DisplayNumber(5,8*5,18);
							 DisplayNumber(5,8*6,1 );
							 DisplayNumber(5,8*7,9 );
							 DisplayNumber(5,8*8,2 );
							 DisplayNumber(5,8*11,31);
							 DisplayNumber(5,8*12,28);
							 DisplayNumber(5,8*13,72);
				             break;
					case 4 : DisplayNumber(5,8*4,4 );  // 4.096 KHz
					         DisplayNumber(5,8*5,18);
							 DisplayNumber(5,8*6,0 );
							 DisplayNumber(5,8*7,9 );
							 DisplayNumber(5,8*8,6 );
							 DisplayNumber(5,8*11,31);
							 DisplayNumber(5,8*12,28);
							 DisplayNumber(5,8*13,72);
				             break;
					case 5 : DisplayNumber(5,8*4,2 );  // 2.048 KHz
					         DisplayNumber(5,8*5,18);
							 DisplayNumber(5,8*6,0 );
							 DisplayNumber(5,8*7,4 );
							 DisplayNumber(5,8*8,8 );
							 DisplayNumber(5,8*11,31);
							 DisplayNumber(5,8*12,28);
							 DisplayNumber(5,8*13,72);
				             break;
					case 6 : DisplayNumber(5,8*4,1 );  // 1.024 KHz
					         DisplayNumber(5,8*5,18);
							 DisplayNumber(5,8*6,0 );
							 DisplayNumber(5,8*7,2 );
							 DisplayNumber(5,8*8,4 );
							 DisplayNumber(5,8*11,31);
							 DisplayNumber(5,8*12,28);
							 DisplayNumber(5,8*13,72);
				             break;
					case 7 : DisplayNumber(5,8*4,5 );  // 512 Hz
					         DisplayNumber(5,8*5,1 );
							 DisplayNumber(5,8*6,2 );
							 DisplayNumber(5,8*7,77); 
							 DisplayChinese(5,16*4,blank);
							 DisplayChinese(5,16*5,blank);
							 DisplayNumber(5,8*12,28);
							 DisplayNumber(5,8*13,72);
				             break;
					case 8 : DisplayNumber(5,8*4,2 );  // 256 Hz
					         DisplayNumber(5,8*5,5 );
							 DisplayNumber(5,8*6,6 );
							 DisplayNumber(5,8*7,77);  
							 DisplayChinese(5,16*4,blank);
							 DisplayChinese(5,16*5,blank);
							 DisplayNumber(5,8*12,28);
							 DisplayNumber(5,8*13,72);
				             break;
					case 9 : DisplayNumber(5,8*4,1 );  // 128 Hz
					         DisplayNumber(5,8*5,2 );
							 DisplayNumber(5,8*6,8 );
							 DisplayNumber(5,8*7,77); 
							 DisplayChinese(5,16*4,blank);
							 DisplayChinese(5,16*5,blank);
							 DisplayNumber(5,8*12,28);
							 DisplayNumber(5,8*13,72);
				             break;
					case 10: DisplayNumber(5,8*4,6 );  // 64 Hz
					         DisplayNumber(5,8*5,4 );
							 DisplayChinese(5,16*3,blank);
							 DisplayChinese(5,16*4,blank);
							 DisplayChinese(5,16*5,blank);
							 DisplayNumber(5,8*12,28);
							 DisplayNumber(5,8*13,72);
				             break;
					case 11: DisplayNumber(5,8*4,3 );  // 32 Hz
					         DisplayNumber(5,8*5,2 );
							 DisplayChinese(5,16*3,blank);
							 DisplayChinese(5,16*4,blank);
							 DisplayChinese(5,16*5,blank);
							 DisplayNumber(5,8*12,28);
							 DisplayNumber(5,8*13,72);
				             break;
					case 12: DisplayNumber(5,8*4,1 );  // 16 Hz
					         DisplayNumber(5,8*5,6 );
							 DisplayChinese(5,16*3,blank);
							 DisplayChinese(5,16*4,blank);
							 DisplayChinese(5,16*5,blank);
							 DisplayNumber(5,8*12,28);
							 DisplayNumber(5,8*13,72);
				             break;
					case 13: DisplayNumber(5,8*4,8 );  // 8 Hz
					         DisplayNumber(5,8*5,77);
					         DisplayChinese(5,16*3,blank);
							 DisplayChinese(5,16*4,blank); 
							 DisplayChinese(5,16*5,blank);
							 DisplayNumber(5,8*12,28);
							 DisplayNumber(5,8*13,72);
				             break;
					case 14: DisplayNumber(5,8*4,4 );  // 4 Hz
					         DisplayNumber(5,8*5,77);
					         DisplayChinese(5,16*3,blank);
							 DisplayChinese(5,16*4,blank); 
							 DisplayChinese(5,16*5,blank);
							 DisplayNumber(5,8*12,28);
							 DisplayNumber(5,8*13,72);
				             break;
					case 15: DisplayNumber(5,8*4,2 );  // 2 Hz
					         DisplayNumber(5,8*5,77);
					         DisplayChinese(5,16*3,blank);
							 DisplayChinese(5,16*4,blank); 
							 DisplayChinese(5,16*5,blank);
							 DisplayNumber(5,8*12,28);
							 DisplayNumber(5,8*13,72);
				             break;
					default: break;
				}
				//----------------------------------------------------------
                break;

		case 30://*************************************************************
		        //*************************************************************
				// 第三主屏(菜单3):DAC 设置
				//*************************************************************
				//*************************************************************
		        DisplayNumber( 2,8*0,13 );        // DAC0:xxxx-xx.xxV
				DisplayNumber( 2,8*1,10 );
				DisplayNumber( 2,8*2,12 );
				DisplayNumber( 2,8*3,0  );
				DisplayNumber( 2,8*4,17 );

				DisplayNumber( 2,8*9 , 19);
				DisplayNumber( 2,8*10, DAC0datum/4/1000     );
				DisplayNumber( 2,8*11, DAC0datum/4%1000/100 );
				DisplayNumber( 2,8*12, 18);
				DisplayNumber( 2,8*13, DAC0datum/4%100/10   );
				DisplayNumber( 2,8*14, DAC0datum/4%10       );
				DisplayNumber( 2,8*15, 42);

				DisplayNumber( 4,8*0,13 );        // DAC1:xxxx-xx.xxV
				DisplayNumber( 4,8*1,10 );
				DisplayNumber( 4,8*2,12 );
				DisplayNumber( 4,8*3,1  );
				DisplayNumber( 4,8*4,17 );

				DisplayNumber( 4,8*9 , 19);
				DisplayNumber( 4,8*10, DAC1datum/4/1000     );
				DisplayNumber( 4,8*11, DAC1datum/4%1000/100 );
				DisplayNumber( 4,8*12, 18);
				DisplayNumber( 4,8*13, DAC1datum/4%100/10   );
				DisplayNumber( 4,8*14, DAC1datum/4%10       );
				DisplayNumber( 4,8*15, 42);

				//-------------------------DAC0修改-------------------------
				if( horizontal == 1 ) DisplayRevNumber( 2,8*5 ,DAC0datum/1000      ); else DisplayNumber( 2,8*5 ,DAC0datum/1000      ); 
				if( horizontal == 2 ) DisplayRevNumber( 2,8*6 ,DAC0datum%1000/100  ); else DisplayNumber( 2,8*6 ,DAC0datum%1000/100  ); 
				if( horizontal == 3 ) DisplayRevNumber( 2,8*7 ,DAC0datum%100/10    ); else DisplayNumber( 2,8*7 ,DAC0datum%100/10    ); 
				if( horizontal == 4 ) DisplayRevNumber( 2,8*8 ,DAC0datum%10        ); else DisplayNumber( 2,8*8 ,DAC0datum%10        ); 
				//-------------------------DAC1修改-------------------------
				if( horizontal == 5 ) DisplayRevNumber( 4,8*5 ,DAC1datum/1000      ); else DisplayNumber( 4,8*5 ,DAC1datum/1000      ); 
				if( horizontal == 6 ) DisplayRevNumber( 4,8*6 ,DAC1datum%1000/100  ); else DisplayNumber( 4,8*6 ,DAC1datum%1000/100  ); 
				if( horizontal == 7 ) DisplayRevNumber( 4,8*7 ,DAC1datum%100/10    ); else DisplayNumber( 4,8*7 ,DAC1datum%100/10    ); 

⌨️ 快捷键说明

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