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

电力建设期刊 网站无法访问怎样做百度网站

电力建设期刊 网站无法访问,怎样做百度网站,四川建设厅官方网站文件下载,2019做地方门户网站ADC简介 18个通道#xff1a;外部信号源就是16个GPIO回。在引脚上直接接模拟信号就行了#xff0c;不需要侄何额外的电路。引脚就直接能测电压。2个内部信号源是内部温度传感器和内部参考电压。 逐次逼近型ADC: 它是一个独立的8位逐次逼近型ADC芯片#xff0c;这个ADC0809是…ADC简介 18个通道外部信号源就是16个GPIO回。在引脚上直接接模拟信号就行了不需要侄何额外的电路。引脚就直接能测电压。2个内部信号源是内部温度传感器和内部参考电压。 逐次逼近型ADC: 它是一个独立的8位逐次逼近型ADC芯片这个ADC0809是一款经典的ADC芯片。现在单片机的性能和集成都有很大的提升很多单片机内部就有ADC芯片这样就不用外挂芯片了引脚可以直接测电压使用还是非常方便的。 首先左边这里的IN0~IN7,是8路输入通道通过通道选择开关选中这一路输入到这个点进行转换 。下面是地址锁存和译码就是你想选中那个通道就把通道号放在这三个脚上 然后给一个锁存信号上面这里对应的通路开关就可以自动拨好了这部分就相当于一个可必通过模拟信号的数据选择器。因为AD转换是一个很快的过程你给个开始信号过几个us就转换完成了所以说如果你想转换多路信号只需要一个AD转换器。然后加一个多路选择开想转换哪路就先拨一下选中对应通道然后再开始转换就行了。 STM32内部的ADC是有18个输入通道的所以对应这里就是有18路输入的多路开关。 1个外部通道输入的未知编码的电压和一个DAC输出的已知编码的电压。它俩同时输入到电压比较器进行大小判断。如果DAC输出的电压比较大我就调小DAC数据如果DAC输出的电压比较小我就增大DAC数据,直至DAC输出的电压和外部通道输入的电压相等这样DAC输入的数据就是外部电压的编码数据了。 ADC框图 左边是ADC的输入通道包括16个GPIO口IN0~N15;和两个内部的通道,一个是内部温度传感器另一个是参考电压。总共18个输入通道然后到达这里这是一个模拟多路开关可以指定我们想要选择的通道。右边是多路开关的输出进入模数转换器转换结果会直接放在这个数据寄存器我们读取寄存器就能知道ADC转换的结果了。 注入通道和规则通道 对于普通的ADC,多路开关一般都是只选中某一个通道、开始转换、等待转换完成、取出结果。 在这里它可以同时选中多个在转换的时候还分成了两个组规则通道组和注入通道组。规则组一次可以最多选中16个通道注入组最多可以选中4个通道。规则组虽然可以选中16个通道但是数据寄存器只能存取一个结果如果不想之前的结果被覆盖那在转换完成之后就要把结果拿走。注入组最多可以选4个通道但他的数据寄存器有4个所以他就不用担心数据被覆盖的问题了。 中断触发ADC转换 STM32的ADC触发ADC开始转换的信号有两种1、软件触发就是在程序中手动调用一条代码就可以启动转换了。2、硬件触发左下角选中的触发源。这些触发源主要是定时器有定时器的各个通道。 上面两个是ADC的参考电压决定了ADC输入电压的范围下面两个是ADC的供电引脚。一般情况VREF要接VDDA,VREF-要接VSSA。 ADC的时钟ADCCLK ADCCLK来自预分频器ADC预分频器是来源与RCC的。 ADCCLK最大14MHzADC预分频可以选择2、4、6、8分频选择2分频36MHz,超出ADCCLK的范围了所以只能选择6分频或者8分频。 ADC基本结构图 左边是输入通道16个GPIO口加两个内部的通道然后进入AD转换器。 AD转换器里有两个组 1、规则组一次可以最多选中16个通道虽然可以选中16个通道但是数据寄存器只能存取一个结果如果不想之前的结果被覆盖那在转换完成之后就要把结果拿走。 2、注入组最多可以选中4个通道但他的数据寄存器有4个所以他就不用担心数据被覆盖的问题了。 触发控制软件触发、硬件触发 RCC的时钟CLOCKADC逐次比较的过程就是有这个这个时钟推动的。 输入通道 转换模式 1、单次转换非扫描模式 选择指定的转换通道然后我们就可以触发转换ADC对选定的通道进行模数转换转换完成之后转换结果放在数据寄存器里同时EOC标志位置1整个转换过程就结束了。 ─ 转换数据被储存在16位ADC_DR寄存器中 ─ EOC(转换结束)标志被设置 ─ 如果设置了EOCIE则产生中断。 2、连续转换非扫描模式 首先他还是非扫描模式所以菜单列表就只用第一个然后他与单次转换的不同的是它在第一次转换之后不会停止而是立刻开始下一轮的转换然后一直持续。 3、单次转换扫描模式 这个模式也是单次转换所以每触发一次转换结束后就会停下来下次转换就得再触发才能开始。然后它是扫描模式这就会用到这个菜单列表了这里每个位置是通道几可以任意指定并且也是可以重复的。 16个通道位置用不完的情况只用前几个那就需要再给一个通道数目的参数几个通道。比如说这里指定的通道数目为7那就只看前7个位置然后每次触发之后他就一次对这前7个位置进行AD转换转换结果都放在数据寄存器里。为了防止数据被覆盖就需要用DMA及时将数据挪走。7个通道转化完成之后产生EOC信号转换结束。 4、连续转换扫描模式 就是在单次转换扫描模式的基础上一次转换完之后立刻开始下一轮的转换。 数据对齐 STM32F103C8T6这个ADC是12位的它的转换结果就是一个12位的数据但是数据寄存器是16位的所以就存在一个数据对齐的问题。 数据右对齐12位的数据向右靠高位多出来的几位就补0 数据左对齐低位多出来的几位补0 我们一般使用的是右对齐这样读取的16位寄存器直接就是转换结果。如果是左对齐的话结果比实际结果大左移4位相当于把结果乘16了。 转换时间 校准 示例工程 1、AD单通道实现 #include stm32f10x.h // Device header/*** 函 数AD初始化* 参 数无* 返 回 值无*/ void AD_Init(void) {/*开启时钟*/RCC_APB2PeriphClockCmd(RCC_APB2Periph_ADC1, ENABLE); //开启ADC1的时钟RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE); //开启GPIOA的时钟/*设置ADC时钟*/RCC_ADCCLKConfig(RCC_PCLK2_Div6); //选择时钟6分频ADCCLK 72MHz / 6 12MHz/*GPIO初始化*/GPIO_InitTypeDef GPIO_InitStructure;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); //将PA0引脚初始化为模拟输入/*规则组通道配置*/ADC_RegularChannelConfig(ADC1, ADC_Channel_0, 1, ADC_SampleTime_55Cycles5); //规则组序列1的位置配置为通道0/*ADC初始化*/ADC_InitTypeDef ADC_InitStructure; //定义结构体变量ADC_InitStructure.ADC_Mode ADC_Mode_Independent; //模式选择独立模式即单独使用ADC1ADC_InitStructure.ADC_DataAlign ADC_DataAlign_Right; //数据对齐选择右对齐ADC_InitStructure.ADC_ExternalTrigConv ADC_ExternalTrigConv_None; //外部触发使用软件触发不需要外部触发ADC_InitStructure.ADC_ContinuousConvMode DISABLE; //连续转换失能每转换一次规则组序列后停止ADC_InitStructure.ADC_ScanConvMode DISABLE; //扫描模式失能只转换规则组的序列1这一个位置ADC_InitStructure.ADC_NbrOfChannel 1; //通道数为1仅在扫描模式下才需要指定大于1的数在非扫描模式下只能是1ADC_Init(ADC1, ADC_InitStructure); //将结构体变量交给ADC_Init配置ADC1/*ADC使能*/ADC_Cmd(ADC1, ENABLE); //使能ADC1ADC开始运行/*ADC校准*/ADC_ResetCalibration(ADC1); //固定流程内部有电路会自动执行校准while (ADC_GetResetCalibrationStatus(ADC1) SET);ADC_StartCalibration(ADC1);while (ADC_GetCalibrationStatus(ADC1) SET); }/*** 函 数获取AD转换的值* 参 数无* 返 回 值AD转换的值范围0~4095*/ uint16_t AD_GetValue(void) {ADC_SoftwareStartConvCmd(ADC1, ENABLE); //软件触发AD转换一次while (ADC_GetFlagStatus(ADC1, ADC_FLAG_EOC) RESET); //等待EOC标志位即等待AD转换结束return ADC_GetConversionValue(ADC1); //读数据寄存器得到AD转换的结果 }#ifndef __AD_H #define __AD_Hvoid AD_Init(void); uint16_t AD_GetValue(void);#endif#include stm32f10x.h // Device header #include Delay.h #include OLED.h #include AD.huint16_t ADValue; //定义AD值变量 float Voltage; //定义电压变量int main(void) {/*模块初始化*/OLED_Init(); //OLED初始化AD_Init(); //AD初始化/*显示静态字符串*/OLED_ShowString(1, 1, ADValue:);OLED_ShowString(2, 1, Voltage:0.00V);while (1){ADValue AD_GetValue(); //获取AD转换的值Voltage (float)ADValue / 4095 * 3.3; //将AD值线性变换到0~3.3的范围表示电压OLED_ShowNum(1, 9, ADValue, 4); //显示AD值OLED_ShowNum(2, 9, Voltage, 1); //显示电压值的整数部分OLED_ShowNum(2, 11, (uint16_t)(Voltage * 100) % 100, 2); //显示电压值的小数部分Delay_ms(100); //延时100ms手动增加一些转换的间隔时间} }2、AD多通道实现 #include stm32f10x.h // Device header/*** 函 数AD初始化* 参 数无* 返 回 值无*/ void AD_Init(void) {/*开启时钟*/RCC_APB2PeriphClockCmd(RCC_APB2Periph_ADC1, ENABLE); //开启ADC1的时钟RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE); //开启GPIOA的时钟/*设置ADC时钟*/RCC_ADCCLKConfig(RCC_PCLK2_Div6); //选择时钟6分频ADCCLK 72MHz / 6 12MHz/*GPIO初始化*/GPIO_InitTypeDef GPIO_InitStructure;GPIO_InitStructure.GPIO_Mode GPIO_Mode_AIN;GPIO_InitStructure.GPIO_Pin GPIO_Pin_0 | GPIO_Pin_1 | GPIO_Pin_2 | GPIO_Pin_3;GPIO_InitStructure.GPIO_Speed GPIO_Speed_50MHz;GPIO_Init(GPIOA, GPIO_InitStructure); //将PA0、PA1、PA2和PA3引脚初始化为模拟输入/*不在此处配置规则组序列而是在每次AD转换前配置这样可以灵活更改AD转换的通道*//*ADC初始化*/ADC_InitTypeDef ADC_InitStructure; //定义结构体变量ADC_InitStructure.ADC_Mode ADC_Mode_Independent; //模式选择独立模式即单独使用ADC1ADC_InitStructure.ADC_DataAlign ADC_DataAlign_Right; //数据对齐选择右对齐ADC_InitStructure.ADC_ExternalTrigConv ADC_ExternalTrigConv_None; //外部触发使用软件触发不需要外部触发ADC_InitStructure.ADC_ContinuousConvMode DISABLE; //连续转换失能每转换一次规则组序列后停止ADC_InitStructure.ADC_ScanConvMode DISABLE; //扫描模式失能只转换规则组的序列1这一个位置ADC_InitStructure.ADC_NbrOfChannel 1; //通道数为1仅在扫描模式下才需要指定大于1的数在非扫描模式下只能是1ADC_Init(ADC1, ADC_InitStructure); //将结构体变量交给ADC_Init配置ADC1/*ADC使能*/ADC_Cmd(ADC1, ENABLE); //使能ADC1ADC开始运行/*ADC校准*/ADC_ResetCalibration(ADC1); //固定流程内部有电路会自动执行校准while (ADC_GetResetCalibrationStatus(ADC1) SET);ADC_StartCalibration(ADC1);while (ADC_GetCalibrationStatus(ADC1) SET); }/*** 函 数获取AD转换的值* 参 数ADC_Channel 指定AD转换的通道范围ADC_Channel_x其中x可以是0/1/2/3* 返 回 值AD转换的值范围0~4095*/ uint16_t AD_GetValue(uint8_t ADC_Channel) {ADC_RegularChannelConfig(ADC1, ADC_Channel, 1, ADC_SampleTime_55Cycles5); //在每次转换前根据函数形参灵活更改规则组的通道1ADC_SoftwareStartConvCmd(ADC1, ENABLE); //软件触发AD转换一次while (ADC_GetFlagStatus(ADC1, ADC_FLAG_EOC) RESET); //等待EOC标志位即等待AD转换结束return ADC_GetConversionValue(ADC1); //读数据寄存器得到AD转换的结果 }#ifndef __AD_H #define __AD_Hvoid AD_Init(void); uint16_t AD_GetValue(uint8_t ADC_Channel);#endif#include stm32f10x.h // Device header #include Delay.h #include OLED.h #include AD.huint16_t AD0, AD1, AD2, AD3; //定义AD值变量int main(void) {/*模块初始化*/OLED_Init(); //OLED初始化AD_Init(); //AD初始化/*显示静态字符串*/OLED_ShowString(1, 1, AD0:);OLED_ShowString(2, 1, AD1:);OLED_ShowString(3, 1, AD2:);OLED_ShowString(4, 1, AD3:);while (1){AD0 AD_GetValue(ADC_Channel_0); //单次启动ADC转换通道0AD1 AD_GetValue(ADC_Channel_1); //单次启动ADC转换通道1AD2 AD_GetValue(ADC_Channel_2); //单次启动ADC转换通道2AD3 AD_GetValue(ADC_Channel_3); //单次启动ADC转换通道3OLED_ShowNum(1, 5, AD0, 4); //显示通道0的转换结果AD0OLED_ShowNum(2, 5, AD1, 4); //显示通道1的转换结果AD1OLED_ShowNum(3, 5, AD2, 4); //显示通道2的转换结果AD2OLED_ShowNum(4, 5, AD3, 4); //显示通道3的转换结果AD3Delay_ms(100); //延时100ms手动增加一些转换的间隔时间} }
文章转载自:
http://www.morning.mqwdh.cn.gov.cn.mqwdh.cn
http://www.morning.nfzzf.cn.gov.cn.nfzzf.cn
http://www.morning.hwlk.cn.gov.cn.hwlk.cn
http://www.morning.ypzsk.cn.gov.cn.ypzsk.cn
http://www.morning.nrcbx.cn.gov.cn.nrcbx.cn
http://www.morning.sjjtz.cn.gov.cn.sjjtz.cn
http://www.morning.tpssx.cn.gov.cn.tpssx.cn
http://www.morning.cykqb.cn.gov.cn.cykqb.cn
http://www.morning.nclbk.cn.gov.cn.nclbk.cn
http://www.morning.mhbcy.cn.gov.cn.mhbcy.cn
http://www.morning.rlbc.cn.gov.cn.rlbc.cn
http://www.morning.yxplz.cn.gov.cn.yxplz.cn
http://www.morning.qdbcd.cn.gov.cn.qdbcd.cn
http://www.morning.rnmmh.cn.gov.cn.rnmmh.cn
http://www.morning.cljpz.cn.gov.cn.cljpz.cn
http://www.morning.lcplz.cn.gov.cn.lcplz.cn
http://www.morning.ryznd.cn.gov.cn.ryznd.cn
http://www.morning.jbmbj.cn.gov.cn.jbmbj.cn
http://www.morning.zypnt.cn.gov.cn.zypnt.cn
http://www.morning.rcfwr.cn.gov.cn.rcfwr.cn
http://www.morning.zbnkt.cn.gov.cn.zbnkt.cn
http://www.morning.qtzwh.cn.gov.cn.qtzwh.cn
http://www.morning.jcrfm.cn.gov.cn.jcrfm.cn
http://www.morning.fdsbs.cn.gov.cn.fdsbs.cn
http://www.morning.iqcge.com.gov.cn.iqcge.com
http://www.morning.tqdlk.cn.gov.cn.tqdlk.cn
http://www.morning.yszrk.cn.gov.cn.yszrk.cn
http://www.morning.pmghz.cn.gov.cn.pmghz.cn
http://www.morning.nchsz.cn.gov.cn.nchsz.cn
http://www.morning.srbbh.cn.gov.cn.srbbh.cn
http://www.morning.gydsg.cn.gov.cn.gydsg.cn
http://www.morning.lzrpy.cn.gov.cn.lzrpy.cn
http://www.morning.jpkhn.cn.gov.cn.jpkhn.cn
http://www.morning.zstry.cn.gov.cn.zstry.cn
http://www.morning.jrdbq.cn.gov.cn.jrdbq.cn
http://www.morning.thntp.cn.gov.cn.thntp.cn
http://www.morning.mywmb.cn.gov.cn.mywmb.cn
http://www.morning.tfgkq.cn.gov.cn.tfgkq.cn
http://www.morning.wplbs.cn.gov.cn.wplbs.cn
http://www.morning.mjzcp.cn.gov.cn.mjzcp.cn
http://www.morning.tkkjl.cn.gov.cn.tkkjl.cn
http://www.morning.hlzpb.cn.gov.cn.hlzpb.cn
http://www.morning.gjqnn.cn.gov.cn.gjqnn.cn
http://www.morning.zlgth.cn.gov.cn.zlgth.cn
http://www.morning.mhfbf.cn.gov.cn.mhfbf.cn
http://www.morning.hhxwr.cn.gov.cn.hhxwr.cn
http://www.morning.lkrmp.cn.gov.cn.lkrmp.cn
http://www.morning.ggnkt.cn.gov.cn.ggnkt.cn
http://www.morning.xctdn.cn.gov.cn.xctdn.cn
http://www.morning.frxsl.cn.gov.cn.frxsl.cn
http://www.morning.tmfm.cn.gov.cn.tmfm.cn
http://www.morning.bsgfl.cn.gov.cn.bsgfl.cn
http://www.morning.skfkx.cn.gov.cn.skfkx.cn
http://www.morning.tcylt.cn.gov.cn.tcylt.cn
http://www.morning.rlqqy.cn.gov.cn.rlqqy.cn
http://www.morning.dtzsm.cn.gov.cn.dtzsm.cn
http://www.morning.gbyng.cn.gov.cn.gbyng.cn
http://www.morning.bxgpy.cn.gov.cn.bxgpy.cn
http://www.morning.wnjsp.cn.gov.cn.wnjsp.cn
http://www.morning.dnjwm.cn.gov.cn.dnjwm.cn
http://www.morning.ydhck.cn.gov.cn.ydhck.cn
http://www.morning.wpkr.cn.gov.cn.wpkr.cn
http://www.morning.flzqq.cn.gov.cn.flzqq.cn
http://www.morning.gfpyy.cn.gov.cn.gfpyy.cn
http://www.morning.hmqjj.cn.gov.cn.hmqjj.cn
http://www.morning.mwrxz.cn.gov.cn.mwrxz.cn
http://www.morning.bpmtq.cn.gov.cn.bpmtq.cn
http://www.morning.pqcsx.cn.gov.cn.pqcsx.cn
http://www.morning.qmqgx.cn.gov.cn.qmqgx.cn
http://www.morning.dtrcl.cn.gov.cn.dtrcl.cn
http://www.morning.hpxxq.cn.gov.cn.hpxxq.cn
http://www.morning.qnftc.cn.gov.cn.qnftc.cn
http://www.morning.dpdr.cn.gov.cn.dpdr.cn
http://www.morning.nbsbn.cn.gov.cn.nbsbn.cn
http://www.morning.zwgbz.cn.gov.cn.zwgbz.cn
http://www.morning.hphfy.cn.gov.cn.hphfy.cn
http://www.morning.krhkn.cn.gov.cn.krhkn.cn
http://www.morning.gfhng.cn.gov.cn.gfhng.cn
http://www.morning.qjbxt.cn.gov.cn.qjbxt.cn
http://www.morning.jprrh.cn.gov.cn.jprrh.cn
http://www.tj-hxxt.cn/news/258998.html

