第一篇:基于单片机的温度报警系统报告(大全)
基于单片机的温度报警系统报告
姓名:
班级:
学号:
随着时代的进步和发展,单片机技术已经普及到我们生活、工作、科研、各个领域,已经成为一种比较成熟的技术,本次主要设计一个基于89C52单片机的数字温度传感器开发测温系统,重点掌握对传感器下在单片机的硬件连接,软件编程以及各个模块系统流程的详尽分析,提高电路设计的技巧。该系统可以方便的实现温度的采集和显示,它使用起来相当方便,具有精度高、灵敏度高、体积小、功耗低等优点,适用于我们的日常生活。该系统结构简单,抗干扰能力强,有广泛的应用前景。
在工业生产中,电流、电压、温度、压力、流量、速度和开关量都是常用的主要被控制参数、其中,温度控制也越来越重要。在工业生产的很多领域中,人们都需要对各类加热炉、热处理炉、反应炉和锅炉中的温度进行检测和控制。采用单片机对温度进行控制不仅具有控制方便、简单和灵活性大等优点,而且可以大幅度提高被控温度技术指标,从而大大提高产品的质量和数量。因此,单片机对温度的控制问题是工业生产中经常遇到的控制问题。
在传统的温度测控系统设计中,往往采用模拟技术进行设计,这样就不可避免的遇到诸如传感器外围电路复杂及抗干扰能力差等问题,而其中任何一环节处理不当,就会造成整个系统性能的下降。采用数字温度传感器与单片机组成的温度检测系统进行温度检测、数值显示和数据储存,体积减小,精度提高,抗干扰能力强,并可组网进行多点协测,还可以实现实时控制等技术,在现代工业中应用越来越广泛。
传统的温度测控系统设计往往是热电阻、adc转换器和控制器的搭配,再加上人机互动操作操作设备这样就会增加系统的成本和系统软件设计的负担,传统的温度测控系统软件设计不仅要控制温度采集、adc的转换、数据的处理、显示和按键功能。制温度采集、adc的转换、显示和按键功能相对简单一些,但是adc采集数据不是现成的温度数据还要控制器处理器对数据处理进行处理,热电阻是反映温度和电压的关系,常用的有正温度和负温度电阻,而且大多数不是正比例而是指数型,这样的数据处理函数可想而知有多复杂,还要考虑电压在传输时的损耗。
本设计就采用以52单片机为核心,和单总线数字式温度传感器模拟出一温度测控系统。
方案:
采用AT89C52单片机,温度传感器,液晶显示屏,设计能设定温度上下限。当温度低于下限值或高于上限值是能进行报警,能显示实际的温度值,显示精度为±1°本方案主要利用硬电路连接,通过软件编程,显示出温度。
重要元器件1:AT89C52 AT89C52是一个低电压,高性能CMOS 8位单片机,片内含8k bytes的可反复擦写的Flash只读程序存储器和256 bytes的随机存取数据存储器(RAM),器件ATMEL公司的高密度、非易失性存储技术生产兼容标准MCS-51指令系统,片内置通用位
中央处理器和Flash存储单元,功能强的AT89C52单片机可为您提供许多较复杂统控制应用场合。AT89C52有40个引脚,32个外部双向输入/输出(I/O)端口,同时内含2个外中断口,3个16位可编程定时计数器,2个全双工串行通信口,2个读写口线,AT89C52可以按照常规方法进行编程,也可以在编程。其将通用的微处理器和Flash存储器结合在一起,特别是可反复擦写的Flash存储器可有效地降低开发成本。
AT89C52有PDIP、PQFP/TQFP及PLCC等三种封装形式,以适应不同产品的需求。具有低电压供电和体积小等特点。
重要元器件2:DS18B20温度传感器
DS18B20数字温度传感器是DALLAS公司生产的1-Wire,即单总线器件,具有线路简单,体积小的特点。因此用它来组成一个测温系统,具有线路简单,在一根通信线,可以挂很多这样的数字温度计,十分方便。DS18B20数字温度传感器接线方便,耐磨耐碰,体积小,使用方便,封装形式多样,适用于各种狭小空间设备数字测温和控制领域。DS18B20温度传感器是美国DALLAS半导体公司最新推出的一种改进型智能温度传感器,与传统的热敏电阻等测温元件相比,它能直接读出被测温度,并且可根据实际要求通过简单的编程实现9~12位的数字值读数方式。
本温度计采用一种智能温度传感器DS18B20作为检测元
件。该元件测温范围为-55~125度,最高分辨率为0.0625度,完全满足本设计中分辨率为0.1度的要求!考虑到下载程序的方便和一些条件的限制我选了STC89C52RC这款单片机作为控制器。
报警方面,当温度超过警界最高温度时,报警,红色发光二极管打开;当温度低于最低温度报警时,报警,红色发光二级管打开。为使电路的简化,其温度报警值已预设在程序中,可以通过修改程序中的预设值改变报警温度!主要实现:在基于52单片机的情况下进行,实时温度测量以及显示,超出温度范围声光报警,上下限温度可设定等功能。
电路图:
总结:
从这次的课程设计中,我真真正正的意识到,在以后的学习中,要理论联系实际,把我们所学的理论知识用到实际当中,学习单片机更是如此,程序只有在经常的写与读的过程中才能提高,这就是我在这次课程设计中的最大收获。并且做每一件事都要认真严谨去完成,否则,一个小小的问题都会让你付出更多的时间和代价。
总的来说,自己从这次独立的课程中收获了一些的知识与经验,一些从书本中学之不来的东西。
第二篇:单片机课程设计 简易报警系统设计(定稿)
课程设计(论文)
题 目 名 称
简易防盗系统设计
课 程 名 称
单片机原理及应用课程设计
学 生 姓 名
学
号
系、专
业
信息工程系、信息工程类
指 导 教 师
2013年 6 月 28 日
目录
1概 要﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌ 3
2设计指标与要求﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌ 3 3设计方案与论证﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌ 3 4电路设计原理与流程图﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌5采用的主要元器件﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌6编程实现﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌7仿真结果与分析﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌8总结与致谢﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌
9参考文献﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌
概 要
传感技术是21世纪人们在高新技术发展方面争夺的一个制高点,各个发达国家都将传感技术视为高新技术发展的关键。从20世纪80年代起,基于传感技术的光电防盗系统也得到了高速的发展,最早的非可见光侵物探测器,有发射机 将一个编码信号送到一个 IR LED中。此LED的输出聚成一束很窄的光束,并使其对准远距离仿制的接收机中的一只匹配的IR光敏探测器。此系统是以针尖视线的原理来工作的,它可以被任何一个进入到发射机与接收机透视镜之间瞄准直线上的大于针尖的物体所触发。随后又出现了给予被动是红外传感技术的被动式红外入侵报警器,它能可靠地将运动着的物体和飘落着的物体加以区别,同时它还具有强大的监控范围,隐蔽性好,抗干扰能力强,和误报率低等特点。
本设计采用光电传感器检测入侵者,其基本原理为:传感器感应到入侵者,将其转换成超低频信号,经电路放大,输出。同时由接受装置根据接受到的信号得到高低电平,输出。经判断,再将报警信号通过电路输入到单片机的接口上,由单片机决定是否对报警信号进行触发。
2设计指标与要求
采用光电式传感器检测入侵者,用蜂鸣器作为报警器的输出,报警距离≥10M;
3设计方案与论证
系统主控部分采用AT89C51芯片,当光电感应器感受到外部有入侵物时,发出信号,单片机接收到信号时,采用延时抖动,再次检测是否还有报警信号,如果有报警信号,启动报警器,红灯全部亮,报警结束后,红灯灭,绿灯亮,如果误报警,可以采用外部中断0使人工停止报警,如果光电感应器没能检测到入侵物,可以采用外部中断1人工报警,人工报警时流水灯亮,蜂鸣器响!
因为如果用光电感应器来检测入侵者,在仿真里无法看到现象,故采用开关来模拟光电感应器。
4电路设计的原理与流程图
(1)电路设计的原理
首先给单片机的P1.0安装一个开关,用来模拟光电感应器。然后给单片机的P3.1脚通过三级管接一个蜂鸣器,用于当有报警信号时用来报警。再给P3.0接4个LED灯,用于报警时显示报警灯作用。再给P3.2接一个按键,用于当光电感应误报警时,可以人工中断报警。给P3.3接一个按键,用于当光电感应没有报警时,按下可以人工报警。
(2)流程图
开始压入堆栈程序初始化P1.2=1P3.0=1P3.1=0P2=00HP1.2清零NP1.0=0?P1.2清零出栈N返回P1.0=0?P1.2=1P3.0取反P3.1取反20H=50TR0=1NTF0=1?Y压入堆栈P1.2=1R7=5P2=0FFH调用延时子程序NP2=00H调用延时子程序P3.1清零P1=0FFH调用延时子程序调用延时子程序YR7-1=0?YP3.1=1调用延时子程序30H=50TR0=1NTF0=1?YTF0清零TF0=0重装系统NN重装系统30H-1=0?P3.1=0P1.2=0出栈P2=00H返回结束YN20H-1=0?YP3.0=1P3.1=0P1.2=0
5采用的主要元器件
主要元器件:AT89C51,NPN,RES,CAP,CAP-ELEC,BUTTON,BUZZER, CRYSTAL 6编程实现
ORG 0000H LJMP MAIN ORG 0003H LJMP ZT0 ORG 0013H LJMP ZT1 ORG 0100H MAIN:MOV TMOD,#01 MOV TH0,#3CH MOV TL0,#0B0H SETB EA SETB EX0 SETB IT0 SETB EX1 SETB PX0 SETB IT1 MOV SP,#60 CLR P3.1 MOV P1,#0FFH MOV P2,#00H CLR P1.2 LP:JNB P1.0,LA LJMP LP LA:LCALL DS01 JNB P1.0,ALARM LJMP LP DS01:MOV R1,#0FFH D1:MOV R2,#0FFH D2:NOP DJNZ R2,D2 DJNZ R1,D1 RET ALARM:SETB P1.2 CPL P3.0 CPL P3.1 MOV 20H,#50 SETB TR0 L2:JBC TF0,L1 LJMP L2 L1:CLR TF0 MOV TL0,#0B0H MOV TH0,#3CH DJNZ 20H,L2 SETB P3.0 CLR P3.1 CLR P1.2 LJMP LP ZT0:PUSH ACC SETB P1.2 SETB P3.0 CLR P3.1 LCALL DS01 CLR P1.2 POP ACC RETI ZT1:PUSH ACC SETB P1.2 MOV R7,#05 DQ:MOV P2,#0FFH LCALL DS01 MOV P2,#00H LCALL DS01 DJNZ R7,DQ SETB P3.1 LCALL DS01 MOV 30H,#50 SETB TR0 L4:JBC TF0,L3 SJMP L4 L3:CLR TF0 MOV TH0,#3CH MOV TL0,#0B0H DJNZ 30H,L4 CLR P3.1 CLR P1.2 POP ACC MOV P2,#00H RETI END
7仿真结果与分析
在系统正常的情况下,系统不断检测是否有警报信号,当检测有警报信号时,系统转入报警,从而蜂鸣器响。8 总结
总结
课程设计是我们理论联系实际的最好的途径之一,让我们有机会把课本上学到的知识运用到实际生活中。目前单片机在工业检测领域中得到了广泛的应用,在我们平常的生活中也是随处可见,包括我们日常生活中随处可见的交通灯、闹钟等都含有单片机作为一个主要的部件,懂得并熟悉掌握单片机的运用技术常有用的。通过这次课程设计使对单片机语言的理解和掌握上有了很大的进步,以前所了解的单片机语言仅限于一些片面的知识,通过这次编程,将这些零零碎碎的知识汇集起来,编写出了一个完整的系统,并且对单片机语言的应用能力有了极大的提高。在这次课程设计的过程中,我深深体会到团队合作的精神是极其重要的。因为身在一个团队,有了困难大家一起解决,减少了压力,同时拓展了思维,交换了意见,一个人的思想当被接受和了解时,我们有了更多的思想关于一个问 题,我想这些都是作为一个团队的好处。经过此次课程设计,我们经历了喜,怒,哀,乐。同时我们也对明年的毕业设计有了一定的想法和实现自己想法的决心.9参考文献
[1] 李泉溪.单片机原理与应用实例仿真[M].北京:北京航空航天大学出版社,2009.[2] 江世明.基于Proteus的单片机应用技术[M].北京:电子工业出版社,2009.[3] 周润景,张丽娜.基于Proteus的电路及单片机系统设计与仿真[M].北京:北京航空航天大学出版社,2006.[4] 张友德.单片微型计算机原理、应用与实验[M].上海:复旦大学出版社,2003.
第三篇:开题报告-基于单片机的汽车超速报警系统设计
开题报告
电气工程及自动化
基于单片机的汽车超速报警系统设计
一、综述本课题国内外研究动态,说明选题的依据和意义
随着我国改革开放的继续深入以及国家经济战略的实施下,我国的市场经济不断发展,人民生活水品不断提高,普通老百姓的购买力也越来越高。以前对于大家来说还是很遥远的很奢侈的汽车已经走进千家万户,成为大家出行的主要交通工具。但是伴随而来的问题也逐步显现出来,那就是近几年我国的交通事故次数越来越多,而且每年都处于“稳增”状态。据相关数据显示,近10年来,我国平均每年发生道路交通事故为60万起,死亡10万余人。我们再把眼光放到全球,全世界每过6分钟就有一人死于车祸,全世界每一分钟就有人伤于车祸。交通事故不仅仅对人们的生命财产安全造成巨大的影响,同时也造成巨大的经济损失。
据统计,造成各种交通是事故的主要原因是车辆的超载和超速行驶。再加上私家车车主不是专业的司机,在熟练程度和速度的感觉上不是特别的好,车主往往根据自己的个人喜好随意提速、超速行驶,当汽车处于超速行驶状态下,其稳定性和安全性大大降低,一旦出现紧急状况,往往会导致车毁人亡的重大事故发生。
针对上述情况给汽车加装一种超速报警系统就显的尤为必要。这种系统允许车主通过自带键盘设置汽车的安全行驶最高速度,而且可以根据不通的路段设定不同的速度。当汽车处于行驶状态中,改系统通过速度传感器时刻监测汽车,驾驶室上的液晶显示仪也时刻显示着汽车的行驶速度,当系统发现车辆速度超过先前设置的最高值时,蜂鸣器开始发出响声报警,警告灯不断闪烁提醒驾驶员减速,这样就可达到防范于未然的目的.汽车超速报警系统的硬件主要包括四大模块,分别是8051单片机主控模块、报警模块、传感器模块和显示模块。这四大模块分工明确,8051单片机主控模块主要负责外围硬件的控制和一些运算功能;报警模块主要负责声音报警和灯光报警;传感器模块则完成信号的采样功能;显示模块完成字符和数字的显示功能。四个大的模块通过一些的线路连接和电源的支持组成一个完整的汽车超速报警系统。
作为整个系统的大脑和指挥部,8051单片机主控模块决定着整个系统的动作,它的性能好坏直接决定了整个系统的工作效能。从应用形态上区分,微型计算机可以分为多板机、单板机和单片机。而单片机是大规模集成电路技术发展的产物,属于第四代电子计算机,就是把中用处理CPU,随机存取器RAM,只读存储器ROM,定时器/计数器以及I/O接口电路等主要计算机部件集成在一起集成电路芯片上的微型计算机。最早出现的单片机是在上世纪七十年代,它的发展至今已经走过了了30多年。历经三个主要阶段的发展:单芯片微机形成阶段、性能完善提高阶段、微控制器化阶段。单片机技术已经发生了翻天覆地的变化,从最开始的单一简单产品发展到现在各种高性能各领域的产品。发展至今单片机具备了控制性能和可靠性高,嵌入品质灵活,体积小,价格低,易于产品化的特点。在现代的各种电子器件中,单片机具有良好的性能价格比的优点。所以近年来单片机在智能仪器仪表、机电一体化产品、实时工业控制、分布系统的前端模块和家用电器等各领域都获得了极为广泛的应用。另外不光在这些领域,它在交通范畴内的汽车、火车、飞机、轮船、航天器等都得到了应用,如汽车自动驾驶系统、航天测控系统、黑匣子等。
我们所选择的8051单片机是美国Intel公司开发的八位单片机系列,它是在MCS-48系列基础上发展而成的,自1980nianMCS-51系列单片机推出到现在,其市场占有率仍就很高,是我国在工业检测、控制领域中的优选机种和机型。作为本系统控制核心的8051单片机具有抗干扰性和适用于恶劣环境的优点。它的CPU工作频率为6MHz方便系统对速度传感器的计数脉冲进行快速处理,而且它的输入/输出引脚具有32根I/O口线,可以连接存储器、LED显示器、速度传感器等各种外部器件.虽然8051内部只有26B的数据存储器,但是可以外接RAM以满足系统的需求。
而作为系统的另一关键就是速度传感器,由于它是车辆传感器中的易损器件,所以最好选择非接触式传感器。传感器由霍尔开关、磁铁组成,它们分别安装在车架和车轮的适合位置。当车辆行驶时,在磁铁的作用下,霍尔开关产
生的开关信号经过整形被直接输入到单片机计数器作为计数器的计数脉冲信号,利用定时器定时一段时间后提取计数器中的脉冲个数再经过计算就可以测量出车辆行驶的瞬时速度。
让我们把眼光放远,在过去的10年里,汽车工业发生了两个显著的变化。第一个是汽车的增长的基点正在从欧美市场向以亚洲国家为主的发展中地区市场转移。相关的数据显示,2007年亚洲和欧洲将会主导全球汽车产量的89%,BRICs和亚洲的其他国家将成为汽车消费的主力军。第二个则是在市场成熟的欧美国家,汽车性能的提高更多地依赖于电子技术。研究表明,从1989年至2005年,电子设备在整车的制造成本中的所占的比例由16%提高到了30%以上。目前也就是2010
年每部新车的IC的成本达到了350美元,这也就可见,电子技术和产品在汽车产业中的地位越来越高,影响力也越来越大。汽车电子的未来在许多成功汽车厂商看来就是三点:环保性;安全;通讯。我们上面所提到的汽车超速报警系统就属于安全这一主题。
随着汽车科技的发展,汽车生产商把更多的精力投入到汽车的安全研发上。法国汽车制造和营销委员会与法国标致雪铁龙汽车集团和雷诺汽车公司日前联合向用户推出三种汽车限速装置。据悉,这三种装置中,最简单的一种是“超速报警器”。其它两种限速装置是可以直接对汽车的部分功能及行驶进行调整的装置。一种是限速器,另一种是调速器。司机可以通过这种限速器提前设定最高时速,如果司机在汽车行驶中想超过开车前设定的最高时速,加速器也不会响应,而是把车速限定在一定范围内。而另有一些国外的汽车厂家已经从汽车的被动安全技术如碰撞传感器、气囊、安全带、随动转向结构等转向了主动安全性这方面。汽车主动安全技术是指采用雷达、光学和超声波传感器等技术来测量汽车与周围物体的距离和接近物体时的速度,这样就可以提醒驾驶者控制汽车行驶速度,避免可能发生的碰撞。相对于国外而言,国内对于汽车主动安全技术的相关研究可能比较落后些,但是不可否认的是国内的汽车电子产业正在持续的进步与发展中,我相信在不久的将来我国的汽车电子技术在国际上也会占有一席之地。
二、研究的基本内容,拟解决的主要问题:
1.目的:本课题针对汽车超速报警系统进行研究与设计,熟练应用霍尔等传感器,利用单片机实现汽车里程、速度等计算,实现速度显示功能。
2.任务:
单片机主芯片的选择;
传感器的选择;
编程,对汽车行驶速度进行计算;
用数码管或液晶屏显示速度;
声音、光报警。
三、研究步骤、方法及措施:
步骤及方法:
(1)了解国内外汽车报警系统的发展动态
(2)熟悉单片机的编程及其相关操作
(3)编制相应的程序
(4)在软件上进行仿真
措施:
图书馆查找相关的书籍、期刊、杂志等,通过上网寻找相关的一些资料,查看当代对该技术的研究成果和最新的动态。然后通过对这些资料的学习和研究进一步的熟悉和理解设计所需的相关知识。在设计过程中及时与指导老师探讨,对不了解的问题及时向老师请教。
四、参考文献
[1]
(美)
Myke
Predko编著,田玉敏等译.精通8051程序设计[M].北京:人民邮电出版社,2006.[2]
王为青,程国钢编著.单片机Keil
Cx51应用开发技术[M].北京:人民邮电出版社,2007.[3]
武庆生,仇
梅编著.单片机原理与应用[M].成都:电子科技大学出版社,1998.12.[4]
彭为,黄科,雷道仲编著.单片机典型系统设计实例精讲[M].北京:电子工业出版社,2006.[5]
吴黎明主编,王桂棠,吴正光副主编.语音信号及单片机处理[M].北京:科学出版社,2007.[6]
刘文涛编著.单片机语言C51典型应用设计[M].北京:人民邮电出版社,2005.[7]
高义军.现代汽车电子技术[M].北京:人民交通出版社,2004.[8]
余志生.汽车理论[M].北京:
机械工业出版社,1999,12-13.[9]
胡汉才.单片机原理及其接口技术.[M].北京:清华大学出版社,2000,12-15.[10]
彭宣戈.一种嵌入式Internet接口系统[J].微机计算机信息,2005,(10-2):8-10.[11]
刘春红,等.道路交通事故影响因素分析
[J].交通科技与经济,2004,(3):13-16.[12]
蒋维.车辆超载、限速报警系统的研制
[J].电子工程师,2004,30(12):20-23.[13]
范明强.现代汽车电子技术和装置[M].北京:
北京大学出版社,2002.[14]
陈志斌.应用汽车行驶记录仪提高行车安全性
[J].广东公路交通,2003(3):12-16.
第四篇:单片机课程设计报告LCD显示温度
《单片机原理与应用》
课程设计报告
题 目:LCD数字式温度湿度测量计 专 业:自动化 班 级:A1332 学 号:10 姓 名:曾志勇 指导老师:查兵
2016-06-08
目 录
1.设计题目、要求及分工..................................1 1.1.设计要求.........................................1 1.2.分工.............................................1 2.系统设计方案论证与选择................................1 3.系统硬件电路设计......................................1 3.1.单片机的选择......................................1 3.2.温度传感器电路的设计..............................2 3.3.LCD1602显示设计..................................3 4.系统软件设计..........................................4 4.1.主程序...........................................4 4.2.读出温度子程序....................................6 5.系统仿真调试结果记录及分析...........................11 6.总结.................................................13 参考文献................................................14
设计题目、要求及分工
1.1.设计要求
(1)熟悉掌握单片机的中断,定时器及各并行口的应用;(2)熟悉掌握单片机温度湿度的测量方法;(3)利用温度传感器及单片机完成对温度的检测;(4)掌握将检测的温度信号转换为数码管显示的数字信号;
(5)设计一个简单数字温度计,能够测量通常环境下的温度,能够实现零下温度的测量,能够测量小数,精度为0.01度。
1.2.分工
经过我和队友的商讨,为了能最大发挥各自的长处。我主要负责程序的编写与单片机的调试。他主要负责一些相关资料文献的查找与课程设计报告。
1.系统设计方案论证与选择
在日常生活和生产中,我们经常要测量环境的温度湿度,传统的测量方式采用水银温度计和干湿球湿度计查算法,存在着误差大,操作使用不便等问题,采用工业级测量仪表价格昂贵。采用AT89C51和温度传感器等构成的LCD数字式温度湿度测量计精度高且价格便宜。
由于本设计是测温电路,可以使用一只温度传感器DS18B20,此传感器,可以很容易直接读取被测温度值,进行A/D转换,将数据传入80C51单片机中,单片机处理后,通过LED显示出当前实测温度。
2.系统硬件电路设计
2.1.单片机的选择
单片80C51具有低电压供电和体积小等特点,四个端口只需要两个口就能满足电路系统的设计需要,很适合便携手持式产品的设计使用系统。
本次设计需要注意的几个端口: P0口(39—32):是一组8位漏极开路行双向I/O口,也既地址/数据总线复用口。可作为输出口使用时,每位可吸收电流的方式驱动8个TTL逻辑电路,对端口写“1”可作为高阻抗输入输入端用。在访问外部数据存储器时,这组口线分时转换地址(低8位)和数据总线复用,在访问期间激活内部上拉电阻。在Flash编程时,PO口接收指令字节,而在程序校验时,输出指令字节,校验时,要求接上拉电阻。P3口(10—17):是一组带有内部上拉电阻的8位双向I/O口,P1的输入缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对P3口写入“1”时,它们被内部上拉电阻拉高并可作为输出端口。作输出端口时,被外部拉低的P3口将用上拉电阻输出电流。
2.2.温度传感器电路的设计
DS18B20温度传感器是美国DALLAS半导体公司最新推出的一种改进型智能温度传感器,与传统的热敏电阻等测温元件相比,它能直接读出被测温度,并且可根据实际要求通过简单的编程实现9~12位的数字值读数方式。
64位ROM的结构开始8位是产品类型的编号,接着是每个器件的惟一的序号,共有48位,最后8位是前面56位的CRC检验码,这也是多个DS18B20可以采用一线进行通信的原因。温度报警触发器TH和TL,可通过软件写入户报警上下限。DS18B20温度传感器的内部存储器还包括一个高速暂存RAM和一个非易失性的可电擦除的EERAM。高速暂存RAM的结构为8字节的存储器,结构如图2.3所示。头2个字节包含测得的温度信息,第3和第4字节TH和TL的拷贝,是易失的,每次上电复位时被刷新。第5个字节,为配置寄存器,它的内容用于确定温度值的数字转换分辨率。DS18B20工作时寄存器中的分辨率转换为相应精度的温度数值。该字节各位的定义:低5位一直为1,TM是工作模式位,用于设置DS18B20在工作模式还是在测试模式,DS18B20出厂时该位被设置为0,用户要去改动,R1和R0决定温度转换的精度位数,来设置分辨率S18B20温度转换的时间比较长,而且分辨率越高,所需要的温度数据转换时间越长。因此,在实际应用中要将分辨率和转换时间权衡考虑。温度传感器18B20汇编程序,采用器件默认的12位转化,最大转化时间750微秒,可以将检测到的温度直接显示到80C51的两个数码管上。
高速暂存RAM的第6、7、8字节保留未用,表现为全逻辑1。第9字节读出前面所有8字节的CRC码,可用来检验数据,从而保证通信数据的正确性。
当DS18B20接收到温度转换命令后,开始启动转换。转换完成后的温度值就以16位带符号扩展的二进制补码形式存储在高速暂存存储器的第1、2字节。单 片机可以通过单线接口读出该数据,读数据时低位在先,高位在后,数据格式以0.0625℃/LSB式表示。
当符号位S=0时,表示测得的温度值为正值,可以直接将二进制位转换为十进制;当符号位S=1时,表示测得的温度值为负值,要先将补码变成原码,再计算十进制数值。表2是一部分温度值对应的二进制温度数据。
DS18B20完成温度转换后,就把测得的温度值与RAM中的TH、TL字节内容作比较。若T>TH或T<TL,则将该器件内的报警标志位置位,并对主机发出的报警搜索命令做出响应。因此,可用多只DS18B20同时测量温度并进行报警搜索。
在64位ROM的最高有效字节中存储有循环冗余检验码(CRC)。主机ROM的前56位来计算CRC值,并和存入DS18B20的CRC值作比较,以判断主机收到的ROM数据是否正确。
另外,由于DS18B20单线通信功能是分时完成的,它有严格的时隙概念,因此读写时序很重要。系统对DS18B20的各种操作按协议进行。操作协议为:初使化DS18B20(发复位脉冲)→发ROM功能命令→发存储器操作命令→处理数据。
图 2-1 温度传感器电路
2.3.LCD1602显示设计
图 2-2 LCD显示电路图
LCD1602显示流程:
图3-3 流程图
3.系统软件设计
3.1.主程序
主程序的主要功能是负责温度的实时显示、读出并处理DS18B20的测量温度值。温度测量每1s进行一次。主程序流程图如图4.1所示:
#include
//初始化LCD1602
//写地址 80表示初始地址 LcdWriteCom(0x88);LcdWriteData('C');while(1){ LcdDisplay(Ds18b20ReadTemp());Delay1ms(1000);//1s钟刷一次 // } }
/* 函数名 : LcdDisplay()* 函数功能
: LCD显示读取到温度/ void LcdDisplay(int temp)//lcd显示
{ unsigned char datas[] = {0, 0, 0, 0, 0};//定义数组
float tp;if(temp< 0)
//当温度值为负数
{
LcdWriteCom(0x80);
//写地址 80表示初始地址 LcdWriteData('-');//显示负
temp=temp-1;
temp=~temp;
tp=temp;
temp=tp*0.0625*100+0.5;} else {
LcdWriteCom(0x80);
LcdWriteData('+');
tp=temp;
temp=tp*0.0625*100+0.5;
} datas[0] = temp / 10000;datas[1] = temp % 10000 / 1000;datas[2] = temp % 1000 / 100;datas[3] = temp % 100 / 10;datas[4] = temp % 10;LcdWriteCom(0x82);
//写地址 80表示初始地址
LcdWriteData('0'+datas[0]);//百位 LcdWriteCom(0x83);
//写地址 80表示初始地址
LcdWriteData('0'+datas[1]);//十位 LcdWriteCom(0x84);
//写地址 80表示初始地址
LcdWriteData('0'+datas[2]);//个位 LcdWriteCom(0x85);
//写地址 80表示初始地址 //显示 ‘.’
//写地址 80表示初始地址 LcdWriteData('.');LcdWriteCom(0x86);
LcdWriteData('0'+datas[3]);//显示小数点 LcdWriteCom(0x87);
//写地址 80表示初始地址
} LcdWriteData('0'+datas[4]);//显示小数点
图 3-1主程序流程图
3.2.读出温度子程序
读出温度子程序的主要功能是读出RAM中的9字节。在读出时必须进行CRC 校验,校验有错时不能进行温度数据的改写。读出温度子程序流程图如下图所示:
#include“temp.h” void Delay1ms(uint y){ uint x;
} uchar Ds18b20Init(){
uchar i;DSPORT = 0;i = 70;
//将总线拉低480us~960us for(;y>0;y--){ for(x=110;x>0;x--);} while(i--);//延时642us DSPORT = 1;
//然后拉高总线,如果DS18B20做出反应会将在15us~60us后总线拉低
} void Ds18b20WriteByte(uchar dat)i = 0;while(DSPORT)//等待DS18B20拉低总线 {
} return 1;//初始化成功 i++;if(i>5)//等待>5MS { } Delay1ms(1);return 0;//初始化失败 { uint i, j;for(j=0;j<8;j++)
{
DSPORT = 0;i++;DSPORT = dat & 0x01;//然后写入一个数据,从最低位开始 i=6;while(i--);//延时68us,持续时间最少60us DSPORT = 1;
//然后释放总线,至少1us给总线恢复时间才能接 //每写入一位数据之前先把总线拉低1us 着写入第二个数值
} uchar Ds18b20ReadByte(){
uchar byte, bi;uint i, j;for(j=8;j>0;j--){
DSPORT = 0;//先将总线拉低1us i++;DSPORT = 1;//然后释放总线 i++;i++;//延时6us等待数据稳定
bi = DSPORT;//读取数据,从最低位开始读取
/*将byte左移一位,然后与上右移7位后的bi,注意移动之后移掉 } dat >>= 1;那位补0。*/ byte =(byte >> 1)|(bi << 7);
} i = 4;//读取完之后等待48us再接着读取下一个数
while(i--);
}
return byte;void Ds18b20ChangTemp(){
Ds18b20Init();Delay1ms(1);Ds18b20WriteByte(0xcc);
//跳过ROM操作命令
Ds18b20WriteByte(0x44);//温度转换命令
//等待转换成功,而如果你是一直刷着的话,就不// Delay1ms(100);用这个延时了 } void Ds18b20ReadTempCom(){ Ds18b20Init();
} int Ds18b20ReadTemp(){ int temp = 0;
命令
tml = Ds18b20ReadByte();tmh = Ds18b20ReadByte();temp = tmh;temp <<= 8;Delay1ms(1);Ds18b20WriteByte(0xcc);//跳过ROM操作命令 Ds18b20WriteByte(0xbe);//发送读取温度命令
uchar tmh, tml;Ds18b20ChangTemp();Ds18b20ReadTempCom();
//先写入转换命令
//然后等待转换完后发送读取温度
//读取温度值共16位,先读低字节 //再读高字节
} temp |= tml;return temp;读出温度子程序 读出温度子程序的主要功能是读出RAM中的9字节。在读出时须进行CRC校验,校验有错时不进行温度数据的改写。得出温度子程序流程图如下图所示。
图 3-2
温度转换命令子程序 温度转换命令子程序主要是发温度转换开始命令。当采用12位分辨率时,转换时间约为750ms。在本程序设计中,采用1s显示程序延时法等待转换的完成。温度转换命令子程序流程图如下图所示。
图 3-2
4.系统仿真调试结果记录及分析
硬件调试比较简单,首先检查电感的焊接是否正确,然后可用万用表测试或通电检测。软件调试可以先编写显示程序并进行硬件的正确性检验,然后分别进行主程序、读出温度子程序、温度转换命令子程序、计算温度子程序和现实数据刷新子程序等的编程及调试 由于DS18B20与单片机采用串行数据传送,因此,对DS18B20进行读/写编程时必须严格地保证读/写时序;否则将无法读取测量结果。
电路Isis仿真测试
烧写程序至单片机:
液晶显示室温为+28.06度 用手触摸DS18B20,发现温度上升为+32.75度,证明温度传感正常工作。
5.总结
这次课程设计,主要是以STC89C51单片机为核心的,对温度的检测与显示进行了简单的设计与阐述。因没有湿度传感器模块,所以未进行湿度检测。本次课程设计可以说是软硬结合,又以硬件为主。当今科技发展迅速,单片机开发有着光明的前景。由于单片机经济实用、开发简便等特点依然在工业控制、家电等领域占据了广泛的市场。所以我选择这样的设计课题,并且能通过此次设计来提高自己软件编制和硬件电路设计的能力。在我完成这次课程设计的过程中,当看到自己将专业知识用于解决实际的问题时,那份成就感和喜悦感是难以形容的。在这次实际的编程以及调试程序过程中,我发现自己学很多课本以外的东西。光靠自己在书本上所学过的这点知识是远远不够的,真正地认识到了工作就是学习的道理。尤其是对于编程来说,需要硬件的功底,也需要软件的能力。当程序有一点点错误时,将使整个程序无效,需要自己静下心来发现错误,改正错误,一次又一次得进行调试,锻炼了沉着踏实的心态。
通过这次对数字温度计的设计与制作,让我们了解了设计电路的程序,也让我们了解了关于数字温度计的原理与设计理念,要设计一个电路总要先用仿真,仿真成功之后才实际接线的。
但是最后的成品却不一定与仿真时完全一样,因为,在实际接线中有着各种各样的条件制约着。并且,在仿真中无法成功的电路接法,在实际中因为芯片本身的特性而能够成功。所以,在设计时应考虑两者的差异,从中找出最适合的设计方法。
通过这次学习,让我们对各种电路都有了大概的了解,所以说,坐而言不如立而行,对于这些电路还是应该自己动手实际操作才会有深刻理解。从这次的课程设计中,我真正的意识到,在以后的学习中,要理论联系实际,把我们所学的理论知识应用到实际当中,学习单机片机更是如此,程序只有在经常写和读的过程中才能提高,这就是我在这次课程设计中的最大收获。这次课程设计对我来说是一次比较全面的、富有创造性和探索性的锻炼,令我深有感触,对于我今后的学习、工作和生活都将是受益非浅。
参考文献
(1)江世明.单片机原理与应用.上海交通大学出版社.2013;(2)朱清慧.电子线路设计、制版与仿真.清华大学出版社.2011.6;
(3)黄同成.程序设计基础与教程(C语言).湖南人民出版社.2011.12;
(4)王东峰等.单片机C语言应用100例[M].北京电子工业出版社,2009;
(5)陈海宴.51单片机原理及应用[M].北京航空航天大学出版社.2010;
(6)胡汉才.单片机原理及接口技术[M].北京清华大学出版社.1996;
(7)高稚允,高岳.光电检测技术[M].北京国防工业出版社.1983;
第五篇:粮库温度检测报警系统--毕业设计工作总结
毕业设计工作总结
学生姓名:
指导教师:
所在学院:信息技术学院
专业:电气工程及其自动化
中国·
2012年05月
毕业设计工作总结
通过此次毕业设计,我不仅把知识融会贯通,而且丰富了大脑,同时在查找资料的过程中也了解了许多课外知识,开拓了视野,认识了将来电子的发展方向,使自己在专业知识方面和动手能力方面有了质的飞跃。
当开题报告定下来之后,我最终确定的题目是粮库温度检测报警设计,之后我便立刻在学校的图书馆着手资料的收集工作中,当时面对众多网络资料库的文章真是有些不知所措,不知如何下手。我将这一困难告诉了指导老师,在韩静老师的细心的指导下,终于使我了解了应该怎么样利用学校的浩瀚的资源找到自己需要的资源,找了大概100篇左右相关的论文,认真的阅读,总结笔记,为自己的论文打好基础。主要是为了发现论文中的设计思想。在搜集资料后,我在电脑中都进行分类的整理,然后针对自己不同部分的写作内容进行归纳和总结。尽量使我的资料和论文的内容符合,这有利于论文的撰写。然后及时拿给老师进行沟通,听取老师的意见后再进行相关的修改。老师的意见总是很宝贵的,可以很好的指出我的资料收集的不足以及需要什么样的资料来完善文章。
毕业设计是我作为一名学生即将完成学业的最后一次作业,他既是对学校所学知识的全面总结和综合应用,又为今后走向社会的实际操作应用铸就了一个良好开端,毕业设计是我对所学知识理论的检验与总结,能够培养和提高设计者独立分析和解决问题的能力;是我在校期间向学校所交的最后一份综和性作业,从老师的角度来说,指导做毕业设计是老师对学生所做的最后一次执手训练。其次,毕业设计的指导是老师检验其教学效果,改进教学方法,提高教学质量的绝好机会。
毕业的时间一天一天的临近,毕业设计也接近了尾声。在不断的努力下我的毕业设计终于完成了。在没有做毕业设计以前觉得毕业设计只是对这几年来所学知识的大概总结,但是真的面对毕业设计时发现自己的想法基本是错误的。毕业设计不仅是对前面所学知识的一种检验,而且也是对自己能力的一种提高。通过这次毕业设计使我明白了自己原来知识太理论化了,面对单独的课题的是感觉很茫然。自己要学习的东西还太多,以前老是觉得自己什么东西都会,什么东西都懂,有点眼高手低。通过这次毕业设计,我才明白学习是一个长期积累的过程,在以后的工作、生活中都应该不断的学习,努力提高自己知识和综合素质。
总之,不管学会的还是学不会的的确觉得困难比较多,真是万事开头难,不知道如何入手。最后终于做完了有种如释重负的感觉。此外,还得出一个结论:知识必须通过应用才能实现其价值!有些东西以为学会了,但真正到用的时候才发现是两回事,所以我认为只有到真正会用的时候才是真的学会了。
在此要感谢我们的指导老师张老师对我悉心的指导,感谢老师们给我的帮助。在设计过程中,我通过查阅大量有关资料,与同学交流经验和自学,并向老师请教等方式,使自己学到了不少知识,也经历了不少艰辛,但收获同样巨大。在整个设计中我懂得了许多东西,也培养了我独立工作的能力,树立了对自己工作能力的信心,相信会对今后的学习工作生活有非常重要的影响。而且大大提高了动手的能力,使我充分体会到了在创造过程中探索的艰难和成功时的喜悦。虽然这个设计做的也不太好,但是在设计过程中所学到的东西是这次毕业设计的最大收获和财富,使我终身受益。