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

📄 menue.c

📁 富士通单片机MB90F387上实现MODBUS
💻 C
字号:
#include "GLOBAL.H"
  
/*********************************************************************************
* 名称:line0_menu
* 功能:液晶屏第0行显示,显示参数所属功能组
* 输入:uchar disvalue       
* 输出: 无
* 返回:无
***********************************************************************************/
void line0_menu(uchar disvalue)
{
		char   buff[20];
		strcpy(buff,"  Group          ");
		sprfu(&buff[10],disvalue,0,2);
    display_str(0,0, buff);
}
/*********************************************************************************
* 名称:line2_menu
* 功能:液晶屏第2行显示,显示隔行符“=”
* 输入:无       
* 输出: 无
* 返回:无
***********************************************************************************/
void line2_menu(void)
{
	display_str(0,2, "================");
}
/*********************************************************************************
* 名称:line4_menu
* 功能:液晶屏第4行显示,显示参数值
* 输入:无       
* 输出: 无
* 返回:无
***********************************************************************************/
void line4_menu(uint dis_value)
{
				char   buff[20];	
        strcpy(buff,"Para:           ");        
        sprfu(&buff[7],dis_value,0,5); 
        display_str(0,4,buff);
}
/*********************************************************************************
* 名称:line6_menu
* 功能:液晶屏第6行显示,显示参数对应功能码
* 输入:uchar wMenu       
* 输出: 无
* 返回:无
* 备注:
***********************************************************************************/
void line6_menu(uchar wMenu)
{
		char   buff[20];	
	
    strcpy(buff,"Code:         []");        
    switch(wMenu)
    {
      	case 1:
						sprfu(&buff[7],Group01[para_ptr],0,5);         
						break;
				case 3:
						sprfu(&buff[7],Group03[para_ptr],0,5);         
						break;
				case 4:
						sprfu(&buff[7],Group04[para_ptr],0,5);         
						break;				
				case 10:
						sprfu(&buff[7],Group10[para_ptr],0,5);         
						break;
				case 11:
						sprfu(&buff[7],Group11[para_ptr],0,5);         
						break;
				case 12:
						sprfu(&buff[7],Group12[para_ptr],0,5);         
						break;
				case 13:
						sprfu(&buff[7],Group13[para_ptr],0,5);         
						break;
				case 14:
						sprfu(&buff[7],Group14[para_ptr],0,5);         
						break;
				case 15:
						sprfu(&buff[7],Group15[para_ptr],0,5);         
						break;
				case 16:
						sprfu(&buff[7],Group16[para_ptr],0,5);         
						break;
				case 17:
						sprfu(&buff[7],Group17[para_ptr],0,5);         
						break;
				case 20:
						sprfu(&buff[7],Group20[para_ptr],0,5);         
						break;
				case 21:
						sprfu(&buff[7],Group21[para_ptr],0,5);         
						break;
				case 22:
						sprfu(&buff[7],Group22[para_ptr],0,5);         
						break;	
				case 25:
						sprfu(&buff[7],Group25[para_ptr],0,5);         
						break;
				case 26:
						sprfu(&buff[7],Group26[para_ptr],0,5);         
						break;	
				case 30:
						sprfu(&buff[7],Group30[para_ptr],0,5);         
						break;
				case 31:
						sprfu(&buff[7],Group31[para_ptr],0,5);         
						break;
				case 32:
						sprfu(&buff[7],Group32[para_ptr],0,5);         
						break;	
				case 33:
						sprfu(&buff[7],Group33[para_ptr],0,5);         
						break;
				case 34:
						sprfu(&buff[7],Group34[para_ptr],0,5);         
						break;	
				case 35:
						sprfu(&buff[7],Group35[para_ptr],0,5);         
						break;
				case 40:
						sprfu(&buff[7],Group40[para_ptr],0,5);         
						break;
				case 41:
						sprfu(&buff[7],Group41[para_ptr],0,5);         
						break;
				case 42:
						sprfu(&buff[7],Group42[para_ptr],0,5);         
						break;	
				case 51:
						sprfu(&buff[7],Group51[para_ptr],0,5);         
						break;
				case 53:
						sprfu(&buff[7],Group53[para_ptr],0,5);         
						break;		
				case 81:
						sprfu(&buff[7],Group81[para_ptr],0,5);         
						break;	
				case 98:
						sprfu(&buff[7],Group98[para_ptr],0,5);         
						break;	
				case 99:
						sprfu(&buff[7],Group99[para_ptr],0,5);         
						break;																																																																																																																						
				default:
						sprfu(&buff[7],11111,0,5);         
						break;										
    }                              
    display_str(0,6,buff);  
}
void display_menu(void)
{    
    char   buff[20];
    if (menu_ptr == 0)  /* 第一层菜单 -----  状态监视 */
    { 
        set_cursor(0xff,0xff); // 光标不显示
		    display_str(0,0, " Function Group ");//提示功能组选择		        		
    	  line2_menu();// 隔行 
        strcpy(buff,"              []");        
        sprfu(&buff[3],Para_index[menuptr],0,5); 
        display_str(0,4,buff);    	         
        display_str(0,6, "Modbus RTU Mode ");//提示选用的模式         
    }
    if (menu_ptr == 1)  /* 第二层菜单 -----  参数浏览 */
    {
        set_cursor(0xff,0xff); // 光标不显示  
        line0_menu(Para_index[menuptr]); //参数组提示        
    	  line2_menu();// 隔行  		  	           		          		        		 	  	           		   
        line4_menu(para_val); // 显示数据  
        line6_menu(Para_index[menuptr]);//参数组中参数序号
    } 
    if (menu_ptr >= 2)  /* 第三层菜单 ----- 参数修改 */
    {
        line0_menu(Para_index[menuptr]); //参数组提示
    	  line2_menu(); // 隔行          
        set_cursor(12-bit_ptr,4);  // 光标显示    	  
        line4_menu(edit_val);  // 显示数据  
        line6_menu(Para_index[menuptr]);//参数组中参数序号                         
    }
}

⌨️ 快捷键说明

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