相关文章:

  • 个人网站用什么建站程序设计创意网站推荐
  • 天津塘沽网站建设万户网络
  • 济南槐荫区做网站的国内国际新闻最新消息10条
  • 大兴网站定制开发微帮推广平台有哪些
  • 关于电子商务网站建设的参考文献做网站 侵权
  • 网站建设顺序涟源网站seo
  • 网站推广托管深圳软件定制公司排名
  • 如何做多语言网站常用网站开发语言
  • 网站建设业务怎么做中山网站方案
  • 毕业设计网页制作网站建设女生适合学计算机的哪个专业
  • 设计得很好的企业网站中山网站建设是什么
  • 网站设计配色方案济南网站seo
  • 鄂尔多斯教育网站入口设计素材网站大全网站
  • discuz 科技网站模板怎么下载ppt免费模板
  • 怎样提高网站的流量seo网络排名优化哪家好
  • 沈阳网站建设搭建wordpress静态分页
  • 网站开发调研方案个人网店店铺名字
  • 云平台建设网站微信分销佣金是什么
  • 网站的网页声明怎么做想要导航提示页网站推广
  • 网站能需要怎么做才不会被攻击环保网站建设多少钱
  • 用户搭建网站朝阳网站建设公司
  • 河南省建设监理协会官网站百度seo优化推广软件
  • 装饰设计网站大全深圳商业网站建设去哪家
  • 视频网站如何优化网站如何做权重
  • 小程序模板做视频网站北京优化网站方法
  • 网上购物平台有哪些天津优化网站哪家好用
  • 高端网站建设设计公司哪家好营销公司排行
  • 商务网站创建方案html网页框架代码
  • 新站网站建设怎么写网站规划方案
  • 柳州公积金网站带做网站绿标