当前位置: 首页 > news >正文

制作网站网站策划方案网站

制作网站网站,策划方案网站,营销推广公司案例,网站建设费用价格表硬件电路 接线图: ADC基本结构图 代码配置 根据基本结构框图 1.定义结构体变量 //定义结构体变量 GPIO_InitTypeDef GPIO_InitStructure;//定义GPIO结构体变量 ADC_InitTypeDef ADC_InitStructure; //定义ADC结构体变量 2.开启RCC时钟 ADC、GPIO的时钟&#x…

 硬件电路

接线图:

 ADC基本结构图

代码配置

根据基本结构框图

1.定义结构体变量

//定义结构体变量
GPIO_InitTypeDef GPIO_InitStructure;//定义GPIO结构体变量
ADC_InitTypeDef ADC_InitStructure;  //定义ADC结构体变量

2.开启RCC时钟

ADC、GPIO的时钟,这里ADCCLK的分频器,也需要配置一下选择6分频 ADCCLK = 72MHz/6 = 12MHz

//开启RCC时钟
RCC_APB2PeriphClockCmd(RCC_APB2Periph_ADC1,ENABLE);//开启ADC1的时钟
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE);//开启GPIO A族时钟
RCC_ADCCLKConfig(RCC_PCLK2_Div6);                   //配置分频器 选择6分频 分频之后ADCCLK = 72MHz/6 = 12MHz

3.配置GPIO

把需要用的GPIO配置成模拟输入的模式,在AIN模式下,GPIO口是无效的,断开GPIO,防止GPIO的输入输出对模拟电压造成干扰,AIN模式就是ADC专属模式

//配置GPIO
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AIN;//选择模拟输入
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0;    //配置引脚
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; //速率GPIO_Init(GPIOA, &GPIO_InitStructure);   //GPIO初始化

4.配置多路开关

把左面的通道接入到右边的规则组列表里

//配置多路开关
ADC_RegularChannelConfig(ADC1,ADC_Channel_0,1,ADC_SampleTime_55Cycles5);

5.配置ADC转换器

用结构体配置,包括ADC是单次转换还是连续转换、扫描还是非扫描、有几个通道、触发源是什么、数据对齐是左对齐还是右对齐

//配置ADC转换器
ADC_InitStructure.ADC_ContinuousConvMode = DISABLE;//选择连续转换模式还是单次转换 本次单次转换
ADC_InitStructure.ADC_DataAlign =ADC_DataAlign_Right; //指定ADC数据是左对齐还是右对齐 这次选择右对齐
ADC_InitStructure.ADC_ExternalTrigConv = ADC_ExternalTrigConv_None;//触发控制的触发源 本次使用软件触发
ADC_InitStructure.ADC_Mode = ADC_Mode_Independent;//配置独立模式还是双ADC模式 这里选独立模式
ADC_InitStructure.ADC_NbrOfChannel = 1;//在扫描模式下,总共会用到几个通道 
ADC_InitStructure.ADC_ScanConvMode = DISABLE;//选择扫描模式还是非扫描模式 本次非扫描
ADC_Init(ADC1, &ADC_InitStructure);

6.开关控制

调用ADC_Cmd函数,开启ADC,根据手册建议最好开启校准

//开关控制 开启ADC
ADC_Cmd(ADC1,ENABLE);//开启ADC电源//校准
ADC_ResetCalibration(ADC1);//复位校准
while(ADC_GetResetCalibrationStatus(ADC1) == SET);//返回复位校准状态
ADC_StartCalibration(ADC1);//开始校准
while(ADC_GetCalibrationStatus(ADC1) == SET);//获取校准状态

本次没有用上模拟看门狗以及中断输出控制和NVIC

整体代码

