请修改代码,让它实现(1)按下KEY0键,一次采集 ADC 测量的电压值显示在LCD上;(2)按下KEY1键,采集5次ADC 测量的电压值,求平均显示在 LCD 上。int main(void) { u16 adcx; // ADC??? float temp; // ??? float temperate; // ??? u8 times; // ??????? // ??? delay_init(); uart_init(9600); LED_Init(); LCD_Init(); T_Adc_Init(); // ??????? POINT_COLOR=RED; LCD_ShowString(60,50,200,16,16,"Mini STM32"); LCD_ShowString(60,70,200,16,16,"Temperature TEST"); LCD_ShowString(60,90,200,16,16,"ATOM@ALIENTEK"); LCD_ShowString(60,110,200,16,16,"2014/3/9"); POINT_COLOR=BLUE; LCD_ShowString(60,130,200,16,16,"TEMP_VAL:"); LCD_ShowString(60,150,200,16,16,"TEMP_VOL:0.000V"); LCD_ShowString(60,170,200,16,16,"TEMPERATE:00.00C"); while(1) { // ???? if(KEY_Scan(0) == KEY0_PRES) { // ??KEY0? adcx = T_Get_Adc(ADC_CH_TEMP); // ??ADC? temp = (float)adcx * (3.3/4096); // ????? LCD_ShowxNum(132,130,adcx,4,16,0); // ??ADC? LCD_ShowxNum(132,150,temp,1,16,0); // ????? temperate = (1.43 - temp) / 0.0043 + 25; // ????? LCD_ShowxNum(140,170,(u8)temperate,2,16,0); // ????? temperate -= (u8)temperate; // ?????? LCD_ShowxNum(164,170,temperate*100,2,16,0X80); // ????? } else if(KEY_Scan(0) == KEY1_PRES) { // ??KEY1? times = 5; // ??5? adcx = 0; // ADC??? while(times--) { adcx += T_Get_Adc(ADC_CH_TEMP); // ??ADC? delay_ms(10); // ??10ms } temp = (float)adcx / 5 * (3.3/4096); // ??????? LCD_ShowxNum(132,150,temp,1,16,0); // ??????? temperate = (1.43 - temp) / 0.0043 + 25; // ??????? LCD_ShowxNum(140,170,(u8)temperate,2,16,0); // ????? temperate -= (u8)temperate; // ?????? LCD_ShowxNum(164,170,temperate*100,2,16,0X80); // ????? } LED0=!LED0; // LED?? delay_ms(250); // ??250ms } }