欢迎来到天天文库
浏览记录
ID:24021127
大小:55.00 KB
页数:4页
时间:2018-11-12
《基于单片机温度测量系统的设计论文》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、基于单片机温度测量系统的设计论文:传统检测温度的方法是用模拟温度传感器。信号经取样、放大后通过模数转换,再交给单片机处理。这种方法经过众多器件,易受干扰、不易控制且精度不高。因此,本文介绍一种新型的单线温度系统DS18B20,他能代替模拟温度传感器和信号处理电路,直接与单片机沟通,完成温度测量,该系统结构简单,现场温度以一线总线的数字方式输出,大大提高了抗干扰能力,适合于恶劣环境下进行现场温度测量。 Abstract:Thetraditionalmethodoftestingthetemperatureisanal
2、ogtemperaturesensor.Signalbysampling,amplifiedbyanalog-digitalconversion,andthentoMCUprocessing.Thismethodhasbeenmanydevicesarevulnerabletointerferenceanddifficulttocontrolandaccuracyisnothigh.Therefore,thisarticleintroducesaneperaturesystemDS18B20,hecanreplacet
3、heanalogtemperaturesensorsandsignalprocessingcircuit,tomunicatedirectlyperaturemeasurement,thesystemissimple,on-sitetemperaturetodigitallyoutputbuslinehasgreatlyenhancedtheanti-jammingcapability,suitableforharshenvironmentFieldtemperaturemeasurements. Keyp; ch
4、arcodetable[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d, 0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71}; charcodetable1[]={0xbf,0x86,0xdb,0xcf,0xe6,0xed,0xfd, 0x87,0xff,0xef}; /*串口初始化1*/ voidinit_() {TMOD=0x20; TH1=0xfd; TL1=0xfd; TR1=1; SM0=0; SM1=1;
5、 REN=1; PCON=0; SMOD=0; EA=1; ES=1;} /*初始化时序、读时序、写时序*/ voidds_reset(void) {ds=1; _nop_(); ds=0; TempDelay(80); … _nop_(); ds=1;} /*读/写时间隔*/ bitds_read_bit(void) {bitdat; ds=0; _nop_(); ds=1; _nop_(); _nop_(); TempDelay(10); return(dat);}
6、 chards_read_byte(void) {charvalue,i,j; value=0; for(i=0;i<8;i++) {j=ds_read_bit(); value=(j<<7)
7、(value>>1); }} voidds_p;0x01; dat=dat>>1; … } /*进行温度转换:*/ voidtem_change() {ds_reset(); delay(1); ds_perature() {floa
8、tp=b; temp<<=8; temp=temp
9、a; p*0.0625; nbsp; temp=p; } /*读ROM*/ voidmain() {inta; int_(); _change(); for(a=10;a>0;a--) {display(get_temperature()); }}} 小结:DS18B20在使用中应注意的问题:1.较小的硬件开销需要相对复杂的软件进行补偿,DS
10、18B20与单片机用一线串口传送数据,因此在对DS18B20进行读写编程时必须严格的保证读写时序,否则将无法读取测温结果。2.链接DS18B20的数量应该受到限制。当单总线上所连接的DS18B20超过8个时,就需要解决处理器的总线驱动能力。3.链接DS18B20的总线长度是要受到限制的。当数据线超度超过50米时读取的温度将发生错误
此文档下载收益归作者所有