- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
一 ,目的和要求: 请设计一个简易数字温度计,基本要求如下: 1, 能用数字显示温度,测量范围0 ℃ ~100℃。 2, 测量精度0.5 ℃。 3, 测量误差1%。 二,基本原理 实验原理框图 三,方案论证 方案1,集成温度传感器AD590 AD590是美国ANALO G DEV ICES公司的单片集成两端感温电流源。(1) 流过器件的电流(μA) 等于器件所处环境的热力学温度(开尔文) 度数:Ir/T=1 (1) 式中,Ir—流过器件(AD590) 的电流,单位为μA;T—热力学温度,单位为K; (2) AD590的测温范围为- 55~+150℃; (3) AD590的电源电压范围为4~30 V,可以承受44 V正向电压和20 V反向电压,因而器件即使反接也不会被损坏; (4) 输出电阻为710 mΩ; (5) 精度高,AD590在- 55~+-150℃范围内,非线性误差仅为±0.3。 方案2,18B20 DS18B20数字温度计是DALLAS公司生产的1-Wire,即单总线器件,具有线路简单,体积小的特点。因此用它来组成一个测温系统,具有线路简单,在一根通信线,可以挂很多这样的数字温度计,十分方便。 特点 (1)、只要求一个端口即可实现通信。 (2)、在DS18B20中的每个器件上都有独一无二的序列号。 (3)、实际应用中不需要外部任何元器件即可实现测温。 (4)、测量温度范围在-55。C到+125。C之间。 (5)、数字温度计的分辨率用户可以从9位到12位选择。 (6)、内部有温度上、下限告警设置。 特点装配简单,更换方便 测量范围大(-200~1300,特殊情况下-270~2800) 机械强度高,耐压性能好 耐高温可达2800度压簧式感温元件,抗震性能好 Pcb图 温度传感电路 五,程序设计 程序流程图 程序: #include reg51.h #include intrins.h #define FOSC /*Declare SFR associated with the ADC声明与ADC相关的特殊功能寄存器 */ sfr P1ASF = 0x9D; //P1 secondary function control register sfr ADC_RES = 0xBD; //ADC hight 8-bit result register sfr ADC_LOW2 = 0xBE; //ADC low 2-bit result register sfr ADC_CONTR = 0xBC; //ADC control register /*Define ADC operation const for ADC_CONTR定义与ADC控制相关的操作常量*/ #define ADC_POWER 0x80 //ADC power 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 #define ADC_START 0x08 //ADC start control bit #define ADC_FLAG 0x10 //ADC complete flag //定义与项目相关的一些全局变量 unsigned char ch = 0; //ADC channel NO. unsigned char table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0xff}; //数码管段码 unsigned int temperature; //温度变量 unsigned char disp_buffer[4]; //显示缓冲区 void Init_ADC() //ADC初始化函数 { P1ASF = 0xff; //Set al
文档评论(0)