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

📄 save.c

📁 EEPROM局部抄写软件,可以任意设置地址,抄写一段数据,数据由母片提供.
💻 C
📖 第 1 页 / 共 2 页
字号:
#include "reg52.H"
#include "intrins.h"

#define uchar unsigned char
#define uint unsigned int
#define _Nop() _nop_()
sbit P26=P2^6;
sbit P27=P2^7;
sbit P25=P2^5;
sbit P24=P2^4;
sbit P23=P2^3;
sbit P22=P2^2;
sbit P21=P2^1;
sbit P20=P2^0;
sbit WORK1=P3^7;
sbit SPEAKE1=P1^5;
sbit LED=P1^7;
 uchar jiyi_buffer1[13];
extern uchar MODE1,HIH,HIL,LOH,LOL,LENG_HI,LENG_LO;
 bit work_start0;
extern void delay(uint dd);
extern   bit JIYI_SendStr16K( uchar sla, uchar suba, uchar *s, uchar no );

extern bit JIYI_RS16K ( uchar sla, uchar suba, uchar *s, uchar no );
/////////////////////////////

////////////////////////
uchar scanf(void )
{
   uchar keyword;
  P2=0XF0;
  delay(1);
 if(P24==0)
    {
     delay(7);
    // do{ ;}while(P34==1);
    // delay(2);
    while(P24!=1)
	 {
     P2=0X0F;
	 // delay(10);
    if(P20==0){keyword=0x00;SPEAKE1=0;delay(30);SPEAKE1=1;P24=1;work_start0=1;return keyword;}
    if(P21==0){keyword=0x01;SPEAKE1=0;delay(30);SPEAKE1=1;P24=1;return keyword;}
    if(P22==0){keyword=0x02;SPEAKE1=0;delay(30);SPEAKE1=1;P24=1;return keyword;}
    if(P23==0){keyword=0x03;SPEAKE1=0;delay(30);SPEAKE1=1;P24=1;return keyword;}
    }
	
   }
 
     if(P25==0)
   {
    
     delay(7);
   //do{ ;}while(P35==1);
    // delay(2);

    while(P25!=1)
   {
	P2=0X0F;
   
    if(P20==0){keyword=0x04;SPEAKE1=0;delay(30);SPEAKE1=1;P25=1;return keyword;}
    if(P21==0){keyword=0x05;SPEAKE1=0;delay(30);SPEAKE1=1;P25=1;return keyword;}
    if(P22==0){keyword=0x06;SPEAKE1=0;delay(30);SPEAKE1=1;P25=1;return keyword;}
    if(P23==0){keyword=0x07;SPEAKE1=0;delay(30);SPEAKE1=1;P25=1;return keyword;}
    }
	
   }
   
if(P26==0)
   {
    
     delay(7);
    // do{ ;}while(P36==1);
     //delay(2);
   
    while(P26!=1)
	{
    P2=0x0F;
   
    if(P20==0){keyword=0x08;SPEAKE1=0;delay(30);SPEAKE1=1;P26=1;return keyword;}
    if(P21==0){keyword=0x09;SPEAKE1=0;delay(30);SPEAKE1=1;P26=1;return keyword;}
    if(P22==0){keyword=0x0a;SPEAKE1=0;delay(30);SPEAKE1=1;P26=1;return keyword;}
    if(P23==0){keyword=0x0b;SPEAKE1=0;delay(30);SPEAKE1=1;P26=1;return keyword;}
    }
	
	
   }
if(P27==0)
   { 
  
     delay(7);
  
    // delay(2);

    while(P27!=1)
	{
    P2=0x0F;
   
    if(P20==0)
	{keyword=0x0c;SPEAKE1=0;delay(30);SPEAKE1=1;P27=1;return keyword;}
    if(P21==0)
	{keyword=0x0d;SPEAKE1=0;delay(30);SPEAKE1=1;P27=1;return keyword;}
    if(P22==0)
	{keyword=0x0e;SPEAKE1=0;delay(30);SPEAKE1=1;P27=1;return keyword;}
    if(P23==0)
	{keyword=0x0f;SPEAKE1=0;delay(30);SPEAKE1=1;P27=1;return keyword;}
    }
	
    	
   }
   
}
////////////////////////////////////////////

/////////////////////////////////////////////////
void ERR(void)
{
  SPEAKE1=0;
  delay(50);
  SPEAKE1=1;
  delay(10);
  SPEAKE1=0;
  delay(50);
  SPEAKE1=1;
  }
