温度传感器设计报告.doc
温度传感器设计报告XX工程学院班级姓名一、设计电路31、设计要求32、设计目的3二、设计原理31、设计模块图32、溫度感測器LM3541)、LM35简介:42)、LM35封装介绍:43、单片机AT89C5154、ADC0809介绍71)主要特性72)内部结构73)外部特性(引脚功能)8三、原理图91、温度采集模块92、单片机控制及AD转换模块93、显示模块104、报警模块105、电源模块116、总电路原理图11四、PCB图12五、程序13六、实物展示181、完成品182、接电展示18七、元器件清单18八、总结18一、设计电路1、 设计要求1)、温度低于或超出设定温度范围时发出报警。2)、温度值可在数码管上实时数字显示。3)、报警温度可以由人工自由设定。2、设计目的1)、在学完了电子设计与制作课程的基本理论,基本知识后,能够综合运用所学理论知识、拓宽知识面,系统地进行电子电路的工程实践训练,锻炼动手能力,培养工程师的基本技能,提高分析问题和解决问题的能力。2)、熟悉集成电路的引脚安排,掌握各芯片的逻辑功能及使用方法了解面包板结构及其接线方法,了解数字钟的组成及工作原理3)、培养独立思考、独立准备资料、独立设计规定功能的数字系统的能力。4)、培养书写综合设计实验报告的能力二、设计原理1、 设计模块图温度采集模块键盘输入模块 显示模块单片机控制模块蜂鸣器报警模块图1:模块图2、溫度感測器LM35 1)、LM35简介: LM35是由National Semiconductor所生產的溫度感測器,其輸出電壓與攝氏溫標呈線性關係,轉換公式如式(1),0時輸出為0V,每升高1°,輸出電壓增加10mV。LM35有多種不同封裝型式,外觀如圖1所示。在常溫下,LM35不需要額外的校準處理即可達到C°CC41°±的準確率。其電源供應模式有單電源與正負雙電源兩種,其接腳如圖2所示,正負雙電源的供電模式可提供負溫度的量測;兩種接法的靜默電流-溫度關係如圖3所示,單電源模式在25°下靜默電流約50A,非常省電。 2)、LM35封装介绍: 图2:封装形式1 图3:封装形式2图4:封装形式4(此次采用的封装)3、单片机AT89C51AT89C51是美国ATMEL公司生产的低电压,高性能CMOS8位单片机,片内含4k bytes的可反复擦写的只读程序存储器(PEROM)和128 bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器(CPU)和Flash存储单元,功能强大AT89C51单片机可为您提供许多高性价比的应用场合,可灵活应用于各种控制领域。功能特性概述:AT89C51 提供以下标准功能:4k 字节Flash 闪速存储器,128字节内部RAM,32 个IO 口线,两个16位定时计数器,一个5向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。同时,AT89C51可降至0Hz的静态逻辑操作,并支持两种软件可选的节电工作模式。空闲方式停止CPU的工作,但允许RAM,定时计数器,串行通信口及中断系统继续工作。掉电方式保存RAM中的内容,但振荡器停止工作并禁止其它所有部件工作直到下一个硬件复位。引脚功能说明:1、Vcc:电源电压2、GND:地3、P0 口:P0 口是一组8 位漏极开路型双向IO 口,也即地址数据总线复用口。作为输出口用时,每位能吸收电流的方式驱动8个TTL逻辑门电路,对端口写“1”可作为高阻抗输入端用。在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低8位)和数据总线复用,在访问期间激活内部上拉电阻。在FIash编程时,P0口接收指令字节,而在程序校验时,输出指令字节,校验时,要求外接上拉电阻。4、P1口:P1是一个带内部上拉电阻的8位双向IO口,P1的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口。作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。FIash编程和程序校验期间,P1接收低8位地址。5、P2口:P2是一个带有内部上拉电阻的8位双向IO口,P2的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口,作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。在访问外部程序存储器或16位地址的外部数据存储器(例如执行MOVXDPTR指令)时,P2口送出高8位地址数据。在访问8 位地址的外部数据存储器(如执行MOVXRI 指令)时,P2 口线上的内容(也即特殊功能寄存器(SFR)区中R2寄存器的内容),在整个访问期间不改变。Flash编程或校验时,P2亦接收高位地址和其它控制信号。6、P3口:P3口是一组带有内部上拉电阻的8 位双向IO 口。P3 口输出缓冲级可驱动(吸收或输出电流)4 个TTL逻辑门电路。对P3 口写入“1”时,它们被内部上拉电阻拉高并可作为输入端口。作输入端时,被外部拉低的P3 口将用上拉电阻输出电流(IIL)。P3口除了作为一般的IO口线外,更重要的用途是它的第二功能,如下表所示:图5P3口还接收一些用于Flash闪速存储器编程和程序校验的控制信号。7、RST:复位输入。当振荡器工作时,RST引脚出现两个机器周期以上高电平将使单片机复位。8、ALEPROG: 当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8位字节。即使不访问外部存储器,ALE 仍以时钟振荡频率的l6 输出固定的正脉冲信号,因此它可对外输出时钟或用于定时目的。要注意的是:每当访问外部数据存储器时将跳过一个ALE脉冲。对Flash存储器编程期间,该引脚还用于输入编程脉(PROG)。如有必要,可通过对特殊功能寄存器(SFR)区中的8EH单元的DO 位置位,可禁止ALE 操作。该位置位后,只有一条MOVX和MOVC指令ALE才会被激活。此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置ALE无效。9、PSEN:程序储存允许(PSEN)输出是外部程序存储器的读选通信号,当AT89C51 由外部程序存储器取指令(或数据)时,每个机器周期两次PSEN有效,即输出两个脉冲。在此期间,当访问外部数据存储器,这两次有效的PSEN信号不出现。10、EAVPP:外部访问允许。欲使CPU仅访问外部程序存储器(地址为0000HFFFFH),EA端必须保持低电平(接地)。需注意的是:如果加密位LB1被编程,复位时内部会锁存EA端状态。如EA端为高电平(接VCC端),CPU则执行内部程序存储器中的指令。Flash存储器编程时,该引脚加上+12V的编程允许电源Vpp,当然这必须是该器件是使用12V编程电压Vpp。11、XTAL1:振荡器反相放大器的及内部时钟发生器的输入端。12、XTAL2:振荡器反相放大器的输出端。图6 AT89C51引脚图4、ADC0809介绍1)主要特性1)8路8位AD转换器,即分辨率8位。 2)具有转换起停控制端。 3)转换时间为100s4)单个5V电源供电 5)模拟输入电压范围05V,不需零点和满刻度校准。 6)工作温度范围为-4085摄氏度 7)低功耗,约15mW。 2)内部结构 ADC0809是CMOS单片型逐次逼近式AD转换器,内部结构如图1322所示,它由8路模拟开关、地址锁存与译码器、比较器、8位开关树型DA转换器、逐次逼近 3)外部特性(引脚功能)图7 ADC0809引脚图ADC0809芯片有28条引脚,采用双列直插式封装,如图1323所示。下面说明各引脚功能。 IN0IN7:8路模拟量输入端。2-12-8:8位数字量输出端。ADDA、ADDB、ADDC:3位地址输入线,用于选通8路模拟输入中的一路ALE:地址锁存允许信号,输入,高电平有效。 START: AD转换启动信号,输入,高电平有效。 EOC: AD转换结束信号,输出,当AD转换结束时,此端输出一个高电平(转换期间一直为低电平)。 OE:数据输出允许信号,输入,高电平有效。当AD转换结束时,此端输入一个高电平,才能打开输出三态门,输出数字量。CLK:时钟脉冲输入端。要求时钟频率不高于640KHZ。 REF(+)、REF(-):基准电压。 Vcc:电源,单一5V。 GND:地。 ADC0809的工作过程是:首先输入3位地址,并使ALE=1,将地址存入地址锁存器中。此地址经译码选通8路模拟输入之一到比较器。START上升沿将逐次逼近寄存器复位。下降沿启动 AD转换,之后EOC输出信号变低,指示转换正在进行。直到AD转换完成,EOC变为高电平,指示AD转换结束,结果数据已存入锁存器,这个信号可用作中断申请。当OE输入高电平 时,输出三态门打开,转换结果的数字量输出到数据总线上。三、原理图1、温度采集模块图8 温度采集模块2、 单片机控制及AD转换模块图9单片机控制及AD转换模块3、 显示模块图9 显示模块4、 报警模块 图10 报警模块5、电源模块图11 电源模块6、总电路原理图图12-1总电路原理图图12-2电路总原理图四、PCB图图13-1 PCB封装图图13-2 PCB封装图五、程序#include <reg51.h>sbit CLK = P22;sbit LED_Red = P26;sbit Bee = P25;sbit LED_Green = P27;sbit ON = P10;sbit CLK_164 = P20;sbit DATA_164 = P21;sbit ST = P35;sbit EOC = P37;sbit OE = P36;sbit PinA = P30;sbit PinB = P31;sbit PinC = P32;sbit S1 = P11;sbit S2 = P12; unsigned char code a = 0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f;unsigned char b=0x76,0x38,0x3f,0x71,0x73;unsigned int t1,t2,tp1,tp2,tp,i,g,f,z,h=30,l=10;longdelay()for(g=0;g<32600;g+);delayz()delayf()for(f=0;f<2600;f+);void delay(unsigned int t)unsigned char k;while(t-)for(k=0; k<125; k+);void write164(unsigned char n)unsigned char i,tmp; for(i=0;i<8;i+) tmp=n; DATA_164=tmp&0x80; CLK_164=0; delayz(); n<<=1; CLK_164=1;void InitIO()P0 = 0xff;PinA = 0;PinB = 0;PinC = 0;ST = 1;OE = 1;EOC = 1;void LongDelay(unsigned int i)unsigned int j;for(;i>0;i-) for(j=100;j>0;j-);void StartADC(unsigned char Address)PinC = (bit) (Address & 0x04);PinB = (bit) (Address & 0x02);PinA = (bit) (Address & 0x01);ST = 0; LongDelay(5);ST = 1;unsigned int ReadData(void)unsigned int temp;while(!EOC);OE = 0;delay(4);temp = P0 & 0xff; return(temp);void main(void)write164(b3);write164(b3);write164(b2); while(ON=1);while(ON=0); TMOD=0x02; EA =1; ET0 =1;TH0=0xFE;TL0=0xFE; InitIO();TR0=1;while(1) write164(ah%10); write164(ah/10); write164(b0); longdelay(); longdelay(); write164(al%10); write164(al/10); write164(b1); longdelay(); longdelay(); if(S1=0) write164(atp1%10); write164(atp1/10); write164(a1); while(S1=1); while(S1=0); if(S2=0) write164(atp2%10); write164(atp2/10); write164(a2); while(S2=1); while(S2=0); StartADC(0); t1=ReadData(); tp1=(t1*100/255);StartADC(1);t2=ReadData(); tp2=(t2*100/255);tp=(tp1+tp2)/2; write164(atp%10); write164(atp/10); write164(b4); longdelay(); longdelay(); longdelay(); if(tp>h)LED_Red=0;Bee=0;delayf();Bee=1;delayf();Bee=0;delayf();Bee=1;delayf();Bee=0;delayf();Bee=1;delayf();Bee=0;delayf();Bee=1;else if(tp<l)LED_Green=0;Bee=0;delayf();Bee=1;delayf();Bee=0;delayf();Bee=1;delayf();Bee=0;delayf();Bee=1;delayf();Bee=0;delayf();Bee=1; elseLED_Red=1;LED_Green=1;Bee=1;void INTT0() interrupt 1 CLK = CLK;六、实物展示1、 完成品 图14图152、接电展示图14-1 接电实际展示 图14-2 接电实际展示 图14-3 接电实际展示图14-4 调节展示七、元器件清单八、总结通过对温度传感器的设计和制作,我觉得自己学习到了很多,我对温度传感器的结构与原理有了很好的理解,知道了AT89C51,LM35,LM324等芯片的基本应用和原理,并能进行一些简单的使用。加深了对数字电路的认识和理解,能将过去学到的理论知识进行运用。再次,加强了对PROTEL 等软件的应用。在焊接电路板过程中,加强了焊接技术,以及加强我的细心和耐心。电路板焊接要求很高,不能出错。这点很重要。在学习过程中,我得到了同学和老师的很多帮助,再次,对他们表示衷心的感谢,学习是要互帮互助的,这样可以共同进步。