30mq2ao口模拟电压采样_第1页
30mq2ao口模拟电压采样_第2页
30mq2ao口模拟电压采样_第3页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、MQ2 AO 口模拟电压采样实验目的了解配置 IO 口了解 ADC 办理了解 ADC 计算电压的方法实验设备硬件:PC 机EB2530(底板、 MQ2一台一套一个板、仿真器、USB 线):2000/XP/win7 系统,IAR 8.10 集成开发环境3.接线方法接线原则: 1、VCC:接电源正极(5V)2、GND:接电源负极3、DO:(悬空)4、AO:模拟信号输出,本实验接在 P06 上。自己的模块请仔细核对一下引脚,确保连接正确MQ-2 传感器简介:MQ- 2 气体传感器所使用的气敏材料是在清洁空气中电导率较低的二氧化锡 (SnO2)。当传感器所处环境中存在可燃气体时,传感器的电导率随空气中

2、可燃气体浓度 的增加而增大。使用简单的电路即可将电导率的变化转换为与该气体浓度相对应的输出信号。 MQ-2 气体传感器对液化气、丙烷、氢气的灵敏度高,对天然气和其它可燃蒸汽的检测也很理想。这种传感器可检测多种可燃性气体,是一款适合多种应用的低成本传感器。4.使用到的寄存器5.代码分析#include #include #include LCD.h#include adc h#define u16 unsigned#define u8 unsigned charvoid InitUart0(void)PERCFG = 0 x00; P0SEL = 0 x0c; P2DIR &= 0 xC0;/外

3、设控制寄存器 USART 0 的 IO 位置:0 为 P0 口位置 1/P0_2,P0_3 用作串口(外设功能)/P0 优先作为 UART0U0CSR |= 0 x80; U0GCR |= 11;U0BAUD |= 216;UTX0IF = 0; U0CSR |= 0 x40; IEN0 |= 0 x84;/设置为 UART 方式/波特率设为 115200/UART0 TX 中断标志初始置位 0/允许接收/开总中断允许接收中断void Uart0SendString(char *Data,u16 i;for(i=0; ilen; i+)U0DBUF = *Data+; while(UTX0IF

4、 = 0);UTX0IF = 0;len)void InitClockTo32M(void)CLKCONCMD &= 0 x40;while(CLKCONSTA & 0 x40); CLKCONCMD &= 0 x47;/设置系统时钟源为/等待晶振稳定32MHZ 晶振/设置系统主时钟频率为 32MHZ/ADC 采样主要是这个函数/channal:采样的通道,/resolution:分辨率,u16 readV(u8 channal,u8 resolution)u16 value ;APCFG |= 1 channal ; /注意这里是设置 ADC 输入通道!ADC_ENABLE_CHANNEL(

5、channal);/使能 ADC 的采样通道ADC_SINGLE_CONVER(ADC_REF_AVDD | resolution | channal);/片上 3.3V 参考电压,12 位,6 通道ADC_SLE_SINGLE(); /开始转换/等待转换完成while (0=(ADCCON1 & 0 x80);/ADCCFG &= (0 x40 0 xFF);value = ADCL ;value |= (u16) ADCH) = 9 ;else if(resolution = ADC_9_BIT) /9 位分辨率value = 7 ;else if(resolution = ADC_10_

6、BIT) /10 位分辨率value = 6 ;else if(resolution = ADC_12_BIT) /12 位分辨率value = 4;return value;void main( void )u16 temp=0;/adc 采样值float vol=0.0; /adc 采样电压u8 adc10=0; /adc 采样字符串/初始化InitClockTo32M();InitUart0(); LCD_Init();while(1)/读电压temp = readV(ADC_AIN6,ADC_12_BIT) ;/通道 6,10 位分辨率/12 位的分辨率最大为 2048if(temp2

7、048) continue;/mq2 Ao 口输出电压vol=(float)(float)(temp*3.3)/2048.0;/取小数点的 3 位,放大 1000 倍temp=vol*1000;/变成可视的字符输出adc0=0+(temp/1000);adc1=.; adc2=0+(temp%1000)/100);adc3=0+(temp%1000)%100)/10);adc4=0+(temp%1000)%100)%10); adc5=V;adc6=r;adc7=n; adc8=0;/串口输出Uart0SendString(adc, 8);/lcd 显示 LCD_Clear(); adc6=0;LCD_TextOut(0, 16, adc);LCD_UpdataAll();DelayMS(2000);6.程序步骤及效果、请按第三点的按线方法,把 MQ2 接到开发板上,给开发板同时接上 OLED显示屏。、使用 USB 线通过仿真器把开发板接到电脑上。、打开工程.30 MQ2 AO 口模拟电压采样ADCmq2-adc.eww,右键工程,选择rebuild all,如:4)、编绎完

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论