(八)传感器测试系统的数据采集编程—AD.ppt

(八)传感器测试系统的数据采集编程—AD.ppt

  1. 1、本文档共25页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
(八)传感器测试系统的数据采集编程—AD

模块电路功能编程(下) 传感器测试系统的数据采集编程—AD 复习 1. LCD1602控制流程、如何简单使用 2.DS1302控制流程、如何简单使用 3.DS18B20控制流程、如何简单使用 模块四:传感器测试系统的数据采集编程 (模拟量的数据采集) 案例1:在实验板上采样AD0电位器的电压值,并以实际电压值的型式显示在LCD1602上。 所涉及的模块 一、模数转换模块+数值转换模块 二、LCD1602显示模块 案例1:在实验板上采样AD0电位器的电压值,并以实际电压值的型式显示在LCD1602上。 任务分析: 1. AD0电位器的连接在主控芯片(ATMega 128)的那个引脚; 2. 采集到AD0电位器的信号是模拟量还是数字量?如何获取? 3.采集到的数据,如何转换成实际电压值? 4.LCD1602的显示控制; 5.编码、调试; 6.运行,显示效果 电路连接 案例2:在实验板上外接气体传感器MQ-2,读取气体传感器的信息,进行相应的处理,显示到LCD1602上。 所涉及的模块 一、 MQ-2模块 二、模数转换模块 案例2:在实验板上外接气体传感器MQ-2,读取气体传感器的信息,进行相应的处理,显示到LCD1602上。 任务分析: 1. 气敏传感器MQ-2如何连接到实验板上; 2. MQ-2传到实验板上的是什么信号,如何将其转换成可以显示的数字信号? 3.LCD1602的显示控制; 4.编码、调试; 5.运行,显示效果 电路连接 实验八 1.在实验板上采样AD0电位器的电压值,并以实际电压值的形式显示在LCD1602上(中断方式处理AD0电位器的电压值); 2.在实验板上外接气体传感器MQ-2,读取气体传感器的信息,进行相应的处理,显示到LCD1602上。 作业:搜集以下资料,并整理成文档 红外巡线传感器 超声波传感器 碰撞传感器 步进电机 一、MQ-2 气体传感器 芯片资料 二、模数转换器模块 1.AVR ATmega128有10位逐次比较的A/D转换器(ADC) 2.A/D转换器框图 3.与A/D转换器相关的寄存器 ADC多工选择寄存器-ADMUX ADC控制和状态寄存器A-ADCSRA ADC数据寄存器-ADCL和ADCH 4.使用流程 (1)初始化设置; (2)启动ADC转换; (3)读取转换结果; (4)转换结果处理. (1)初始化设置 void ADC_Init() { ADMUX|=(1REFS0)|(1ADLAR)|(0MUX1)|(0MUX0); // REFS1:0(01,使用AVCC、AREF引脚外加滤波电容) // ADLAR(1,左对齐从高位起取8位,后2位舍弃) //MUX4:0(00011,单通道输入,通道3) ADCSRA|=(1ADPS1)|(1ADPS0)|(1ADFR)|(1ADEN); // ADPS2:0(011,预分频器选择1/8分频) // ADFR(1,连续转换) // ADEN(1,ADC转换器使能) } (2)启动ADC转换 void ADC_Start() { SFIOR=0X00; ADCSRA|=(1ADIE); //ADC中断使能 ADCSRA|=(1ADSC);//ADC开始转换 } (3)读取转换结果 查询法 while(!(ADCSRA(1ADIF))) { } adc_result=ADC; ADCSRA = ~(1 ADIF); ADCSRA = ~(1ADSC); … … 中断 SIGNAL(SIG_ADC) { adc_result=ADC; } (4)转换结果处理 ADC转换后的结果转换成实际电压值 /*将AD结果转成电压值*/ adc_result = (unsigned int)(((unsigned long) adc_result*5000)/1024); 分离出结果的每个位上的数字 void int_to_bcd(unsigned int temp) { unsigned char i; for (i = 0; i 8; i++) { lcd_adcResult[i] = temp % 10; temp = temp / 10; } } * * 双C工作室 图 1 电路连接图 图 2 电路连接图 查看芯片资料时: 1.在怎样的电压、电流下能正常工作? 2.都有哪些引脚,引脚如何连接? 3.连接到实验板上还需要做哪些操作? 4.能检测的气体有哪些? 5.影响检测结果的因素? 6. ….. 图3 第一次转换时序图 ADC转换结果对齐(1:左对齐) 00000~00111选择ADC0~ADC7的单通

文档评论(0)

qwd513620855 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档