标题:
stm32六路外部ADC读取 串口显示程序源码
[打印本页]
作者:
ccjjlk
时间:
2018-7-23 19:32
标题:
stm32六路外部ADC读取 串口显示程序源码
stm32f103 六路外部ADC读取
单片机源程序如下:
#include "led.h"
#include "delay.h"
#include "key.h"
#include "adc.h"
#include "sys.h"
#include "usart.h"
extern u8 Res;
int main(void)
{
//u16 t;
u16 adcx1,adcx2,adcx3,adcx4,adcx5,adcx6; //存放原始ADC值
float temp1,temp2,temp3,temp4,temp5,temp6; //中间变量
delay_init(); //延时函数初始化
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2); //设置NVIC中断分组2:2位抢占优先级,2位响应优先级
uart_init(115200); //串口初始化为115200
LED_Init(); //LED端口初始化
KEY_Init(); //按键初始化
Adc_Init(); //ADC初始化
while(1)
{
adcx1=Get_Adc_Average(ADC_Channel_1,10); //获取二氧化碳数值
temp1=adcx1*(3.3/4096);
printf("二氧化碳浓度:%f\n",temp1);
adcx2=Get_Adc_Average(ADC_Channel_2,10);
temp2=adcx2*(3.3/4096);
printf("氢气浓度:%f\n",temp2);
adcx3=Get_Adc_Average(ADC_Channel_3,10);
temp3=adcx3*(3.3/4096);
printf("有害气体浓度:%f\n",temp3);
adcx4=Get_Adc_Average(ADC_Channel_4,10);
temp4=adcx4*(3.3/4096);
printf("酒精浓度:%f\n",temp4);
adcx5=Get_Adc_Average(ADC_Channel_5,10);
temp5=adcx5*(3.3/4096);
printf("二氧化碳浓度:%f\n",temp5);
adcx6=Get_Adc_Average(ADC_Channel_6,10);
temp6=adcx6*(3.3/4096);
printf("二氧化碳浓度:%f\n",temp6);
/*if(KEY0==0){
delay_ms(1000);
printf("11");
}
if(KEY1==0){
delay_ms(1000);
printf("22");
}
if(WK_UP==1){
delay_ms(1000);
printf("33");
}
if(USART_RX_STA&0x8000)
{
t=Res;
switch(t)
{ case 'A':LED0=!LED0;break;
case 'B':LED1=!LED1;break;
case 'C':LED0=!LED0;LED1=!LED1;break;
}
}*/
}
}
复制代码
所有资料51hei提供下载:
实验17 ADC实验.rar
(338.67 KB, 下载次数: 64)
2018-7-23 23:11 上传
点击文件名下载附件
下载积分: 黑币 -5
作者:
Bazinga2019
时间:
2019-4-2 11:39
感谢分享
作者:
乡下人
时间:
2019-4-2 16:58
谢谢楼主分享
作者:
huangzongwu
时间:
2019-4-8 14:10
刚好遇到类似项目,急需,可惜黑币不够,下次再来!
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1