数字温度计具有存储器功能

上传人:飞*** 文档编号:51319154 上传时间:2022-01-25 格式:DOCX 页数:13 大小:103.23KB
收藏 版权申诉 举报 下载
数字温度计具有存储器功能_第1页
第1页 / 共13页
数字温度计具有存储器功能_第2页
第2页 / 共13页
数字温度计具有存储器功能_第3页
第3页 / 共13页
资源描述:

《数字温度计具有存储器功能》由会员分享,可在线阅读,更多相关《数字温度计具有存储器功能(13页珍藏版)》请在装配图网上搜索。

1、带有存储器功能的数字温度计DS1624ft术应用1. DS1624基本原理DS1624是美国DALLA宓司生产的集成了测量系统和存储器于一体的芯片。数字接口电路简单,与I2C总线兼容,且可以使用一片控制器控制多达 8片的 DS1624其数字温度输出达13位,精度为0.03125 C。DS162阿工作在最低2.7V 电压下,适用于低功耗应用系统。(1) . DS1624基本特性无需外围元件即可测量温度 测量范围为55c+125C,精度为0.03125C 测量温度的结果以13位数字量(两字节传输)给出 测量温度的典型转换时间为1秒 集成了 256字节的E2PROW易性存储器 数据的读出和写入通过一

2、个2线(I2C)串行接口完成 采用8脚DIP或SOIC封装,如图2.34.1图 2.34.1(2) .引脚描述及功能方框图其引脚描述如表1所示:表1 DS1G4号则战术弓1叼N 一统 (PC) 申行敏据输入痴thaN 口SCL-2一线(PC)串行时钟刑一|3未连接地“A露=乃选地址输入A2.r6*-*Al,后造地域入A】7cAO*邮地扯输入AO卢8.电两端7V-+5 5V +DS1624的功能结才图如图4.34.2所示:状参奇存器及控用庭辑Vijij.AM 1Al, A2-地址及IO控M以母传感器ERROM在他gg字节,图2DS1624内际和图图 4.34.2(3) . DS1624工作原理温

3、度测量图4.34.3是温度测量的原理结构图用居振箭器比柱器耕城蛰加I电路温度苦.行器图4.34.3温度测量的原理结构图DS1624ft测量温度时使用了独有的在线温度测量技术。它通过在一个由对温度高度敏感的振荡器决定的计数周期内对温度低敏感的振荡器时钟脉冲的计数 值的计算来测量温度。DS162将计数器中预置了一个初值,它相当于55C。如 果计数周期结束之前计数器达到 0,已预置了此初值的温度寄存器中的数字就会 增加,从而表明温度高于55Co与此同时,计数器斜坡累加电路被重新预置一个值,然后计数器重新对时钟 计数,直到计数值为00通过改变增加的每1C内的计数器的计数,斜坡累加电路可以补偿振荡器的

4、非线性误差,以提高精度,任意温度下计数器的值和每一斜坡累加电路的值对应 的计数次数须为已知。DS1624过这些计算可以得到0.03125 C的精度,温度输出为13位,在发 出读温度值请求后还会输出两位补偿值。 表2给出了所测的温度和输出数据的关 系。这些数据可通过2线制用行口连续输出,MSBE前,LSB在后。表2温度与输出数据关系表温度数字量输出(二进制)数字量输出(十六进制)+ 125 c0111, 1101, 0000, 0000:7D00H+ 25.0625 C0001, 1001, 0001, 00001910H+ 0.5 C0000, 0000, 1000, 00000080H+ 0

5、C0000, 0000, 0000, 0000P0000H-0.5 C1111, 1111, 1000, 0000FF80H-25.0625 C1110, 0110, 1111, 0000FE6F0H-55 C1100, 1001, 0000, 0000C900H由于数据在总线上传输时 MSBft前,所以DS1624读出的数据可以是一个字 节(分辨率为1C),也可以是两个字节,第二个字节包含的最低位为0.03125 C表2是13位温度寄存器中存储温度值的数据格式 1111高八位字节低八位字节SB14B13B12B11B10B9B8B7B6B5B4B3000表3温度值的数据存储格式其中S为符号位

