单片机课程设计报告基于ATC单片机的数显温度传感器设计
- 格式:docx
- 大小:34.05 KB
- 文档页数:21
标题:基于单片机的数字温度计课程设计一、概述在现代电子科技飞速发展的今天,单片机技术已经渗透到各行各业。
而在电子课程设计中,基于单片机的数字温度计课程设计是一项常见而且具有挑战性的任务。
本文将探讨基于单片机的数字温度计课程设计的相关内容。
二、课程设计目标1、理解单片机的工作原理和基本架构;2、掌握温度传感器的工作原理和应用;3、设计并实现一个数字温度计系统;4、对系统进行实验验证并调试。
三、课程设计内容1、单片机基础知识的学习通过学习单片机的基本原理、指令系统、编程语言等内容,理解单片机的工作方式及其在数字温度计设计中的应用。
2、温度传感器的选型和原理学习选择并了解适合数字温度计设计的温度传感器,掌握其工作原理和接口特性,为后续的系统设计奠定基础。
3、数字温度计系统设计根据所学知识,设计数字温度计系统的硬件和软件部分。
硬件设计包括电路连接和元器件选取,软件设计包括程序编写和逻辑控制。
4、系统调试和优化对设计好的数字温度计系统进行实验验证,检查并解决可能存在的问题,优化系统的性能和稳定性。
四、课程设计实施步骤1、学习单片机基础知识可以通过课堂教学、实验操作和参考书籍资料等方式进行学习。
要求学生掌握单片机的基本原理和编程方法。
2、温度传感器的选型和原理学习在实验室或者实际应用中选择适合的温度传感器,并深入了解其工作原理和使用要求。
3、数字温度计系统设计学生按照课程要求,独立或者分组设计数字温度计系统的硬件和软件部分,包括原理图设计、程序编写、电路连接等。
4、系统调试和优化学生在实验室进行系统调试,检查系统的功能是否符合设计要求,发现问题并解决。
优化系统的性能和稳定性。
五、课程设计评价1、设计方案的完整性和可行性对学生提交的设计方案进行评价,要求其具有一定的完整性和可行性,考察学生的设计能力和实际应用能力。
2、实验结果的准确性和稳定性对学生进行实验验证,检查实验结果的准确性和系统的稳定性,考察学生的实验操作能力和问题解决能力。
《单片机原理及应用》课程设计报告书课题名称基于数字温度传感器的数字温度计姓名学号专业指导教师机电与控制工程学院年月日填写说明1、正文部分:(1)标题与正文格式定义标准如下:一级标题:1.标题1二级标题:1.1标题2三级标题:1.1.1标题3四级标题:1.1.1.1标题4(2)表格:尽可能采用三线表。
(3)图形:直接插入的插图应有图标、图号,不能直接插入的图应留出插图空位。
图中文字、符号书写要清楚,并与正文一致。
(4)文字表述:要求层次清楚,语言流畅,语句通顺,无语法和逻辑错误,无错字、别字、漏字。
文字的表述应当以科学语言描述研究过程和研究结果,不要以口语化的方式表达,报告中科技术语和名词应符合规定的通用词语,并使用法定计量单位和标准符号。
2、参考文献:(1)数量要求:参考文献只选择最主要的列入,应不低于5种。
(2)种类要求:参考文献的引用,可以是著作[M]、论文[J]、专利文献[P]、会议论文等。
(3)文献著录格式及示例。
参考文献用宋体五号字。
[1] 作者. 书名[M]. 版次. 出版地: 出版者, 出版年: 起止页码(著作图书文献)[2] 作者. 文章名[J]. 学术刊物名称. 年. 卷(期): 起止页码(学术刊物文献)示例: [1]王社国,建光。
基于ARM的嵌入式语音识别系统研究[J]。
微计算机信息,2007,2-2:149-150.3、附录或附件:(可选项)重要的测试结果、图表、设计图纸、源程序代码、大量的公式、符号、照片等不宜放入正文中的可以附录形式出现。
4、如果需要可另行附页粘贴。
任务书1. 设计要求利用数字温度传感器DS18B20与单片机结合来测量温度。
利用数字温度传感器DS18B20测量温度信号,计算后在LED数码管上显示相应的温度值。
其温度测量围为−55℃~125℃,精确到0.5℃。
数字温度计所测量的温度采用数字显示,控制器使用单片机AT89C51,测温传感器使用DS18B20,用3位共阳极LED数码管以串口传送数据,实现温度显示。
《单片机原理及应用》课程设计报告书课题名称基于数字温度传感器的数字温度计姓名学号专业指导教师机电与控制工程学院年月日填写说明1、正文部分:(1)标题与正文格式定义标准如下:一级标题:1.标题1二级标题:1.1标题2三级标题:1.1.1标题3四级标题:1.1.1.1标题4(2)表格:尽可能采用三线表。
(3)图形:直接插入的插图应有图标、图号,不能直接插入的图应留出插图空位。
图中文字、符号书写要清楚,并与正文一致。
(4)文字表述:要求层次清楚,语言流畅,语句通顺,无语法和逻辑错误,无错字、别字、漏字。
文字的表述应当以科学语言描述研究过程和研究结果,不要以口语化的方式表达,报告中科技术语和名词应符合规定的通用词语,并使用法定计量单位和标准符号。
2、参考文献:(1)数量要求:参考文献只选择最主要的列入,应不低于5种。
(2)种类要求:参考文献的引用,可以是著作[M]、论文[J]、专利文献[P]、会议论文等。
(3)文献著录格式及示例。
参考文献用宋体五号字。
[1] 作者. 书名[M]. 版次. 出版地: 出版者, 出版年: 起止页码(著作图书文献)[2] 作者. 文章名[J]. 学术刊物名称. 年. 卷(期): 起止页码(学术刊物文献)示例:[1]王社国,赵建光。
基于ARM的嵌入式语音识别系统研究 [J]。
微计算机信息,2007,2-2:149-150.3、附录或附件:(可选项)重要的测试结果、图表、设计图纸、源程序代码、大量的公式、符号、照片等不宜放入正文中的可以附录形式出现。
4、如果需要可另行附页粘贴。
任务书1. 设计要求利用数字温度传感器DS18B20与单片机结合来测量温度。
利用数字温度传感器DS18B20测量温度信号,计算后在LED数码管上显示相应的温度值。
其温度测量范围为−55℃~125℃,精确到0.5℃。
数字温度计所测量的温度采用数字显示,控制器使用单片机AT89C51,测温传感器使用DS18B20,用3位共阳极LED数码管以串口传送数据,实现温度显示。
1 基于单片机的数字温度计设计1引言 设计一个数字温度计,以单片机为控制核心,运用集成度较高的温度传感器和显示器能够较为准确测量并显示出温度结果,且测温范围较广,可根据实际需要通过软件设置高低温报警,并在仿真的基础上制作出设计产品,通过对具体问题的提出,对问题的分析和解决,加强了理论运用于实际的能力,最终该产品要能够运用于实际,如冷冻库,粮仓,储罐,电讯机房,电力机房,电缆线槽等测温和控制领域,主要用于测量室温。
2设计方案及原理2.1总体设计方案根据电子元件的发展要求,要在可实现的前提下,选择硬件简单、集成度高、可靠性强的设计方案;软件与硬件呈现互补关系,当硬件较为简单时,需要软件控制实现其功能,因此选择集成度高,控制方法清晰、实际运用广泛的硬件。
总体设计要求:(1)温度测量范围为传感器的理论值(-55℃—125℃)(2)通过软件分别实现高温和低温报警(预设35℃和-20℃)(3)使用LCD1602显示所测温度(4)温度测量精度为0.5℃总体设计方框图如图1 所示:2 2.2系统组成原理温度测量模块选用集成芯片DS18B20作为温度的测量和变送,输出信号为数字信号。
DS18B20采用单总线的数据传送,可以直接通过一个I/O 口向单片机接收设置信号和向单片机发送温度的测量值。
控制模块采用STC89C52单片机。
功能强大STC89C52单片机适合于许多较为复杂控制应用场合。
输出模块采用液晶显示LCD1602,总共可以显示两行共32个字符,设计中显示器的第一行使用软件预设想要显示的字符,温度值则放在第二行中显示。
本次设计采用红色LED 作为高温报警指示灯,黄色作为低温报警指示灯。
另外在高低温报警的同时有蜂鸣器发出报警的蜂鸣声。
设计总电路图原理如图2所示:图2 总体设计电路图3软件设计本次设计采用c 语言编程,程序主要由传感器复位,温度转换,温度显示三个子程序和一个主程序组成,主程序首先执行传感器的温度转换子程序将实际温度转换成数字量并存储在传感器内部的存储器中,再将测量温度的数字量读到单片机中,判断正负温度和是否达到报警要求,如果达到报警要求,执行报警模块,最后将温度值的每一位转换成对应的ASCII 码值,由主程序调用温度显示子程序将测量的温度值显示出来。
单片机课程设计报告课题:基于单片机的数字温度计设计1 方案设计2 系统的硬件设计3.1 主控制器3.2 显示电路3.3 温度传感器工作原理3.4 温度传感器接口电路3 系统的软件设计3.1 程序3.2 温度测量3.3 数码管显示4 系统的测试与总结附录1 原理图附录2 源程序清单1方案设计本设计主要是介绍了单片机控制下的温度检测系统,详细介绍了其硬件和软件设计,并对其各功能模块做了详细介绍,其主要功能和指标如下:●利用温度传感器〔DS18B20〕测量某一点环境温度●测量范围为-55℃~+125℃,精度为±0.5℃●用数码管进行实际温度值显示采用AT89S52单片机P3.5口控制温度传感器DS18B20的温度测量,以四位数码感形式输出测量温度。
图2.1 DS18B20与单片机接口原理图2.2总体设计方框图2 系统的硬件设计2.1 主控制器STC89C52是STC公司生产的一种低功耗、高性能CMOS8位微控制器,具有8K 在系统可编程Flash存储器。
STC89C52使用经典的MCS-51内核,但做了很多的改良使得芯片具有传统51单片机不具备的功能。
在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,使得STC89C52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。
具有以下标准功能: 8k字节Flash,512字节RAM, 32 位I/O 口线,看门狗定时器,内置4KB EEPROM,stc89c52MAX810复位电路,3个16 位定时器/计数器,4个外部中断,一个7向量4级中断结构〔兼容传统51的5向量2级中断结构〕,全双工串行口。
另外 STC89X52 可降至0Hz 静态逻辑操作,支持2种软件可选择节电模式。
空闲模式下,CPU 停止工作,允许RAM、定时器/计数器、串口、中断继续工作。
掉电保护方式下,RAM 内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。
基于单片机数字温度计课程设计
基于单片机的数字温度计课程设计是一个非常有趣和实用的项目。
首先,我们需要选择合适的单片机,比如常用的Arduino或者STM32等。
然后,我们需要选择合适的温度传感器,比如LM35或者DS18B20等。
接下来,我们可以按照以下步骤进行课程设计:
1. 硬件设计,首先,我们需要将单片机和温度传感器连接起来,这涉及到电路设计和焊接。
我们需要确保电路连接正确,传感器能
够准确地读取温度,并且单片机能够正确地接收并处理传感器的数据。
2. 软件设计,接下来,我们需要编写单片机的程序,以便能够
读取传感器的数据,并将其转换为数字温度值。
我们可以使用C语
言或者Arduino的编程语言来实现这一步骤。
在程序设计中,需要
考虑到温度的单位转换、数据的精度等问题。
3. 显示设计,我们可以选择合适的显示设备来展示温度数值,
比如数码管、液晶显示屏或者OLED屏幕等。
在设计中,我们需要考
虑到显示的清晰度、易读性以及节能等因素。
4. 功能扩展,除了基本的温度显示功能,我们还可以考虑对数
字温度计进行功能扩展,比如添加报警功能、数据存储功能或者远
程监控功能等,这些功能的添加可以提升数字温度计的实用性和趣
味性。
5. 测试与优化,最后,我们需要对设计的数字温度计进行测试,并不断优化,确保其稳定可靠、准确无误地显示温度。
总的来说,基于单片机的数字温度计课程设计涉及到硬件设计、软件设计、显示设计、功能扩展、测试与优化等多个方面,学生可
以通过这样的课程设计项目,全面提升自己的电子设计和编程能力,同时也能够实现一个实用的数字温度计产品。
课题二: 基于AT89C51单片机的数显温度传感器设计一、设计目的1、掌握51单片机最小系统的设计;2、掌握温度传感器DS18B20的使用;3、掌握C51的编程方式。
二、设计任务与要求基于AT89C51单片机的数显温度传感器设计主要具有如下功能,具体要求如下:1.温度传感器DS18B20检测环境温度。
2.用4位数码管显示温度;3.设定一个温度,当检测的温度达到这个设定值时,用蜂鸣器实现报警。
三、设计步骤①根据课题,查阅相关资料。
②画出系统原理框图,确定基本电路。
(电路图不能在Protuse里画,在A4纸上或者用DXP画电路图)③在Protuse里进行仿真。
(仿真结果出来后,才发放元件)④按电路原理图在板子上焊接电路。
⑤调试硬件。
⑥撰写电子综合设计报告:字数约2000~3000字(不包括程序清单),格式见附件2)。
⑦最后一个下午,制作PPT进行答辩。
题目二:基于AT89C51单片机的数显温度传感器设计附件2:单片机原理及其应用课程设计设计报告格式成绩:重庆大学城市科技学院电气学院基于AT89C51单片机的数显温度传感器设计报告一、设计目的作用本设计是一款简单实用的小型数字温度计,所采用的主要元件有传感器DS18B20,单片机AT89C52,四位共阴极数码管一个,电容电阻若干。
DS18B20支持“一线总线”接口,测量温度范围-55°℃—— +125°℃。
在-10℃——+85°℃范围内,精度为±0.5°℃。
18B20的精度较差,为± 2°℃。
现场温度直接以“一线总线”的数字方式传输,大大提高了系统的抗干扰性。
适合于恶劣环境的现场温度测量,如:环境控制、设备或过程控制、测温类消费电子产品等。
本次数字温度计的设计共分为五部分,主控制器,LED显示部分,传感器部分,复位部分,按键设置部分,时钟电路。
主控制器即单片机部分,用于存储程序和控制电路;LED显示部分是指四位共阴极数码管,用来显示温度;传感器部分,即温度传感器,用来采集温度,进行温度转换;复位部分,即复位电路,按键部分用来设置上下限报警温度。
单片机课程设计报告基于单片机的温控系统职业学院机械与电子工程学院基于单片机温控系统课程设计报告班级电信班学生姓名学号指导教师时间2021目录摘要I1系统方案设计及组成I2系统设计12.1温度传感器的工作原理与单片机的连接12.2DS1302原理及管脚22.3单片机与报警电路32.4显示电路32.41基本操作时序43系统软件设计4摘要本课题主要介绍基于xxxx单片机和xxxx数字温度传感器的温度测量系统。
该系统利用xxxx单片机分别采集各个温度点的温度,实现温度显示、报警等功能以及用DS1302时钟芯片在液晶显示当前时间日期。
直观,实用。
它以xxxx单片机为主控制芯片,采用数字温度传感器xxxx实现温度的检测,测量精度可以达到0.5℃。
该系统采用了1602显示模块,形象直观的显示测出的温度值。
基于xxxx 单片机的单总线温度测控系统具有硬件组成简单、读数方便、精度高、测温范围广等特点,在实际工程中得到广泛应用。
关键词:温度传感器;单片机;温度控制;DS1302;LCD1系统方案设计及组成该方案使用了xxxx单片机作为控制核心,以智能温度传感器xxxx为温度测量元件,对各点温度进行检测,设置温度上下限,超过其温度值就报警。
以及用DS1302时钟芯片在液晶显示当前时间日期。
显示电路采用1602液晶模块显示,使用三极管,电阻和蜂鸣器组成的报警电路,按钮处理模块等。
具有温度控制,实时时钟,报警等功能。
89C52CPU控制模块按键处理模块温度采集模块报警电路LCD显示模块DS1302时钟采集模块图2-1温度控制系统方案框2系统设计2.1温度传感器的工作原理与单片机的连接温度传感器的单总线(1-Wire)与单片机的P2.7连接,P2.7是单片机的高位地址线。
P2端口是一个带内部上拉电阻的8位双向I/O,其输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。
对该端口写“1”,可通过内部上拉电阻将其端口拉至高电平,此时可作为输入口使用,这是因为内部存在上拉电阻,某一引脚被外部信号拉低时会输出一个电流。
摘要本系统以AT89S52为核心,选用符合测量温度范围要求的DS18B20单总线数字温度传感器,DS1302串行时钟芯片,RT1602液晶显示器实现液晶显示当前日期、时间、星期和温度。
当测量温度超过设定的温度上下限时,启动蜂鸣器和指示灯报警。
温度显示稳定,且温度测量误差≤±1℃,温度值小数部分保留两位有效数字。
增加了摄氏温度与华氏温度转换对比显示功能,设定了整点语音自动播报时间温度,手动实时播报时间温度功能。
AbstractBased on the microintrollers,AT89S52, the system is composed of single bus temperature sensor DS18B20, serial clock chip DS1302 and liquid crystal display rt1602,which can display current date, time, week and temperature. Beep and indicating led are run when the measuring temperature is out of the range of the setting temperature. The system can display temperature stably, and the measuring error is less than and equal to ±1℃. It remains the two Significant digit after the decimal point. The system extends the functions of conversion of Celsius Temperature And Fahrenheit temperature,Announcing on schedule temperature、real time with voice automatically and the Manual Announcing temperature、real time.一、方案选择与论证根据竞赛设计任务的总体要求,本系统可以划分为以下个基本模块,针对各个模块1的功能要求,分别有以下一些不同的设计方案:1、温度传感器模块方案一:采用热敏电阻,热敏电阻精度、重复性、可靠性较差,对于检测1摄氏度的信号是不适用的,也不能满足测量范围。
基于单片机的温度传感器的设计目录第一章绪论---21.1 课题简介21.2 设计目的31.3 设计任务3第二章设计容与所用器件4第三章硬件系统设计43.1单片机的选择43.2温度传感器介绍53.3温度传感器与单片机的连接83.4单片机与报警电路93.5电源电路103.6显示电路103.7复位电路11第四章软件设计124.1 读取数据流程图124.2 温度数据处理程序的流程图134.3程序源代码14总结21附录------------------------------------------------------------------------------------16第一章绪论1.1 课题简介单片机,更确切的应称作微控制器,是20世纪70年代中期发展起来的一种面向控制的大规模集成电路模块,其特点是功能强大、体积小、可靠性高、价格低廉。
它一面世便在工业控制、数据采集、智能化仪表、机电一体化、家用电器等领域得到广泛应用,极提高了这些领域的技术水平和自动化程度。
因此,单片机的开发、应用已成为高科技和工程领域的一项重大课题。
随着人们生活水平的不断提高,单片机控制无疑是人们追求的目标之一,它给人带来的方便也是无可置疑的,其中数字温度计就是一个典型的例子。
随着人们对它的要求越来越高,要为现代人工作和生活提供更好、更方便的设施就需要从数字单片机技术入手,一切向着数字化控制、智能化控制方向发展。
温度测量在物理实验、医疗卫生、食品生产等领域,尤其在热学实验(如:物体的比热容、汽化热、热功当量、压强温度系数等教学实验)中,有特别重要的意义。
目前温度计的发展很快,从原始的玻璃管温度计发展到了现在的热电阻温度计、热电偶温度计、数字温度计、电子温度计等等。
现在所使用的温度计通常都是精度为1℃和0.1℃的水银、煤油或酒精温度计,这些温度计的刻度间隔通常都很密,不容易准确分辨,读数困难,而且他们的热容量还比较大,达到热平衡所需的时间较长,因此很难读准,并且使用非常不方便。
引言单片机的出现是近代计算机技术发展史上的重要里程碑。
单片机自20世纪70年代问世以来,以其极高的性能价格比,受到人们的重视和关注,应用很广、发展很快。
近年来随着电子技术和微型计算机技术的迅速发展,单片机的档次不断提高,其应用领域也在不断扩大,在工业测控、尖端科学、智能仪器仪表、日用家电、汽车电子系统、办公自动化设备、个人通信终端及通信产品中得到了广泛应用,已成为现代电子系统中最重要的智能化核心部件。
随着人们生活水平的不断提高,单片机控制无疑是人们追求的目标之一,它所给人带来的方便也是不可否定的,其中数字温度计就是一个典型的例子,但人们对它的要求越来越高,要为现代人工作、科研、生活、提供更好的更方便的设施就需要从数单片机技术入手,一切向着数字化控制,智能化控制方向发展。
本课程设计是在学习了单片机的基本原理的基础上进行的,综合利用所学单片机知识完成一个单片机应用系统设计并仿真实现,从而加深对单片机软硬知识的理解,获得初步的应用经验;进一步熟悉和掌握单片机的内部结构和工作原理,了解单片机应用系统设计的基本方法和步骤。
本设计的目标是用单片机和温度传感器及相关部件实现温度的测量和数字显示,测量精度小于℃,可以设置温度测量的上下限,超出测温范围可以由蜂鸣器报警。
本设计首先是确定目标,接下来是各个功能模块的设计和相应程序的编写。
再在proteus软件上进行仿真,若结果满足要求,则可以焊接硬件,若不满足继续修改,最终完成数字温度计的整个设计任务。
经过仿真,本设计达到了预期的目标。
目录112234567 999211 设计概述设计目标和要求1.用所学的单片机知识设计制作数字温度计;2.测温范围是-20℃---70℃;3.误差小于℃;4.所测的温度值可以由LCD数码管直接显示;5.可以任意设置上下限温度的报警功能;6.进一步熟悉proteus,protel,word软件的功能和使用方法;设计思路首先确定我们所设计的是一个数字温度计,由单片机、温度传感器以及其他电路共同实现。
单片机课程设计报告-数字温度计单片机是一种集成了微处理器核心、存储器、外围接口和定时器等功能模块的微型计算机。
在现代电子科技领域中,单片机被广泛应用于各种嵌入式系统中。
本课程设计主要针对单片机的应用实践,通过设计一个数字温度计来锻炼学生的单片机编程能力,同时加深对数字温度计的原理及应用的理解。
二、设计目标本课程设计旨在使学生掌握以下内容:1. 掌握单片机的基本原理和编程方法;2. 了解数字温度计的原理和应用;3. 熟悉温度传感器的使用和数据处理方法;4. 能够利用单片机开发出一个简单的数字温度计。
三、设计内容本课程设计主要包括以下内容:1. 单片机原理和编程基础;2. 数字温度计的原理和应用介绍;3. 温度传感器的选型及使用方法;4. 单片机数字温度计的设计和实现。
四、设计步骤1. 单片机原理和编程基础学生首先将学习单片机的基本原理和编程方法,包括单片机的体系结构、存储器组成、I/O口的使用、定时器的应用等内容。
2. 数字温度计的原理和应用介绍学生将了解数字温度计的基本原理和应用场景,包括数字温度计的工作原理、常见的数字温度计种类、数字温度计的应用领域等。
3. 温度传感器的选型及使用方法学生将学习温度传感器的选型原则,了解各种温度传感器的特点及使用方法,包括模拟温度传感器和数字温度传感器。
4. 单片机数字温度计的设计和实现学生将利用所学的单片机编程知识和温度传感器的使用方法,设计并实现一个简单的数字温度计。
学生需要考虑温度测量精度、显示方式、数据处理方法等问题。
五、教学方法本课程设计采用理论教学与实践相结合的教学方式,通过理论课堂讲解和实际操作演示相结合,加深学生对单片机和数字温度计知识的理解和掌握。
同时,鼓励学生合作学习,共同解决实际问题,提高实战能力。
六、教学评估学生将根据设计的数字温度计的实际测量情况、数据处理方法以及最终的效果进行评估,教师将根据学生的设计方案和实际操作情况进行评分。
同时,学生对单片机编程的理解和掌握水平也将作为评估的重要内容。
第一章温度传感器的应用及问题引言在日常生活及工、农业生产中经常要用到温度的检测及控制。
传统的温度测量元件有热电偶和热电阻,而热电偶和热电阻测出的一般都是电压,再转换成对应温度需要比较多的外部硬件支持,硬件电路复杂,软件调试复杂,制作成本高。
传感器传感器是将感受到的外界信息,按照一定的规律转换成所需的有用信息的装置,它获取的信息可以是各种物理量、化学量和生物量,而转换后的信息也有各种形式。
例如:光、温度、声、委位移、压力等物理量,可以通过传感器相互转化。
但是通常是将非电量或电量转换成易于处理和传输的电量,有些传感器的这种转换是可逆的,即输入量为电量而输出量为机械量或热工艺量等。
第二章数字温度计的设计总体设计方案在单片机电路设计中,使用传感器,是非常容易想到的,所以可以采用一只温度传感器DS18B20,此传感器,可以很容易直接读取被测温度值,进行转换,就可以满足设计要求。
方案的总体设计框图温度计电路设计总体设计方框图如5-1所示,控制器采用单片机AT89C51,温度传感器采用DS18B20,用3位LED数码管以串口传送数据实现温度显示。
图2-1 总体设计方框图主控制器单片机AT89C51具有低电压供电和体积小等特点,四个端口只需要两个口就能满足电路系统的设计需要,很适合便携手持式产品的设计使用系统可用二节电池供电。
AT89C51 的引脚AT89C2051 采用引脚双列直插式封装,现将各引脚的功过能说明如下。
·Vcc(20):电源电压端。
·GND(10):地端。
·RST(1):复位输入端。
当RST 引脚出现两个机器周期的高电平时,单片机复位。
复位后,AT89C51 内部专用寄存器及I/O 口的处置与8051的情况一样,而内部的状态保持不变。
·XTAL1(5):振荡器反相放大器的输入和内部时钟发生器的输入端。
·XTAL1(4):振荡器反相放大器的输出端。
基于单片机的数字温度计的设计课程设计太原理工大学矿业工程学院课程设计报告基于51单片机的数字温度计的设计摘要本设计主要介绍了一个基于AT89C51单片机的测温系统,详细描述了利用数字温度传感器DS18B20开发测温系统的过程,重点对传感器在单片机下的硬件连接,软件编程以及各模块系统流程进行了详尽分析,对各部分的电路也一一进行了介绍,该系统可以方便的实现温度采集和显示,它使用起来相当方便,具有精度高、量程宽、灵敏度高、体积小、功耗低等优点,适合于我们日常生活和工、农业生产中的温度测量,也可以当作温度处理模块嵌入其它系统中,作为其他主系统的辅助扩展。
DS18B20与AT89C51结合实现最简温度检测系统,该系统结构简单,抗干扰能力强,适合于恶劣环境下进行现场温度测量,有广泛的应用前景。
关键词:单片机;数字温度传感器;最简温度检测系统;目录目录1 绪论 (1)1.1选题的目的和意义 (1)1.1.1选题的目的 (1)1.1.2选题的意义 (1)2 数字温度计的设计方案 (2)2.1设计方案的确立及论证 (2)2.2系统器件选择 (2)2.2.1 单片机的选择 (2)2.2.2 温度传感器的选择 (2)3 系统硬件电路的设计 (4)3.1温度检测电路 (4)3.2显示电路........................................... 错误!未定义书签。
4 系统软件的设计 (5)4.1概述 (5)4.1.1 温度数据的计算处理方法 (6)4.2主程序模块 (6)4.3读温度值模块 (7)4.4中断模块 (8)4.5数码管驱动模块...................................... 错误!未定义书签。
5 实验仪器及元件清单 (10)6 心得体会 (10)致谢 (13)参考文献 (13)附录:源程序 (14)1 绪论1.1 选题的目的和意义1.1.1选题的目的利用单片机AT89S51和温度传感器DS18B20设计一个设计温度计,能够测量-55 ~128℃之间的温度值,用液晶屏直接显示,测量精度为1℃。
基于单片机的数字温度计摘要:随着时代的进步和发展,单片机技术已经普及到我们的生活、工作、科研、各个领域,已经成为一种比较成熟的技术。
本文介绍一种基于AT89C51单片机的一种温度测量,该电路采用电位器和ADC0804转换器代替温度传感器DS18B20作为温度监测元件,测量范围0℃~100℃,误差范围为0.5℃。
正文着重给出了软硬件系统的各部分电路,介绍了ADC0804转换器的工作原理,AT89C51单片机的功能和应用。
该系统可以方便的实现温度采集和显示,并可根据需要设定上下限温度,它使用起来具有精确度高、测量广、灵敏度高、体积小、功耗低等优点。
该电路设计新颖、功能强大、结构简单,有广泛的应用前景。
关键词:ADC0804、AT89C51、电位器、温度测量1器件简介1.1 AT89C51简介1.1.1 AT89C51简介AT89C51是一种带4K字节FLASH存储器(FPEROM—Flash Programmable and Erasable Read Only Memory)的低电压、高性能CMOS 8位微处理器,俗称单片机。
AT89C2051是一种带2K字节闪存可编程可擦除只读存储器的单片机。
单片机的可擦除只读存储器可以反复擦除1000次。
该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。
由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C2051是它的一种精简版本。
1.1.2 管脚说明如图1为AT89C51引脚图,各引脚功能说明如下:图1 AT89C51引脚图VCC: 电源GND: 地P0 口:P0口是一个8位漏极开路的双向I/O口。
作为输出口,每位能驱动8个TTL 逻辑电平。
对P0端口写“1”时,引脚用作高阻抗输入。
当访问外部程序和数据存储器时,P0口也被作为低8位地址/数据复用。
在这种模式下,P0具有内部上拉电阻。
A T C温度传感器设计Document serial number【NL89WT-NY98YT-NC8CB-NNUUT-NUT108】电子系统综合设计报告姓名:学号:专业:日2011-4-13期:南京理工大学紫金学院电光系摘要本次课程设计目的是设计一个简易温度控制仪,可以在四联数码管上显示测得的温度。
主要分四部份电路:OP07放大电路,AD转换电路,单片机部分电路,数码管显示电路。
设计文氏电桥电路,得到温度与电压的关系,通过控制电阻值改变温度。
利用单片机将现在温度与预设温度进行比较,将比较结果在LED数码管上显示,同时实现现在温度与预设温度之间的切换。
关键词放大电路转换电路控制电路显示目录1 引言电子系统设计要求注重可行性、性能、可靠性、成本、功耗、使用方便和易维护性等。
总体方案的设计与选择:由技术指标将系统功能分解为:若干子系统,形成若干单元功能模块。
单元电路的设计与选择:尽量采用熟悉的电路,注重开发利用新电路、新器件。
要求电路简单,工作可靠,经济实用。
1.1 系统设计设计思路本次实验基于P89L51RD2FN的温控仪设计采用Pt100温度传感器。
总体方案设计设计要求1.采用Pt100温度传感器,测温范围 -20℃ --100℃;2.系统可设定温度值;3.设定温度值与测量温度值可实时显示;4.控温精度:±℃。
2 单元模块设计各单元模块功能介绍及电路设计温度传感器电路的设计实现温度T和电阻R的对应关系。
电桥中R1=R2=R3=200Ω=R,R4为温度传感器,温度变化,导致电桥的一个桥臂上的电阻也就是R4的阻值变化。
信号调理电路的设计实现将温度T 和电阻R的对应关系转化为温度T 和电压V的对应关系。
利用电桥的原理,R4的阻值变化使电桥两点的电位差改变,此两点作为运算放大器的两个输入。
A/D采集电路的设计实现启动、等待、采集数据。
信号调理电路的输出接0809的IN0。
0809的ALE的START连接,单片机的和WR或非后接0809的START,和RD或非后接0809的OE。
课题二:基于A T89C51单片机的数显温度传感器设计一、设计目的1、掌握51单片机最小系统的设计;2、掌握温度传感器DS18B20的使用;3、掌握C51的编程方式。
二、设计任务与要求基于AT89C51单片机的数显温度传感器设计主要具有如下功能,具体要求如下:1.温度传感器DS18B20检测环境温度。
2.用4位数码管显示温度;3.设定一个温度,当检测的温度达到这个设定值时,用蜂鸣器实现报警。
三、设计步骤①根据课题,查阅相关资料。
②画出系统原理框图,确定基本电路。
(电路图不能在Protuse里画,在A4纸上或者用DXP画电路图)③在Protuse里进行仿真。
(仿真结果出来后,才发放元件)④按电路原理图在板子上焊接电路。
⑤调试硬件。
⑥撰写电子综合设计报告:字数约2000~3000字(不包括程序清单),格式见附件2)。
⑦最后一个下午,制作PPT进行答辩。
题目二:基于AT89C51单片机的数显温度传感器设计附件2:单片机原理及其应用课程设计设计报告格式成绩:重庆大学城市科技学院电气学院基于AT89C51单片机的数显温度传感器设计报告一、设计目的作用本设计是一款简单实用的小型数字温度计,所采用的主要元件有传感器DS18B20,单片机AT89C52,四位共阴极数码管一个,电容电阻若干。
DS18B20支持“一线总线”接口,测量温度范围-55°℃—— +125°℃。
在-10℃—— +85°℃范围内,精度为±°℃。
18B20的精度较差,为±2°℃。
现场温度直接以“一线总线”的数字方式传输,大大提高了系统的抗干扰性。
适合于恶劣环境的现场温度测量,如:环境控制、设备或过程控制、测温类消费电子产品等。
本次数字温度计的设计共分为五部分,主控制器,LED显示部分,传感器部分,复位部分,按键设置部分,时钟电路。
主控制器即单片机部分,用于存储程序和控制电路;LED显示部分是指四位共阴极数码管,用来显示温度;传感器部分,即温度传感器,用来采集温度,进行温度转换;复位部分,即复位电路,按键部分用来设置上下限报警温度。
测量的总过程是,传感器采集到外部环境的温度,并进行转换后传到单片机,经过单片机处理判断后将温度传递到数码管显示。
二、设计要求基于AT89C51单片机的数显温度传感器设计主要具有如下功能,具体要求如下:(1).温度传感器DS18B20检测环境温度。
(2).用两个2位一体共阳数码管显示温度;(3).通过按键开关设定一个上限温度和一个下限温度,当检测的温度达到这个设定值时,用蜂鸣器实现报警,同时LED灯闪烁。
三、设计的具体实现1、设计原理用温度传感器,在单片机电路设计中,大多都是使用传感器,所以这是非常容易想到的,所以可以采用一只温度传感器DS18B20,此传感器,可以很容易直接读取被测温度值,进行转换,就可以满足设计要求。
(DS18B20数字温度传感器具有单总线的独特优点,可以使用户轻松地组建起传感器网络,并可使多点温度测量电路变得简单、可靠,所以在该设计中采用DS18B20数字温度传感器测量温度。
)实验名称是“基于AT89C51单片机的数显温度传感器设计”,涉及到MCS-51系列的单片机,我们首先有设计一个能使单片机工作的最小系统,然后温度传感器将实时温度值送给单片机,通过对单片机进行软件编程实现数据处理,然后送给LED 共阴数码管显示,在对单片机编程时要考虑到要使得能通过按键开关设置上限报警温度及下限报警温度,通过蜂鸣器报警,在报警的同时LED 灯同步闪烁。
设计任务书中已给出了元件清单,但是我们需要在软件中对自己设计的电路进行仿真我们还需要画出单片机的最小系统电路。
总体电路结构框图所示:2、系统设计(详细介绍各单元电路的选择、设计及工作原理分析,并介绍有关参数的计算及元器件参数的选择等,要求有原理图。
) (1)、硬件设计硬件电路设计通过单片机仿真软件Proteus 进行原理图的编辑,根据实验要求及所给出的元件设计出如下电路原理图,并进行了仿真时钟及复位模块实验所给的元件中直接已给出了AT89C51的最小系统板,但是我们在设计电路时还是你需要画出该部分电路,时钟复位为能使单片机工作的最简单的电路,又称最小系统。
具体实验电路如下:时钟电路有12MHz的晶振及两个20~30PF的瓷片电容(无极性)连接在单片机的XTAL1及XTAL2连个端口;复位电路由10K的电阻,10UF电解电容(有极性)以及按键开关组成,接在单片机的RST口。
当系统出现故障错误,我想让系统恢复初始化状态可以通过对按动按键开关实现对电容的充放电从而实现系统的复位。
蜂鸣器报警及LED显示模块蜂鸣器用于当温度传感器的输入的温度数值大于认为设定的上限温度或者小于下限温度时,系统会给出相应的信号使得蜂鸣器发出声音同时让LED灯闪烁显示,从听觉和视觉上同时提出报警信号。
电路图如下:蜂鸣器由一个PNP型的三极管驱动接在单片机的口,当口输出低电平是蜂鸣器发出声音;LED灯正极通过1K的电阻上拉接Vcc,负极接在单片机的口,当系统在口输出低电平时LED灯亮。
共阳数码管显示显示模块实验给出的数码管为2位一体共阳的数码管,在实验显示中我们需要四个数码管去显示相应的温度,所以采用两个2位一体共阳数码管并联当做一个4位一体的共阳数码管。
电路原理图如下:数码管的使用设计到了段选及位选,我们把段选接在单片机的P0口,位选接在数码管的~口,需要注意的是此数码管为共阳的,所以P0口输出的低电平完全可以驱动数码管的段选显示,但是位选输出高电平不足以驱动数码管显示导致数码管的亮度不够,此时我们需要在数码管的位选段接上相应的1K的上拉电阻,这样数码管的亮度就可以明显的得到提升。
DS18BB20温度传感器模块DS18B20温度传感器是美国DALLAS半导体公司最新推出的一种改进型智能温度传感器,与传统的热敏电阻等测温元件相比,它能直接读出被测温度,并且可根据实际要求通过简单的编程实现9~12位的数字值读数方式。
电路图如下:接在单片机的口,DS18B20的DQ端需要接一个左右的上拉电阻。
按键控制模块按键是用来设置报警的上下限温。
K1是用来进入上下限调节模式的,当按一下K1进入上限调节模式,再按一下进入下限调节模式。
在正常模式下,按一下K2进入查看上限温度模式,显示1s左右自动退出;按一下K3进入查看下限温度模式,显示1s左右自动退出;按一下K4消除按键音,再按一下启动按键音。
在调节上下限温度模式下,K2是实现加1功能, K1是实现减1功能,K3是用来设定上下限温度正负的。
(2)、软件设计通过单片机编程软件Keil 4进行编程,程序部分通过一个主函数和自定义的三个#include"" #include"" #include"" 头文件,分别完成温度的采集转化、通过键盘设定上下限报警温度以及模式的切换、通过定时器0延时使数码管动态显示温度系统的主流程图:3、系统实现(详细介绍实物连接图及运行程序时的每种结果,要求有图为证,并对每张图片进行简单的说明)根据系统的设计框图,查找相关资料,在Proteus 中画出原理图,在KEIL 4软件中编写好程序,然后将这两个软件结合,将写好的程序在Proteus 中烧录进单片机,然后开启仿真开关,即可显示设计效果,通过修改硬件电路的同时结合程序,实现实验要求。
然后开始焊接硬件电路,在多孔板上焊出相应的电路,用杜邦线将各个模块与单片机最小系统板连接在一起得到最终电路,用烧录软件将程序烧录进单片机,最终以实际电路的形式展现出成果。
系统的调试及性能分析:硬件调试,首先检查电感的焊接是否正确,然后可用万用表测试或通电检测。
软件调试可以先编写显示程序并进行硬件的正确性检验,然后分别进行主程序、读出温度子程序、温度转换命令子程序、计算温度子程序和现实数据刷新子程序等的编程及调试四、总结(对整个设计工作过程进行归纳和综合,对设计中所存在的问题和不足进行分析和总结,提出解决的方法、措施、建议和对这次设计实践的认识、收获和提高。
)通过本次课程设计使我收获很多,从一开始对单片机仿真软件的使用到后来渐渐的熟悉,深深感觉到了我们在设计电路的时候为了验证我们方案的可行性,我们必须借助一些仿真软件,来模拟我们设计的电路,这样既可以节省本也使得我们焊接实物时有了很好的依据,要学会以这种方法为基础再来焊接电路。
通过系统仿真软件Proteus和编译软件Keil,使我们进一步了解了单片机的设计制作过程,其中最为困难的是软件部分,即编程部分,我们上网找了好多资料,虽然经过自己的修改,但还是有很多功能不能实现,如温度上下限设置。
由于Proteus并不是很熟练,在使用的过程中有很多原件的名称不知道,从而花费了大量的时间查阅资料。
在应用仿真的过程中,还出现了仿真软件出现问题,不管怎样修改程序,结果在仿真软件上还是出现错误,后来发现是我们使用的软件是盗版的所以他可能在仿真过程中出现错误,最终决定先将硬件焊接出来将程序写进去看看结果,再对软件进行相应的调整,最后焊接出来将程序写进单片机经过简单的调整实现了实验要求。
最后一步的焊接硬件也遇到了不少麻烦。
综上所述我们得出这样的结论,应该借助软件仿真证明我们方案的可行性,设计时实际电路和我们理论上的数值是有所差别的,我们也要学会将理论知识与实际结合起来,这样我们才能在实际中提高自我能力,我们才能真正理解并在实际中运用我们的知识。
五、附录附录一:元件清单附录二:实物焊接图附录三:程序/************************************************************** ******* 程序名; 基于51单片机的温度计* 功能:实时测量温度,超过上下限报警,报警温度可手动调整。
K1是用来进入上下限调节模式的,当按一下K1进入上限调节模式,再按一下进入下限调节模式。
在正常模式下,按一下K2进入查看上限温度模式,显示1s左右自动退出;按一下K3进入查看下限温度模式,显示1s左右自动退出;按一下K4消除按键音,再按一下启动按键音。
在调节上下限温度模式下,K2是实现加1功能,K1是实现减1功能,K3是用来设定上下限温度正负的。
*************************************************************** ******/#include<>#include<> uchar codetemperature3[]={ 0xff,0x7f,0xbf,0x89,0xc7}; ‘-’‘H’‘L’/******************************************************//* 延时子函数//*****************************************************/void display_delay(uint t) //延时1ms左右{uinti,j;for(i=t;i>0;i--)for(j=120;j>0;j--);}/******************************************************//* 定时器1初始化函数//*****************************************************/void timer1_init(bit t){TMOD=0x10;TH0=0x3c;TL0=0xb0;EA=1;ET1=1;TR1=t; // 局部变量t为1启动定时器1,为0关闭定时器1}/******************************************************//* 定时器1中断函数//*****************************************************/void timer1() interrupt 3{TH0=0x3c; //重新赋初值,定时50msTL0=0xb0;num++; //每进入一次定时器中断num加1(每50ms加1一次)if(num<5){s=1;if(w==1){beer=1;led=1;}else{beer=1;led=1;}}else //进入4次中断,定时200ms时若报警标志位w为‘1’则启动报警,不为‘1’不启动//实现间歇性报警功能{s=0;if(w==1){beer=0;led=0;}else{beer=1;led=1;}}if(num>20) //进入20次中断,定时1s{num=0; //num归0,重新定开始定时1ss1=0; //定时1s时间到时自动关闭报警上下限显示功能v1=1; //定时1s时间到时自动关闭报警上下限查看功能}}/******************************************************//* 调整报警上下限选择函数//*****************************************************/void selsct_1(ucharf,uchar k) //消除百位的0显示,及正负温度的显示选择{if(f==0) //若为正温度,百位为0则不显示百位,不为0则显示{if(k/100==0) P0=temperature3[0];else P0=temperature1[k/100];}if(f==1) //若为负温度,若十位为0,百位不显示,否则百位显示‘-’{if(k%100/10==0) P0=temperature3[0];else P0=temperature3[2];}}void selsct_2(bit f,uchar k) //消除十位的0显示,及正负温度的显示选择{if(f==0) //若为正温度,百位十位均为0则不显示十位,否则显示十位{if((k/100==0)&&(k%100/10==0))P0=temperature3[0];else P0=temperature1[k%100/10];}if(f==1) //若为负温度,若十位为0,十位不显示,否则十位显示‘-’{if(k%100/10==0) P0=temperature3[2];else P0=temperature1[k%100/10];}}/******************************************************//* 主函数显示//*****************************************************/void display(uchart,uchart_d) //用于实测温度、上限温度的显示{uchari;for(i=0;i<4;i++) //依次从左至右选通数码管显示,实现动态显示{switch(i){case 0: //选通第一个数码管wei2=0; //关第二个数码管wei3=0; //关第三个数码管wei4=0; //关第四个数码管wei1=1; //开第一个数码管if(a==0){selsct_1(f,t);} //若a=0则在第一个数码管上显示测量温度的百位或‘-’if(a==1){P0=temperature3[3]; //若a=1则在第一个数码管上显示‘H’}if(a==2){P0=temperature3[4]; //若a=2则在第一个数码管上显示‘L’}break;case 1: //选通第二个数码管 wei1=0;wei3=0;wei4=0;wei2=1;if(a==0){selsct_2(f,t);} //若a=0则在第二个数码管上显示测量温度的十位或‘-’if(a==1) //若a=1则在第二个数码管上显示上限报警温度的百位或‘-’{if(s==0) selsct_1(f_max,max);//若s=0则显示第二个数码管,否则不显示else P0=temperature3[0]; //通过s标志位的变化实现调节上下限报警温度时数码管的闪烁if(s1==1) selsct_1(f_max,max);//若s1=1则显示第二个数码管(s1标志位用于上下限查看时的显示)}if(a==2) //若a=2则在第二个数码管上显示下限报警温度的百位或‘-’{if(s==0) selsct_1(f_min,min);else P0=temperature3[0];if(s1==1) selsct_1(f_min,min);}break;case 2: //选通第三个数码管 wei1=0;wei2=0;wei4=0;wei3=1;if(a==0){P0=temperature2[t%10];}//若a=0则在第三个数码管上显示测量温度的个位if(a==1) //若a=1则在第三个数码管上显示上限报警温度的十位或‘-’{if(s==0) selsct_2(f_max,max);//若s=0则显示第三个数码管,否则不显示else P0=temperature3[0];if(s1==1) selsct_2(f_max,max);//若s1=1则显示第三个数码管}if(a==2) //若a=2则在第三个数码管上显示下限报警温度的十位或‘-’{if(s==0) selsct_2(f_min,min);else P0=temperature3[0];if(s1==1) selsct_2(f_min,min);}break;case 3: //选通第四个数码管wei1=0;wei2=0;wei3=0;wei4=1;if(a==0){P0=temperature1[t_d];}//若a=0则在第四个数码管上显示测量温度的小数位if(a==1) //若a=1则在第四个数码管上显示上限报警温度的个位{if(s==0) P0=temperature1[max%10];//若s=0则显示第四个数码管,否则不显示else P0=temperature3[0];if(s1==1) P0=temperature1[max%10];//若s1=1则显示第四个数码管}if(a==2) //若a=2则在第四个数码管上显示下限报警温度的个位{if(s==0) P0=temperature1[min%10];else P0=temperature3[0];if(s1==1) P0=temperature1[min%10];}break;}display_delay(10); //每个数码管显示3ms左右}}/******************************************************/ /* 开机显示函数//*****************************************************/ void display1(uint z) //用于开机动画的显示{uchari,j;bit f=0;for(i=0;i<z;i++) //‘z’是显示遍数的设定 {for(j=0;j<4;j++) //依次从左至右显示‘-’ {switch(j){case 0:wei2=0;wei3=0;wei4=0;wei1=1; break;P0=temperature3[2];//第一个数码管显示case 1:wei1=0;wei3=0;wei4=0;wei2=1;break;P0=temperature3[2];//第二个数码管显示case 2:wei1=0;wei2=0;wei4=0;wei3=1;break;P0=temperature3[2];//第三个数码管显示case 3:wei1=0;wei2=0;wei3=0;wei4=1;break;P0=temperature3[2];//第四个数码管显示 }display_delay(400); //每个数码管显示200ms左右 }}}#endif六、参考文献参考文献的格式如下:1·李群芳·单片微型计算机与接口技术·电子工业出版社·2012年1月(第四版)。