www.pudn.com > fft-2440-ledshuma.rar > ledshuma.c


#include  
#include  
#include  
#include "2410addr.h" 
#include "option.h" 
#include "strata16.h" 
volatile  unsigned int * pLedData; 
 
void delay1() 
{ 
  int i; 
 for(i=1;i<20000;i++) 
   { 
    //int b; 
   // for (j=0;j<1000;j++); 
        
      
   }   
} 
 
//------------------------------------------------------------------------ 
// 函数名	:	HC164_SendDat() 
// 功  能	:	向74HC164发送一字节数据 
//------------------------------------------------------------------------ 
void  HC164_SendDat(unsigned char data_input) 
{   unsigned char  j; 
 
   for(j=0; j<8; j++)					// 发送8位数据 
   {   
       rGPGDAT=rGPGDAT&(~(0x1<<9));		// CLK = 0 
       
										// 设置DATA移位输出 
      if( (data_input&0x80)!=0 ) 
      		rGPGDAT=rGPGDAT|(0x1<<8); 
      else  
      		rGPGDAT=rGPGDAT&(~(0x1<<8)); 
      		 
      data_input <<= 1; 
      rGPGDAT=rGPGDAT|(0x1<<9);		// CLK = 1 
   } 
} 
 
// 8段数码管码表                               
unsigned char const  LED_TAB[] = { 0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07, 
							0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71 }; 
void Main(void) 
{ 
	 pLedData=(volatile  unsigned int *)( 0x20000000); 
	 rGPGCON = 0x50000; 
	while(1) 
	 
{    int k; 
       
       printf("fftchina"); 
        
       for(k=0;k<16;k++) 
       { 
       HC164_SendDat(~LED_TAB[k]); 
       delay1(); 
        
       } 
        
      /* *pLedData=0xc0c00000; 
        delay1();  
        *pLedData=0xf9f90000; 
        delay1(); 
       *pLedData=0xa4a40000; 
       delay1(); 
       *pLedData=0xb0b00000; 
       delay1(); 
       *pLedData=0x99990000; 
       delay1(); 
       *pLedData=0x92920000; 
       delay1(); 
       *pLedData=0x82820000; 
       delay1(); 
       *pLedData=0xf8f80000; 
       delay1(); 
       *pLedData=0x80800000; 
       delay1(); 
       *pLedData=0x90900000; 
       delay1(); 
     
    */ 
       
}; 
}