单片机源程序如下:
- #include "led.h"
- #include "delay.h"
- #include "stm32f10x.h"
- #include "lcd.h"
- #include "usart.h"
- #include "adc.h"
- extern __IO uint16_t ADC_Value;
-
-
- // 局部变量,用于保存转换计算后的电压值
- float ADC_ValueLocal=0;
- int ValueLocal=0;
-
- int main(void)
- {
- int i;
- SystemInit ();
- delay_init(); //延时函数初始化
- USART_Config(115200); //串口初始化为115200
- LED_Init(); //LED端口初始化
- Adc_Init(); //ADC初始化
- // TIM3_PWM_Init(899,0); //不分频。PWM频率=72000000/900=80Khz
- // KEY_Init();
- while (1)
- {
- for(i=0;i<50;i++)
- {
- ADC_ValueLocal =(float) ADC_Value/4096*5+ADC_ValueLocal;
- }
- ADC_ValueLocal=ADC_ValueLocal/50;
- printf("\r\n The current ADC_ValueLocal = %f V \r\n",ADC_ValueLocal);
- if(ADC_ValueLocal<=1.7&&ADC_ValueLocal>1.4)
- {
- ValueLocal=0;
- }else if(ADC_ValueLocal<=2.0&&ADC_ValueLocal>1.7)
- {
- ValueLocal=1;
- }else if(ADC_ValueLocal<=2.4&&ADC_ValueLocal>2.0)
- {
- ValueLocal=2;
- }else if(ADC_ValueLocal<=2.8&&ADC_ValueLocal>2.4)
- {
- ValueLocal=3;
- }
- else if(ADC_ValueLocal<=3.3&&ADC_ValueLocal>2.8)
- {
- ValueLocal=4;
- }else if(ADC_ValueLocal<=3.6&&ADC_ValueLocal>3.3)
- {
- ValueLocal=5;
- }else if(ADC_ValueLocal<=4&&ADC_ValueLocal>3.6)
- {
- ValueLocal=6;
- }else if(ADC_ValueLocal<=5&&ADC_ValueLocal>4)
- {
- ValueLocal=7;
- }else ValueLocal=8;
- switch(ValueLocal)
- {
- case 0:
- LED0=1;LED1=LED2=LED3=LED4=LED5=LED6=LED7=0;break;
- case 1:
- LED1=1;LED0=1; LED2=LED3=LED4=LED5=LED6=LED7=0;break;
- case 2:
- LED2=1; LED1=1;LED0=1;LED3=LED4=LED5=LED6=LED7=0;break;
- case 3:
- LED3=1; LED2=1; LED1=1;LED0=1;LED4=LED5=LED6=LED7=0; break;
- case 4:
- LED4=1;LED3=1; LED2=1; LED1=1;LED0=1;LED5=LED6=LED7=0;break;
- case 5:
- LED5=1;LED4=1;LED3=1; LED2=1; LED1=1;LED0=1;LED6=LED7=0;break;
- case 6:
- LED6=1;LED5=1;LED4=1;LED3=1; LED2=1; LED1=1;LED0=1;LED7=0;break;
- case 7:
- LED7=1; LED6=1;LED5=1;LED4=1;LED3=1; LED2=1; LED1=1;LED0=1;break;
- case 8:
- LED0=LED1=LED2=LED3=LED4=LED5=LED6=LED7=0;break;
- }
-
- }
- }
复制代码
所有程序51hei提供下载:
STM32F103C8T6蓝牙音箱.7z
(219.12 KB, 下载次数: 70)
|