/////////////////////////////////////////////////////
void set_select(uchar  i,uchar n)
{     uchar aa;uchar keyword1;uchar k,u,l;
      aa=i;
      u=n*13;
TP:	switch(aa)
	{         case 1:{MODE1=0X01;
		       TOP30: keyword1=scanf( );
				    if(P2!=0xf0)
		            { if(keyword1>=0&&keyword1<=0x02)
		              {HIH=keyword1;HIL=0X12;LOH=0X11; LOL=0X11;LENG_HI=0X11;LENG_LO=0X11;
					  delay(80);
					   goto TOP50;
				       }
                       else { ERR( );goto TOP30;}
				    }goto TOP30;
				 
		         
		
		        TOP50: keyword1=scanf( );
				    if(P2!=0xf0)
		            { if(keyword1>=0&&keyword1<=0X0F)
		              {HIL=keyword1;LOH=0X12; LOL=0X11;LENG_HI=0X11;LENG_LO=0X11;
					  delay(80);
					   goto TOP70;
				       }
                      else { ERR( );goto TOP50;}
				    }goto TOP50;
				 
		       
		        TOP70: keyword1=scanf( );
				    if(P2!=0xf0)
		            { if(keyword1>=0&&keyword1<=0x0f)
		              { LOH=keyword1;LOL=0X12;LENG_HI=0X11;LENG_LO=0X11;
					 delay(80);
					   goto TOP90;
				       }
                        else { ERR( );goto TOP70;}
				    }goto TOP70;
				 
		         // else {goto  TOP1;}
		        
		       TOP90: keyword1=scanf( );
				    if(P2!=0xf0)
		            { if(keyword1>=0&&keyword1<=0x0f)
		              {LOL=keyword1;LENG_HI=0X12;LENG_LO=0X11;
					  delay(80);
					   goto TOP100;
				       }
                     else { ERR( );goto TOP90;}
				    }goto TOP90;

			    TOP100: keyword1=scanf( );
				    if(P2!=0xf0)
		            { if(keyword1>=0&&keyword1<=0x0f)
		              {LENG_HI=keyword1;LENG_LO=0X12;
					  delay(80);
					   goto TOP110;
				       }
                     else { ERR( );goto TOP100;}
				    }goto TOP100;
				 
				
			    TOP110: keyword1=scanf( );
				    if(P2!=0xf0)
		            { if(keyword1>=0&&keyword1<=0x0f)
		              {LENG_LO=keyword1;
					  delay(80);
					   goto TOP120;
				       }
                     else { ERR( );goto TOP110;}
				    }goto TOP110;
				 
				 
				TOP120:
                    
				{  
				   jiyi_buffer1[0]=(HIH<<4)|HIL;
                   jiyi_buffer1[1]=(LOH<<4)|LOL;
                   jiyi_buffer1[2]=(LENG_HI<<4)|LENG_LO;
				
				  jiyi_buffer1[12]=MODE1;
		        for(k=0+u,l=0;k<3+u;k++,l++)
				{JIYI_SendStr16K(0xa0, 0x00+k,&jiyi_buffer1[l] , 1 );delay(10);}
				  }
				  JIYI_SendStr16K(0xa0, 0x00+k+0x03,&jiyi_buffer1[12] , 1 );
                break;
            }
	       case 2: 
		      {MODE1=0X02;
		       TOP31: keyword1=scanf( );
				    if(P2!=0xf0)
		            { if(keyword1>=0&&keyword1<=0x02)
		              {HIH=keyword1;HIL=0X12;LOH=0X11; LOL=0X11;LENG_HI=0X11;LENG_LO=0X11;
					  delay(80);
					   goto TOP51;
				       }
                       else { ERR( );goto TOP31;}
				    }goto TOP31;
				 
		         
		
		        TOP51: keyword1=scanf( );
				    if(P2!=0xf0)
		            { if(keyword1>=0&&keyword1<=0X0F)
		              {HIL=keyword1;LOH=0X12; LOL=0X11;LENG_HI=0X11;LENG_LO=0X11;
					  delay(80);
					   goto TOP71;
				       }
                      else { ERR( );goto TOP51;}
				    }goto TOP51;
				 
		       
		        TOP71: keyword1=scanf( );
				    if(P2!=0xf0)
		            { if(keyword1>=0&&keyword1<=0x0f)
		              { LOH=keyword1;LOL=0X12;LENG_HI=0X11;LENG_LO=0X11;
					 delay(80);
					   goto TOP91;
				       }
                        else { ERR( );goto TOP71;}
				    }goto TOP71;
				 
		         // else {goto  TOP1;}
		        
		       TOP91: keyword1=scanf( );
				    if(P2!=0xf0)
		            { if(keyword1>=0&&keyword1<=0x0f)
		              {LOL=keyword1;LENG_HI=0X12;LENG_LO=0X11;
					  delay(80);
					   goto TOP101;
				       }
                     else { ERR( );goto TOP91;}
				    }goto TOP91;

			    TOP101: keyword1=scanf( );
				    if(P2!=0xf0)
		            { if(keyword1>=0&&keyword1<=0x0f)
		              {LENG_HI=keyword1;LENG_LO=0X12;
					  delay(80);
					   goto TOP102;
				       }
                     else { ERR( );goto TOP101;}
				    }goto TOP101;
				 
				
			    TOP102: keyword1=scanf( );
				    if(P2!=0xf0)
		            { if(keyword1>=0&&keyword1<=0x0f)
		              {LENG_LO=keyword1;
					  delay(80);
					   goto TOP112;
				       }
                     else { ERR( );goto TOP102;}
				    }goto TOP102;
				 
				 
				TOP112:

				{ 
				 jiyi_buffer1[3]=(HIH<<4)|HIL;
				  jiyi_buffer1[4]=(LOH<<4)|LOL;
				  jiyi_buffer1[5]=(LENG_HI<<4)|LENG_LO;
		         jiyi_buffer1[12]=MODE1;
				for(k=3+u,l=3;k<6+u;k++,l++)
				{JIYI_SendStr16K(0xa0, 0x00+k,&jiyi_buffer1[l] , 1 );delay(10);}
				  }
				  JIYI_SendStr16K(0xa0, 0x00+k+0x03,&jiyi_buffer1[12] , 1 );
                break;
            }
	        case 3:  {MODE1=0X03;
		       TOP32: keyword1=scanf( );
				    if(P2!=0xf0)
		            { if(keyword1>=0&&keyword1<=0x02)
		              {HIH=keyword1;HIL=0X12;LOH=0X11; LOL=0X11;LENG_HI=0X11;LENG_LO=0X11;
					  delay(80);
					   goto TOP52;
				       }
                       else { ERR( );goto TOP32;}
				    }goto TOP32;
				 

⌨️ 快捷键说明

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