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

📄 st7920serial.c.bak

📁 这是TOPWAY公司的LCD驱动程序
💻 BAK
📖 第 1 页 / 共 4 页
字号:
					LCD_Write_number(e);         
    		} 

		if(flag == 0) 
			LCD_Write_number(11);//显示:
		else    
			LCD_Write_number(10);
			
		if(sec==1)  //秒闪烁标志位
 		{
    		if(flag==1)
       		{    
        		d=read_clock(0x81);//读秒
						e=d;
						d=d>>4;
						e=e&0x0f;
						LCD_Write_number(d);//送显示
						LCD_Write_number(e);   
       		}
	   		else
       	{
					LCD_Write_number(10); //显示数字空格
        	LCD_Write_number(10);    
       	}
    } 
  		else
    	{
     		d=read_clock(0x81);//读秒
				e=d;
				d=d>>4;
				e=e&0x0f;
				LCD_Write_number(d);
				LCD_Write_number(e);          
    	}    
  	
   	if(year==1)  //年闪烁标志位
    {
    	if(flag==1)
       	{    
        	d=read_clock(0x8d);//读年
					e=d;
					d=d>>4;
					e=e&0x0f;
					LCD_set_xy(2,2);
					LCD_Write_number(d);
					LCD_Write_number(e);
       	}
     	else
       	{
					LCD_set_xy(2,2);
        	LCD_Write_number(10); //显示空格
        	LCD_Write_number(10);    
       	}
    } 
  	else
    { 
    	d=read_clock(0x8d);//读年
			e=d;
			d=d>>4;
			e=e&0x0f;
			LCD_set_xy(2,2);
			LCD_Write_number(d);
			LCD_Write_number(e);
    }
     
  	if(mon==1)  //月闪烁标志位
    {
    	if(flag==1)
       	{    
        	d=read_clock(0x89);//读月
					e=d;
					d=d>>4;
					e=e&0x0f;
					LCD_set_xy(2,4);
					LCD_Write_number(d);
					LCD_Write_number(e);
		
       	}
     	else
       	{
					LCD_set_xy(2,4);
        	LCD_Write_number(10); //显示空格
        	LCD_Write_number(10);    
       	}
    } 
  	else
    { 
      	d=read_clock(0x89);//读月
				e=d;
				d=d>>4;
				e=e&0x0f;
				LCD_set_xy(2,4);
				LCD_Write_number(d);
				LCD_Write_number(e);
    }   

  	if(day==1)  //日闪烁标志位
    {
    	if(flag==1)
       	{  
	   			d=read_clock(0x87);//读日
					e=d;
					d=d>>4;
					e=e&0x0f;
					LCD_set_xy(2,6);
					LCD_Write_number(d);
					LCD_Write_number(e);
    		}
    	else
   	 	{
					LCD_set_xy(2,6);
        	LCD_Write_number(10); //显示空格
        	LCD_Write_number(10);    
    	}
    } 
  	else
    { 
    	d=read_clock(0x87);//读日
			e=d;
			d=d>>4;
			e=e&0x0f;
			LCD_set_xy(2,6);
			LCD_Write_number(d);
			LCD_Write_number(e);
    }
    
    if(weekk==1)  //星期闪烁标志位
    {
    	if(flag==1)
       	{    
        	d=read_clock(0x8b);//读星期
					LCD_Write_week(d);
       	}
     	else
       	{
        	LCD_Write_week(8); //显示空格        
       	}
    } 
  	else
    { 
     	d=read_clock(0x8b);//读星期
			LCD_Write_week(d);
    }     
}

/******************************************************************************************
* 函数名称    :Disp2
* 功能描述    :显示和闪烁函数
* 参数        :  参数名称:	输入/输出?	类型		描述
* 
* 返回值      :
* 作者        :
* 创建日期    :2006-12-19
* 全局变量    :
* 全局静态变量:
* 局部静态变量:
*----------------------------------------修改历史------------------------------------------
* 当前版本    : 			 修改人:                  修改日期:
* 修改说明    :
******************************************************************************************/
void Disp2(void)
{
		if(Kgb==1)  //开关闪烁标志位
 		{
    		if(flag==1)
       	{
					if(Bell_Swh == 0)//0为关
						{
							LCD_Write_string(1,6,guan);//显示关
						}
						else
							{
								LCD_Write_string(1,6,kai);//显示开
							}
         }
	   		else
       		{
							LCD_Write_string(1,6,space_c); //显示空格
       		}
     } 
  	 else
    	{
     		if(Bell_Swh == 0)//关
					{
						LCD_Write_string(1,6,guan);
					}
				else
				{
					LCD_Write_string(1,6,kai);
				}
    	}    
   
  	if(Hourb==1)  //时闪烁标志位
    {
    	if(flag==1)
       	{ 
   	    	d=read_clock(0xc3);//读闹钟小时的数值
					e=d;
					d=d>>4;
					e=e&0x0f;
					LCD_set_xy(3,3);
					LCD_Write_number(d);
					LCD_Write_number(e);   
       	}
     	else
       	{
					LCD_set_xy(3,3);
        	LCD_Write_number(10); //显示空格
	        LCD_Write_number(10);    
       	}
    } 
  	else
    {
    	d=read_clock(0xc3);//读闹钟小时的数值
			e=d;
			d=d>>4;
			e=e&0x0f;
			LCD_set_xy(3,3);
			LCD_Write_number(d);
			LCD_Write_number(e);     
    } 

		if(flag == 0)
			LCD_Write_number(11);//显示:构成闪烁壮
		else 
			LCD_Write_number(10);

  	if(Minb==1)  //分钟闪烁标志位
    {
    	if(flag==1)
       	{    
      		d=read_clock(0xc5);//读闹钟分钟的数值
					e=d;
					d=d>>4;
					e=e&0x0f;
					LCD_Write_number(d);
					LCD_Write_number(e);
       	}
     	else
       	{
        	LCD_Write_number(10); //显示空格
	        LCD_Write_number(10);    
    		}
     } 
  	else
   	{ 
    	d=read_clock(0xc5);//读闹钟分钟的数值
			e=d;
			d=d>>4;
			e=e&0x0f;
			LCD_Write_number(d);
			LCD_Write_number(e);
   	}
}

