视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
温度传感器设计报告 精品
2025-09-26 22:05:41 责编:小OO
文档
温度传感器设计报告

XX工程学院

班级

姓名

一、设计电路    3

1、    设计要求    3

2、设计目的    3

二、设计原理    3

1、    设计模块图    3

2、溫度感測器LM35    4

1)、LM35简介:    4

2)、LM35封装介绍:    4

3、单片机ATC51    5

4、ADC0809介绍    7

1).主要特性    7

2).内部结构    7

3).外部特性(引脚功能)    8

三、原理图    9

1、温度采集模块    9

2、    单片机控制及AD转换模块    9

3、    显示模块    10

4、    报警模块    10

5、电源模块    11

6、总电路原理图    11

四、PCB图    12

五、程序    13

六、实物展示    18

1、    完成品    18

2、接电展示    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°下靜默電流約50μA,非常省電。

         

2)、LM35封装介绍:

               

图2:封装形式1                                     图3:封装形式2

                    图4:封装形式4(此次采用的封装)

3、单片机ATC51

ATC51是美国ATMEL公司生产的低电压,高性能CMOS8位单片机,片内含4k bytes的可反复擦写的只读程序存储器(PEROM)和128 bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位处理器(CPU)和Flash存储单元,功能强大ATC51单片机可为您提供许多高性价比的应用场合,可灵活应用于各种控制领域。

功能特性概述:

ATC51 提供以下标准功能:4k 字节Flash 闪速存储器,128字节内部RAM,32 个I/O 口线,两个16位定时/计数器,一个5向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。同时,ATC51可降至0Hz的静态逻辑操作,并支持两种软件可选的节电工作模式。空闲方式停止CPU的工作,但允许RAM,定时/计数器,串行通信口及中断系统继续工作。掉电方式保存RAM中的内容,但振荡器停止工作并禁止其它所有部件工作直到下一个硬件复位。

引脚功能说明:

1、Vcc:电源电压

2、GND:地

3、P0 口:P0 口是一组8 位漏极开路型双向I/O 口,也即地址/数据总线复用口。作为输出口用时,每位能吸收电流的方式驱动8个TTL逻辑门电路,对端口写“1”可作为高阻抗输入端用。在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低8位)和数据总线复用,在访问期间激活内部上拉电阻。在FIash编程时,P0口接收指令字节,而在程序校验时,输出指令字节,校验时,要求外接上拉电阻。

4、P1口:P1是一个带内部上拉电阻的8位双向I/O口,P1的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口。作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。FIash编程和程序校验期间,P1接收低8位地址。

5、P2口:P2是一个带有内部上拉电阻的8位双向I/O口,P2的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口,作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。在访问外部程序存储器或16位地址的外部数据存储器(例如执行MOVX@DPTR指令)时,P2口送出高8位地址数据。在访问8 位地址的外部数据存储器(如执行MOVX@RI 指令)时,P2 口线上的内容(也即特殊功能寄存器(SFR)区中R2寄存器的内容),在整个访问期间不改变。Flash编程或校验时,P2亦接收高位地址和其它控制信号。

6、P3口:P3口是一组带有内部上拉电阻的8 位双向I/O 口。P3 口输出缓冲级可驱动(吸收或输出电流)4 个TTL逻辑门电路。对P3 口写入“1”时,它们被内部上拉电阻拉高并可作为输入端口。作输入端时,被外部拉低的P3 口将用上拉电阻输出电流(IIL)。

P3口除了作为一般的I/O口线外,更重要的用途是它的第二功能,如下表所示:

图5

P3口还接收一些用于Flash闪速存储器编程和程序校验的控制信号。

7、RST:复位输入。当振荡器工作时,RST引脚出现两个机器周期以上高电平将使单片机复位。

8、ALE/PROG: 当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8位字节。即使不访问外部存储器,ALE 仍以时钟振荡频率的l/6 输出固定的正脉冲信号,因此它可对外输出时钟或用于定时目的。要注意的是:每当访问外部数据存储器时将跳过一个ALE脉冲。对Flash存储器编程期间,该引脚还用于输入编程脉(PROG

)。如有必要,可通过对特殊功能寄存器(SFR)区中的8EH单元的DO 位置位,可禁止ALE 操作。该位置位后,只有一条MOVX和MOVC指令ALE才会被激活。此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置ALE无效。

9、PSEN:程序储存允许(PSEN)输出是外部程序存储器的读选通信号,当ATC51 由外部程序存储器取指令(或数据)时,每个机器周期两次PSEN有效,即输出两个脉冲。在此期间,当访问外部数据存储器,这两次有效的PSEN信号不出现。

10、EA/VPP:外部访问允许。欲使CPU仅访问外部程序存储器(地址为0000H—FFFFH),EA端必须保持低电平(接地)。需注意的是:如果加密位LB1被编程,复位时内部会锁存EA端状态。如EA端为高电平(接VCC端),CPU则执行内部程序存储器中的指令。Flash存储器编程时,该引脚加上+12V的编程允许电源Vpp,当然这必须是该器件是使用12V编程电压Vpp。

