简易温度报警器论文

毕业论文

论文题目:简易温度报警器

学生姓名: ***

专业名称: *****

指导教师: ****

目录

第1章 摘要„„„„„„„„„„„„„„„„„„„„„„„4

第2章 设计要求及方案„„„„„„„„„„„„„„„„„„5

2.1设计要求„„„„„„„„„„„„„„„„„„„„„„„5

2.2 设计方案„„„„„„„„„„„„„„„„„„„„„„„5

2.2.1温度报警器电路设计方案一工作原理„„„„„„„„„„5

2.2.2电路设计方案二的工作原理„„„„„„„„„„„„„„5

第3章 硬件设计„„„„„„„„„„„„„„„„„„„„„6

3.1系统框图„„„„„„„„„„„„„„„„„„„„„„„6

3.2 单元电路设计„„„„„„„„„„„„„„„„„„„„„7

3.2.1前级信号处理部分„„„„„„„„„„„„„„„„„„7

3.2.2 A/D转换模块„„„„„„„„„„„„„„„„„„„„7

3.2.3主控部分AT89C51„„„„„„„„„„„„„„„„„„„9

3.2.4 段驱动及数码管显示部分(SR410561K共阳极)„„„„„„9

3.2.5 位驱动和键盘输入部分„„„„„„„„„„„„„„„„10

3.2.6 高温报警及电机控制部分„„„„„„„„„„„„„„„11

3.2.7关键元器件介绍„„„„„„„„„„„„„„„„„12

3.3 总原理图„„„„„„„„„„„„„„„„„„„„„„„16

3.4 仿真组装与调试„„„„„„„„„„„„„„„„„„„„16

3.4.1 短路检测„„„„„„„„„„„„„„„„„„„„„17

3.4.2原理正确性确认„„„„„„„„„„„„„„„„„„„17

3.5 PCB图„„„„„„„„„„„„„„„„„„„„„„„„17

第4章 软件设计„„„„„„„„„„„„„„„„„„„„„18

4.1 流程图„„„„„„„„„„„„„„„„„„„„„„„„18

4.2 源程序„„„„„„„„„„„„„„„„„„„„„„„„19

第5章 总结与体会„„„„„„„„„„„„„„„„„„„„„25

第6章 参考文献„„„„„„„„„„„„„„„„„„„„„„26

第1章 摘要

温度是一个十分重要的物理量,对他的测量与控制有十分重要的意义,随着现代工农业技术的发展及人们对生活环境要求的提高,人们也迫切需要检测与控制温度。本文通过采用压电陶瓷蜂鸣片作为电声元件的温度报警器的设计与制作,阐明了该装置进行设计与制作的具体过程及方法。这种温度报警器结构简单,可操作性强,应用广泛。工作时,温度测量范围为10——30ºC。当前环境温度若超过设定的高温临界温度,由单片机发出报警信号并驱动继电器使风扇电机转动,从而防止因温度升高而带来的不必要的损失。

现代社会是信息社会,随着安全化程度的日益提高,机房——作为现代化的枢纽,其安全工作已成为重中之重,机房内一旦发生故障,将导致整个系统瘫痪,造成巨大的损失很社会影响。

造成高温火灾有:电气线路短路、过载、接触电阻过大等引发高温或火灾;静电产生高温或或火灾;雷电等强电侵入导致高温或火灾;最主要是机房内电脑、空调等用电设备长时间工作,导致设备老化,空调发生故障,而不能降温;因此机房内所属的电子产品发热快,在短时间内机房温度升高超出设备正常温度,导致系统瘫痪或产生火灾,这时温度报警系统就会发挥应有的功能。

本文介绍的是采用温度传感器AD590的温度报警器,自动测量当前环境温度,由单片机8051控制,并通过四位7段数码管显示,若当前环境温度超过此温度,系统发出报警并控制风扇电机转动。

关键词:温度测量,报警,电机转动,单片机。

第2章 设计要求及方案

2.1 设计要求

1.自动测量当前环境温度,并通过四位7段数码管显示(保留一位小数);

2.显示精度≤0.5℃;

3.用压电陶瓷蜂鸣片作为电声元件;

4.当温度在10-30℃范围内,报警器不发出声音。当温度超出这个范围时,报警器发出声音,并可根据不同的音调区分温度的高低,系统发出报警并控制风扇电机转动。

2.2 设计方案

2.2.1温度报警器电路设计方案一工作原理

该温度报警器的主要由温度传感器AD590,前级信号放大器和数模转换模块,主控电路,段驱动数码管位驱动等部分组成.工作原理如下:

1.传感器对当前环境温度进行采样得到与之对应的模拟信号。

2.信号处理电路对传感器采样所得的模拟信号进行处理(放大)。

3.A/D转换电路对处理之后的模拟信号数值化。

4.将该数字信号送入单片机,经单片机处理后由七段数码管显示。

5.键盘输入模块向单片机设定高温临界温度。

6.当前环境温度若超过设定的高温临界温度,由单片机发出报警信号,压电陶瓷蜂鸣器报警,并驱动继电器使风扇电机转动。

2.2.2电路设计方案二的工作原理

该温度报警器的电路如图1所示。时基电路IC1、电位器Rp 、电阻R1和热敏电阻RT组成温度检测触发电路。RT是一种负温度系数热敏电阻,阻值随温度的升高而逐渐减小。IC2是一种音响集成电路KD9561,能产生4种模拟声,即警车声、消防车声、救护车声和机枪声。IC3为音频功率放大器,可将微弱的音频信号

放大,推动扬声器B发声。具体工作过程如下:

温度未达到预定值时,由于温度传感器RT的阻值大于1/2(Rp+R1),IC1的触发端②脚电位高于1/3G(2V),使得IC1的③脚为低电位,二极管VD截止,IC2因得不到供电电压而无音频信号输出,扬声器B无声。当温度升高到预定值时,RT的阻值将小于1/2(Rp+R1),IC1的触发端②脚电位低于1/3G(2V),IC1的输出端③脚为低电位跳变到高电平,二极管VD导通,输出约5V(200mA)的直流电压。该直流电压经电容C2滤波后供给IC2。这时IC2产生的警笛信号由OUT端输出,经C3耦合至IC3的输入端③脚进行功率放大。放大后的音频信号从IC3的⑤脚输出,最后经电容C6驱动扬声器B发出响亮的警笛报警声。

图1

通过对以上两种方案的各个方面的比较.如适用前景和市场经济效益分析来看,选择第一种方案比较合理。

第3章 硬件设计

3.1 系统框图

3.2 单元电路设计

3.2.1前级信号处理部分

图2

上图是由集成运放LM741构成的减法电路。其输出电压U0=2.732-UI

图3

上图为由集成运放LM741组成的反向比例运算电路,其输出电压 UO=-2UI

经两级运放电路处理之后,最终其输出电压U0=(Ui-2.732)*2,因此就将

热力学温度转换成摄氏温度。若当前温度为0 ℃,则此时输出电压为(2.732-2.732)*2=0V;若当前温度为10 ℃,则此时输出电压为(2.832-2.732)*2=0.2V;若当前温度为20 ℃,则此时输出电压为(2.932-2.732)*2=0.4V。

3.2.2 A/D转换模块

图4

首先输入3位地址,并使ALE=1,将地址存入地址锁存器中。此地址经译码选通8路模拟输入之一到比较器。START上升沿将逐次逼近寄存器复位。下降沿启动 A/D转换,之后EOC输出信号变低,指示转换正在进行。直到A/D转换完成,EOC变为高电平,指示A/D转换结束,结果数据已存入锁存器,这个信号可用作中断申请。当OE输入高电平 时,输出三态门打开,转换结果的数字量输出到数据总线上。