/******************************************************************************************
* 函数名称    :id_case1_key
* 功能描述    :id为1时的下一级选择
* 参数        :  参数名称:	输入/输出?	类型		描述
* 
* 返回值      :
* 作者        :
* 创建日期    :2006-12-19
* 全局变量    :
* 全局静态变量:
* 局部静态变量:
*----------------------------------------修改历史------------------------------------------
* 当前版本    : 			 修改人:                  修改日期:
* 修改说明    :
******************************************************************************************/
void id_case1_key(void)
{
		if(Add_Key == 0) //增加
    	{
    		Delay(100);
       	if(Add_Key == 0)
	   		Set_time(id,0);  //调用Set_time函数
				while(Add_Key ==0);
    	}
   	if (Dec_Key==0)  //减少
    	{
       		Delay(100);
       		if(Dec_Key == 0)
					Set_time(id,1);  
        	while(Dec_Key ==0);
      }
}

/******************************************************************************************
* 函数名称    :Set_time
* 功能描述    :根据选择调整相应项目并写入DS1302
* 参数        :  参数名称:	输入/输出?	类型		描述
* 
* 返回值      :
* 作者        :
* 创建日期    :2006-12-19
* 全局变量    :
* 全局静态变量:
* 局部静态变量:
*----------------------------------------修改历史------------------------------------------
* 当前版本    : 			 修改人:                  修改日期:
* 修改说明    :
******************************************************************************************/
void Set_time(unsigned char sel, bit sel_1) 
{
  	signed char address,item;
  	signed char max,mini;
  	if(sel==7)  
  		{
  			address=0x80; 
  			max=0;
  			mini=0;
  		}     //秒
  	if(sel==6)  
  		{
  			address=0x82; 
  			max=59;
  			mini=0;
  		}    //分钟
  	if(sel==5)  
  		{
  			address=0x84;
  			max=23;
  			mini=0;
  		}    //小时
  	if(sel==3)  
  		{
  			address=0x86;
  			max=31;
  			mini=1;
  		}    //日
  	if(sel==2) 
  		{
  			address=0x88; 
  			max=12;
  			mini=1;
  		}    //月
  	if(sel==1)  
  		{
  			address=0x8c; 
  			max=99; 
  			mini=0;
  		}    //年
  	if(sel==4)  
  		{
  			address=0x8a; 
  			max=7;
  			mini=1;
  		}    //星期
  
  //读取1302某地址上的数值转换成10进制赋给item 
  	item=((read_clock(address+1))/16)*10 + (read_clock(address+1))%16;
  	if(sel_1==0) 
  		item++;  
  	else
  		item--;
  	if(item>max) 
  		item=mini;   
  	if(item<mini) 
  		item=max;
           
  	write_clock(0x8e,0x00);//允许写操作
  	write_clock(address,(item/10)*16+item%10);//转换成16进制写入1302
  	write_clock(0x8e,0x80);//写保护,禁止写操作  
}

/******************************************************************************************
* 函数名称    :id_case2_key
* 功能描述    :id为1时的下一级选择
* 参数        :  参数名称:	输入/输出?	类型		描述
* 
* 返回值      :
* 作者        :
* 创建日期    :2006-12-19
* 全局变量    :
* 全局静态变量:
* 局部静态变量:
*----------------------------------------修改历史------------------------------------------
* 当前版本    : 			 修改人:                  修改日期:
* 修改说明    :
******************************************************************************************/
void id_case2_key(void)
{
		if(Add_Key == 0) //增加
    	{
    		Delay(100);
       	if(Add_Key == 0)
	   		Set_Bell(id2,0);  //调用Set_time函数
				while(Add_Key ==0);
    	}
   	if (Dec_Key==0)  //减少
    	{
       	Delay(100);
       	if(Dec_Key == 0)
				Set_Bell(id2,1);  
        while(Dec_Key ==0);
      }
}

/******************************************************************************************
* 函数名称    :Set_Bell
* 功能描述    :根据选择调整相应项目 
* 参数        :  参数名称:	输入/输出?	类型		描述
* 
* 返回值      :
* 作者        :
* 创建日期    :2006-12-19
* 全局变量    :
* 全局静态变量:
* 局部静态变量:
*----------------------------------------修改历史------------------------------------------
* 当前版本    : 			 修改人:                  修改日期:

⌨️ 快捷键说明

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