void AD_Init(void)
{//定义结构体变量GPIO_InitTypeDef GPIO_InitStructure;//定义GPIO结构体变量ADC_InitTypeDef ADC_InitStructure;  //定义ADC结构体变量//开启RCC时钟RCC_APB2PeriphClockCmd(RCC_APB2Periph_ADC1,ENABLE);//开启ADC1的时钟RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE);//开启GPIO A族时钟RCC_ADCCLKConfig(RCC_PCLK2_Div6);                   //配置分频器 选择6分频 分频之后ADCCLK = 72MHz/6 = 12MHz//配置GPIOGPIO_InitStructure.GPIO_Mode = GPIO_Mode_AIN;//选择模拟输入GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0;    //配置引脚GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; //速率GPIO_Init(GPIOA, &GPIO_InitStructure);   //GPIO初始化//配置多路开关ADC_RegularChannelConfig(ADC1,ADC_Channel_0,1,ADC_SampleTime_55Cycles5);//配置ADC转换器ADC_InitStructure.ADC_ContinuousConvMode = DISABLE;//选择连续转换模式还是单次转换 本次单次转换ADC_InitStructure.ADC_DataAlign =ADC_DataAlign_Right; //指定ADC数据是左对齐还是右对齐 这次选择右对齐ADC_InitStructure.ADC_ExternalTrigConv = ADC_ExternalTrigConv_None;//触发控制的触发源 本次使用软件触发ADC_InitStructure.ADC_Mode = ADC_Mode_Independent;//配置独立模式还是双ADC模式 这里选独立模式ADC_InitStructure.ADC_NbrOfChannel = 1;//在扫描模式下,总共会用到几个通道 ADC_InitStructure.ADC_ScanConvMode = DISABLE;//选择扫描模式还是非扫描模式 本次非扫描ADC_Init(ADC1, &ADC_InitStructure);//开关控制 开启ADCADC_Cmd(ADC1,ENABLE);//开启ADC电源//校准ADC_ResetCalibration(ADC1);//复位校准while(ADC_GetResetCalibrationStatus(ADC1) == SET);//返回复位校准状态ADC_StartCalibration(ADC1);//开始校准while(ADC_GetCalibrationStatus(ADC1) == SET);//获取校准状态}

功能代码

uint16_t AD_GetValue(void)
{ADC_SoftwareStartConvCmd(ADC1,ENABLE);//软件触发转换while(ADC_GetFlagStatus(ADC1,ADC_FLAG_EOC) == RESET);//判断转换是否完成return ADC_GetConversionValue(ADC1);//获取转换结果}

主函数

#include "AD.h"
int main(void)
{OLED_Init();AD_Init();				uint16_t value;float volatge;OLED_ShowString(1, 1, "Value:");OLED_ShowString(2, 1, "VOlatge:0.00V");while(1){value = AD_GetValue();volatge = (float)value / 4050 * 3.3;OLED_ShowNum(1, 6, value, 4);OLED_ShowNum(2, 9, volatge, 1);OLED_ShowNum(2, 11, (uint16_t)(volatge * 100) % 100, 2);Delay_ms(100);}}

http://www.mmbaike.com/news/34589.html

相关文章:

  • 北京 响应式网站建设优化关键词的步骤
  • 济宁有没有专门做网站的网络营销的应用
  • 团队网站怎么做seo推广软
  • 做网站新手流程百度影响力排名顺序
  • 网站的验证码是怎么做的关键词怎么写
  • 网站建设方案 doc最近国际新闻大事
  • 什么网站可以发布信息站长工具seo推广秒收录
  • wordpress个人博客模版seo怎么优化效果更好
  • wordpress entrance 1.2网站标题优化排名
  • 平面设计培训网广州seo排名优化服务
  • 有了域名怎么制作网站吗网站排名软件推荐
  • 盐城网站建设效果汕头seo推广
  • 电子商务网站面临的安全隐患域名注册查询入口
  • 网络营销网站建设方案关键词seo深圳
  • 辽宁做网站和优化普通话的顺口溜6句
  • 网站建设学什么东莞网络推广
  • 网站企业百度快照投诉中心
  • 建设银行的英语网站seo搜索引擎是什么意思
  • 网站建设竞价托管外包谷歌seo外链
  • 深圳龙华做网站的fifa世界排名最新
  • 集约化网站建设管理深圳网站建设三把火科技
  • 网站速度打开慢的原因win7优化设置
  • 工会网站建设网络营销经典成功案例
  • 做愛偷拍视频网站专业的营销团队哪里找
  • 武汉设计网站的公司宝鸡网站开发公司
  • 大学生兼职网网站建设计划书千锋教育培训多少钱
  • wordpress5置顶关键词seo
  • 网站搭建学什么软件中国站长站
  • 关于做公司app的软件或网站合肥网站优化搜索
  • 学做网站视频论坛市场调研报告800字