3.2.3主控部分

AT89C51

图5

电路介绍:这时模拟信号被转化为数字信号送入到单片机8951中进行内部计算。由P1口输出到74LS244,P1口作为输出口时,若CPU输出1,Q=1,Q*=0,场效应管截止,P1口引脚的输出为1;若CPU输出0,Q=0,Q*=1,场效应管导通,P1口引脚的输出为0。P1口由于有内部上拉电阻,没有高阻抗输入状态,称为准双向口。作为输出口时,不需要在片外接上拉电阻。P1口“读引脚”输入时,必须先向锁存器写1。

3.2.4 段驱动及数码管显示部分(SR410561K共阳极)

图6 电路介绍:74LS244由

2组、每组四路输入、输出构成。每组有一个控制端G。由控制端的高或底电平决定该组数据被接通还是断开。它仅仅是一个缓冲驱动器而已,用于增强你的信号带负载能力。从主控芯片输入的信号转化为二进制信号。G端接低电平,两组数据接通,从输出端送到四位数码管内读取数据并显示。

3.2.5 位驱动和键盘输入部分:

图7 位驱动

图8 键盘输入

电路介绍:位驱动利用三级管的开关特性,被8051的片选端输入到三极管是否处于饱和区和截止区。键盘输入是用于输入某固定温度值,通过KEY1,KEY2,KEY3,KEY3输入到主控芯片8951中的25,26,27,28脚,使在外界温度低于或高于这个温度由主控芯片产生信号由16,17脚牵引到陶瓷蜂鸣器和电机模块。

3.2.6 高温报警及电机控制部分:

图9

电路介绍:从主控芯片16,17脚接收到信号通过简单电路分别使陶瓷蜂鸣器发出响声和电机转动。

3.2.7关键元器件介绍

3.2.7.1 有关传感器的知识

本设计采用温度传感器 AD590。AD590是美国模拟器件公司生产的单片集成两端感温电流源。它的主要特性如下:

流过器件的电流(μA)等于器件所处环境的热力学温度(开尔文)度数,即:Ir/T=1(μA/K ),其中Ir —流过器件(AD590)的电流,单位为μA; 热力学温度,单位为K。

AD590的测温范围为-55℃~+150℃。AD590的电源电压范围为4V~30V。电源电压可在4V~6V范围变化,电流 变化1μA,相当于温度变化1K。AD590可以承受44V正向电压和20V反向电压,因而器件反接也不会被损坏。i

输出电阻为710MΩ,精度高。AD590共有I、J、K、L、M五档,其中M档精度最高,在-55℃~+150℃范围内,非线性误差为±0.3℃。

AD590的输出电流值说明如下:

其输出电流是以绝对温度零度(-273℃)为ii基准,每增加1℃,它会增加1μA输出电流,因此在室温25℃时,其输出电流Iout=(273+25)=298μA。

内部结构:

集成温度传感器实质上是一种半导体集成电路,它是利用晶体管的b-e结压降的不饱和值VBE与热力学温度T和通过发射极电流I的下述关系实现对温度的检测:V=KIT/q lnI,式中:K—波尔兹常数;q—电子电荷绝对值。

集成温度传感器具有线性好、精度适中、灵敏度高、体积小、使用方便等优点,得到广泛应用。集成温度传感器的输出形式分为电压输出和电流输出两种。电压输出型的灵敏度一般为10mV/K,温度0℃时输出为0,温度25℃时输出2.982V。电流输出型的灵敏度一般为1μA/K。

外部特征:

Vcc(0):电源4—30v GND(1):接地。 典型应用电路:

AD590产生的电流与绝对温度成正比,它可接收的工作电压为4V-30V检测的温度范围为-55℃-+150℃,它有非常好的线性输出性能,温度每增加1℃,其

T—

电流增加1uA。

.

.

.

.

图10

上图为温度的基本应用电路。因为为流过AD590的电流与热力学温度成正比,当电阻10k 时,输出电压VO随温度的变化为10mV/K。

3.2.7.2模数转换器AD0809介绍

主要特性:

8路8位A/D转换器,即分辨率8位。 具有转换起停控制端。 转换时间为100μs,单个+5V电源供电 。模拟输入电压范围0~+5V,不需零点和满刻度校准。工作温度范围为-40~+85摄氏度 ,低功耗,约15mW。

内部结构:

ADC0809是CMOS单片型逐次逼近式A/D转换器,它由8路模拟开关、地址锁存与译码器、比较器、8位开关树型D/A转换器、逐次逼近寄存器、三态输出锁存器等其它一些电路组成。因此,ADC0809可处理8路模拟量输入,且有三态输出能力,既可与各种微处理器相连,也可单独工作。输入输出与TTL兼容。

外部特征:

ADC0809芯片有28条引脚,采用双列直插式封装 IN0~IN7:8路模拟量输入端。 2-1~2-8:8位数字量输出端。

ALE(22):地址锁存允许信号,输入,高电平有效。 START(6): A/D转换启动信号,输入,高电平有效。

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

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

CLK(10):时钟脉冲输入端。典型值为640KHZ。

REF(+)、REF(-):参考电压输入端。 Vcc(11):电源,+5V。 GND(13):地。

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

图11

首先输入3位地址,并使ALE=1,将地址存入地址锁存器中。此地址经译码选通8路模拟输入之一到比较器。START上升沿将逐次逼近寄存器复位。下降沿启动 A/D转换,之后EOC输出信号变低,指示转换正在进行。直到A/D转换完成,EOC变为高电平,指示A/D转换结束,结果数据已存入锁存器,这个信号可用作中断申请。当OE输入高电平 时,输出三态门打开,转换结果的数字量输出到数据总线上。

3..2.7.3 LM741介绍

LM741(单运放)是高增益运算放大器:

图12

1和5为偏置(调零端), 2为正向输入端, 3为反向输入端,

4接地, 6为输出, 7接电源, 8空脚

从原理上讲,振荡周期应不受电源电压的影响,但实际上,由于A2差动输入电压的限制与晶体管驱动电路的常数等影响,故不允许电源电压大幅度的变动。电源电压的范围为±13~±15V,正、负电源电压的绝对值需要相等。

3.2.7.4单片机AT89C51介绍

图13

89C51共有4个8位并行I/O端口:P0、P1、P2、P3口,共32个引脚。P3口还具有第二功能,用于特殊信号输入输出和控制信号(属控制总线)。数据存储器(RAM)片内为128个字节(52子系列的为256个字节),1个全双工的异步串行口,具有四种工作方式。共有21个,是一个具有特殊功能的RAM区。CPU对各种功能部件的控制是采用特殊功能寄存器(SFR,Special Function Register)的集中控制方式。

89C51的存储器配置方式与其他常用的微机系统不同,属哈佛结构,它把程序存储器和数据存储器分开,各有自己的寻址系统、控制信号和功能。程序存储器用于存放程序和表格常数;数据存储器用于存放程序运行数据和结果。

3.2.7.5有关压电陶瓷蜂鸣片的知识

蜂鸣片,实质上就是压电陶瓷片蜂鸣片。它是一个容性元件。压电陶瓷蜂鸣片是将高压极压化后的压电陶瓷片黏贴于振动金属片(一般有铜片,铁片,不锈钢,铝片等)上。当加入交流电压后,会因为压电效应,而产生机械变形伸展及收缩,利用此特性使金属片振动而发出声响。

