LM75数字温度计设计_第1页
LM75数字温度计设计_第2页
LM75数字温度计设计_第3页
LM75数字温度计设计_第4页
LM75数字温度计设计_第5页
已阅读5页,还剩53页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

LM75数字温度计设计2011级单片机课程设计论文 3 3 31.2设计原理 32.系统组成与部分元件功能 4 4 4 42.2.2LM75测温芯片 7 3.系统总体方案及电路设计 2.1数字温度计设计方案论证 2.2各部分设计图 13 4.系统总体电路图及实物图 4.1系统总体电路图 5.总结与心得体会 6.附录 境温度,以华氏度显示。整个设计系统分为3部分:单片机控制、温程可擦除只读存储器(FPEROM-Flash4040vcc39po.o(ADO)35IP0.4(AD4)32P0.7(AD7)30ALE/PROG29PSEN28P2.7(A15)24P2.3(A11)23P2.2(A10)(SCK)P1.78bokmloVccC1-Rlin9345678923456789 TXD分别是此放大器的输入端和输出端。时钟可以由内部方式产生或外部方式①主电源引脚(2根)VCC(Pin40):电源输入,接+5V电源②外接晶振引脚(2根)③控制引脚(4根)RST/VPP(Pin9):复位引脚,引脚上出现2个机器周期的高电平将使单片机复ALE/PROG(Pin30):地址锁存允许信号PSEN(Pin29):外部存储器读选通信号EA/VPP(Pin31):程序存储器的内外部选通,接低电平从外部程序存储器读指令,如果接高电平则从内部程序存储器读指令。④可编程输入/输出引脚(32根)STC89C52单片机有4组8位的可编程I/O口,分别位P0、P1、P2、P3口,每个口有8位(8根引脚),共32根。PO口(Pin39~Pin32):8位双向I/O口线,名称为P0.0~P0.7P1口(Pinl~Pin8):8位准双向I/O口线,名称为P1.0~P1.7P2口(Pin21~Pin28):8位准双向I/O口线,名称为P2.0~P2.7P3口(Pin10~Pin17):8位准双向I/O口线,名称为P3.0~P3.7STC89C52主要功能如表二所示。表二STC89C52主要功能兼容MCS51指令系统32个双向I/O口3个16位可编程定时/计数器中断时钟频率0-24MHz可编程UART串行通道2个读写中断口线软件设置睡眠和唤醒功能第7页第7页LM75A是一款内置带隙温度传感器和Z-△模数转换功能的温度-数字转换器,它也是温度检测器,可提供过热输出。LM75A包含多个数据寄存器:配置寄存器(Conf)、温度寄存器(Temp)和设定点寄存器(Tos&Thyst)。LM75A还包含一个开漏输出(OS)管脚,当温度超过编程限制的值时该输出有效。LM75A有3个可选的逻辑地址管脚,使得同一总线上可同时连接8个器件而不发生地址冲突。正常工作模式下,当器件上电时,OS工作在比较器模式,温度阈值为80℃,滞后75℃,这时,LM75A就可用作独立的温度控制器,预定义温度设定点。LM75A功能框图如下:OSC引脚说明:第8页第8页18273645A2管脚号符号功能说明1串行数据线2串行始终线3过热关断、开漏4地5用户定义地址26用户定义地址17用户定义地址08电源温度寄存器是一个只读寄存器,用来存储读取的数字温度,包含2个8位的数据字节,由一个高数据字节(MS)和一个低数据字节(LS)组成。在这两个字节中只用到11位,来存放分辨率为0.125℃的Temp数据(以二进制补码数据的形式),如下表所示。对于8位的总线来说,只要从LM75A的“00地址”连续读两个字节即可(温度的高8位在前)。Temp数据(11位)若D10=1,温度值(℃)=-(Temp数据的二进制补码)×0.125℃器件21)起始和终止信号终止信号P2)数据位的有效性规定第11页第11页钟线上的信号为低电平期间,数据线上的高、低电平状态才允许变化。要求数据稳定允许数据变化要求数据稳定液晶显示模块已作为很多电子产品的通过器件,如在计算器、万用表、电子表及很多家用电子产品中都可以看到,显示的主要是数字、专用符号和图形。在单片机的人机交流界应用晶液显示器作为输出器件有以下几个优点:显示质量高、数字式接口、体积小、重量轻、功耗低。引脚功能说明:1602LCD采用标准的14脚(无背光)或16脚(带背光)接口,第3脚:VL为液晶显示器对比度调整端,接正电源时对比度最弱,接地时对比度最高,LM75数字温度计设计3.系统总体方案及电路设计1345689 21IN10T126MCU-外围电路10KQ±5%/SIP9P20SDA第13页第13页3.2.2温度传感器LM75A是一款内置带隙温度传感器和∑-△模数转换功能的温度-数字转换器,它也是温度检测器,可提供过热输出。LM75A包含多个数据寄存器:配置寄存器(Conf)、温度寄存器(Temp)和设定点寄存器(Tos&Thyst)。LM75A还包含一个开漏输出(OS)管脚,当温度超过编程限制的值时该输出有效。LM75A有3个可选的逻辑地址管脚,使得同一总线上可同时连接8个器件而不发生地址冲突76548321(俯视图)8765VAAALM75管脚俯视图LM75数字温度计设计功能模块图VooO-转换器二LCD/ENP1.0/D0P1.1/D1液晶模块驱动电路p11456789第15页第15页LED-LED-4.系统总体电路图及实物图BF1214689INTOWR/P3.6RDP3.7XTAD)XTAL1EAP25P2.4P23P2.2P21VCCSV_LM75数字温度计设计最重要的是本次设计是两个人一组,让我们有种组队做单片机开发项目的感//使用11.0592Mhz的晶振。LM75数字温度计设计uchardataTemp[2]={0};//接收缓冲区ucharDis[]="Tempis:000.000"://定义显示格式///////////////////////////////////////////////////////////////////////unsignedcharReadStatusL ___while(LCMData&Busy);//检测忙信号 LM75数字温度计设计******************************************************************************voidWriteDataLCMunsignedc_ 若晶振速度大高可以在这后加小的延时//写指令根据需要检测忙LM75数字温度计设计unsignedcharReadDataL)voidLCMposcharpositi//LCM初始化WriteCommandLCM(0x38,0);/WriteCommandLCM(0x38,WriteCommandLCM(0x38,WriteCommandLCM(0x38,1);/WriteCommandLCM(0x08,1);/三次显示模式设置,不检测忙信号显示模式设置,开始要求每次检测忙信号关闭显示LM75数字温度计设计WriteCommandLCM(0x01,1):/WriteCommandLCM(0x06,1);/WriteCommandLCM(0x0C,1);/显示清屏显示光标移动设置显示开及光标设置//按指定位置显示一个字符voidDisplayOneCharunsignedcharXunsignedcharX&=0xF;//限制X不能大于15,Y不能大于1if(Y)X|=0x40;//当要显示第二行时地址码+0x40;x|=0x80;//算出指令码WriteCommandLCM(X,0);//这里不检测忙信号,发送地址码/////////////////////////////////////////////////////////////////////////I2C开始位//调用方式:void12CStart(void)函数说明:私有函数,I2C专用////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////12C停止位//调用方式:void12CStop(void)函数说明;私有函数,12C专用///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////函数说明:私有函数,12C专用,等待从器件接收方的应答//////////////////////////////////////////////////////////////////////errtime--;if(!errtime)(12CStop();/////////////////////////////////////////////////////////////////////////函数说明:私有函数,12C专用,主器件为接收方,从器件为发送方时,应答信号。//////////////////////////////////////////////////////////////////////第23页第23页////////////////////////////////////////////////////////////////////////调用方式:voidSendNotAck(void)//函数说明:私有函数,12C专用,主器件为接收方,从器件为发送方时,非应答信号。/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////}第24页第24页/////////////////////////////////////////////////////////////////////////调用方式:ucharI2CReceiveByte(void)//函数说明:私有函数,I2C专用////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////函数:ReadTempO)//功能:读出LM75A的温度值数据(乘以0.125可得到摄氏度值)///////////////////////////////////////////////////////////////////////bitReadTempucharaddruch12CStart(;//启动总线I2CSendByte(addr)://发送从机地址if(!WaitAck())//如果从机没有应答,则跳出本次读程序第25页第25页LM75数字温度计设计12CSendByte(subaddr);//发送温度寄存器地址if(!WaitAck(O))}I2CSendByte(addr+1);//发送从机地址if(!WaitAck0)///////////////////

温馨提示

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

评论

0/150

提交评论