数字温度计项目.ppt

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

简易数字温度计的设计 基本要求(简易数字温度计) 能用数字显示温度。 测量范围0 ℃ ~100℃。 测量精度0.5 ℃。 测量误差1%。 扩展要求(智能测温仪) 可按键切换不同的温标(用指示灯显示不同的单位) 没秒钟自动存储数据,并实时显示温度曲线 可查阅历史数据,并显示历史温度曲线 设置高温报警和低温报警。 实施步骤 基本原理:画出方框图,说明基本原理 方案论证: 提出三种方案,对比方案的优点和缺点。 选择其中一种。 硬件设计: 画出原理图, 并计算元件参数。 画出PCB图,制作电路板 焊接,调试 程序设计 写出基本原理和公式 根据公式画出程序流程 根据程序流程写出程序代码 指标测试 分析数据,写报告。 1.基本原理 原理: 温度传感器可以将温度的变化转换成电压或电流的变化 信号处理电路负责将温度传感去输出的信号放大到适合单片机采集电路的0~5V STC单片机内部的ADC 负责采集信号 2.方案论证 方案1 热电偶 方案2 热敏电阻 方案3 集成温度传感器AD590 √ 方案4 一线式18B20 集成温度传感器 AD590简介 AD590是NALOG DEVICES公司的产品。 特性: 流过的电流(μA) 等于器件所处环境的热力学温度(K) AD590的测温范围为- 55℃~+150℃; AD590的电源电压范围为4~30 V,可以承受44 V正向电压和20 V反向电压. 输出电阻为710 mΩ; 精度高,非线性误差仅为±0.3℃。 AD590的封装和应用 请写出输出电压与温度的关系, 当室内温度为25摄氏度时,输出电压为多少? 简易的AD590测温电路 请抄下这个电路,并分析原理 AD590 3.硬件设计 信号处理电路可以参考实验模块的电路 单片机最小系统,可以采用第一次设计的通用检测系统 4.程序设计 首先,考虑本项目的程序应包含哪些模块?如: ADC参数设置、中断设置、端口初始化等 LED数码管显示程序(应用层) 显示缓冲拆字程序(协议层) ADC采集程序(硬件层) 然后,根据各模块的特点,画出本项目的程序流程 最后,根据程序流程,写出程序代码。 程序流程图 请根据程序流程写出温度检测程序的C51代码 按标准格式构建单片机程序框架结构 void init_port(); void Init_adc(); Void Main() { init_port(); Init_adc(); EA=1; while(1) { led_disp(); led_chaizi(); } } ADC 初始化程序(来自样板程序) #include reg51.h #include intrins.h #define FOSC /*Declare SFR associated with the ADC */ sfr ADC_CONTR = 0xBC; //ADC control register sfr ADC_RES = 0xBD; //ADC hight 8-bit result register sfr ADC_LOW2 = 0xBE; //ADC low 2-bit result register sfr P1ASF = 0x9D; //P1 secondary function control register /*Define ADC operation const for ADC_CONTR*/ #define ADC_POWER 0x80 //ADC power control bit #define ADC_FLAG 0x10 //ADC complete flag #define ADC_START 0x08 //ADC start control bit #define ADC_SPEEDLL 0x00 //420 clocks #define ADC_SPEEDL 0x20 //280 clocks #define ADC_SPEEDH 0x40 //140 clocks #define ADC_SPEEDHH 0x60 //70 clocks unsigned char ch = 0; //ADC channel NO. void InitADC() { P1AS

文档评论(0)

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

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

1亿VIP精品文档

相关文档