void delay( int t )
{ int k,j;
for(k=0;k<t;k++)
for(j=0;j<1000;j++)
;
}
void SCLK(char i)
{ if(i==1)
GPIO_PinSet(GPIO_PTC0);
else
GPIO_PinClear(GPIO_PTC0);
}
void RCLK(char i)
{ if(i==1)
GPIO_PinSet(GPIO_PTC1);
else
GPIO_PinClear(GPIO_PTC1);
}
void DIO(char i)
{ if(i==1)
GPIO_PinSet(GPIO_PTD5);
else
GPIO_PinClear(GPIO_PTD5);
}
void H595_Conver( int data)
{ char t;
RCLK(0);
for(t=0;t<16;t++)
{ if((data&0x8000)==0x8000)
DIO(1);
else
DIO(0);
SCLK(1);
data=data<<1;
SCLK(0);
}
RCLK(1);
}
char led[10]={ 0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F};
int main (void);
void RTC_Task(void);
/******************************************************************************
* Global functions
******************************************************************************/
/********************************************************************/
int main (void)
{ char temp;
char i;
int j,k;
long int adc_data;
char da[8];
ADC_ConfigType sADC_Config = {0};
sysinit();
cpu_identify();
sADC_Config.u8ClockDiv = ADC_ADIV_DIVIDE_4;//ÉèÖÃʱÖÓÔ´4·ÖƵ
sADC_Config.u8ClockSource = CLOCK_SOURCE_BUS_CLOCK;//Ñ¡ÔñʱÖÓԴΪBUSʱÖÓ
sADC_Config.u8Mode = ADC_MODE_12BIT;//ת»»Ä£Ê½Ñ¡ÔñΪ12λת»»
ADC_Init( ADC, &sADC_Config);//³õʼ»¯ADCÄ£¿é
GPIO_PinInit(GPIO_PTC0, GPIO_PinOutput);
GPIO_PinInit(GPIO_PTC1, GPIO_PinOutput);
GPIO_PinInit(GPIO_PTD5, GPIO_PinOutput);
while(1)
{ //printf("VREFH conversion= %d\r\n",ADC_PollRead(ADC,ADC_CHANNEL_AD10 )*3280/4096);
adc_data=ADC_PollRead(ADC,ADC_CHANNEL_AD10 )*3280/4096;
for(i=0;i<8;i++)
{da[7-i]=adc_data%10;
adc_data=adc_data/10;
}
for(i=0;i<8;i++)
{ if(i==4)
H595_Conver( ((0xff-led[da]-0x80)<<8)|(0x01<<(7-i)));
else
H595_Conver( ((0xff-led[da])<<8)|(0x01<<(7-i)));
delay(2);
}
}
}
/*****************************************************************************//*!
*
* @ TRCÈÎÎñ×Óº¯ÊýÉÁ˸LED1
*
* ÎÞ·µ·µ»Ø
*
*****************************************************************************/
void RTC_Task(void)
{
}
/********************************************************************/
|