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

📄 runmain.c

📁 跑步机单片机程序
💻 C
📖 第 1 页 / 共 5 页
字号:
     _nop_();      
   }
  d10us(3);            //delay 25us
  cs=1;
  return(u);            //return ad data
}


void advaluesum(void)
{ testmin=1024;  testmax=0;
  testad=adc();
  if(testmin>testad) testmin=testad;
  if(testmax<testad) testmax=testad;
  testsum=testad;
  testad=adc();
  if(testmin>testad) testmin=testad;
  if(testmax<testad) testmax=testad;
  testsum=testsum+testad;
  testad=adc();
  if(testmin>testad) testmin=testad;
  if(testmax<testad) testmax=testad;
  testsum=testsum+testad;
  testad=adc();
  if(testmin>testad) testmin=testad;
  if(testmax<testad) testmax=testad;
  testsum=testsum+testad;
  testad=adc();
  if(testmin>testad) testmin=testad;
  if(testmax<testad) testmax=testad;
  testsum=testsum+testad;
  testsum=testsum-testmax-testmin;
}

/*=======================================================
显示字符串
=======================================================*/
void Display(uchar *ptr,uchar ddram)
{uchar k,il,x;
 k=0;
 if(ddram<0x88)
{hang=0;}//定位行地址:第一行
else if(ddram<0x90)
{hang=2;}//定位行地址:第三行
else if(ddram<0x98)
{hang=1;}//定位行地址:第二行
else
{hang=3;}//定位行地址:第四行

lie=0x0f&ddram;//定位列地址
  if(lie>0x07) lie=lie-0x08;
x=lie*2;
Write_command(ddram,0);//定位显示起始地址
while((ptr[k])!='\0') k++;
for(il=0;il<=k;il++)
{//Write_command(ddram+il,0);
 Write_data(ptr[il]);//输出单个字符
x++;
if(x==0x10)
{x=0;
hang++;
  switch(hang) 
   {
    case 0: Write_command(0x80,0);
    break;
    case 1: Write_command(0x90,0);
    break;
    case 2: Write_command(0x88,0);
    break;
    case 3: Write_command(0x98,0);
   }
   if(hang>3) 
   {Write_command(0x80,0);
    hang=0;
   }
}
}
}
void displaypodu(void)
{       switch(poduid)
			 {case 1:
	     		   clearpodu();
				   tempkeyvalue=7;
			       displaypodu123();
				   displaypodu4();
				   displaypodu567();
 			 	break;
                case 2:
		           clearpodu();
				   tempkeyvalue=6;
				   displaypodu123();
				   displaypodu4();
				   displaypodu567();
				break;
     		   case 3:
    				clearpodu();
				   tempkeyvalue=5;
  	    			displaypodu123();
		    		displaypodu4();
			    	displaypodu567();
				break;	
    	       case 4:
    				clearpodu();
				   tempkeyvalue=4;
	    			displaypodu123();
		    		displaypodu4();
 				break;
    	       case 5:
    				clearpodu();
				   tempkeyvalue=3;
	    			displaypodu123();
				break;
     		   case 6:
				clearpodu();
				tempkeyvalue=2;
				displaypodu123();
 				break;
               case 7:
    			clearpodu();
  			    tempkeyvalue=1;
				displaypodu123();
  				break;	  
				}
 }
