标题: stm32f103 ADC采集并通过串口发送 库函数版本 [打印本页]

作者: plyl    时间: 2018-7-31 17:52
标题: stm32f103 ADC采集并通过串口发送 库函数版本
单片机源程序如下:
  1. #include "led.h"
  2. #include "delay.h"
  3. #include "key.h"
  4. #include "sys.h"
  5. #include "lcd.h"
  6. #include "usart.h"         
  7. #include "adc.h"




  8. int main(void)
  9. {         
  10.   u16 adcx;
  11.         float temp;
  12.         delay_init();                     //延时函数初始化          
  13.         NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);//设置中断优先级分组为组2:2位抢占优先级,2位响应优先级
  14.         uart_init(115200);                 //串口初始化为115200
  15.         LED_Init();                             //LED端口初始化
  16.         LCD_Init();                                
  17.         Adc_Init();                                  //ADC初始化

  18.         POINT_COLOR=RED;//设置字体为红色
  19.         LCD_ShowString(60,50,200,16,16,"WarShip STM32");       
  20.         LCD_ShowString(60,70,200,16,16,"ADC TEST");       
  21.         LCD_ShowString(60,90,200,16,16,"ATOM@ALIENTEK");
  22.         LCD_ShowString(60,110,200,16,16,"2015/1/14");       
  23.         //显示提示信息
  24.         POINT_COLOR=BLUE;//设置字体为蓝色
  25.         LCD_ShowString(60,130,200,16,16,"ADC_CH0_VAL:");             
  26.         LCD_ShowString(60,150,200,16,16,"ADC_CH0_VOL:0.000V");               
  27.         while(1)
  28.         {
  29.                 adcx=Get_Adc_Average(ADC_Channel_1,10);
  30.                 LCD_ShowxNum(156,130,adcx,4,16,0);//显示ADC的值
  31.                 temp=(float)adcx*(3.3/4096);
  32.                 adcx=temp;
  33.                 LCD_ShowxNum(156,150,adcx,1,16,0);//显示电压值
  34.                 temp-=adcx;
  35.                 temp*=1000;
  36.                 LCD_ShowxNum(172,150,temp,3,16,0X80);
  37.                 LED0=!LED0;
  38.                 delay_ms(250);       
  39.         }
  40. }

复制代码

所有资料51hei提供下载:
stm32f103 ADC实验.zip (376.88 KB, 下载次数: 109)







欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1