说明:该项目为51单片机常用协议、芯片等的常用函数,如 IIc、i_wire(单总线)、Uart、数码管、LCD1602、 ADC0809、74HC595、按键、矩阵按键、定时器、外部中断、led矩阵屏等
//数据缓存
u16 ADC_date[8] = {0,0,0,0,0,0,0,0};
u16 ADC_Start()
{
u8 temp,temp2;
ADC_START = 0;
ADC_OE = 0;
ADC_START = 1;
ADC_START = 0;
while (ADC_EOC == 0);
ADC_OE = 1;
temp = GET_ADC_DATE;
ADC_OE = 0;
temp2 = temp*5/256;
return temp2;
}
void ADC_Pass_Chose(u8 pass_chose)
{
switch (pass_chose)
{
case PASS_0: adc_a = 0;adc_b = 0; adc_c = 0; break;
case PASS_1: adc_a = 1;adc_b = 0; adc_c = 0; break;
case PASS_2: adc_a = 0;adc_b = 1; adc_c = 0; break;
case PASS_3: adc_a = 1;adc_b = 1; adc_c = 0; break;
case PASS_4: adc_a = 0;adc_b = 0; adc_c = 1; break;
case PASS_5: adc_a = 1;adc_b = 0; adc_c = 1; break;
case PASS_6: adc_a = 0;adc_b = 1; adc_c = 1; break;
case PASS_7: adc_a = 1;adc_b = 1; adc_c = 1; break;
}
ADC_date[pass_chose] = ADC_Start();
}
void Read_ADCdate()
{
static u8 i = 0;
ADC_Pass_Chose(i);
i = i++;
if(i > 8)
{
i = 0;
}
}
void ADC_init()
{
ADC_OE = 0;
ADC_START = 0;
}



