基于51单片机的数字温度报警器Word格式.doc
《基于51单片机的数字温度报警器Word格式.doc》由会员分享,可在线阅读,更多相关《基于51单片机的数字温度报警器Word格式.doc(26页珍藏版)》请在冰豆网上搜索。
1课程设计目的 1
2课程设计任务与要求 1
3设计方案与论证 1
3.1单片机的选择 2
3.2温度传感器的选择 2
3.3显示模块选择 3
4系统硬件电路设计 3
4.1系统整体电路图 3
4.2单片机最小系统 4
4.3报警电路设计 5
4.4显示电路设计 5
4.5电源电路设计 6
5系统软件设计 7
5.1主程序 7
5.2读出温度子程序 7
5.3温度转换命令子程序 7
5.4计算温度子程序 7
6仿真过程 7
6.1仿真软件介绍 7
6.2仿真结果 8
7总结与致谢 10
参考文献:
11
附录1:
总体原理图 12
附录2:
实物图 13
源程序 14
1.课程设计目的
温度控制在冶金、化工、建材、食品、机械、石油等工业中,具有不可或缺的作用。
对于不同场所、不同工艺、所需温度高低范围不同、精度不同,则采用的测温元件、测温方法以及对温度的控制方法也将不同;
产品工艺不同、控制温度的精度不同、时效不同,则对数据采集的精度和采用的控制算法也不同,所以,对温度的测控方法多种多样。
随着电子技术和微型计算机的迅速发展,微机测量和控制技术也得到了迅速的发展和广泛的应用。
利用微机对温度进行测控的技术,也便随之而生,并得到日益发展和完善,越来越显示出其优越性。
随着科技水平的不断提高,单片机给人带来的方便也是不可否定的,其中数字温度计就是一个典型的例子,但人们为现代人工作、科研、生活、提供更好的更方便的设施就需要从数单片机技术入手,一切向着数字化控制,智能化控制方向发展。
本设计即用单片机对温度进行实时检测与控制,通过数字温度计与传统的温度计相比,具有读数方便,测温范围广,测温准确,其输出温度采用数字显示,主要用于对测温比较准确的场所,或科研实验室使用,该设计控制器使用单片机AT89S52,测温传感器使用DS18B20,用4位共阳极LED数码管以串口传送数据,实现温度显示,能准确达到设计要求。
本温度计属于多功能温度计,功能较强,可以设置上下限报警温度,且测量准确、误差小。
当测量温度超过设定的温度上下限时,启动蜂鸣器和指示灯报警。
2.课程设计任务与要求
基本范围0℃-99℃;
精度误差小于0.5℃;
LED数码直读显示;
实现声光报警;
可以任意设定温度的上下限报警功能 。
3.设计方案与论证
方案一,由于本设计是测温电路,根据设计要求可以使用热敏电阻之类的感温器件利用其感温效应,然后将随被测温度变化的电压或电流采集过来,经过A/D转换后,将数据传输到单片机进行数据的处理,然后在显示电路上显示,这样就可以将被测温度显示出来,这种设计需要用到A/D转换电路,感温电路比较麻烦。
方案二,在单片机电路设计中,大多都是使用传感器,这是非常容易想到利用数字温度传感器,所以可以采用一只温度传感器DS18B20,此传感器,可以很容易直接读取被测温度值,进行转换,然后传输给单片机进行数据处理,就可以满足设计要求。
从以上两种方案,很容易看出,采用方案二,电路设计比较简洁,软件设计也比较简单,故采用方案二。
3.1单片机的选择
AT89S52单片机是一个低功耗,高性能CMOS8位单片机,片内含8kBytesISP(In-systemprogrammable)的可反复擦写1000次的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及80C51引脚结构,芯片内集成了通用8位中央处理器和ISPFlash存储单元,片上Flash允许程序存储器在系统可编程,亦适于常规编程器,在功能强大的微型计算机的AT89S52单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得AT89S52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案可为许多嵌入式控制应用系统提供高性价比的解决方案。
AT89S52引脚结构图如图3.1:
图3.1AT89S52结构图
3.2温度传感器的选择
温度传感器的种类众多,在应用与高精度、高可靠性的场合时DALLAS(达拉斯)公司生产的DS18B20温度传感器当仁不让。
超小的体积,超低的硬件开消,抗干扰能力强,精度高,附加功能强,使得DS18B20更受欢迎。
DS18B20的主要特征:
全数字温度转换及输出;
最高12位分辨率,精度可达土0.5摄氏度;
12位分辨率时的最大工作周期为750毫秒;
可选择寄生工作方式;
检测温度范围为–55°
C~+125°
C(–67°
F~+257°
F);
内置EEPROM,限温报警功能。
用户可定义报警设置;
64位光刻ROM,内置产品序列号,方便多机挂接;
多样封装形式,适应不同硬件系统;
独特的单线接口仅需要一个端口引脚进行通信;
多个DS18B20可以并联在惟一的三线上,实现多点组网功能;
无须外部器件;
可通过数据线供电,电压范围为3.0~5.5V;
零待机功耗;
温度以9或12位数字;
报警搜索命令识别并标志超过程序限定温度(温度报警条件)的器件
3.3显示模块选择
数码管是一种半导体发光器件,其基本单元是发光二极管。
数码管按段数分为七段数码管和八段数码管,八段数码管比七段数码管多一个发光二极管单元(多一个小数点显示);
按能显示多少个“8”可分为1位、2位、4位等等数码管;
按发光二极管单元连接方式分为共阳极数码管和共阴极数码管。
共阳数码管是指将所有发光二极管的阳极接到一起形成公共阳极(COM)的数码管。
共阳数码管在应用时应将公共极COM接到+5V,当某一字段发光二极管的阴极为低电平时,相应字段就点亮。
当某一字段的阴极为高电平时,相应字段就不亮。
。
共阴数码管是指将所有发光二极管的阴极接到一起形成公共阴极(COM)的数码管。
共阴数码管在应用时应将公共极COM接到地线GND上,当某一字段发光二极管的阳极为高电平时,相应字段就点亮。
当某一字段的阳极为低电平时,相应字段就不亮。
4.系统硬件电路设计
4.1系统整体电路图
该系统电路主要包括:
单片机最小系统、DS18B20温度传感器系统、报警系统、LED显示模块电路及电源接口和数据下载接口等电路,如图4.1所示。
图中有三个独立式按键可以分别调整温度计的上下限报警设置,图中蜂鸣器可以在被测温度不在上下限范围内时,发出报警鸣叫声音,同时LED数码管将没有被测温度值显示,这时可以调整报警上下限,从而测出被测的温度值。
图中的按健复位电路是上电复位加手动复位,使用比较方便,在程序跑飞时,可以手动复位,这样就不用在重起单片机电源,就可以实现复位。
图4.1系统整体电路图
4.2单片机最小系统
最小系统包括晶振电路、复位电路、按键设置部分,AT89S52单片机最小系统的电路如图:
4.2
单片机AT89S52具有低电压供电和体积小等特点,四个端口只需要两个口就能满足电路系统的设计需要,很适合便携手持式产品的设计使用系统可用二节电池供电。
图4.2单片机最小系统电路
4.3报警电路设计
报警电路中加一PNP三极管驱动,基极接单片机P11口,当端口变成低电平时,驱动三极管会导通,VCC电压加载到蜂鸣器使其发声、报警发光二极管亮,如图4.3
图4.3报警电路
4.4显示电路设计
如图4.4,采用LG3641BHLED数码管显示电路采用4位共阳LED数码管从P14,P15,P16,P17串口输出段码。
用PNP三极管进行驱动,当相应的端口变成低电平时,驱动相应的三极管会导通,驱动三极管给数码管相应的位供电,这时只要P0口送出数字的显示代码,数码管就能正常显示数字。
图4.4数码管显示电路
4.5电源电路设计
我们选用的是串联起来的4节1.5v的5号电池,从经济的角度考虑的,干电池比较便宜,但其还有不足之处,干电池存储的是电量。
随着电量的消耗,它的供电电压就会不断的下降,所有我们需要使用一个稳压器,来保证电源供给的是标准的5v电压。
4节1.5v串联起来产生的和电压最大是6v,而本文的AT89S52单片机工作电压的范围是4v—5.5v,在该系统中我们使用的电压是5v。
这时我们可以用LM7805稳压器来产生稳定的5v电压[15]。
稳压电路如下图4.5所示:
图4.5LM7805稳压电路
在该电路中,C12是极性电容,起到稳压的作用,而C2是非极性电容,它起的作用是滤除输出电压中不是直流的成分,即滤波。
LM7805稳压芯片的稳压压差为2V左右,在实际使用中容易出现电压过低的状态,此时提供的电源达不到系统的电源要求,会出现程序跑飞的现象,而另一款LM2904的稳压压差可以达到40mV,效果比LM7805好很多,但考虑到经济原因我们采用LM7805,只要在稳压前端提供较大的电源供应即可。
5.系统软件设计
系统程序主要包括主程序,读出温度子程序,温度转换命令子程序,计算温度子程序,按键扫描。
5.1主程序
主程序的主要功能是负责读出并处理DS18B20的测量的当前温度值,温度的实时显示,并根据设置的上下限判断是否报警。
系统开始运行时,温度传感器测量并计算温度值通过P1.0口传输进单片机里进行处理,经过处理后的数据再通过P0口传输到数码管进行显示。
通过按键设置温度报警界限,当超过报警界限时单片机将相应的数据通过P1.1口传输进行声光报警。
温度测量每1s进行一次。
这样可以在一秒之内测量一次被测温度。
5.2读出温度子程序
读出温度子程序的主要功能是读出RAM中的9字节,在读出时需进行CRC校验,校验有错时不进行温度数据的改写。
5.3温度转换命令子程序
温度转换命令子程序主要是发温度转换开始命令,当采用12位分辨率时转换时间约为750ms,在本程序设计中采用1s显示程序延时法等待转换的完成。
5.4计算温度子程序
计算温度子程序将RAM中读取值进行BCD码的转换运算,并进行温度值正负的判定。
6.仿真过程
6.1仿真软件介绍
本次仿真用了Proteus软件,Proteus(海神)的ISIS是一款Labcenter出品的电路分析实物仿真系统,可仿真各种电路和IC,并支持单片机,元件库齐全,使用方便,是不可多得的专业的单片机软件仿真系统。
该软件的特点:
(1)全部满足我们提出的单片机软件仿真系统的标准,并在同类产品中具有明显的优势。
(2)具有模拟电路仿真、数字电路仿真、单片机及其外围电路组成的系统的仿真、RS一232动态仿真、1C调试器、SPI调试器、键盘和LCD系统仿真的功能;
有各种虚拟仪器,如示波器、逻辑分析仪、信号发生器等。
(3)目前支持的单片机类型有:
68000系列、8051系列、AVR系列、PIC12系列、PIC16系列、PIC18系列、Z80系列、HC11系列以及各种外围芯片。
(4)支持大量的存储器和外围芯片。
总之该软件是一款集单片机和SPICE分析于一身的仿真软件,功能极其强大,可仿真51、AVR、PIC。
Proteus与其它单片机仿真软件不同的是,它不仅能仿真单