void cleartu(void)    //all screen clear
 {coldz=0x80;
  for(row=0;row<32;row++)
    {Write_command(coldz,0);   //write col address 
     coldz=coldz+1;
     Write_command(0x80,0);   //write  row address
     for(col=0;col<16;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(0x88,0);   //write  row address
     for(col=0;col<16;col++)
	    Write_data(0);

    }   //finish xia ban ping*/
  }
void clearBigpodu(void)
 {coldz=0x88;
  for(row=0;row<24;row++)
    {Write_command(coldz,0);   //write col address 
     coldz=coldz+1;
     Write_command(0x81,0);   //write  row address
     for(col=0;col<14;col++)
	    Write_data(0);

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

    }   //finish xia ban ping*/
  }
void clearpodu(void)
 {coldz=0x80;
  for(row=0;row<32;row++)
    {Write_command(coldz,0);   //write col address 
     coldz=coldz+1;
     Write_command(0x80,0);   //write  row address
     for(col=0;col<2;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(0x88,0);   //write  row address
     for(col=0;col<2;col++)
	    Write_data(0);

    }   //finish xia ban ping*/
  }
void clearspeed(void)
 {coldz=0x80;
  for(row=0;row<32;row++)
    {Write_command(coldz,0);   //write col address 
     coldz=coldz+1;
     Write_command(0x87,0);   //write  row address//write the adrress
     for(col=0;col<2;col++)
	    Write_data(0);

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

    }   //finish xia ban ping*/
  }
void dispzi(void)
{   coldz=0x80;
  for(row=0;row<32;row++)
    {Write_command(coldz,0);   //write col address 
     coldz=coldz+1;
     Write_command(0x80,0);   //write  row address
     for(col=0;col<16;col++)
	    Write_data(zi[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(0x88,0);   //write  row address
     for(col=0;col<16;col++)
	    Write_data(zi[row][col]);

    }   //finish xia ban ping
}
void displayspeed(void)
   {coldz=0x9f;    //right side
		   for(i=0;i<speed;i++)
             {if (i==8) coldz=0x9f;
			  for(row=0;row<4;row++)
              {Write_command(coldz,0);   //write col address 
			   coldz=coldz-1;
			  if(i>7)  Write_command(0x87,0);   //write  row address
              else  Write_command(0x8f,0);   //write  row address
              for(col=0;col<2;col++)
      	      Write_data(testwhite[row][col]);
              }   //finish shang ban ping
			 }          //cleartu();
    }//end display podu
void displaypodu123(void)  //display 1,2,3,po du 
{     coldz=0x9f;  //left side
	  for(i=0;i<tempkeyvalue;i++)
           {for(row=0;row<9;row++)
             {Write_command(coldz,0);   //write col address 
		      coldz=coldz-1;
              Write_command(0x88,0);   //write  row address
              for(col=0;col<2;col++)
    	      Write_data(outputpodu[row][col]);
              }   //finish shang ban ping
   		 }          //cleartu();
}
void displaypodu4(void)  //display 4 po du 
{     coldz=0x84;  //output low 5 hang 
      for(row=0;row<5;row++)
         {Write_command(coldz,0);   //write col address 
	      coldz=coldz-1;
          Write_command(0x88,0);   //write  row address
          for(col=0;col<2;col++)
          Write_data(outputpodu[row][col]);
         }   //finish shang ban ping
	  coldz=0x9f;  //output high 5 hang
       for(row=5;row<10;row++)
         {Write_command(coldz,0);   //write col address 
	      coldz=coldz-1;
           Write_command(0x80,0);   //write  row address
           for(col=0;col<2;col++)
           Write_data(outputpodu[row][col]);
         }   //finish shang ban ping
}
void displaypodu567(void)   //display 5,6,7 po du 
{     coldz=0x9a;  //left side
	  for(i=4;i<tempkeyvalue;i++)
         {for(row=0;row<9;row++)
             {Write_command(coldz,0);   //write col address 
		      coldz=coldz-1;
			  Write_command(0x80,0);   //write  row address
              for(col=0;col<2;col++)
    	      Write_data(outputpodu[row][col]);
             }   //finish shang ban ping
   		 }          //cleartu();
}


void DisplaySanJiao1(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(sanjiao1[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(sanjiao1[row][col]);
    }   //finish xia ban ping
}

void DisplaySanJiao2(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(sanjiao2[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(sanjiao2[row][col]);
    }   //finish xia ban ping
}

void DisplaySanJiao3(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(sanjiao3[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(sanjiao3[row][col]);
    }   //finish xia ban ping
}

void DisplaySanJiao4(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(sanjiao4[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(sanjiao4[row][col]);
    }   //finish xia ban ping
}
void DisplaySanJiao5(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(sanjiao5[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;

⌨️ 快捷键说明

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