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

📄 8255._c

📁 这是一款基于AVR单片机的直流稳压电源的设计项目
💻 _C
📖 第 1 页 / 共 3 页
字号:
  delay(1);

  LCDCS21;
  LCDCS11;

  delay(100);
  write_command(Disp_Off);
  write_command((Page_Add+0));
  write_command((Start_Line+0));
  write_command((Col_Add+0));
  write_command((Disp_On));
 }

void init_IO()
{
 DDRE=0xEF;
 PORTE=0xff;
 DDRB=0xff;
 PORTB=0xff;
 DDRD=0xf0;
 PORTD=0xf0;
 DDRF=0xfb;
 PORTF=0xfb;
 DDRG=0xff;
 PORTG=0xff;
 DDRA=0XFF;
 PORTA=0XFF;
 DDRC=0XFF;
 PORTC=0XFF;
 
}

//TLC5615
void startDA(unsigned int da)
{  
 unsigned char i;
da<<=6;
CS_DA0;asm("nop");
SPI_CLK0;
for (i=0;i<11;i++)
{								  
if((da&0x8000)==0x8000) 
SPI_DATA1;
if((da&0x8000)!=0x8000) 
SPI_DATA0;
SPI_CLK1;						
da<<=1;
SPI_CLK0;
}
CS_DA1; 
SPI_CLK0;
for (i=0;i<11;i++);
} 
//TLC2543
unsigned int startAD(unsigned char CHN) 
{ 
  unsigned char i,CHN1,k;
unsigned int backcode=0;

     CHN1=CHN;
 for(k=0;k<50;k++)
 
 {   CHN=CHN1;backcode=0;		 
	CHN <<= 4;
	tlc2543_cs1;
	tlc2543_clk0;
	tlc2543_cs0;
	for(i=0;i<12;i++)
	{
			if(i < 8)
			{
				if(CHN & 0x80) tlc2543_din1; 
				else tlc2543_din0; 
 			   
			    CHN<<=1;
			}
			backcode <<= 1;
			if(tlc2543_dout==0x04)
			backcode|= 1;
			else backcode|= 0;
			tlc2543_clk1;
			asm("nop");
			asm("nop");
			tlc2543_clk0;
	}


	tlc2543_cs1;
   date2=(date2*1000+backcode )/1000;

} 

 date1=(date2/50)*1000;	date2=0;

 return(date1)	 ;
	
 }
 //ad9851
 void ad9851( unsigned long int  pinlv)			 
 {	char i;
   	 
    kongzhi[0]=0x09;
    kongzhi[1]=12*pinlv/256/256;
    kongzhi[2]=12*pinlv/256%256;
    kongzhi[3]=12*pinlv%256;
    kongzhi[4]=1490*pinlv%256;
   wclk0;  fqud0;
 for (i=0;i<5;i++)
 { 
   ad9851shuju=kongzhi[i];
   delay(1);
   wclk1;
   delay(1);
	  wclk0;
	  

   }
   fqud1;
   delay(1);
	fqud0;

 }		 

//显示部分
void startmsg()
{int nu;
unsigned char nm=0;
Clr_Scr(); 
   LCDCS21;LCDCS10;
   disp_hz(0,32, huan);
   delay(3000);
   disp_hz(0,48, ying);
   delay(3000);
   LCDCS20;LCDCS11;
   disp_hz(0,0, shi);
    delay(3000);
   disp_hz(0,16, yong);
    LCDCS21;LCDCS10;
   disp_hz(4,16, shu);
   delay(3000);
   disp_hz(4,32, kong);
   delay(3000);
   disp_hz(4,48, wen);
   delay(3000);
  LCDCS20;LCDCS11;
   disp_hz(4,0, dya);
    delay(3000);
   disp_hz(4,16, ddian);
  delay(3000);
   disp_hz(4,32, yuan);
   for(nu=0;nu<100;nu++)
{fengmingqiON;delay(30);fengmingqiOFF;delay(30);}
fengmingqiOFF;/*erjiguanOFF;*/
delay(30000);
	
}
void caidan(void)
 {  Clr_Scr();
    Clr_Scr();
   LCDCS21;LCDCS10;
   disp_zf(0,8, sz1);
   disp_zf(0,16,xiaoshu);
   disp_hz(0,32,wen);
   disp_hz(0,48,dya);
	delay(1000);
   	LCDCS20;LCDCS11;
	disp_hz(0,0,chu);
	disp_hz(0,16,cu);
   	delay(1000);
	LCDCS21;LCDCS10;
   disp_zf(2,8, sz2);
   disp_zf(2,16,xiaoshu);
   disp_hz(2,32,heng);
	disp_hz(2,48,dliu);
   delay(1000);
   	LCDCS20;LCDCS11;
	 disp_hz(2,0,chu);
	disp_hz(2,16,cu);
	delay(1000);
  LCDCS21;LCDCS10;
   disp_zf(4,8, sz3);
   disp_zf(4,16,xiaoshu);
   disp_hz(4,32,bo);
  disp_hz(4,48,xing);
  delay(1000); 
 LCDCS20;LCDCS11;
   disp_hz(4,0,chu);
	disp_hz(4,16,cu);
	delay(10000);
 }
