嵌入式作业6.2 ADC 编程
1.嵌入式系统学习札记系列2.嵌入式作业1.1 嵌入式系统常用术语3.嵌入式作业1.2 运行示例程序4.嵌入式作业2.1 汇编练习5.嵌入式笔记2.1 ARM Cortex-M3M4汇编指令集6.嵌入式笔记2.2 ARM-GUN汇编简介7.嵌入式作业3.1 GPIO点亮小灯8.嵌入式笔记1.1 ARM Cortex-M3M4简介9.嵌入式笔记3.1 GPIO(mcu 手册)10.嵌入式笔记4.2 USART11.嵌入式笔记4.3 Cortex-M3与Cortex-M4异常和中断详解12.嵌入式作业4.1 USART 编程13.嵌入式笔记4.1 GPIO 功能复用14.嵌入式笔记5.1 定时器详解15.嵌入式作业5.1 定时器编程16.嵌入式作业6.1 Flash 在线编程17.嵌入式笔记6.1 Flash
18.嵌入式作业6.2 ADC 编程
19.嵌入式作业6.3 CAN 总线编程20.嵌入式 Linux 基础:环境配置(Debian 12 安装配置)在ADC实验中,结合热敏电阻,分别通过触摸芯片表面和热敏电阻,引起A/D值变化,显示芯片内部温度和当前温度。#
程序代码#
//主函数
int main(void)
{
uint16_t num_AD1;
uint16_t num_AD2;
uint16_t num_AD3;
uint32_t mMainLoopCount; //主循环次数变量
//关总中断
DISABLE_INTERRUPTS;
mMainLoopCount=0; //主循环次数变量
adc_init(ADC_CHANNEL_1,AD_DIFF); //初始化ADC通道1,
adc_init(ADC_CHANNEL_15,AD_DIFF); //初始化ADC通道15
adc_init(ADC_CHANNEL_TEMPSENSOR,AD_SINGLE); //初始化ADC通道:内部温度
ENABLE_INTERRUPTS;
printf("------------------------------------------------------\n");
printf("金葫芦提示: \n");
printf("(1)目的:ADC单端输入与差分输入测试 \n");
printf("(2)单端:内部温度传感器,通道号17,无需引脚对应 \n");
printf(" 差分:GEC引脚47、46(通道1、2) \n");
printf(" GEC引脚12、11(通道15、16) \n");
printf("(3)测试方法:单端:手摸芯片表面,A/D值增大,不要摸 \n");
printf(" 到引脚,静电可能损坏芯片 \n");
printf(" 差分:将引脚47接地、46接3.3V,观察通道1情况\n");
printf(" 将引脚46接地、47接3.3V,观察通道1情况\n");
printf(" 类似方法,观察通道15 \n");
printf("------------------------------------------------------\n");
for(;;)
{
//主循环次数变量+1
mMainLoopCount++;
//未达到主循环次数设定值,继续循环
//延时1秒
if (mMainLoopCount<=30000000) continue;
//达到主循环次数设定值,执行下列语句,进行灯的亮暗处理
//清除循环次数变量
mMainLoopCount=0;
num_AD1 = adc_ave(ADC_CHANNEL_1,8);
num_AD2 = adc_ave(ADC_CHANNEL_15,8);
num_AD3 = adc_ave(ADC_CHANNEL_TEMPSENSOR,8);
printf("通道1(GEC47、46)的A/D值: %d\r\n",num_AD1);
printf("通道1(GEC47、46)的温度值: %f\r\n",Regression_Ext_Temp(num_AD1));
printf("通道15(GEC12、11)的A/D值:%d\r\n",num_AD2);
printf("通道15(GEC12、11)的温度值:%f\r\n",Regression_Ext_Temp(num_AD2));
printf("内部温度传感器的A/D值:%d\r\n",num_AD3);
printf("内部温度传感器的温度值:%f\r\n\n",Regression_MCU_Temp(num_AD3));
}
}
运行效果#
使热敏电阻升温:

使 mcu 升温:

【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了