11、XTAL1:振荡器反相放大器的及内部时钟发生器的输入端。

12、XTAL2:振荡器反相放大器的输出端。

图6 ATC51引脚图

4、ADC0809介绍

1).主要特性

1)8路8位A/D转换器,即分辨率8位。 

  2)具有转换起停控制端。 

  3)转换时间为100μs

  4)单个+5V电源供电 

  5)模拟输入电压范围0~+5V,不需零点和满刻度校准。 

  6)工作温度范围为-40~+85摄氏度 

  7)低功耗,约15mW。 

2).内部结构 

   ADC0809是CMOS单片型逐次逼近式A/D转换器,内部结构如图13.22所示,它由8路模拟开关、地址锁存与译码器、比较器、8位开关树型D/A转换器、逐次逼近 

3).外部特性(引脚功能)

图7 ADC0809引脚图

ADC0809芯片有2引脚,采用双列直插式封装,如图13.23所示。下面说明各引脚功能。 

  IN0~IN7:8路模拟量输入端。

  2-1~2-8:8位数字量输出端。

  ADDA、ADDB、ADDC:3位地址输入线,用于选通8路模拟输入中的一路

ALE:地址锁存允许信号,输入,高电平有效。 

  START: A/D转换启动信号,输入,高电平有效。 

  EOC: A/D转换结束信号,输出,当A/D转换结束时,此端输出一个高电平(转换期间一直为低电平)。 

  OE:数据输出允许信号,输入,高电平有效。当A/D转换结束时,此端输入一个高电平,才能打开输出三态门,输出数字量。

  CLK:时钟脉冲输入端。要求时钟频率不高于0KHZ。 

  REF(+)、REF(-):基准电压。 

  Vcc:电源,单一+5V。 

  GND:地。 

  ADC0809的工作过程是:首先输入3位地址,并使ALE=1,将地址存入地址锁存器中。此地址经译码选通8路模拟输入之一到比较器。START上升沿将逐次逼近寄存器复位。下降沿启动 A/D转换,之后EOC输出信号变低,指示转换正在进行。直到A/D转换完成,EOC变为高电平,指示A/D转换结束,结果数据已存入锁存器,这个信号可用作中断申请。当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

sbit  CLK        =  P2^2;

sbit  LED_Red    =  P2^6;

sbit  Bee        =  P2^5;

sbit  LED_Green  =  P2^7;

sbit  ON         =  P1^0;

sbit  CLK_1    =  P2^0;

sbit  DATA_1   =  P2^1;

sbit  ST          =  P3^5;

sbit  EOC          =  P3^7;

sbit  OE          =  P3^6;

sbit  PinA             =  P3^0;

sbit  PinB       =  P3^1;

sbit  PinC          =  P3^2;

sbit  S1         =  P1^1;

sbit  S2         =  P1^2;     

     

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 write1(unsigned char n)

{

    unsigned char i,tmp;

  for(i=0;i<8;i++)

{

     tmp=n;

     DATA_1=tmp&0x80;

     CLK_1=0;

     delayz();

n<<=1;

     CLK_1=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)

{

write1(b[3]);

write1(b[3]);

write1(b[2]);  

while(ON==1);

while(ON==0);

    TMOD=0x02;   

    EA  =1;  

    ET0 =1;

    TH0=0xFE;

    TL0=0xFE;

    InitIO();

    TR0=1;

while(1)

{

  write1(a[h%10]);

  write1(a[h/10]);

  write1(b[0]);

  longdelay();

  longdelay();

  write1(a[l%10]);

  write1(a[l/10]);

  write1(b[1]);

  longdelay();

  longdelay();

  if(S1==0)

{

  write1(a[tp1%10]);

  write1(a[tp1/10]);

  write1(a[1]);

  while(S1==1);

  while(S1==0);

  }

   if(S2==0)

  {

  write1(a[tp2%10]);

  write1(a[tp2/10]);

  write1(a[2]);

  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;

  write1(a[tp%10]);

  write1(a[tp/10]);

  write1(b[4]);

       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        {

        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;

        }

        else

        {

        LED_Red=1;LED_Green=1;Bee=1;

        }

}

}

void  INTT0()  interrupt  1 

{

    CLK = ~CLK;

}

六、实物展示

1、完成品

       

图14

                                                

图15

2、接电展示

图14-1  接电实际展示

  

图14-2  接电实际展示

    

图14-3  接电实际展示

图14-4  调节展示

七、元器件清单

八、总结

通过对温度传感器的设计和制作,我觉得自己学习到了很多,我对温度传感器的结构与原理有了很好的理解,知道了ATC51,LM35,LM324等芯片的基本应用和原理,并能进行一些简单的使用。加深了对数字电路的认识和理解,能将过去学到的理论知识进行运用。再次,加强了对PROTEL 等软件的应用。    在焊接电路板过程中,加强了焊接技术,以及加强我的细心和耐心。电路板焊接要求很高,不能出错。这点很重要。

在学习过程中,我得到了同学和老师的很多帮助,再次,对他们表示衷心的感谢,学习是要互帮互助的,这样可以共同进步。下载本文

显示全文
专题