void xianshi10()
 {Clr_Scr();  
   Clr_Scr(); 
	LCDCS21;LCDCS10;
	disp_hz(0,0, dqing);
	disp_hz(0,16, chu);
	 disp_hz(0,32, ru);
	 disp_hz(0,48, you);
	 LCDCS20;LCDCS11;
	 disp_hz(0,0, xiao);
	 disp_hz(0,16, ddian);
	  disp_hz(0,32, dya);
	  	LCDCS21;LCDCS10;
		 disp_zf(2,0, sz2);
		 disp_zf(2,8, zhixian);
		 disp_zf(2,16, sz1);
		 disp_zf(2,24, sz5);
		 disp_zf(2,32, zfv);
	 LCDCS20;LCDCS11;
  disp_zf(2,16, sz0);
 disp_zf(2,24, sz0);
 disp_zf(2,32, xiaoshu);
 disp_zf(2,40, sz0);
 disp_zf(2,48, zfv);	  
}
 void xianshi11()
   {Clr_Scr();  
   Clr_Scr(); 
 LCDCS21;LCDCS10;
 disp_hz(2,0, yu);
 disp_hz(2,16, zhi);
disp_hz(2,32, ddian);
 disp_hz(2,48, dya);
  LCDCS20;LCDCS11;
 disp_zf(2,16, num[jianzhi[0]]);
  disp_zf(2,24, num[jianzhi[1]]);
    disp_zf(2,32, xiaoshu);
   disp_zf(2,40, num[jianzhi[2]]);
 disp_zf(4,48, zfv);
disp_zf(2,48, zfv);
  LCDCS21;LCDCS10;
   disp_hz(4,0, si);
  disp_hz(4,16, ji);
 disp_hz(4,32, ddian);
 disp_hz(4,48, dya);

   }
   void xianshiAD1(unsigned char CHN)
{ int da;
  unsigned char x;
  for(x=0;x<2;x++) 
  da=3*startAD(CHN);
 LCDCS20;LCDCS11;
 disp_zf(4,16, num[da/10000]);
 disp_zf(4,24, num[(da/1000)%10]);
 disp_zf(4,32, xiaoshu);
 disp_zf(4,40, num[(da/100)%10]);

}
void xianshi20()
 {Clr_Scr();  
   Clr_Scr(); 
	LCDCS21;LCDCS10;
	disp_hz(0,0, dqing);
	disp_hz(0,16, chu);
	 disp_hz(0,32, ru);
	 disp_hz(0,48, you);
	 LCDCS20;LCDCS11;
	 disp_hz(0,0, xiao);
	 disp_hz(0,16, ddian);
	  disp_hz(0,32, dliu);
	 
	  	LCDCS21;LCDCS10; 
		 disp_zf(2,0, sz2);
		 disp_zf(2,8, sz0);
		 disp_zf(2,16, zhixian);
		 disp_zf(2,24, sz2);
		 disp_zf(2,32, sz0);
		disp_zf(2,40, sz0);
	
		disp_zf(2,48, sz0);
	
		disp_zf(2,56, zfm);
		LCDCS20;LCDCS11;
		disp_zf(2,0, zfA);
	   disp_zf(2,16, sz0);
        disp_zf(2,24, sz0);
		disp_zf(2,32, sz0);
	   disp_zf(2,40, sz0);
	   	disp_zf(2,48, zfm);
			disp_zf(2,56, zfA);



  

   }
   
   void xianshi21() 
   {Clr_Scr();  
   Clr_Scr(); 
  LCDCS21;LCDCS10;
  disp_hz(2,0, yu);
  disp_hz(2,16, zhi);
  disp_hz(2,32, ddian);
  disp_hz(2,48, dliu);
   LCDCS20;LCDCS11;
  	disp_zf(2,16, num[jianzhi[0]]);
   disp_zf(2,24, num[jianzhi[1]]);
    disp_zf(2,32, num[jianzhi[2]]);
	 disp_zf(2,40, num[jianzhi[3]]);
	 
		disp_zf(2,48, zfm);
		disp_zf(2,56, zfA);
		  disp_zf(4,48, zfm);
		disp_zf(4,56, zfA);
    LCDCS21;LCDCS10;
  disp_hz(4,0, si);
  disp_hz(4,16, ji);
 disp_hz(4,32, ddian);
 disp_hz(4,48, dliu);

   }
   void xianshiAD2(unsigned char CHN)
{  int da;
  unsigned char x;
  for(x=0;x<2;x++) 
  da=startAD(CHN)/2;
 LCDCS20;LCDCS11;
 disp_zf(4,16, num[da/1000]);
 disp_zf(4,24, num[(da/100)%10]);

 disp_zf(4,32, num[(da/10)%10]);
 disp_zf(4,40, num[da%10]);

}
void guoliu()
 {Clr_Scr();  Clr_Scr();
   LCDCS21;LCDCS10;
   disp_hz(2,16, guo);
   disp_hz(2,32, dliu);
   
   LCDCS20;LCDCS11;
   disp_hz(2,0, dqing);
    disp_hz(2,16, chong);
   disp_hz(2,32, qi);
	



 }
	void xianshi30()
 {Clr_Scr();
 LCDCS11;LCDCS20;
  disp_zf(2,0,sz0) ;
  disp_zf(2,8,sz0) ;
  disp_zf(2,16,sz0) ;
  disp_zf(2,24,sz0) ;
   disp_zf(2,40,sz0) ;
  LCDCS10;LCDCS21;
   disp_hz(0,0,dqing);
    disp_hz(0,16,chu);
    disp_hz(0,32,ru);
     disp_hz(0,48,yu);
      LCDCS11;LCDCS20;
      disp_hz(0,0,zhi);  
       disp_hz(0,16,pin);
        disp_hz(0,32,lv);  
          LCDCS10;LCDCS21;
          disp_zf(2,0,sz0) ;
          disp_zf(2,8,zhixian) ;
          disp_zf(2,16,sz5) ;
          disp_zf(2,24,zfM) ;

 }
 void xianshi31()
 {Clr_Scr();
LCDCS10;LCDCS21;
disp_hz(2,0,yu);
 disp_hz(2,16,zhi);
 disp_hz(2,32,pin);
 disp_hz(2,48,lv);
  LCDCS11;LCDCS20;
  disp_zf(2,0,num[jianzhi[0]]) ;
  disp_zf(2,8,num[jianzhi[1]]) ;
  disp_zf(2,16,num[jianzhi[2]]) ;
  disp_zf(2,24,num[jianzhi[3]]) ;
   disp_zf(2,40,num[jianzhi[4]]) ;
     disp_zf(2,48,zfk) ;
   LCDCS10;LCDCS21;
    disp_zf(4,0,num[kongzhi[1]/100]) ;
	  disp_zf(4,8,num[(kongzhi[1]/10)%10]) ;
	    disp_zf(4,16,num[kongzhi[1]%10]) ;
	      disp_zf(4,32,num[kongzhi[2]/100]) ;
	        disp_zf(4,40,num[(kongzhi[2]/10)%10]) ;
	          disp_zf(4,48,num[kongzhi[2]%10]) ;
	       LCDCS11;LCDCS20;
	       disp_zf(4,0,num[kongzhi[3]/100]) ;
	  disp_zf(4,8,num[(kongzhi[3]/10)%10]) ;
	    disp_zf(4,16,num[kongzhi[3]%10]) ;
	    disp_zf(4,32,num[kongzhi[4]/100]) ;
	        disp_zf(4,40,num[(kongzhi[4]/10)%10]) ;
	          disp_zf(4,48,num[kongzhi[4]%10]) ;
	          
 }
   void dianyabujin()
 {unsigned int   re;
   if(((key&0x0f)==14)) 
       {while((key&0x0f)==14); writeDA=writeDA+8; if(writeDA>=1000) writeDA=1000;
	   re=writeDA*12;
        
        startDA(writeDA);
         LCDCS20;LCDCS11;
         disp_zf(2,16, num[re/10000]);
        disp_zf(2,24, num[(re/1000)%10]);
        disp_zf(2,32, xiaoshu);
         disp_zf(2,40, num[(re/100)%10]);  
                           
           }
                          
   if(((key&0x0f)==13)) 
      {while((key&0x0f)==13);writeDA=writeDA-8;if(writeDA<=0) writeDA=0; re=writeDA*12;
        
        startDA(writeDA);
       LCDCS20;LCDCS11;
        disp_zf(2,16, num[re/10000]);
        disp_zf(2,24, num[(re/1000)%10]);
        disp_zf(2,32, xiaoshu);
         disp_zf(2,40, num[(re/100)%10]);                          
         } 

 }
void dianliubujin()
 { unsigned int   re;
   if(((key&0x0f)==14)) 
       {while((key&0x0f)==14);writeDA=writeDA+4;  if(writeDA>=1000) writeDA=1000 ; re=writeDA*2;
        startDA(writeDA);
          LCDCS20;LCDCS11;
  	disp_zf(2,16, num[re/1000]);
        disp_zf(2,24, num[(re/100)%10]);
        disp_zf(2,32, num[(re/10)%10]);
	disp_zf(2,40, num[re%10]);          
           }
                          
   if(((key&0x0f)==13))    
      {while((key&0x0f)==13);writeDA=writeDA-4;if(writeDA<=0) writeDA=0; re=writeDA*2;
        startDA(writeDA);

⌨️ 快捷键说明

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