压电陶瓷蜂鸣片一般分为他激式(二极);自激式(三极)两种。而普通的扬声器在电路中长感性,通过电流电可使它发声,且直流电也可以通过它。在某些情况下就可能使得放大器直流电路中断而不能工作。这时,我们可以在蜂鸣片两端并联一个合适的电感,使之对音频呈较大阻抗,但放大器又不能正常工作,蜂鸣器也可以正常发声。也可以用一只普通袖珍式收音机的输入变压器,用它的初级作为放大器的负载,次数(如果次级为双绕组,可将他们串联)与蜂鸣器的两端连接,这样能使蜂鸣片的音量加大许多。

3.3 总原理图(见附件) 3.4 仿真组装与调试

当温度传感器AD590接受到外界环境温度的变化时,如:将火苗靠近传感器或用电吹风对传感器加热等,这时传感器对这个信号进行采样处理,将这个模拟信号送入前级信号处理部分,经过减法电路和反向比例运算电路,对信号进行处理,证明了一个理论,当温度升高10摄氏度时,电压值增加0.1V。紧接着将这个处理过的模拟信号送到A/D转换模块中,将信号进行数字化处理,再将这个数字信号输入到主模块单片机中进行处理,由单片机的IO口将各个信号送入相应的单元电路,P0口接收数模转换信号,P1口输出信号到段驱动,经过74LS244处理送入到数码管显示数据,P2口接位驱动和键盘,查看是否处于饱和区或截止区和输入一个高温临界点,最后在从单片机的16脚和17脚接入压电陶瓷蜂鸣器和电机控制部分,用于高温报警和风扇的控制。最后再将程序烧入单片机中,这样整个电路就差不多了。紧接着就是调试的部分了,检查焊接是否规范,线路是否接错,确保基本的错误没有后,接通电源,检查前级和后级,看看数码管是否正常显示,最后再加热传感器,使其达到设定的高温临界点,如果实现了报警和风扇转动,证明设计成功了,如果没有还需一级一级的仔细检查。

在焊接的过程中,为保证焊点牢固、接触良好与美观,不存在虚焊、假焊,在焊接前要用刀、断锯条或砂纸刮去或打光引脚引线上的油污、氧化膜或漆,直

至露出光亮干净的表面,之后涂上松香溶液,其上搪一层锡。焊接时应掌握好温度及时间,焊接时间一般在3~5秒。若焊接时间过短,焊锡未与焊件充分浸熔易产生虚焊、假焊;时间过长,则将烫坏印制板的铜箔或元件。电烙铁温度过低,焊点表面粗糙、无光泽、呈豆腐渣状。焊接时,烙铁头应同时紧贴引脚或引线头及印制板上的焊盘铜箔,当焊点温度升至焊锡熔点时,焊锡熔化即自动流到引线与铜箔间,形成锥状光滑焊点,之后迅速移开烙铁。焊锡未完全凝固前,不能移动或摇动被焊元器件。焊锡可事前熔在烙铁头上,亦可在烙铁贴在焊点加热时将其送入。

各元件焊接完毕, 焊接结束后必须检查有无漏焊、虚焊以及由于焊锡流淌造成的元件短路。虚焊较难发现,可用镊子夹住元件引脚轻轻拉动,如发现摇动应立即补焊。这一阶段的调试是调试的第一部分即断电调试,步骤如下:

3.4.1 短路检测

系统电路焊接完成后,必须进行短路检测。检测方法简单,选用合适的万用

表欧姆挡,用红黑表笔接电路板的+5V电源的正负极,如果存在充放电现象(即电阻指示从大到小再到大或从小到大),最后电阻稳定在一个适当的位置。则基本可排除系统短路现象。如果无充放电现象或电阻值稳定在很小的值,则说明系统可能存在短路故障,不能通电实验,必须对系统进行仔细的排查,直至解决。

3.4.2原理正确性确认

不同的电路有不同的工作原理。因此必须针对具体电路进行具体分析。本设计的硬件电路原理设计在前面电路设计中已得到验证,为正确。

3.5 PCB图

第 4章 软件设计

4.1 流程图

4.2 源程序

4.2.1 define.h

#ifndef define_header_file #define define_header_file #include #include

#define uchar unsigned char #define uint unsigned int extern scan();

extern work_data(); extern keydone(); extern uint getdata; extern uint temp; extern uint high,low;

extern uchar code dis_7[]; extern uchar data display[]; extern uchar done;

sbit CLK = P3^5; sbit ST = P3^0; sbit OE = P3^1; sbit EOC = P3^2; sbit P20 = P2^0; sbit P21 = P2^1; sbit P22 = P2^2; sbit P23 = P2^3; sbit P24 = P2^4; sbit P25 = P2^5; sbit P17 = P1^7; #endif

4.2.2 keydone.c

#include "define.h"

sbit set = P3^3; sbit up = P3^4; sbit down = P3^6; sbit out = P3^7; bit highflag,lowflag; uchar count,m,n; uint high=650,low=150;

uchar data dis[4]={0x00,0x00,0x00,0x00}; delay()

