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

📄 runmain.c

📁 跑步机单片机程序
💻 C
📖 第 1 页 / 共 5 页
字号:
     Write_command(0x8a,0);   //write  row address
     for(col=0;col<7;col++)
	    Write_data(sanjiao5[row][col]);
    }   //finish xia ban ping
}

void DisplaySanJiao6(void)
{ coldz=0x8c;
  for(row=0;row<20;row++)
    {Write_command(coldz,0);   //write col address 
     coldz=coldz+1;
     Write_command(0x82,0);   //write  row address
     for(col=0;col<7;col++)
	    Write_data(sanjiao6[row][col]);

    }   //finish shang ban ping
	WDT_CONTR=0x3a;
   coldz=0x80;
  for(row=20;row<40;row++)
    {Write_command(coldz,0);   //write col address 
     coldz=coldz+1;
     Write_command(0x8a,0);   //write  row address
     for(col=0;col<7;col++)
	    Write_data(sanjiao6[row][col]);
    }   //finish xia ban ping
}

void DisplaySanJiao7(void)
{ coldz=0x8c;
  for(row=0;row<20;row++)
    {Write_command(coldz,0);   //write col address 
     coldz=coldz+1;
     Write_command(0x82,0);   //write  row address
     for(col=0;col<7;col++)
	    Write_data(sanjiao7[row][col]);

    }   //finish shang ban ping
	WDT_CONTR=0x3a;
   coldz=0x80;
  for(row=20;row<40;row++)
    {Write_command(coldz,0);   //write col address 
     coldz=coldz+1;
     Write_command(0x8a,0);   //write  row address
     for(col=0;col<7;col++)
	    Write_data(sanjiao7[row][col]);
    }   //finish xia ban ping
}
//disp railway flash
void disprailway(void)
 { // EA=1;
     flashi++; 
	   if(flashi==13)    //finish xia ban ping 
          { flashcoldz=0x9f;
		    flashrowdz=0x81;
          }
	   else if(flashi==25)    //finish xia ban ping 
          {flashi=1;  // EA=0;
		   flashcoldz=0x97;
		    flashrowdz=0x89;
			 coldz=0x88;   //clear flash tu 
             for(i=0;i<24;i++)
              {Write_command(coldz,0);   //write col address 
               coldz=coldz+1;
               Write_command(0x81,0);   //write  row address
               for(col=0;col<12;col++)
            	    Write_data(0);
              }   //finish shang ban ping
              coldz=0x80;
              for(i=0;i<24;i++)
                {Write_command(coldz,0);   //write col address 
                 coldz=coldz+1;
                 Write_command(0x89,0);   //write  row address
                 for(col=0;col<12;col++)
         	    Write_data(0);
               }   //finish xia ban ping
          }
	    for(i=2;i>0;i--)
		{Write_command(flashcoldz,0);   //write col address 
		 flashcoldz=flashcoldz-1;
		 Write_command(flashrowdz,0);   //write  row address
         for(col=0;col<12;col++)
      	     Write_data(flashtu[47+i-flashi*2][col]);
		}
}  //end disprailway
void clearflashtu(void)
{  coldz=0x80;
  for(row=0;row<32;row++)
    {Write_command(coldz,0);   //write col address 
     coldz=coldz+1;
     Write_command(0x81,0);   //write  row address
     for(col=0;col<12;col++)
	    Write_data(0);

    }   //finish shang ban ping
	WDT_CONTR=0x3a;
   coldz=0x80;
  for(row=32;row<64;row++)
    {Write_command(coldz,0);   //write col address 
     coldz=coldz+1;
     Write_command(0x89,0);   //write  row address
     for(col=0;col<12;col++)
	    Write_data(0);

    }   //finish xia ban ping
}
void disprundao(void)
{  coldz=0x80;
  for(row=0;row<32;row++)
    {Write_command(coldz,0);   //write col address 
     coldz=coldz+1;
     Write_command(0x81,0);   //write  row address
     for(col=0;col<12;col++)
	    Write_data(rundao[row][col]);

    }   //finish shang ban ping
	WDT_CONTR=0x3a;
   coldz=0x80;
  for(row=32;row<64;row++)
    {Write_command(coldz,0);   //write col address 
     coldz=coldz+1;
     Write_command(0x89,0);   //write  row address
     for(col=0;col<12;col++)
	    Write_data(rundao[row][col]);

    }   //finish xia ban ping
}

