/****************************************************************** 名称:void LCD_DisNum(u8 Line,u32 Num) 功能:将输入的数字显示在12864上 调用:LCD_DisNum(); LCD_Write(); 入口参数说明: Line 为所要显示在的行数,取值为1-4,若输入0则默认为紧随上一个地址写 Num 为所显示浮点数,六位精度 ******************************************************************/ void LCD_DisXiaoShu(u8 Line,double Num) { u32 Zheng; //储存整数部分 u32 Xiao; //储存小数部分 u32 temp; temp=Num*1000000; Zheng=(u32)(Num); Xiao=temp-Zheng*1000000; if(Xiao!=0) { u8 i=0; u32 j=100000; while(Xiao<j) { i++; j/=10; } while(Xiao%10==0) { Xiao/=10; } LCD_DisNum(Line,Zheng); LCD_Write(LCD_Flag_Data,'.'); while(i>0) { LCD_Write(LCD_Flag_Data,'0'); i--; } LCD_DisNum(0,Xiao); } else { LCD_DisNum(Line,Zheng); } }
/** * @brief 主函数 * @param 无 * @retval 无 */ int main(void) { LCD_Init(); LCD_Clear(0, 0, 240, 320, BACKGROUND); LCD_DispChar(60, 60, 'A', RED); LCD_DispStr(10, 10, (uint8_t *)"This is a lcd demo to display ascii", RED); LCD_DispStr(40, 100, (uint8_t *)"count:", RED); for( n=0; n<500000; n++ ) { LCD_DisNum(100, 100, n, RED); Lcd_Delay(0xAFFf>>4); } while( 1 ){} }
int main(void) { GPIO_Config(); SYSTICK_Config(); LCD_Init(); ADC_Config(); USART_Config(); DAC_Mode_Init(); LCD_Clear(0, 0, 240, 320, BACKGROUND); LCD_DispStr(40, 60, (uint8_t*)"Iin_Base:", BLACK); LCD_DispStr(40, 90, (uint8_t*)"Iin_Phase:", BLACK); LCD_DispStr(40, 110, (uint8_t*)"Vin_Phase:", BLACK); LCD_DispStr(40, 140, (uint8_t*)"PF:", BLACK); // // Init_Iin(Iin); // Init_Vin(Vin); // // cr4_fft_256_stm32(Iin_FFT,Iin,NPT); // cr4_fft_256_stm32(Vin_FFT,Vin,NPT); // // GetPowerMag(Iin_Mag,Iin_FFT); // // BasePercent = GetBasePercent(Iin_Mag); // // Iin_Phase = GetPhase(Iin_FFT); // // Vin_Phase = GetPhase(Vin_FFT); // // PowerFactor = GetPFValue(BasePercent, Iin_Phase, Vin_Phase); // // LCD_DispADC(120, 60, BasePercent, BLACK); // LCD_DisNum(120, 90, (uint16_t)Iin_Phase, BLACK); // LCD_DisNum(120, 110, (uint16_t)Vin_Phase, BLACK); // LCD_DispADC(120, 140, PowerFactor, BLACK); while(1) { Vin_total=0; Iin_total=0; Iout_total=0; for(i=0;i<NPT;i++) { Vin[i]=ADCConvertedValue[i*5]; //Vin_total+=Vin[i]; Iin[i]=ADCConvertedValue[i*5+1]; //Iin_total+=Iin[i]; Iout[i]=ADCConvertedValue[i*5+2]; //Iout_total+=Iout[i]; } // Vin_total=Vin_total/256; // Iin_total=Iin_total/256; // Iout_total=Iout_total/256; // LCD_DisNum(120, 90, Vin_total, BLACK); // LCD_DisNum(120, 110, Iin_total, BLACK); // LCD_DisNum(120, 130, Iout_total, BLACK); cr4_fft_256_stm32(Iin_FFT,Iin,NPT); cr4_fft_256_stm32(Vin_FFT,Vin,NPT); GetPowerMag(Iin_Mag,Iin_FFT); BasePercent = GetBasePercent(Iin_Mag); Iin_Phase = GetPhase(Iin_FFT); Vin_Phase = GetPhase(Vin_FFT); PowerFactor = GetPFValue(BasePercent, Iin_Phase, Vin_Phase); LCD_DispADC(120, 60, BasePercent, BLACK); LCD_DisNum(120, 90, (uint16_t)Iin_Phase, BLACK); LCD_DisNum(120, 110, (uint16_t)Vin_Phase, BLACK); LCD_DispADC(120, 140, PowerFactor, BLACK); } } //main
void Dispaly_H(void) { LCD_DisNum(10, 10, hsl_l[0].h ,WHITE); LCD_DisNum(35, 10, hsl_l[1].h ,WHITE); LCD_DisNum(60, 10, hsl_l[2].h ,WHITE); LCD_DisNum(10, 30, hsl_l[3].h ,WHITE); LCD_DisNum(35, 30, hsl_l[4].h ,WHITE); LCD_DisNum(60, 30, hsl_l[5].h ,WHITE); LCD_DisNum(10, 50, hsl_l[6].h ,WHITE); LCD_DisNum(35, 50, hsl_l[7].h ,WHITE); LCD_DisNum(60, 50, hsl_l[8].h ,WHITE); LCD_DisNum(10, 80, hsl_l[0].s ,WHITE); LCD_DisNum(35, 80, hsl_l[1].s ,WHITE); LCD_DisNum(60, 80, hsl_l[2].s ,WHITE); LCD_DisNum(10, 100, hsl_l[3].s ,WHITE); LCD_DisNum(35, 100, hsl_l[4].s ,WHITE); LCD_DisNum(60, 100, hsl_l[5].s ,WHITE); LCD_DisNum(10, 120, hsl_l[6].s ,WHITE); LCD_DisNum(35, 120, hsl_l[7].s ,WHITE); LCD_DisNum(60, 120, hsl_l[8].s ,WHITE); LCD_DisNum(10, 160, hsl_l[0].l ,WHITE); LCD_DisNum(35, 160, hsl_l[1].l ,WHITE); LCD_DisNum(60, 160, hsl_l[2].l ,WHITE); LCD_DisNum(10, 180, hsl_l[3].l ,WHITE); LCD_DisNum(35, 180, hsl_l[4].l ,WHITE); LCD_DisNum(60, 180, hsl_l[5].l ,WHITE); LCD_DisNum(10, 200, hsl_l[6].l ,WHITE); LCD_DisNum(35, 200, hsl_l[7].l ,WHITE); LCD_DisNum(60, 200, hsl_l[8].l ,WHITE); LCD_DisNum(210, 160, hsl_l[0].color ,WHITE); LCD_DisNum(235, 160, hsl_l[1].color ,WHITE); LCD_DisNum(260, 160, hsl_l[2].color ,WHITE); LCD_DisNum(210, 180, hsl_l[3].color ,WHITE); LCD_DisNum(235, 180, hsl_l[4].color ,WHITE); LCD_DisNum(260, 180, hsl_l[5].color ,WHITE); LCD_DisNum(210, 200, hsl_l[6].color ,WHITE); LCD_DisNum(235, 200, hsl_l[7].color ,WHITE); LCD_DisNum(260, 200, hsl_l[8].color ,WHITE); LCD_DisColor(210, 10, hsl_l[0].color ); LCD_DisColor(235, 10, hsl_l[1].color ); LCD_DisColor(260, 10, hsl_l[2].color ); LCD_DisColor(210, 30, hsl_l[3].color ); LCD_DisColor(235, 30, hsl_l[4].color ); LCD_DisColor(260, 30, hsl_l[5].color ); LCD_DisColor(210, 50, hsl_l[6].color ); LCD_DisColor(235, 50, hsl_l[7].color ); LCD_DisColor(260, 50, hsl_l[8].color ); LCD_DispChar(210,70,area[page],WHITE); }