6、,当S= 0时,表示当前的测量的温度为正的温度;当 S= 1 时,表示当前的测量的温度为负的温度。 B14- B3为当前测量的温度值。最低三 位被设置为00DS1624工作方式DS1621的工作方式是由片上的配置/状态寄存器来决定的,如表4,该寄存 器的定义如下:表4配置/状态寄存器格式DONE1001011SHOT其中DON时转换完成位,温度转换结束时置1,正在进行转换时为0; 1SHO必 温度转换模式选择。1SHO必1时为单次转换模式,DS1624ft收到启动温度转换 命令EEH后进行一次温度转换。1SHO必0时为连续转换模式,此时 DS1624等 连续进行温度转换, 并将最近一次的结果保

7、存在温度寄存器中。 该位为非易失性 的。片内 256 字节存储器操作控制器对DS1624的存储器编程有两种模式:一种是字节编程模式,另一种 是页编程模式。在字节编程模式中,主控制器发送地址和一个字节的数据到DS1624。在主器件发出开始(START信号以后,主器件发送写控制字节即1001A2A1A00 (其中R/W空制位为低电平“0”)。指示从接收器被寻址,DS1624接收后应答, 再由主器件发送访问存储器指令(17H)后,DS1624#收后应答,接着由主器件 发送的下一个字节字地址将被写入到 DS1624的地址指针。主器件接收到来自 DS1624的另一个确认信号以后,发送数据字节,并写入到寻

8、址的存储地址。DS1624H次发出确认信号,同时主器件产生停止条件STOP启动内部写周期。在内部写周期DS1624将不产生确认信号。在页编程模式中, 如同字节写方式, 先将控制字节、 访问存储器指令( 17H) 、字地址发送到DS1624接着发N个数据字节,其中以8个字节为一个页面。主 器件发送不多于一个页面字节的数据字节到DS1624这些数据字节暂存在片内页面缓存器中, 在主器件发送停止信号以后写入到存储器。 接收每一个字节以后, 低位顺序地址指针在内部加 1。高位顺序字地址保持为常数。如果主器件在产生 停止条件以前要发送多于一页字的数据, 地址计数器将会循环, 并且先接收到的 数据将被覆盖

9、。 像字节写操作一样, 一旦停止条件被接收到, 则内部写周期将开 始。存储器的读操作在这种模式下,主器件可以从DS1624的EEPROM读取数据。主器件在发送 开始信号之后, 主器件首先发送写控制字节1001A2A1A00, 主器件接收到DS1624应答之后,发送访问存储器的指令(17H) , U到DS1624的应答之后,接着发送 字地址将被被写入到DS1624的地址指针。这时DS1624g送应答信号之后,主器 件并没有发送停止信号,而是重新发送STARTS始信号,接着又发送读控制字节 1001A2A1A01主器件接收到DS1624应答之后,开始接收DS1624X出来的数据, 主器件每接收完一

10、个字节的数据之后,都要发送一个应答信号给DS1624直到主器件发送一个非应答信号或停止条件来结束DS1624的数据发送过程。DS1624的指令集数据和控制信息的写入读出是以表5 和表 6 所示的方式进行的。 在写入信息时,主器件输出从器件(即DS1624用地址,同时R/W位置0。接收到响应位后,总线上的主器件发出一个命令地址, DS1624g收此地址后,产生响应位,主器 件就向它发送数据。如果要对它进行读操作,主器件除了发出命令地址外,还要 产生一个重复的启动条件和命令字节,此时 R/W位为1,读操作开始。下面对它 们的命令进行说明。访问存储器指令17HC :该指令是对DS1624的EEPRO

11、M行访问,发送该 指令之后,下一个字节就是被访问存储器的字地址数据。访问设置寄存器指令ACH :如果R/W位置0,将写入数据到设置寄存器。 发出请求后,接下来的一个字节被写入。 如果R/W位置1,将读出存在寄存器 中的值。读温度值指令AAH :即读出最后一个测温结果。DS1624产生两个字节, 即为寄存器内的结果。开始测温指令EEH :此命令将开始一次温度的测量,不需再输入数据。在单次测量模式下,可在进行转换的同时使 DS1624保持闲置状态。在连续模式 下,将启动连续测温。停止测温指令22HC :该命令将停止温度的测量,不需再输入数据。此命令可用来停止连续测温模式。发出请求后,当前温度测量结

12、束,然后DS1624保持闲置状态。直到下一个开始测温的请求发出才继续进行连续测量。表5主机对DS1624写操作通信格式I2C通信 开始主器件发送控制字节.(DS1624地址和写操作)DS1624应答主器件发送 访问DS1624I勺 指令DS16 24 应答主器件 发送的 数据字 节DS1624应答I2C 通 信 停 止表6主机对DS1624读操作通信格式I2C主器件 发送控DS 16主器 件发DS 16I2C主器 件发DS 16数据 字节FL应答数 据主 机I2通制字节24送访24通送控240字非C信(DS16应问应信制字应节应通开 始24地址 和写操 作)答DS1624的指 令答开 始节(D

13、S1 624地 址和 读操 作)答1答信停止2.实验任务用一片DS1624I成本地数字温度的测量,并通过8位数码管显示出测量的 温度值。其硬件电路图如图4.34.4所示3 .电路原理图VCC IrmP3 OZMCt? p? irrxn PW 2/TNlla P3 3/IHTl P3 40 P3.5/T1 P3J5/WR P31性13T1O1Cgo ;MI:L:.:0 n n Q o o o O rrpppppr 123.43.? rJmplplmmpipJI FA 口 n 1/AD1 制A IT启4/AEM 5/AD5,6/AM77AE?ALEFsEnPm 7/a 15P2 6/A1 4PN

14、5/A 1 3P2 4/A 1 2P2 3/A 1 P2 2/A 1 0P2.1/A9P2.CI/AWgU4b rt 】S3S3:工、S4 IiL.EDH4S11 51aS4nzi图 4.34.44 .系统板上硬件连线(1) .把“单片机系统”区域中的 P0.0 P0.7用8芯排线连接到“动态 数码显示区域中的ABCDEF姗子上。(2) .把“单片机系统”区域中的 P2.0 P2.7用8芯排线连接到“动态 数码显示区域中的 S1S2s3s4s5s6s7s8子上。(3) .把Dsi624片插入到“二线总线模块”区域中的 8脚集成座上, 注意芯片不插反。(4) .把“二线总线模块”区域中的 PIN

15、1 PIN2分别用导线连接到“单片 机系统”区域中的P1.6和P1.7端子上。(5) .把“二线总线模块”区域中的 PIN4 PIN5 PIN6分别用导线连接到 “电源模块”区域中的GNW子上。5 .程序设计内容(1) .由于DS1624是I2C总线结构的串行数据传送,它只需要SDAK SCL 两根线完成数据的传送过程。因此,我们在进行程序设计的时候,也得按着I2C协议来对DS1624芯片数据访问。有关I2C协议参看 有关资料,这里不详述。对于AT89S51单片机本身没有I2C硬件资 源,所以必须用软件来模拟 I2C 协议过程。(2) .要从DS1624中读取温度值,首先启动 DS1624的内

16、部温度A/D开始转换,对应着有相应的命令用来启动开始温度转换,有关DS1624的指令集参考前面的叙述。一般情况下,DS1624经过一次温度的变换,需要经过1 秒钟左右的时间,所以等待1 秒钟后,即可读取内部的温度值,对于读取的温度值,仍然通过DS1624B勺指令集来完成温度的读取。但所有有数据的传送过程必须遵循I2C 协议。(6) C 语言源程序#include #include unsigned char code displaybit=0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f;unsigned char code displaycode=0x3f,0x

17、06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71,0x00;unsigned char code dotcode32=0,3,6,9,12,16,19,22,25,28,31,34,38,41,44,48,50,53,56,59,63,66,69,72,75,78,81,84,88,91,94,97;sbit SDA=P1A6;sbit SCL=P1A7;unsigned char displaybuffer8=0,1,2,3,4,5,6,7;unsigned char eepromdata8;un

18、signed char temperdata2;unsigned char timecount;unsigned char displaycount;bit secondflag=0;unsigned char secondcount=0;unsigned char retn;unsigned int result;unsigned char x;unsigned int k;unsigned int ks;void delay(void);void delay10ms(void);void i_start(void);void i_stop(void);void i_init(void);v

19、oid i_ack(void);bit i_clock(void);bit i_send(unsigned char i_data);unsigned char i_receive(void);bit start_temperature_T(void);bit read_temperature_T(unsigned char *p);void delay(void)_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();void delay10ms(void)unsigned int i;for(i=0;i1000;i+)delay();void i_s

20、tart(void)SCL=1;delay();SDA=0;delay();SCL=0;delay();void i_stop(void)SDA=0;delay();SCL=1;delay();SDA=1;delay();SCL=0;delay();void i_init(void)SCL=0;i_stop();void i_ack(void)SDA=0;i_clock();SDA=1;bit i_clock(void)bit sample;SCL=1;delay();sample=SDA;_nop_();_nop_();SCL=0;delay();return(sample);bit i_s

21、end(unsigned char i_data)unsigned char i;for(i=0;i8;i+)SDA=(bit)(i_data & 0x80);i_data=i_data1;i_clock();SDA=1;return(i_clock();unsigned char i_receive(void)unsigned char i_data=0;unsigned char i;for(i=0;i8;i+)i_data*=2;if(i_clock() i_data+;return(i_data);bit start_temperature_T(void)i_start();if(i_

22、send(0x90)if(i_send(0xee)i_stop();delay();return(1);elsei_stop();delay();return(0);elsei_stop();delay();return(0);bit read_temperature_T(unsigned char *p)i_start();if(i_send(0x90)if(i_send(0xaa)i_start();if(i_send(0x91)*(p+1)=i_receive();i_ack();*p=i_receive();i_stop();delay();return(1);elsei_stop()

23、;delay();return(0);elsei_stop();delay();return(0);elsei_stop();delay();return(0);void main(void)P1=0xff;timecount=0;displaycount=0;TMOD=0x21;TH1=0x06;TL1=0x06;TR1=1;ET1=1;ET0=1;EA=1;if(start_temperature_T() / 向 DS1624发送启动 A/D 温度转换命令,成 功则启动 T0 定时 1s。 secondflag=0;secondcount=0;TH0=55536/256;TL0=55536

24、%256;TR0=1; while(1) if(secondflag=1) secondflag=0; TR0=0;if(read_temperature_T(temperdata) /T0 定时 1s 时间到,读取DS1624的温度值 for(x=0;x3;displaybuffer0=(dotcoderesult)%10;displaybuffer1=(dotcoderesult)/10;if(start_temperature_T() /温度值数据处理完毕,重新启动DS1624开始温度转换secondflag=0;secondcount=0;TH0=55536/256;TL0=55536

25、%256;TR0=1;void t0(void) interrupt 1 using 0 /T0用于定时 1s 时间到secondcount+;if(secondcount=100)secondcount=0;secondflag=1;TH0=55536/256;TL0=55536%256;void t1(void) interrupt 3 using 0 /T1定时 1ms 用数码管的动态刷新timecount+;if(timecount=4) /T1 定时 1ms 到timecount=0;if (displaycount=5)P0=(displaycodedisplaybuffer7-displaycount | 0x80); /在该位同时还要显示小数点 elseP0=displaycodedisplaybuffer7-displaycount;P2=displaybitdisplaycount;displaycount+;if(displaycount=8)displaycount=0;

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!