基于MSP430上温度传感器的设计.ppt
《基于MSP430上温度传感器的设计.ppt》由会员分享,可在线阅读,更多相关《基于MSP430上温度传感器的设计.ppt(12页珍藏版)》请在沃文网上搜索。
1、基于基于MSP430上温度传上温度传感器的设计感器的设计第五组第五组第五组成员组长:申琪组长:申琪组员:李明扬组员:李明扬 付涛涛付涛涛 郑珍迪郑珍迪 熊宇龙熊宇龙温度传感器介绍 图2 DS18B20的引脚 1.GND:地 2.DQ:数字输入输出 3.VDD:可选的+5V电源DSl8B20 数字温度计提供9位(二进制)温度读数指示器件的温度信息经过单线接口送 入 DSl8B20 或从 DSl8B20 送出因此从主机 CPU 到 DSl8B20 仅需一条线(和地线)DSl8B20 的电源可以由数据线本身提供而不需要外部电源因为每一个 DSl8B20 在出厂时已经给定了唯一的序号因此任意多个 DS
2、l8B20 可以存放在同一条单线总线上这允许在许多不同的地方放置温度敏感器件 DSl8B20的测量范围从-55到+125增量值为 0.5可在 l s(典型值)内把温度变换成数字。每个DSl8B20包括一个唯一的64位长的序号,该序号值存放在 DSl8B20 内部的 ROM(只读存贮器)中开始8 位是产品类型编码(DSl8B20 编码均为 10H)接着的 48位是每个器件唯一的序号最后8位是前面56位的CRC(循环冗余校验)码DSl8B20中还有用于贮存测得的温度值的两个8位存贮器 RAM 编号为0号和号1号存贮器存放温度值的符号如果温度为负()则1号存贮器8位全为1否则全为0。0号存贮器用于存
3、放温度值的补码LSB(最低位)的1表示0.5将存贮器中的二进制数求补再转换成十进制数并除以2就得到被测温度(-550125)DSl820 的引脚如图 2所示。每只 D518B20 都可以设置成两种供电方式,即数据总线供电方式和外部供电方式 采取数据总线供电方式可以节省一根导线。但完成温度测量的时间较长采取外部供电方式则多用一根导线但测量速度较快。温度传感器与单片机的连接 温度传感器的单总线(1-Wire)与单片机的P20连接,P20是单片机的高位地址线A8。P2端口是一个带内部上拉电阻的8位双向IO,其输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对该端口写“1”,可通过内部上拉电阻
4、将其端口拉至高电平,此时可作为输入口使用,这是因为内部存在上拉电阻,某一引脚被外部信号拉低时会输出一个电流。在访问外部程序存储器或16位地址的外部数据存储器时。如执行MOVX DPTR指令,则表示P2端口送出高8位的地址数据。在访问8位地址的外部数据存储器时,可执行MOVX RI指令,P2端口内容即为特殊功能寄存器(SFR)区中R2寄存器内容,整个访问期间不改变。在Flash编程和程序校验时,P2端口也接收高位地址和其他控制信号。仿真与实物图程序代码DS18B20 温度测量实验/功能:在数码管上显示当前DS18B20 测到的温度/小数部分为4 位,温度为负时,最高位显示-/测量范围:-55 +
5、125#include msp430 x14x.h#define uint unsigned int#define uchar unsigned char#define DQ_OUT P1DIR|=BIT0#define DQ_IN P1DIR&=BIT0#define DQ_LOW P1OUT&=BIT0#define DQ_HIGH P1OUT|=BIT0#define DQ_DATA P1IN&BIT0/共阳数码管编码表uint Code18=0 x3f,0 x06,0 x5b,0 xB4f,/0,1,2,30 x66,0 x6d,0 x7d,0 x07,/4,5,6,70 x7f,0
6、x6f,0 x77,0 x7c,/8,9,A,b0 x39,0 x5e,0 x79,0 x71,/C,d,E,F0 x40,0 x00;/-,全灭uchar Bit4=0,0,0,17;/数码管各位显示的数字uchar BitCode=0 x0e,0 x0d,0 x0b,0 x07;/数码管位码初值/uchar wei=0 x01,0 x02,0 x04,0 x08;uint j=0;uint l=0;uchar MSB;/温度高字节uchar LSB;/温度低字节int t1=0;/温度整数部分数值float t2=0;/温度小数部分数值uchar flag;/负温度标志/时钟初始化函数vo
7、id InitClock(void)BCSCTL1=RSEL2+RSEL1+RSEL0;/XT2 开启 LFXT1 工作在低频模式 ACLK/不分频 最高的标称频率DCOCTL=DCO2+DCO1+DCO0;/DCO 为最高频率doIFG1&=OFIFG;/清除振荡器失效标志for(uint i=255;i0;i-);while(IFG1&OFIFG);/判断XT2 是否起振BCSCTL2=SELM1+SELS;/MCLK SMCLK 时钟源为TX2CLK 不分频/端口初始化函数void InitPort(void)P2SEL=0 x00;/P2 口所有引脚设置为一般的IO 口P4SEL=0
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
10 积分
下载 | 加入VIP,下载更划算! |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 MSP430 温度传感器 设计
