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(); */ }; }