void InitCpu(void)   //init cpu
{
  EA=0;
  P0=0xFF;
  SCON=0x00;     
  TMOD=0x01;
  TH0=-50000/256;                  
  TL0=-50000%256;
  ET0=1; 
  TR0=1;
  EX0=1;  //允许中断
  IT0=0;  //中断触发方式   ,电平
  IP=1;
  EA=1;   //modify 0
}
void service_int0(void) interrupt 0 using 0  //键盘中断
{EA=0;
// TR0=0;
 keyflag=1;
}

void  Timer0(void) interrupt 1 using 2   //定时器中断
 {  EA=0;
    t0status=1;
    teststatus=0;
    testupflag=0;
     TR0=0;

 }
void d1ms(uint x)
{uchar dj;
  while(x--)
     for(dj=0;dj<120;dj++);
 WDT_CONTR=0x3a; 
}
void d10us(uchar x)
{uchar dj;
 for(dj=0;dj<x;dj++);
}

void disppaodao(void)
{  if(runleftflag==1)
	  { coldz=0x8a;  //lie address
	   if(fourcount==0)
	   {//clear up last
	    if(clearupflag==1) 
	     {clearupflag=0;
     	  oldcoldz=0x8c;
         for(i=0;i<4;i++)
	         {Write_command(oldcoldz,0);   //write col address 
     	      oldcoldz=oldcoldz+1;		  // ;
              Write_command(0x86,0);   //write  row address
               for(col=0;col<2;col++)
                 Write_data(runupclearte[col]);   //
     		 }
		  }
	    for(i=0;i<4;i++)
	     {Write_command(coldz,0);   //write col address 
	      coldz=coldz+1;		  // ;
         Write_command(oldrowdz,0);   //write  row address
         for(col=0;col<2;col++)
             Write_data(0);
		}
	   }
       coldz=0x8a;  //lie address
       for(i=0;i<4;i++)
	     {Write_command(coldz,0);   //write col address 
	      coldz=coldz+1;		  // ;
          oldrowdz=rowdz;
         Write_command(rowdz,0);   //write  row address
         for(col=0;col<2;col++)
             Write_data(runleft[fourcount][col]);
		}
   	 fourcount++;

       if(fourcount>3)  
	     {fourcount=0;
          
		  rowdz=rowdz-1;
		  
 		  if(rowdz<0x82) { rowdz=0x82; downcoldz=0x8c;rundownflag=1;runleftflag=0;pcol=12;}

		 }
		}//end rightflag
	  if(runrightflag==1)
	  { coldz=0x96;  //lie address
	   if(fourcount==0)
	   {   //clear bottom last
	     if(cleardownflag==1)
	      {cleardownflag=0;
		   oldcoldz=0x94;
           for(i=0;i<4;i++)
	         {Write_command(oldcoldz,0);   //write col address 
     	      oldcoldz=oldcoldz+1;		  // ;
              Write_command(0x89,0);   //write  row address
               for(col=0;col<2;col++)
                 Write_data(rundownclearte[col]);   //
     		 }
		   }
	    for(i=0;i<4;i++)
	     {Write_command(coldz,0);   //write col address 
	      coldz=coldz+1;		  // ;
         Write_command(oldrowdz,0);   //write  row address
         for(col=0;col<2;col++)
             Write_data(0);
		}
	   }
       coldz=0x96;  //lie address
	    for(i=0;i<4;i++)
	     {Write_command(coldz,0);   //write col address 
	      coldz=coldz+1;		  // ;
          oldrowdz=rowdz;
         Write_command(rowdz,0);   //write  row address
         for(col=0;col<2;col++)
             Write_data(runright[fourcount][col]);
		}
    	 fourcount++;
       if(fourcount>3)  
	     {fourcount=0;
		  rowdz=rowdz+1;
 		  if(rowdz>0x8d) {  uptime=0;  downcoldz=0x97; pcol=55;runupflag=1;runrightflag=0;}
		 }
		}//end rightflag
	  if(rundownflag==1)
	  {if(downtime==0)   //clear run right last one
	    { coldz=0x8a;  //lie address
		   for(i=0;i<4;i++)
    	     {Write_command(coldz,0);   //write col address 
	          coldz=coldz+1;		  // ;
              Write_command(0x82,0);   //write  row address
              for(col=0;col<2;col++)
              Write_data(0);
		     }
		}
		else if(downtime>0 && downtime<6)
 	       {//oldcoldz=downcoldz-4;
		    for(i=0;i<4;i++)
	         {Write_command(oldcoldz,0);   //write col address 
     	      oldcoldz=oldcoldz+1;		  // ;
              Write_command(0x81,0);   //write  row address
			 // oldpcol=pcol-;
             for(col=0;col<2;col++)
               {dispvalue=rundownclear[col];
			    dispold=rundao[oldpcol][col];  //process tu 
			    dispvalue0=dispvalue0&dispold0;
			    dispvalue7=dispvalue7&dispold7;
			    Write_data(dispvalue);
			   }
		     oldpcol++;
              }
		   }
		 else if(downtime>5 && downtime<12)
 	       {//oldcoldz=downcoldz-4;
		    for(i=0;i<4;i++)
	         {Write_command(oldcoldz,0);   //write col address 
     	      oldcoldz=oldcoldz+1;		  // ;
               Write_command(0x89,0);   //write  row address
               for(col=0;col<2;col++)
                 {dispvalue=rundownclear[col];
			      dispold=rundao[oldpcol][col];  //process tu 
			      dispvalue0=dispvalue0&dispold0;
			      dispvalue7=dispvalue7&dispold7;
			      Write_data(dispvalue);
			     }
		     oldpcol++;
     		 }
		   }
	  if(downtime<5)
        {oldpcol=pcol;
		 for(i=0;i<4;i++)
	     {Write_command(downcoldz,0);   //write col address 
	      downcoldz=downcoldz+1;		  // ;
          Write_command(0x81,0);   //write  row address
         for(col=0;col<2;col++)
             {dispvalue=rundown[col];
			  dispold=rundao[pcol][col];  //process tu 
			  dispvalue0=dispvalue0&dispold0;
			  dispvalue7=dispvalue7&dispold7;
			  Write_data(dispvalue);
			 }
		  pcol++;

		 }
		}
	  else
        {oldpcol=pcol;
		 for(i=0;i<4;i++)
	     {Write_command(downcoldz,0);   //write col address 
	      downcoldz=downcoldz+1;		  // ;
          Write_command(0x89,0);   //write  row address
         for(col=0;col<2;col++)
             {dispvalue=rundown[col];
			  dispold=rundao[pcol][col];  //process tu 
			  dispvalue0=dispvalue0&dispold0;
			  dispvalue7=dispvalue7&dispold7;
			  Write_data(dispvalue);
			 }
		  pcol++;
		 }
		}
		downtime++;
		oldcoldz=downcoldz-4;
		if(downtime==5) {downcoldz=0x80;  oldcoldz=0x9c;}   //shang ban bu 5 tiem xia ban bu 6 ci  
		if(downtime==11) {downtime=0; rundownflag=0;
		   runrightflag=1;uptime=0;  downcoldz=0x97; cleardownflag=1;
		   rowdz=0x8a;oldrowdz=0x8a;}
      }//end downflag

	  if(runupflag==1)
	  {if(uptime==0)   //clear run right last one
	    { coldz=0x96;  //lie address
		   for(i=0;i<4;i++)
    	     {Write_command(coldz,0);   //write col address 
	          coldz=coldz+1;		  // ;
              Write_command(0x8d,0);   //write  row address
             for(col=0;col<2;col++)
             Write_data(0);
		     }
		}
	  else if(uptime>0 && uptime<7)
 	       {//oldcoldz=downcoldz-4;
		    for(i=0;i<4;i++)
	         {Write_command(oldcoldz,0);   //write col address 
     	      oldcoldz=oldcoldz+1;		  // ;
               Write_command(0x8e,0);   //write  row address
              for(col=0;col<2;col++)
                {dispvalue=runupclear[col];
     			 dispold=rundao[oldpcol][col+10];  //process tu 
			     dispvalue0=dispvalue0&dispold0;
			     dispvalue7=dispvalue7&dispold7;
			     Write_data(dispvalue);
			    }
		       oldpcol++;
              }
		   }
		 else if(uptime>6 && uptime<12)
 	       {//oldcoldz=downcoldz-4;
		    for(i=0;i<4;i++)
	         {Write_command(oldcoldz,0);   //write col address 
     	      oldcoldz=oldcoldz+1;		  // ;
               Write_command(0x86,0);   //write  row address
              for(col=0;col<2;col++)
                {dispvalue=runupclear[col];
     			 dispold=rundao[oldpcol][col+10];  //process tu 
			     dispvalue0=dispvalue0&dispold0;
			     dispvalue7=dispvalue7&dispold7;
			     Write_data(dispvalue);
			    }
		       oldpcol++;
              }
		   }
	  if(uptime<6)
        {oldpcol=pcol-3;
		 for(i=0;i<4;i++)
	     {Write_command(downcoldz,0);   //write col address 
	     

⌨️ 快捷键说明

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