{ uchar i,j;

for(i=10;i>0;i--) for(j=10;j>0;j--);} outkey() { out=1; if(out==0) { delay(); done=0; count=0;

while(out==0);}} setkey() { set = 1; if(set==0) { delay();

count=count+1; done=1;

while(set==0);}} upkey() { up=1; if(up==0) { delay(); switch(count)

{ case 1: ++high; if(high>=1000) { high=1000;} else

highflag=0; break;

case 2:++low; if(low>=high) { low=high; } break;

default:break; } while(up==0);}} downkey() {down=1; if(down==0) {delay();

switch(count) {case 1:--high; if(high

case 2:--low;

if(low

else lowflag=0; break;

default:break;} while(down==0);}} showlow()

{dis[0]=low%10; dis[1]=low/10%10; dis[2]=low/100%10; dis[3]=15; P20 = 1; P1 = dis_7[dis[0]]; delay(); P20 = 0; P21 = 1; P1 = dis_7[dis[1]]; P17 = 0; delay(); P21= 0; P22 = 1; P1 = dis_7[dis[2]]; delay();

P22 = 0;} showhigh()

{dis[0]=high%10; dis[1]=high/10%10; dis[2]=high/100%10; dis[3]=12; P20 = 1;

P1 = dis_7[dis[0]]; delay(); P20 = 0; P21 = 1;

P1 = dis_7[dis[1]]; P17 = 0; delay(); P21 =0; P22 = 1;

P1 = dis_7[dis[2]]; delay(); P22 =0;} keydone() {setkey();

if(count>2) count=count%2; switch(count) {case 1: { outkey(); upkey(); downkey(); showhigh();} break; case 2: {outkey(); upkey(); downkey(); showlow();} break;

default:break;}}

4.2.3 main.c 主函数

#include "define.h"

sbit set = P3^3; sbit up = P3^4; sbit down = P3^6; sbit out = P3^7; bit highflag,lowflag; uchar count,m,n; uint high=650,low=150;

uchar data dis[4]={0x00,0x00,0x00,0x00}; delay()

{ uchar i,j;

for(i=10;i>0;i--) for(j=10;j>0;j--); }

outkey() { out=1; if(out==0) { delay(); done=0; count=0;

while(out==0);}} setkey() { set = 1; if(set==0) { delay();

count=count+1;

done=1;

while(set==0);}} upkey() { up=1; if(up==0) { delay(); switch(count)

{ case 1: ++high; if(high>=1000) { high=1000;} else

highflag=0; break;

case 2:++low; if(low>=high) { low=high; } break;

default:break; } while(up==0);}} downkey() {down=1; if(down==0) {delay();

switch(count) {case 1:--high; if(high

case 2:--low; if(low

else lowflag=0; break;

default:break;} while(down==0);}} showlow()

{dis[0]=low%10; dis[1]=low/10%10; dis[2]=low/100%10; dis[3]=15; P20 = 1; P1 = dis_7[dis[0]]; delay();

P20 = 0; P21 = 1; P1 = dis_7[dis[1]]; P17 = 0; delay(); P21 = 0; P22 = 1; P1 = dis_7[dis[2]]; delay(); P22 = 0;} showhigh()

{dis[0]=high%10; dis[1]=high/10%10; dis[2]=high/100%10; dis[3]=12; P20 = 1;

P1 = dis_7[dis[0]]; delay(); P20 =0; P21 = 1;

P1 = dis_7[dis[1]]; P17 = 0; delay(); P21 = 0; P22 = 1;

P1 = dis_7[dis[2]]; delay(); P22 = 0;} keydone() {setkey(); if(count>2) count=count%2; switch(count) {case 1: { outkey(); upkey(); downkey(); showhigh();} break; case 2: {outkey(); upkey(); downkey(); showlow();}

break;

default:break;}}

4.2.4 scan.c动态扫描函数

#include delay_lay() {uchar i;

for(i=0;i

scan()//各路数据处理及显示各路数据1S {int h;

temp=(unsigned int)((unsigned long)getdata*2500/510); if((temp>high)||(temp

{display[0]=temp%10; display[1]=temp/10%10; display[2]=temp/100%10; display[3]=temp/1000%10; for(h=0;h

P1 = dis_7[display[0]]; delay_lay(); P20 = 0; P21 = 1;

P1 = dis_7[display[1]]; P17 = 0; delay_lay(); P21 = 0; P22 = 1;

P1= dis_7[display[2]]; delay_lay(); P22 = 0; }}}

第5章 总结与体会

经过将近三个星期的毕业设计,终于完成了我的温度报警器的设计,虽然没有完全达到设计要求,没有那么完美,但从心底里说,还是高兴的,毕竟这次设计终于得以完成,但是高兴之余不得不深思呀!

在本次毕业设计的过程中,我发现很多的问题,虽然以前还做过类似这样的课程设计,但这次毕业设计真的让我长进了很多,从一无所有到最终产品的完成

真的是一个很艰难的过程。我们不仅要选好材料,还要学着把这些材料合理的组织起来。所以我们要学会如何寻找和搜索自己需要的电路图。而且还要知道各个部分的作用。每个环节都不是一件简单的事。举个例子,以前做课程设计的时候都是老师或同学拿来现成的电路图,而我们所需做的只是照葫芦画瓢。这一次,我要自己动手去寻找电路图,还要分析它的功能,是真正的靠自己,虽然比较艰难,但是感觉效果比较好,毕竟是自己认真完成的。也学到了许多,了解了传感器能够把自然界的各种非电量转换为电信号的物理思想,并且可将报警装置应用到与自己专业相关的行业中去。有好多的东西,只有我们去试着做了,才能真正的掌握,只学习理论有些东西是很难理解的,更谈不上掌握。因此要理论与实践并重。

从这次的毕业论文设计中,我真正的意识到,在以后的学习中,要理论联系实际,把我们所学的理论知识用到实际当中,实践是检验真理的唯一标准。我们电子专业的学习更是如此,不仅要有丰富的理论知识,还要有很强的动手能力,只有理论与实践并重,我们的专业水平才能提高,这就是我在这次毕业设计中的最大收获。

最后要感谢我们系领导在毕业设计过程中对我们毕业生的关心和支持! 首先我要特别感谢我的指导老师余老师,在毕业设计过程中,无论是在理论学习阶段,还是在论文的选题、资料查询、开题、研究和撰写的每一个环节,无不得到指导老师的悉心指导和帮助,尤其是在我的论文有很多不合格地方的时候,余老师耐心的给我讲解要围绕论文题目去写论文正文,一些有点相关但是不必要的东西应该删除,在一遍遍的修改之后,我得以顺利完成论文写作。我愿借此机会向我的指导老师余老师表示衷心的感谢!

其次要向我的同学表示感谢,在我遇到困难的时候,他们能够帮助我,俗话说,三个臭皮匠顶个诸葛亮,在大家你一点我一点意见的帮助下,我才能顺利的完成这次设计,谢谢我的同学!

第6章 参考文献

[1] 胡 锦: 《数字电路与逻辑设计》 第二版. 高等教育出版社。

[2] 刘树林: 《低频电子线路》 第二版. 电子工业出版社。

[3] 沈农: 《传感器及应用技术》. 化学工业出版社。

[4] 苟鸿娅: 《电工技术基础》. 西南交通大学出版社。

[5] 廖 芳: 《电子产品生产工艺与管理》. 电子工业出版社。

[6] 黄智伟: 《全国大学生设计竞赛训练教程》. 电子工业出版社。

[7] 白霞、孙艳秋: 《微机原理与接口技术》. 清华大学出版社。

[8] 张 伟: 《Protel 99SE实用教程》.

[9] 谭洁强: 《C程序设计》第三版.

[10] 刘守义、杨宏丽、王静霞:《单片机应用技术》.

人民邮电出版社。 清华大学出版社。 西安电子科技大学出版社。

[1] 胡 锦: 《数字电路与逻辑设计》 第二版. 高等教育出版社。

[2] 沈农: 《传感器及应用技术》. 化学工业出版社。

[3] 苟鸿娅: 《电工技术基础》. 西南交通大学出版社。

[4] 廖 芳: 《电子产品生产工艺与管理》. 电子工业出版社。

[5] 黄智伟: 《全国大学生设计竞赛训练教程》. 电子工业出版社。

[6] 刘树林: 《低频电子线路》 第二版.

[7] 白霞、孙艳秋: 《微机原理与接口技术》.

[8] 张 伟: 《Protel 99SE实用教程》.

[9] 温新宜:《精选实用电子制作集锦》.

[10] 何希才:《 新型集成电路应用实例》.

电子工业出版社。 清华大学出版社。 人民邮电出版社。 电子工业出版社。

电子工业出版社。

毕业论文

论文题目:简易温度报警器

学生姓名: ***

专业名称: *****

指导教师: ****

目录

第1章 摘要„„„„„„„„„„„„„„„„„„„„„„„4

第2章 设计要求及方案„„„„„„„„„„„„„„„„„„5

2.1设计要求„„„„„„„„„„„„„„„„„„„„„„„5

2.2 设计方案„„„„„„„„„„„„„„„„„„„„„„„5

2.2.1温度报警器电路设计方案一工作原理„„„„„„„„„„5

2.2.2电路设计方案二的工作原理„„„„„„„„„„„„„„5

第3章 硬件设计„„„„„„„„„„„„„„„„„„„„„6

3.1系统框图„„„„„„„„„„„„„„„„„„„„„„„6

3.2 单元电路设计„„„„„„„„„„„„„„„„„„„„„7

3.2.1前级信号处理部分„„„„„„„„„„„„„„„„„„7

3.2.2 A/D转换模块„„„„„„„„„„„„„„„„„„„„7

3.2.3主控部分AT89C51„„„„„„„„„„„„„„„„„„„9

3.2.4 段驱动及数码管显示部分(SR410561K共阳极)„„„„„„9

3.2.5 位驱动和键盘输入部分„„„„„„„„„„„„„„„„10

3.2.6 高温报警及电机控制部分„„„„„„„„„„„„„„„11

3.2.7关键元器件介绍„„„„„„„„„„„„„„„„„12

3.3 总原理图„„„„„„„„„„„„„„„„„„„„„„„16

3.4 仿真组装与调试„„„„„„„„„„„„„„„„„„„„16

3.4.1 短路检测„„„„„„„„„„„„„„„„„„„„„17

3.4.2原理正确性确认„„„„„„„„„„„„„„„„„„„17

3.5 PCB图„„„„„„„„„„„„„„„„„„„„„„„„17

第4章 软件设计„„„„„„„„„„„„„„„„„„„„„18

4.1 流程图„„„„„„„„„„„„„„„„„„„„„„„„18

4.2 源程序„„„„„„„„„„„„„„„„„„„„„„„„19

第5章 总结与体会„„„„„„„„„„„„„„„„„„„„„25

第6章 参考文献„„„„„„„„„„„„„„„„„„„„„„26

第1章 摘要

温度是一个十分重要的物理量,对他的测量与控制有十分重要的意义,随着现代工农业技术的发展及人们对生活环境要求的提高,人们也迫切需要检测与控制温度。本文通过采用压电陶瓷蜂鸣片作为电声元件的温度报警器的设计与制作,阐明了该装置进行设计与制作的具体过程及方法。这种温度报警器结构简单,可操作性强,应用广泛。工作时,温度测量范围为10——30ºC。当前环境温度若超过设定的高温临界温度,由单片机发出报警信号并驱动继电器使风扇电机转动,从而防止因温度升高而带来的不必要的损失。

现代社会是信息社会,随着安全化程度的日益提高,机房——作为现代化的枢纽,其安全工作已成为重中之重,机房内一旦发生故障,将导致整个系统瘫痪,造成巨大的损失很社会影响。

造成高温火灾有:电气线路短路、过载、接触电阻过大等引发高温或火灾;静电产生高温或或火灾;雷电等强电侵入导致高温或火灾;最主要是机房内电脑、空调等用电设备长时间工作,导致设备老化,空调发生故障,而不能降温;因此机房内所属的电子产品发热快,在短时间内机房温度升高超出设备正常温度,导致系统瘫痪或产生火灾,这时温度报警系统就会发挥应有的功能。

本文介绍的是采用温度传感器AD590的温度报警器,自动测量当前环境温度,由单片机8051控制,并通过四位7段数码管显示,若当前环境温度超过此温度,系统发出报警并控制风扇电机转动。

关键词:温度测量,报警,电机转动,单片机。

第2章 设计要求及方案

2.1 设计要求

1.自动测量当前环境温度,并通过四位7段数码管显示(保留一位小数);

2.显示精度≤0.5℃;

3.用压电陶瓷蜂鸣片作为电声元件;

4.当温度在10-30℃范围内,报警器不发出声音。当温度超出这个范围时,报警器发出声音,并可根据不同的音调区分温度的高低,系统发出报警并控制风扇电机转动。

2.2 设计方案

2.2.1温度报警器电路设计方案一工作原理

该温度报警器的主要由温度传感器AD590,前级信号放大器和数模转换模块,主控电路,段驱动数码管位驱动等部分组成.工作原理如下:

1.传感器对当前环境温度进行采样得到与之对应的模拟信号。

2.信号处理电路对传感器采样所得的模拟信号进行处理(放大)。

3.A/D转换电路对处理之后的模拟信号数值化。

4.将该数字信号送入单片机,经单片机处理后由七段数码管显示。

5.键盘输入模块向单片机设定高温临界温度。

6.当前环境温度若超过设定的高温临界温度,由单片机发出报警信号,压电陶瓷蜂鸣器报警,并驱动继电器使风扇电机转动。

2.2.2电路设计方案二的工作原理

该温度报警器的电路如图1所示。时基电路IC1、电位器Rp 、电阻R1和热敏电阻RT组成温度检测触发电路。RT是一种负温度系数热敏电阻,阻值随温度的升高而逐渐减小。IC2是一种音响集成电路KD9561,能产生4种模拟声,即警车声、消防车声、救护车声和机枪声。IC3为音频功率放大器,可将微弱的音频信号

放大,推动扬声器B发声。具体工作过程如下:

温度未达到预定值时,由于温度传感器RT的阻值大于1/2(Rp+R1),IC1的触发端②脚电位高于1/3G(2V),使得IC1的③脚为低电位,二极管VD截止,IC2因得不到供电电压而无音频信号输出,扬声器B无声。当温度升高到预定值时,RT的阻值将小于1/2(Rp+R1),IC1的触发端②脚电位低于1/3G(2V),IC1的输出端③脚为低电位跳变到高电平,二极管VD导通,输出约5V(200mA)的直流电压。该直流电压经电容C2滤波后供给IC2。这时IC2产生的警笛信号由OUT端输出,经C3耦合至IC3的输入端③脚进行功率放大。放大后的音频信号从IC3的⑤脚输出,最后经电容C6驱动扬声器B发出响亮的警笛报警声。

图1

通过对以上两种方案的各个方面的比较.如适用前景和市场经济效益分析来看,选择第一种方案比较合理。

第3章 硬件设计

3.1 系统框图

3.2 单元电路设计

3.2.1前级信号处理部分

图2

上图是由集成运放LM741构成的减法电路。其输出电压U0=2.732-UI

图3

上图为由集成运放LM741组成的反向比例运算电路,其输出电压 UO=-2UI

经两级运放电路处理之后,最终其输出电压U0=(Ui-2.732)*2,因此就将

热力学温度转换成摄氏温度。若当前温度为0 ℃,则此时输出电压为(2.732-2.732)*2=0V;若当前温度为10 ℃,则此时输出电压为(2.832-2.732)*2=0.2V;若当前温度为20 ℃,则此时输出电压为(2.932-2.732)*2=0.4V。

3.2.2 A/D转换模块

图4

首先输入3位地址,并使ALE=1,将地址存入地址锁存器中。此地址经译码选通8路模拟输入之一到比较器。START上升沿将逐次逼近寄存器复位。下降沿启动 A/D转换,之后EOC输出信号变低,指示转换正在进行。直到A/D转换完成,EOC变为高电平,指示A/D转换结束,结果数据已存入锁存器,这个信号可用作中断申请。当OE输入高电平 时,输出三态门打开,转换结果的数字量输出到数据总线上。

3.2.3主控部分

AT89C51

图5

电路介绍:这时模拟信号被转化为数字信号送入到单片机8951中进行内部计算。由P1口输出到74LS244,P1口作为输出口时,若CPU输出1,Q=1,Q*=0,场效应管截止,P1口引脚的输出为1;若CPU输出0,Q=0,Q*=1,场效应管导通,P1口引脚的输出为0。P1口由于有内部上拉电阻,没有高阻抗输入状态,称为准双向口。作为输出口时,不需要在片外接上拉电阻。P1口“读引脚”输入时,必须先向锁存器写1。

3.2.4 段驱动及数码管显示部分(SR410561K共阳极)

图6 电路介绍:74LS244由

2组、每组四路输入、输出构成。每组有一个控制端G。由控制端的高或底电平决定该组数据被接通还是断开。它仅仅是一个缓冲驱动器而已,用于增强你的信号带负载能力。从主控芯片输入的信号转化为二进制信号。G端接低电平,两组数据接通,从输出端送到四位数码管内读取数据并显示。

3.2.5 位驱动和键盘输入部分:

图7 位驱动

图8 键盘输入

电路介绍:位驱动利用三级管的开关特性,被8051的片选端输入到三极管是否处于饱和区和截止区。键盘输入是用于输入某固定温度值,通过KEY1,KEY2,KEY3,KEY3输入到主控芯片8951中的25,26,27,28脚,使在外界温度低于或高于这个温度由主控芯片产生信号由16,17脚牵引到陶瓷蜂鸣器和电机模块。

3.2.6 高温报警及电机控制部分:

图9

电路介绍:从主控芯片16,17脚接收到信号通过简单电路分别使陶瓷蜂鸣器发出响声和电机转动。

3.2.7关键元器件介绍

3.2.7.1 有关传感器的知识

本设计采用温度传感器 AD590。AD590是美国模拟器件公司生产的单片集成两端感温电流源。它的主要特性如下:

流过器件的电流(μA)等于器件所处环境的热力学温度(开尔文)度数,即:Ir/T=1(μA/K ),其中Ir —流过器件(AD590)的电流,单位为μA; 热力学温度,单位为K。

AD590的测温范围为-55℃~+150℃。AD590的电源电压范围为4V~30V。电源电压可在4V~6V范围变化,电流 变化1μA,相当于温度变化1K。AD590可以承受44V正向电压和20V反向电压,因而器件反接也不会被损坏。i

输出电阻为710MΩ,精度高。AD590共有I、J、K、L、M五档,其中M档精度最高,在-55℃~+150℃范围内,非线性误差为±0.3℃。

AD590的输出电流值说明如下:

其输出电流是以绝对温度零度(-273℃)为ii基准,每增加1℃,它会增加1μA输出电流,因此在室温25℃时,其输出电流Iout=(273+25)=298μA。

内部结构:

集成温度传感器实质上是一种半导体集成电路,它是利用晶体管的b-e结压降的不饱和值VBE与热力学温度T和通过发射极电流I的下述关系实现对温度的检测:V=KIT/q lnI,式中:K—波尔兹常数;q—电子电荷绝对值。

集成温度传感器具有线性好、精度适中、灵敏度高、体积小、使用方便等优点,得到广泛应用。集成温度传感器的输出形式分为电压输出和电流输出两种。电压输出型的灵敏度一般为10mV/K,温度0℃时输出为0,温度25℃时输出2.982V。电流输出型的灵敏度一般为1μA/K。

外部特征:

Vcc(0):电源4—30v GND(1):接地。 典型应用电路:

AD590产生的电流与绝对温度成正比,它可接收的工作电压为4V-30V检测的温度范围为-55℃-+150℃,它有非常好的线性输出性能,温度每增加1℃,其

T—

电流增加1uA。

.

.

.

.

图10

上图为温度的基本应用电路。因为为流过AD590的电流与热力学温度成正比,当电阻10k 时,输出电压VO随温度的变化为10mV/K。

3.2.7.2模数转换器AD0809介绍

主要特性:

8路8位A/D转换器,即分辨率8位。 具有转换起停控制端。 转换时间为100μs,单个+5V电源供电 。模拟输入电压范围0~+5V,不需零点和满刻度校准。工作温度范围为-40~+85摄氏度 ,低功耗,约15mW。

内部结构:

ADC0809是CMOS单片型逐次逼近式A/D转换器,它由8路模拟开关、地址锁存与译码器、比较器、8位开关树型D/A转换器、逐次逼近寄存器、三态输出锁存器等其它一些电路组成。因此,ADC0809可处理8路模拟量输入,且有三态输出能力,既可与各种微处理器相连,也可单独工作。输入输出与TTL兼容。

外部特征:

ADC0809芯片有28条引脚,采用双列直插式封装 IN0~IN7:8路模拟量输入端。 2-1~2-8:8位数字量输出端。

ALE(22):地址锁存允许信号,输入,高电平有效。 START(6): A/D转换启动信号,输入,高电平有效。

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

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

CLK(10):时钟脉冲输入端。典型值为640KHZ。

REF(+)、REF(-):参考电压输入端。 Vcc(11):电源,+5V。 GND(13):地。

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

图11

首先输入3位地址,并使ALE=1,将地址存入地址锁存器中。此地址经译码选通8路模拟输入之一到比较器。START上升沿将逐次逼近寄存器复位。下降沿启动 A/D转换,之后EOC输出信号变低,指示转换正在进行。直到A/D转换完成,EOC变为高电平,指示A/D转换结束,结果数据已存入锁存器,这个信号可用作中断申请。当OE输入高电平 时,输出三态门打开,转换结果的数字量输出到数据总线上。

3..2.7.3 LM741介绍

LM741(单运放)是高增益运算放大器:

图12

1和5为偏置(调零端), 2为正向输入端, 3为反向输入端,

4接地, 6为输出, 7接电源, 8空脚

从原理上讲,振荡周期应不受电源电压的影响,但实际上,由于A2差动输入电压的限制与晶体管驱动电路的常数等影响,故不允许电源电压大幅度的变动。电源电压的范围为±13~±15V,正、负电源电压的绝对值需要相等。

3.2.7.4单片机AT89C51介绍

图13

89C51共有4个8位并行I/O端口:P0、P1、P2、P3口,共32个引脚。P3口还具有第二功能,用于特殊信号输入输出和控制信号(属控制总线)。数据存储器(RAM)片内为128个字节(52子系列的为256个字节),1个全双工的异步串行口,具有四种工作方式。共有21个,是一个具有特殊功能的RAM区。CPU对各种功能部件的控制是采用特殊功能寄存器(SFR,Special Function Register)的集中控制方式。

89C51的存储器配置方式与其他常用的微机系统不同,属哈佛结构,它把程序存储器和数据存储器分开,各有自己的寻址系统、控制信号和功能。程序存储器用于存放程序和表格常数;数据存储器用于存放程序运行数据和结果。

3.2.7.5有关压电陶瓷蜂鸣片的知识

蜂鸣片,实质上就是压电陶瓷片蜂鸣片。它是一个容性元件。压电陶瓷蜂鸣片是将高压极压化后的压电陶瓷片黏贴于振动金属片(一般有铜片,铁片,不锈钢,铝片等)上。当加入交流电压后,会因为压电效应,而产生机械变形伸展及收缩,利用此特性使金属片振动而发出声响。

压电陶瓷蜂鸣片一般分为他激式(二极);自激式(三极)两种。而普通的扬声器在电路中长感性,通过电流电可使它发声,且直流电也可以通过它。在某些情况下就可能使得放大器直流电路中断而不能工作。这时,我们可以在蜂鸣片两端并联一个合适的电感,使之对音频呈较大阻抗,但放大器又不能正常工作,蜂鸣器也可以正常发声。也可以用一只普通袖珍式收音机的输入变压器,用它的初级作为放大器的负载,次数(如果次级为双绕组,可将他们串联)与蜂鸣器的两端连接,这样能使蜂鸣片的音量加大许多。

3.3 总原理图(见附件) 3.4 仿真组装与调试

当温度传感器AD590接受到外界环境温度的变化时,如:将火苗靠近传感器或用电吹风对传感器加热等,这时传感器对这个信号进行采样处理,将这个模拟信号送入前级信号处理部分,经过减法电路和反向比例运算电路,对信号进行处理,证明了一个理论,当温度升高10摄氏度时,电压值增加0.1V。紧接着将这个处理过的模拟信号送到A/D转换模块中,将信号进行数字化处理,再将这个数字信号输入到主模块单片机中进行处理,由单片机的IO口将各个信号送入相应的单元电路,P0口接收数模转换信号,P1口输出信号到段驱动,经过74LS244处理送入到数码管显示数据,P2口接位驱动和键盘,查看是否处于饱和区或截止区和输入一个高温临界点,最后在从单片机的16脚和17脚接入压电陶瓷蜂鸣器和电机控制部分,用于高温报警和风扇的控制。最后再将程序烧入单片机中,这样整个电路就差不多了。紧接着就是调试的部分了,检查焊接是否规范,线路是否接错,确保基本的错误没有后,接通电源,检查前级和后级,看看数码管是否正常显示,最后再加热传感器,使其达到设定的高温临界点,如果实现了报警和风扇转动,证明设计成功了,如果没有还需一级一级的仔细检查。

在焊接的过程中,为保证焊点牢固、接触良好与美观,不存在虚焊、假焊,在焊接前要用刀、断锯条或砂纸刮去或打光引脚引线上的油污、氧化膜或漆,直

至露出光亮干净的表面,之后涂上松香溶液,其上搪一层锡。焊接时应掌握好温度及时间,焊接时间一般在3~5秒。若焊接时间过短,焊锡未与焊件充分浸熔易产生虚焊、假焊;时间过长,则将烫坏印制板的铜箔或元件。电烙铁温度过低,焊点表面粗糙、无光泽、呈豆腐渣状。焊接时,烙铁头应同时紧贴引脚或引线头及印制板上的焊盘铜箔,当焊点温度升至焊锡熔点时,焊锡熔化即自动流到引线与铜箔间,形成锥状光滑焊点,之后迅速移开烙铁。焊锡未完全凝固前,不能移动或摇动被焊元器件。焊锡可事前熔在烙铁头上,亦可在烙铁贴在焊点加热时将其送入。

各元件焊接完毕, 焊接结束后必须检查有无漏焊、虚焊以及由于焊锡流淌造成的元件短路。虚焊较难发现,可用镊子夹住元件引脚轻轻拉动,如发现摇动应立即补焊。这一阶段的调试是调试的第一部分即断电调试,步骤如下:

3.4.1 短路检测

系统电路焊接完成后,必须进行短路检测。检测方法简单,选用合适的万用

表欧姆挡,用红黑表笔接电路板的+5V电源的正负极,如果存在充放电现象(即电阻指示从大到小再到大或从小到大),最后电阻稳定在一个适当的位置。则基本可排除系统短路现象。如果无充放电现象或电阻值稳定在很小的值,则说明系统可能存在短路故障,不能通电实验,必须对系统进行仔细的排查,直至解决。

3.4.2原理正确性确认

不同的电路有不同的工作原理。因此必须针对具体电路进行具体分析。本设计的硬件电路原理设计在前面电路设计中已得到验证,为正确。

3.5 PCB图

第 4章 软件设计

4.1 流程图

4.2 源程序

4.2.1 define.h

#ifndef define_header_file #define define_header_file #include #include

#define uchar unsigned char #define uint unsigned int extern scan();

extern work_data(); extern keydone(); extern uint getdata; extern uint temp; extern uint high,low;

extern uchar code dis_7[]; extern uchar data display[]; extern uchar done;

sbit CLK = P3^5; sbit ST = P3^0; sbit OE = P3^1; sbit EOC = P3^2; sbit P20 = P2^0; sbit P21 = P2^1; sbit P22 = P2^2; sbit P23 = P2^3; sbit P24 = P2^4; sbit P25 = P2^5; sbit P17 = P1^7; #endif

4.2.2 keydone.c

#include "define.h"

sbit set = P3^3; sbit up = P3^4; sbit down = P3^6; sbit out = P3^7; bit highflag,lowflag; uchar count,m,n; uint high=650,low=150;

uchar data dis[4]={0x00,0x00,0x00,0x00}; delay()

{ uchar i,j;

for(i=10;i>0;i--) for(j=10;j>0;j--);} outkey() { out=1; if(out==0) { delay(); done=0; count=0;

while(out==0);}} setkey() { set = 1; if(set==0) { delay();

count=count+1; done=1;

while(set==0);}} upkey() { up=1; if(up==0) { delay(); switch(count)

{ case 1: ++high; if(high>=1000) { high=1000;} else

highflag=0; break;

case 2:++low; if(low>=high) { low=high; } break;

default:break; } while(up==0);}} downkey() {down=1; if(down==0) {delay();

switch(count) {case 1:--high; if(high

case 2:--low;

if(low

else lowflag=0; break;

default:break;} while(down==0);}} showlow()

{dis[0]=low%10; dis[1]=low/10%10; dis[2]=low/100%10; dis[3]=15; P20 = 1; P1 = dis_7[dis[0]]; delay(); P20 = 0; P21 = 1; P1 = dis_7[dis[1]]; P17 = 0; delay(); P21= 0; P22 = 1; P1 = dis_7[dis[2]]; delay();

P22 = 0;} showhigh()

{dis[0]=high%10; dis[1]=high/10%10; dis[2]=high/100%10; dis[3]=12; P20 = 1;

P1 = dis_7[dis[0]]; delay(); P20 = 0; P21 = 1;

P1 = dis_7[dis[1]]; P17 = 0; delay(); P21 =0; P22 = 1;

P1 = dis_7[dis[2]]; delay(); P22 =0;} keydone() {setkey();

if(count>2) count=count%2; switch(count) {case 1: { outkey(); upkey(); downkey(); showhigh();} break; case 2: {outkey(); upkey(); downkey(); showlow();} break;

default:break;}}

4.2.3 main.c 主函数

#include "define.h"

sbit set = P3^3; sbit up = P3^4; sbit down = P3^6; sbit out = P3^7; bit highflag,lowflag; uchar count,m,n; uint high=650,low=150;

uchar data dis[4]={0x00,0x00,0x00,0x00}; delay()

{ uchar i,j;

for(i=10;i>0;i--) for(j=10;j>0;j--); }

outkey() { out=1; if(out==0) { delay(); done=0; count=0;

while(out==0);}} setkey() { set = 1; if(set==0) { delay();

count=count+1;

done=1;

while(set==0);}} upkey() { up=1; if(up==0) { delay(); switch(count)

{ case 1: ++high; if(high>=1000) { high=1000;} else

highflag=0; break;

case 2:++low; if(low>=high) { low=high; } break;

default:break; } while(up==0);}} downkey() {down=1; if(down==0) {delay();

switch(count) {case 1:--high; if(high

case 2:--low; if(low

else lowflag=0; break;

default:break;} while(down==0);}} showlow()

{dis[0]=low%10; dis[1]=low/10%10; dis[2]=low/100%10; dis[3]=15; P20 = 1; P1 = dis_7[dis[0]]; delay();

P20 = 0; P21 = 1; P1 = dis_7[dis[1]]; P17 = 0; delay(); P21 = 0; P22 = 1; P1 = dis_7[dis[2]]; delay(); P22 = 0;} showhigh()

{dis[0]=high%10; dis[1]=high/10%10; dis[2]=high/100%10; dis[3]=12; P20 = 1;

P1 = dis_7[dis[0]]; delay(); P20 =0; P21 = 1;

P1 = dis_7[dis[1]]; P17 = 0; delay(); P21 = 0; P22 = 1;

P1 = dis_7[dis[2]]; delay(); P22 = 0;} keydone() {setkey(); if(count>2) count=count%2; switch(count) {case 1: { outkey(); upkey(); downkey(); showhigh();} break; case 2: {outkey(); upkey(); downkey(); showlow();}

break;

default:break;}}

4.2.4 scan.c动态扫描函数

#include delay_lay() {uchar i;

for(i=0;i

scan()//各路数据处理及显示各路数据1S {int h;

temp=(unsigned int)((unsigned long)getdata*2500/510); if((temp>high)||(temp

{display[0]=temp%10; display[1]=temp/10%10; display[2]=temp/100%10; display[3]=temp/1000%10; for(h=0;h

P1 = dis_7[display[0]]; delay_lay(); P20 = 0; P21 = 1;

P1 = dis_7[display[1]]; P17 = 0; delay_lay(); P21 = 0; P22 = 1;

P1= dis_7[display[2]]; delay_lay(); P22 = 0; }}}

第5章 总结与体会

经过将近三个星期的毕业设计,终于完成了我的温度报警器的设计,虽然没有完全达到设计要求,没有那么完美,但从心底里说,还是高兴的,毕竟这次设计终于得以完成,但是高兴之余不得不深思呀!

在本次毕业设计的过程中,我发现很多的问题,虽然以前还做过类似这样的课程设计,但这次毕业设计真的让我长进了很多,从一无所有到最终产品的完成

真的是一个很艰难的过程。我们不仅要选好材料,还要学着把这些材料合理的组织起来。所以我们要学会如何寻找和搜索自己需要的电路图。而且还要知道各个部分的作用。每个环节都不是一件简单的事。举个例子,以前做课程设计的时候都是老师或同学拿来现成的电路图,而我们所需做的只是照葫芦画瓢。这一次,我要自己动手去寻找电路图,还要分析它的功能,是真正的靠自己,虽然比较艰难,但是感觉效果比较好,毕竟是自己认真完成的。也学到了许多,了解了传感器能够把自然界的各种非电量转换为电信号的物理思想,并且可将报警装置应用到与自己专业相关的行业中去。有好多的东西,只有我们去试着做了,才能真正的掌握,只学习理论有些东西是很难理解的,更谈不上掌握。因此要理论与实践并重。

从这次的毕业论文设计中,我真正的意识到,在以后的学习中,要理论联系实际,把我们所学的理论知识用到实际当中,实践是检验真理的唯一标准。我们电子专业的学习更是如此,不仅要有丰富的理论知识,还要有很强的动手能力,只有理论与实践并重,我们的专业水平才能提高,这就是我在这次毕业设计中的最大收获。

最后要感谢我们系领导在毕业设计过程中对我们毕业生的关心和支持! 首先我要特别感谢我的指导老师余老师,在毕业设计过程中,无论是在理论学习阶段,还是在论文的选题、资料查询、开题、研究和撰写的每一个环节,无不得到指导老师的悉心指导和帮助,尤其是在我的论文有很多不合格地方的时候,余老师耐心的给我讲解要围绕论文题目去写论文正文,一些有点相关但是不必要的东西应该删除,在一遍遍的修改之后,我得以顺利完成论文写作。我愿借此机会向我的指导老师余老师表示衷心的感谢!

其次要向我的同学表示感谢,在我遇到困难的时候,他们能够帮助我,俗话说,三个臭皮匠顶个诸葛亮,在大家你一点我一点意见的帮助下,我才能顺利的完成这次设计,谢谢我的同学!

第6章 参考文献

[1] 胡 锦: 《数字电路与逻辑设计》 第二版. 高等教育出版社。

[2] 刘树林: 《低频电子线路》 第二版. 电子工业出版社。

[3] 沈农: 《传感器及应用技术》. 化学工业出版社。

[4] 苟鸿娅: 《电工技术基础》. 西南交通大学出版社。

[5] 廖 芳: 《电子产品生产工艺与管理》. 电子工业出版社。

[6] 黄智伟: 《全国大学生设计竞赛训练教程》. 电子工业出版社。

[7] 白霞、孙艳秋: 《微机原理与接口技术》. 清华大学出版社。

[8] 张 伟: 《Protel 99SE实用教程》.

[9] 谭洁强: 《C程序设计》第三版.

[10] 刘守义、杨宏丽、王静霞:《单片机应用技术》.

人民邮电出版社。 清华大学出版社。 西安电子科技大学出版社。

[1] 胡 锦: 《数字电路与逻辑设计》 第二版. 高等教育出版社。

[2] 沈农: 《传感器及应用技术》. 化学工业出版社。

[3] 苟鸿娅: 《电工技术基础》. 西南交通大学出版社。

[4] 廖 芳: 《电子产品生产工艺与管理》. 电子工业出版社。

[5] 黄智伟: 《全国大学生设计竞赛训练教程》. 电子工业出版社。

[6] 刘树林: 《低频电子线路》 第二版.

[7] 白霞、孙艳秋: 《微机原理与接口技术》.

[8] 张 伟: 《Protel 99SE实用教程》.

[9] 温新宜:《精选实用电子制作集锦》.

[10] 何希才:《 新型集成电路应用实例》.

电子工业出版社。 清华大学出版社。 人民邮电出版社。 电子工业出版社。

电子工业出版社。


相关文章

  • 电子信息工程毕业设计题目大全
  • 1 压力容器液位测量 2 多功能遥控小车 3基于RS232的仓库多点温度.湿度.气 4压检测系统 5自动控制升降旗系统 6基于RS485的温度报警系统 7基于模糊算法的水温控制系统的设计 8多分机电话交换机 9简易火灾自动报警系统 10基于 ...查看


  • 嵌入式系统论文
  • 多路温度检测系统设计 摘要:设计了一种多路温度检测系统,以ADC0809和AT89S52为核心,该系统主 要有三个部分:数据采集,AD 转换,数码管显示.选用模拟信号源代替温度传 感器为输入元件,利用ADC0809转换信号,送到显示器(8个 ...查看


  • 最新电子信息工程毕业论文题目参考
  • 1. 家庭防盗报警系统 2. 单片机实现单步进电机及8位流水灯控制的设计 3. 篮球竞赛计时系统 4. 单片机89C51在直流调速控制系统中的应用 5. 八路数字抢答器 6. 基于51机的直流电机设计 7. 基于51单片机的步进电机控制系统 ...查看


  • 电气自动化毕业论文参考题目
  • 电气自动化毕业论文参考题目 1. PLC控制花样喷泉 2. PLC在数控车床控制系统中的应用 3. PLC控制五层电梯设计 4. 超高压水射流机器人切割系统电气控制设计 5. 基于PLC的恒压供水系统设计 6. PLC交通灯设计 7. 双恒 ...查看


  • 通信工程毕业设计题目精选
  • 我7岁1就始做做开发的推批销,就更加员会到挣体的不轻钱.易活生的艰了.人家做辛个小8时我就做1,6小时. 个为失败少理找由 多成为找功法 大多方数想要改革这人世界个 不晓得即时却小事做从起 信工程通毕业计题设精选目 . 1智压力能传感系统器 ...查看


  • 电子信息类毕业设计课题
  • 电子信息类毕业设计课题 [电子通讯] 出租车计价系统 [过程控制] 基于单片机实现单回路智能调节.. [电子通讯] 脉冲数字频率计 [机床仪表] 仪表机床数控系统的设计(论文.. 磁流体发电论文 [电子通讯] 基于VC++6.0的PC 机与 ...查看


  • 消防知识培训内容
  • 消防知识培训内容 1. 消防工作方针:预防为主,防消结合.消防口号:消防责任,重于泰山. 一切工作安全第一,安全工作防火第一. 2. 消防四懂.四会内容. 四懂:(1)懂得本岗位火灾的危险性. (2)懂得预防火灾的措施. (3)懂得扑救初期 ...查看


  • 简易照明线路探测仪毕业设计
  • 2011-2014学年第五学期 毕业设计(论文) 课题 简易照明线路探测仪 姓名 *** 系部 电子信息工程学院 专业 应用电子技术 班级 电子一班 学号 ****220102 指导教师 ** 武汉交通职业学院教务处制 摘 要 本设计论述了 ...查看


  • 完成毕业设计无线话筒崔相丽
  • 无线话筒设计 摘要 对于整个录音音响系统中,第一个重要环节是话筒.话筒的重要性是人 们时常谈论的话题.话筒的争论往往是最激烈而革命性的,从电子管到晶体管.从动圈到电容.从微型话筒到金话筒,还有值得珍藏的纪念版话筒等.话筒又分为有线话筒和无线 ...查看


热门内容