价格合理!信工毕业 就会单片机
可以找我加Q 九八三七七零零四八
毕业设计论文可以找别人帮你做啊,把你的详细要求发不到任务中国网,让高手给你解决这个问题。或者你去抄一片。
已把我毕业论文的一部分发给你了,应该是你想要的。还需要其它的说一声
价格合理!信工毕业 就会单片机
摘要本设计的温度测量计加热控制系统以AT89S52单片机为核心部件,外加温度采集电路、键盘显示电路、加热控制电路和越限报警等电路。采用单总线型数字式的温度传感器DSI8B20,及行列式键盘和动态显示的方式,以容易控制的固态继电器作加热控制的开关器件。本作品既可以对当前温度进行实时显示又可以对温度进行控制,以使达到用户需要的温度,并使其恒定再这一温度。人性化的行列式键盘设计使设置温度简单快速,两位整数一位小数的显示方式具有更高的显示精度。建立在模糊控制理论控制上的控制算法,是控制精度完全能满足一般社会生产的要求。通过对系统软件和硬件设计的合理规划,发挥单片机自身集成众多系统及功能单元的优势,再不减少功能的前提下有效的降低了硬件的成本,系统操控更简便。实验证明该温控系统能达到℃的静态误差,℃的控制精度,以及只有%的超调量,因本设计具有很高的可靠性和稳定性。关键词:单片机 恒温控制 模糊控制引言温度是工业控制中主要的被控参数之一,特别是在冶金、化工、建材、食品、机械、石油等工业中,具有举足重轻的作用。随着电子技术和微型计算机的迅速发展,微机测量和控制技术得到了迅速的发展和广泛的应用。 采用单片机来对温度进行控制,不仅具有控制方便、组态简单和灵活性大等优点,而且可以大幅度提高被控温度的技术指标,从而能够大大提高产品的质量和数量。MSP430系列单片机具有处理能强、运行速度快、功耗低等优点,应用在温度测量与控制方面,控制简单方便,测量范围广,精度较高。温度传感器将温度信息变换为模拟电压信号后,将电压信号放大到单片机可以处理的范围内,经过低通滤波,滤掉干扰信号送入单片机。在单片机中对信号进行采样,为进一步提高测量精度,采样后对信号再进行数字滤波。单片机将检测到的温度信息与设定值进行比较,如果不相符,数字调节程序根据给定值与测得值的差值按PID控制算法设计控制量,触发程序根据控制量控制执行单元。如果检测值高于设定值,则启动制冷系统,降低环境温度;如果检测值低于设定值,则启动加热系统,提高环境温度,达到控制温度的目的。图形点阵式液晶可显示用户自定义的任意符号和图形,并可卷动显示,它作为便携式单片机系统人机交互界面的重要组成部分被广泛应用于实时检测和显示的仪器仪表中。支持汉字显示的图形点阵液晶在现代单片机应用系统中是一种十分常用的显示设备,汉字BP机、手机上的显示屏就是图形点阵液晶。它与行列式小键盘组成了现代单片机应用系统中最常用的人机交互界面。本文设计了一种基于MSP430单片机的温度测量和控制装置,能对环境温度进行测量,并能根据温度给定值给出调节量,控制执行机构,实现调节环境温度的目的。━、硬件设计1:MSP430系列单片机简介及选型单片机即微控制器,自其开发以来,取得了飞速的发展。单片机控制系统在工业、交通、医疗等领域的应用越来越广泛,在单片机未开发之前,电子产品只能由复杂的模拟电路来实现,不仅体积大,成本高,长期使用后元件老化,控制精度大大降低,单片机开发以后,控制系统变为智能化了,只需要在单片机外围接一点简单的接口电路,核心部分只是由人为的写入程序来完成。这样产品体积变小了,成本也降低了,长期使用也不会担心精度达不到了。特别是嵌入式技术的发展,必将为单片机的发展提供更广阔的发展空间,近年来,由于超低功耗技术的开发,又出现了低功耗单片机,如MSP430系列、ZK系列等,其中的MSP430系列单片机是美国德州仪器(TI)的一种16位超低功耗单片机,该单片机
用DS18B20测试温度,然后做出相应的控制,也可以报警创新方面可以做多路温度测试和控制吧,加温度显示,用LED数码管或者LCD显示屏
毕业设计(论文)报告 系 别: 电子与电气工程学院 专 业: 电子信息工程 班 号: 电子 0 8 5 学 生 姓 名: 傅浩 学 生 学 号: 080012212 计 论 ) 目 设 ( 文 题 : 基于AT89C51 的数字温度计的设计 指 导 教 师: 傅浩 设 计 地 点: 起 迄 日 期: 常州信息职业技术学院电子与电气工程学院 毕业设计论文 毕业设计(论文)任务书 专业 电子信息工程 班级 电子 085 姓名 傅浩一、课题名称:基于 AT89C51 的数字温度计的设计二、主要技术指标: 1、测温范围-50℃-110℃ 2、精度误差小于 ℃ 3、LED 数码直读显示 4、可通过人机接口任意设定温度报警阀值三、工作内容和要求:(1)、要求数字温度计能对环境的温度进行实时监测。(2)、数字温度计要能够实时显示环境的温度信息,使用户及时了解到环境温度情况。(3)、数字温度计能够在程序跑飞的情况下自动重启,对环境温度进行正确的测量。 四、主要参考:1.李勋.刘源单片机实用教程M.北京航空航天大学出版社,20002.李朝青.单片机原理及接口技术(简明修订版)M.杭州:北京航空航天大学出版社,19983.李广弟.单片机基础M.北京:北京航空航天大学出版社,19944.阎石.数字电子技术基础(第三版)M.北京:高等教育出版社,19895.廖常初.现场总线概述J.电工技术,19996.王津.单片机原理与应用M.重庆大学出版社,2000 学 生(签名) 年 月 日 指 导 教师(签名) 年 月 日常州信息职业技术学院电子与电气工程学院 毕业设计论文 教研室主任(签名) 年 月 日 系 主 任(签名) 年 月 日 常州信息职业技术学院电子与电气工程学院 毕业设计论文 毕业设计(论文)开题报告设计(论文)题目 基于 AT89C51 的数字温度计的设计一、选题的背景和意义: 随着时代的进步和发展,单片机技术已经普及到我们生活、工作、科研等各个领域,已经成为一种比较成熟的技术,本文将介绍一种基于单片机控制的数字温度计,它给人带来的方便也是不可否定的。要为现代人生活提供更好、更方便的设施就需要从数单片机技术入手,一切向着数字化控制,智能化控制方向发展。 本文将要设计的数字温度计具有性能稳定、灵敏度高、抗干扰能力强、使用方便等优点,广泛应用于冰箱、空调器、粮仓等日常生活中温度的测量和控制中,为人们生活水平的提高做出了巨大的贡献。二、课题研究的主要内容: 1.本文是以单片机 AT89C51 为核心进行设计。 2.通过 DALLAS 公司的单总线数字温度传感器 DS18B20 来实现环境温度的采集和 A/D转换。 3.其输出温度采用数字显示,用 3 位共阳极 LED 数码管以串口传送数据,实现温度显示,能准确达到以上要求。 4.此温度计属于多功能温度计可以用来测量环境温度,还可以设置上下报警温度,当温度不在设置范围内时,可以报警。 常州信息职业技术学院电子与电气工程学院 毕业设计论文三、主要研究(设计)方法论述: 1. 通过查阅书籍了解数字温度计的基本概念等信息,结合以前所学的电子专业知识认真研究课题。 2. 借助强大的网络功能,借鉴前人的研究成果更好的帮助自己更好地理解所需掌握的内容。 3. 通过与老师与同学的讨论研究,及时地发现问题反复地检查修改最终完成。 四、设计(论文)进度安排:时间(迄止日期) 工 作 内 容 ~ 查找资料,确定论文题目 ~ 根据选题方向查资料,确定基本框架和设计方法 ~ 完成开题报告 ~ 完成初稿并交指导老师审阅 ~ 根据指导老师意见修改论文 ~ 根据模板将论文排版 ~ 仔细阅读论文并作细节完善后上交 常州信息职业技术学院电子与电气工程学院 毕业设计论文五、指导教师意见: 指导教师签名: 年 月 日六、系部意见: 系主任签名: 年 月 日 常州信息职业技术学院电子与电气工程学院 毕业设计论文 目录摘要Abstract第 1 章 前言 ...................................................... 1第 2 章 数字温度计总体设计方案 .................................... 2 数字温度计设计方案.......................................... 2 总体设计框图................................................ 2第 3 章 数字温度计的硬件设计 ...................................... 3 主控制器 AT89C51 ............................................ 3 AT89C51 的特点及特征 .................................... 3 管脚功能说明............................................ 3 片内振荡器.............................................. 5 芯片擦除................................................ 5 单片机的主板电路............................................ 6 温度采集部分的设计.......................................... 6 温度传感器 DS18B20 ...................................... 6 DS18B20 温度传感器与单片机的接口电路 ................... 10 显示部分设计............................................... 10 74LS164 引脚功能及特征 ................................. 10 温度显示电路........................................... 11 报警系统电路............................................... 12第 4 章 数字温度计的软件设计 ..................................... 13 系统软件设计流程图......................................... 13 数字温度计部分程序清单..................................... 15第 5 章 结束语 ................................................... 20答谢辞参考文献 常州信息职业技术学院电子与电气工程学院 毕业设计论文 摘 要 随着人们生活水平的不断提高,单片机控制无疑是人们追求的目标之一,它所给人带来的方便也是不可否定的,其中数字温度计就是一个典型的例子。 本设计所介绍的数字温度计与传统的温度计相比,具有读数方便,测温范围广,测温准确,其输出温度采用数字显示。该设计控制器使用单片机 AT89C51,测温传感器使用 DS18B20,用 3 位共阳极 LED 数码管以串口传送数据,实现温度显示。本温度计属于多功能温度计,可以设置上下报警温度,当温度不在设置范围内时,可以报警。 此外本文还介绍了数字温度计的硬件设计和软件设计,硬件设计主要包括主控制器、单片机的主板电路、温度采集部分电路、显示电路以及报警系统电路。 软件设计包括系统软件的流程图和数字温度计的部分程序清单。关键词:AT89C51 单片机,数字控制,测温传感器,多功能温度计 常州信息职业技术学院电子与电气工程学院 毕业设计论文 Abstract As peoples living standard rising SCM is undoubtedly one of theobjectives pursued by the people the convenience it brings is equallynegative and one digital thermometer is a typical example. The design presented in the traditional thermometer digitalthermometer and compared with a reading convenience a wide range oftemperature measurement temperature measurement accuracy the output ofthe temperature digital display. The design of the controller usingmicrocontroller AT89C51 temperature sensor uses DS18B20 with threecommon anode LED digital tube to serial transmission of data to achievetemperature display. The thermometer is multi-functional thermometeryou can set the upper and lower alarm temperature range when thetemperature is not set you can alarm. Besides the paper also describes the digital thermometer in hardwaredesign and software design hardware design includes the main controllermicrocontroller circuit board the temperature acquisition part of thecircuit display circuit and the alarm system circuit. Software designincluding system software flow chart and the digital thermometer in thepart of the program words: AT89C51 microcontroller digital control temperature sensormulti-function thermometer 常州信息职业技术学院电子与电气工程学院 毕业设计论文第1章 前言 随着时代的进步和发展,单片机技术已经普及到我们生活,工作,科研,各个领域,已经成为一种比较成熟的技术,本文将介绍一种基于单片机控制的数字温度计,本温度计属于多功能温度计,可以设置上下报警温度,当温度不在设置范围内时,可以报警。 现代信息技术的飞速发展和传统工业改造的逐步实现。 能够独立工作的温度检测和显示系统应用于诸多领域。传统的温度检测以热敏电阻为温度敏感元件。热敏电阻的成本低,但需后续信号处理电路,而且可靠性相对较差,测温准确度低,检测系统也有一定的误差,所以传统的温度计有反应速度慢、读数麻烦、测量精度不高、误差大等缺点。 本文是以单片机 AT89C51 为核心,通过 DALLAS 公司的单总线数字温度传感器 DS18B20 来实现环境温度的采集和 A/D 转换,用来测量环境温度,温度分辨率为 ℃,并能数码显示。因此本文设计的数字温度计具有读数方便,测温范围广,测温精确,数字显示,适用范围宽其电路简单,软硬件结构模块化,易于实现等特点。 数字式温度计的设计将给人们的生活带来很大的方便, 为人们生活水平的提高做出了贡献。数字温度计在以后将应用于我们生产和生活的各个方面,数字式温度计的众多优点告诉我们:数字温度计将在我们的未来生活中应用于各个领域,它将会是传统温度计的理想的替代产品。 -1- 常州信息职业技术学院电子与电气工程学院 毕业设计论文第2章 数字温度计总体设计方案 数字温度计设计方案方案 一: 采用热敏电阻器件,利用其感温效应,再将随被测温度变化的电压或电流采集过来,进行 A/D 转换后,利用单片机进行数据的处理,然后在显示电路上,将被测温度显示出来。 方案 二: 利用温度传感器,在单片机电路设计中,大多都是使用传感器,所以这是非常容易想到的,所以可以采用一只温度传感器 DS18B20,此传感器,可以很容易直接读取被测温度值,进行转换就可以满足设计要求。 分析上述两种方案可以看出方案一是使用热敏电阻之类的器件利用其感温效应,进行 A/D 转换后,利用单片机进行数据的处理,在显示电路上被测温度显示出来,这种设计需要用到 A/D 转换电路,感温电路比较麻烦。方案二是利用温度传感器直接读取被测温度,读数方便,测温范围广,测温精确,适用范围宽而且电路简单易于实现。 综合方案一和方案二的优缺点,我们选择方案二。 总体设计框图 温度计电路设计总体设计方框图如图 2-1 所示, 控制器采用单片机 AT89C51,温度传感器采用 DS18B20,用 4 位 LED 数码管以串口传送数据实现温度显示。 L 单片机复位 E D 主 显 控 示 报警点按键调整 制 器 温 度 时钟振荡 传 感 器 图 2-1 总体设计方框图 -2- 常州信息职业技术学院电子与电气工程学院 毕业设计论文第3章 数字温度计硬件设计 主控制器 AT89C51 的特点及特性: 40 个引脚,4K Bytes FLASH 片内程序存储器,128 Bytes 的随机存取数据存储器(RAM) ,32 个外部双向输入/输出(I/O)口,5 个中断优先级 2 层中断嵌套中断,2 个 16 位可编程定时计数器,2 个全双工串行通信口,看门狗(WDT)电路,片内时钟振荡器。 此外,AT89C51 在空闲模式下,CPU 暂停工作,而 RAM 定时计数器,串行口,外中断系统可继续工作,掉电模式冻结振荡器而保存 RAM 的数据,停止芯片其它功能直至外中断激活或硬件复位。同时该芯片还具有 PDIP、TQFP 和 PLCC 等三种封装形式,以适应不同产品的需求。 主要功能特性: 兼容 MCS-51 指令系统 4k 可反复擦写gt1000 次)ISP FLASH ROM 32 个双向 I/O 口 工作电压 2 个 16 位可编程定时/计数器 时钟频率 0-33MHZ 全双工 UART 串行中断口线 128X8 BIT 内部 RAM 2 个外部中断源 低功耗空闲和省电模式 中断唤醒省电模式 3 级加密位 看门狗(WDT)电路 软件设置空闲和省电功能 灵活的 ISP 字节和分页编程 双数据寄存器指针 管脚功能说明: AT89C51 管脚如图 3-1 所示: -3- 常州信息职业技术学院电子与电气工程学院 毕业设计论文 图 3-1 AT89C51 管脚图 (1)VCC:供电电压。 (2)GND:接地。 P0 P0 (3) 口: 口为一个 8 位漏级开路双向 I/O 口, 每脚可吸收 8TTL 门电流。当 P1 口的管脚第一次写 1 时,被定义为高阻输入。P0 能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在 FIASH 编程时,P0 口作为原码输入口,当 FIASH 进行校验时,P0 输出原码,此时 P0 外部必须被拉高。 (4)P1 口:P1 口是一个内部提供上拉电阻的 8 位双向 I/O 口,P1 口缓冲器能接收输出 4TTL 门电流。P1 口管脚写入 1 后,被内部上拉为高,可用作输入,P1 口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在 FLASH编程和校验时,P1 口作为第八位地址接收。 (5)P2 口:P2 口为一个内部上拉电阻的 8 位双向 I/O 口,P2 口缓冲器可接收,输出 4 个 TTL 门电流,当 P2 口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2 口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2 口当用于外部程序存储器或 16 位地址外部数据存储器进行存取时,P2 口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2 口输出其特殊功能寄存器的内容。P2 口在 FLASH 编程和校验时接收高八位地址信号和控制信号。 (6)P3 口:P3 口管脚是 8 个带内部上拉电阻的双向 I/O 口,可接收输出 4个 TTL 门电流。当 P3 口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3 口将输出电流(ILL)这是由于上拉的缘故。P3 口也可作为 AT89C51 的一些特殊功能口,如下所示: RXD(串行输入口) TXD(串行输出口) /INT0(外部中断 0) /INT1(外部中断 1) T0(记时器 0 外部输入) T1(记时器 1 外部输入) /WR(外部数据存储器写选通) /RD(外部数据存储器读选通) -4- 常州信息职业技术学院电子与电气工程学院 毕业设计论文 P3 口同时为闪烁编程和编程校验接收一些控制信号。 (7)RST:复位输入。当振荡器复位器件时,要保持 RST 脚两个机器周期的高电平时间。 (8)ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在 FLASH 编程期间,此引脚用于输入编程脉冲。在平时,ALE 端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的 1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个 ALE 脉冲。如想禁止 ALE 的输出可在 SFR8EH 地址上置 0。此时,ALE 只有在执行 MOVX,MOVC 指令是 ALE 才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态 ALE 禁止,置位无效。 (9)/PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN 有效。 但在访问外部数据存储器时, 这两次有效的/PSEN信号将不出现。 ( 10 ) /EA/VPP : 当 /EA 保 持 低 电 平 时 , 则 在 此 期 间 外 部 程 序 存 储 器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式 1 时,/EA 将内部锁定为 RESET;当/EA 端保持高电平时,此间内部程序存储器。在 FLASH 编程期间,此引脚也用于施加 12V 编程电源(VPP)。 (11)XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。 (12)XTAL2:来自反向振荡器的输出。 片内振荡器: 该反向放大器可以配置为片内振荡器,如图 3-2 所示。 图 3-2 片内振荡器 芯片擦除: -5- 常州信息职业技术学院电子与电气工程学院 毕业设计论文 整个 PEROM 阵列和三个锁定位的电擦除可通过正确的控制信号组合, 并保持ALE 管脚处于低电平 10ms 来完成。在芯片擦操作中,代码阵列全被写“1”且在任何非空存储字节被重复编程以前,该操作必须被执行。 此外,AT89C51 设有稳态逻辑,可以在低到零频率的条件下静态逻辑,支持两种软件可选的掉电模式。在闲置模式下,CPU 停止工作。但 RAM、定时器、计数器、串口和中断系统仍在工作。在掉电模式下,保存 RAM 的内容并且冻结振荡器,禁止所用其他芯片功能,直到下一个硬件复位为止。单片机 AT89C51 具有低电压供电和体积小等特点,四个端口只需要两个口就能满足电路系统的设计需要,很适合便携手持式产品的设计使用系统可用二节电池供电。 单片机 AT89C51 具有低电压供电和体积小等特点,四个端口只需要两个口就能满足电路系统的设计需要, 很适合便携手持式产品的设计使用系统可用二节电池供电。 单片机主板电路 单片机 AT89C51 是数字温度计的核心元件,单片机的主板电路如图 3-3 所示,包括单片机芯片、报警系统电路、晶振电路、上拉电阻以及与单片机相连的其他电路。 图 3-3 单片机的主板电路 温度采集部分的设计 温度传感器 DS18B20 DS18B20 温度传感器是美国 DALLAS 半导体公司最新推出的一种改进型智能温度传感器,与传统的热敏电阻等测温元件相比,它能直接读出被测温度,并且可根据实际要求通过简单的编程实现 9~12 位的数字值读数方式。 -6- 常州信息职业技术学院电子与电气工程学院 毕业设计论文 TO-92 封装的 DS18B20 的引脚排列见图 3-4,其引脚功能描述见表 .
这是我自己用DS18B20做的温度检测程序,复制给你看看,我这是通过串口可以在电脑上的串口助手上显示出实时的温度:#include<>#include<>#define uint unsigned int#define uchar unsigned charsbit ds=P1^0;bit flag;uchar count_t0;float f_temp;void delay(uint z){uint x,y;for(x=z;x>0;x--)for(y=122;y>0;y--);}void init() // 串口初始化{TMOD=0x21;SCON=0x50;TH0=0x4c;TL0=0x00;TH1=0xf3;TL1=0xf3;EA=1;ET0=1;TR0=1;TR1=1;}void timer0() interrupt 1{TH0=0x4c;TL0=0x00;if(++count_t0>=20){count_t0=0;flag=1;}}void dsreset(){uint i;ds=0;i=103;while(i>0)i--;ds=1;i=4;while(i>0)i--;}bit read_bit(){uint i;bit dat;ds=0;i++;ds=1;i++;i++;dat=ds;i=8;while(i>0)i--;return dat;}uchar read_byte(){uchar i,j,dat;dat=0;for(i=1;i<=8;i++){j=read_bit();dat=(j<<7)|(dat>>1);}return dat;}void write_byte(uchar dat){uint i;uchar j;bit testb;for(j=1;j<=8;j++){testb=dat&0x01;dat=dat>>1;if(testb){ds=0;i++;i++;ds=1;i=8;while(i>0)i--;}else{ds=0;i=8;while(i>0)i--;ds=1;i++;i++;}}}void begin_change(){dsreset();delay(1);write_byte(0xcc);write_byte(0x44);}float get_temp(){uchar a,b;uint temp;float f_temp;dsreset();delay(1);write_byte(0xcc);write_byte(0xbe);a=read_byte();b=read_byte();temp=b;temp<<=8;temp=temp|a;f_temp=temp*;temp=f_temp*10+;f_temp=f_temp+;return f_temp;}void main(){init();while(1){if(flag==1){flag=0;begin_change();TI=1;printf("The tempeature is %f\n",get_temp());while(!TI);TI=0;}}}
我做的课程设计,用的数码管,也做了protues仿真,你有需要的话,我邮箱是。希望对你有帮助,#include<>sbit P11=P1^1;sbit P12=P1^2;sbit P13=P1^3;sbit P14=P1^4;/////数码管1断码控制///////////////sbit P15=P1^5;sbit P16=P1^6;sbit P17=P1^7;sbit P32=P3^2;/////数码管2段码控制////////////////sbit up=P3^7;sbit down=P3^6; ////按键操作端口//////////////////sbit P35=P3^5; ////////控制晶闸管端口/////////sbit DQ =P3^3; ///////温度传感器端口///////// #define THCO 0xee#define THLO 0x00unsigned char code duan[]={ 0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0XD8,0x80,0x90,0x88,}; //////////////////////////////////////////int b=0;char pwm=0;int k;char r=0,q=0;static char wendu_1;char hao=20;//////////////////////////////////////////////void delay(unsigned int i){while(i--);}//////////////////////////////////////////Init_DS18B20(void){unsigned char x=0;DQ = 1; //DQ复位delay(8); //稍做延时DQ = 0; //单片机将DQ拉低delay(80); //精确延时 大于 480usDQ = 1; //拉高总线delay(14);x=DQ; //稍做延时后 如果x=0则初始化成功 x=1则初始化失败delay(20);}////////////////////////////////////////////ReadOneChar(void){unsigned char i=0;unsigned char dat = 0;for (i=8;i>0;i--){DQ = 0; // 给脉冲信号dat>>=1;DQ = 1; // 给脉冲信号if(DQ)dat|=0x80;delay(4);}return(dat);}////////////////////////////////////////////////WriteOneChar(unsigned char dat){unsigned char i=0;for (i=8; i>0; i--){DQ = 0;DQ = dat&0x01;delay(5);DQ = 1;dat>>=1;}//delay(4);}/////////////////////////////////////////////////DS18B20程序读取温度ReadTemperature(void){unsigned char a=0;unsigned char b=0;unsigned int t=0;float tt=0;Init_DS18B20();WriteOneChar(0xCC); // 跳过读序号列号的操作WriteOneChar(0x44); // 启动温度转换Init_DS18B20();WriteOneChar(0xCC); //跳过读序号列号的操作WriteOneChar(0xBE); //读取温度寄存器等(共可读9个寄存器) 前两个就是温度a=ReadOneChar();b=ReadOneChar();t=b;t<<=8;t=t|a;tt=t*;return(t);}xianshi(){/////////////////当前温度显示///////////////////////////// P11=1; P0=duan[wendu_1/1000]; for(k=0;k<1000;k++); P1=0;P12=1; P0=duan[wendu_1/100%10]; for(k=0;k<1000;k++); P1=0;P13=1; P0=duan[wendu_1%100/10]; for(k=0;k<1000;k++); P1=0;P14=1; P0=duan[wendu_1%10]; for(k=0;k<1000;k++); P1=0; ///////////////////////////目标电压显示/////////////// P15=1; P2=duan[hao/1000]; for(k=0;k<1000;k++); P1=0;P16=1; P2=duan[hao/100%10]; for(k=0;k<1000;k++); P1=0;P17=1; P2=duan[hao%100/10]; for(k=0;k<1000;k++); P1=0;P32=1; P2=duan[hao%10]; for(k=0;k<1000;k++); P32=0;////////////////////////////////////////////////////////// }/////////////////////////////////////////////////////////// main(void){ P11=0; P12=0; P13=0; P14=0; P15=0; P16=0; P17=0; P32=0; P35=0; /////////////////////////////////////////////////////////// while(1){ wendu_1=ReadTemperature()/16;//读温度 xianshi(); ///显示系统数据/////////////////////////////////////操作函数//////////////////////////////////// if(down==0) {hao--;} if(up==0){hao++;} ///////////////////////////////////////////////////////////////////hao为理想温度/////wendu_1为实际环境温度/////////////////////////////////////////////////////////////////P35为高时 led灯工作///////////////////////////////////// P35=0; pwm=hao-wendu_1; if(pwm>0) {P35=1;} if(pwm<0) {P35=0;} if(pwm==0) {P35=0;}///////////////////////////////////////////////////////////////// }}
用DS18B20做的电子温度计,非常简单。#include <> #include\"\"#include <>#include <>//********************************************************#define Seck (500/TK) //1秒中的主程序的系数#define OffLed (Seck*5*60) //自动关机的时间5分钟!//********************************************************#if (FHz==0) #define NOP_2uS_nop_()#else #define NOP_2uS_nop_();_nop_()#endif//**************************************#define SkipK 0xcc //跳过命令#define ConvertK 0x44 //转化命令#define RdDs18b20K 0xbe //读温度命令//*******************************************extern LedOut(void);//*************************************************sbit PNP1=P3^4;sbit PNP2=P3^5;sbit BEEP=P3^2;//***********************************#defineDQ PNP2 //原来的PNP2 BEEP//***********************************static unsigned char Power=0;//************************************union{ unsigned char Temp[2]; //单字节温度 unsigned int Tt; //2字节温度}T;//***********************************************typedef struct{ unsigned char Flag; //正数标志 0;1==》负数 unsigned char WenDu; //温度整数 unsigned int WenDuDot; //温度小数放大了10000}WENDU; //***********************************************WENDU WenDu;unsigned char LedBuf[3];//----------------------------------//功能:10us 级别延时// n=1===> 6Mhz=14uS 12MHz=7uS//----------------------------------void Delay10us(unsigned char n){ do{ #if (FHz==1) NOP_2uS;NOP_2uS; #endif }while(--n);}//-----------------------------------//功能:写18B20//-----------------------------------void Write_18B20(unsigned char n){ unsigned char i; for(i=0;i<8;i++){ DQ=0; Delay10us(1);//延时13us 左右 DQ=n & 0x01; n=n>>1; Delay10us(5);//延时50us 以上 DQ=1; }}//------------------------------------//功能:读取18B20//------------------------------------unsigned char Read_18B20(void){ unsigned char i; unsigned char temp; for(i=0;i<8;i++){ temp=temp>>1; DQ=0; NOP_2uS;//延时1us DQ=1; NOP_2uS;NOP_2uS;//延时5us if(DQ==0){ temp=temp&0x7F; }else{ temp=temp|0x80; } Delay10us(5);//延时40us DQ=1; } return temp;}//-----------------------------------void Init (void){ DQ=0; Delay10us(45);//延时500us DQ=1; Delay10us(9);//延时90us if(DQ){ //0001 1111b=1f Power =0; //失败0 }else{ Power++; DQ=1; }}//----------------------------------void Skip(void){ Write_18B20(SkipK); Power++;}//----------------------------------void Convert (void){ Write_18B20(ConvertK); Power++;}//______________________________________void Get_Ds18b20L (void){ [1]=Read_18B20(); //读低位 Power++;}//______________________________________void Get_Ds18b20H (void){ [0]=Read_18B20(); //读高位 Power++;}//------------------------------------//规范化成浮点数// sssss111;11110000// sssss111;1111()//------------------------------------void ReadTemp (void){ unsigned char i; unsigned intF1=0; char j=1; code int Code_F[]={6250,1250,2500,5000}; ; if ([0] >0x80){ //负温度 =~; //取反+1=源吗 +符号S ; } <<= 4; //左移4位 [0]; // 温度整数 //************************************************** [1]>>=4; //--------------------------- for (i=0;i<4;i++){ //计算小数位 F1 +=([1] & 0x01)*Code_F; [1]>>=1; } ; //温度的小数 Power=0;}//----------------------------------void Delay1S (void){ static unsigned int i=0; if (++i==Seck) {i=0ower++;}}//----------------------------------void ReadDo (void){ Write_18B20(RdDs18b20K); Power++;}/**********************************函数指针定义***********************************/code void (code *SubTemp[])()={ Init,Skip,Convert,Delay1S,Init,Skip,ReadDo,Get_Ds18b20L, Get_Ds18b20H,ReadTemp};//**************************************void GetTemp(void){ (*SubTemp[Power])();}//---------------------------------------------------//将温度显示,小数点放大了 GetBcd(void){ LedBuf[0]= / 10; LedBuf[1]= % 10 +DotK; LedBuf[2]=()%10; if(LedBuf[0]==0)LedBuf[0]=Black; if() return; if(LedBuf[0] !=Black){ LedBuf[2]=LedBuf[1]; LedBuf[1]=LedBuf[0]; LedBuf[0]=Led_Pol; //'-' }else{ LedBuf[0]=Led_Pol; //'-' }}/*//---------------------------------------------------void JbDelay (void){ static long i; if (++i>=OffLed){ P1=0xff; P2=0xff; PCON=0x02; }}*//*****************************************************主程序开始1:2002_10_1 设计,采用DS18B20测量2:采用函数数组读取数码管显示正常!3:改变FHz可以用6,12MHz工作!******************************************************/code unsigned char Stop[3] _at_ 0x3b;void main (void){ P1=0xff; ; while (1){ GetTemp(); GetBcd(); // JbDelay(); LedOut(); }}复制代码 20091012_8b1ef92155560c13b5807ZmoDVSacjwD[1].jpg (12 KB) 2009-10-21 23:21 上传下载次数:0
温度相关的毕业设计 ·基于单片机的数字温度计的设计·基于MCS-51数字温度表的设计·单片机的数字温度计设计·基于单片机的空调温度控制器设计·基于数字温度计的多点温度检测系统·设施环境中温度测量电路设计·DS18B20数字温度计的设计·多点温度采集系统与控制器设计·基于PLC和组态王的温度控制系统设计·温度监控系统的设计·用单片机进行温度的控制及LCD显示系统的设计·单片机电加热炉温度控制系统·全氢罩式退火炉温度控制系统·数字温度计的设计·基于单片机AT89C51的语音温度计的设计·基于单片机的多点温度检测系统·基于51单片机的多路温度采集控制系统·基于单片机的数字显示温度系统毕业设计论文·基于MCS51单片机温度控制毕业设计论文·西门子S7-300在温度控制中的应用·燃气锅炉温度的PLC控制系统·焦炉立火道温度软测量模型设计·温度检测控制仪器·智能温度巡检仪的研制·电阻炉温度控制系统·数字温度测控仪的设计·温度测控仪设计·多路温度采集系统设计·多点数字温度巡测仪设计·LCD数字式温度湿度测量计·64点温度监测与控制系统·温度报警器的电路设计与制作·基于单片机的数字温度计的电路设计·全氢煤气罩式炉的温度控制系统的研究与改造·温度检测与控制系统·红外快速检测人体温度装置的设计与研制·具有红外保护的温度自动控制系统的设计·基于单片机的温度测量系统的设计·数字温度计设计·DS18B20温度检测控制·PN结(二极管)温度传感器性能的实验研究·多功能智能化温度测量仪设计·软胶囊的单片机温度控制(硬件设计)·空调温度控制单元的设计·大容量电机的温度保护——软件设计·大容量电机的温度保护 ——硬件电路的设计·基于DS18B20温度传感器的数字温度计设计·热轧带钢卷取温度反馈控制器的设计·基于单片机的温度采集系统设计·多点温度数据采集系统的设计·基于单片机的数字式温度计设计·18B20多路温度采集接口模块·基于单片机的户式中央空调器温度测控系统设计·单片机电阻炉温度控制系统设计·基于单片机的电阻炉温度控制系统设计·基于ARM的嵌入式温度控制系统的设计·基于DS18B20的多点温度巡回检测系统的设计·基于单片机的多点无线温度监控系统·基于MSC1211的温度智能温度传感器·用集成温度传感器组成测温控制系统·室内温度控制报警器·自动温度控制系统·烤箱温度控制系统·基于单片机的电加热炉温度控制系统设计·基于PLC的温度监控系统设计·基于无线传输技术的室温控制系统设计——温度控制器软件设计·温度箱模拟控制系统·基于无线传输技术的室温控制系统设计——温度控制器硬件设计·数字式温度计的设计·温度监控系统设计·基于单片机的电阻炉温度控制系统·基于plc的温度湿度检测和显示系统设计·基于单片机的3KW电炉温度控制系统的设计·腔型肿瘤热疗仪温度控制系统设计·基于AT89S51单片机的数字温度计设计·吹塑薄膜挤出机温度控制与检测系统设计·电加热炉PLC温度自适应控制系统的研究·高压母线温度自动监测装置的设计·高压母线温度自动检测装置·小型热水锅炉单片机温度控制系统·消毒柜单片机温度控制·嵌入式系统在多点温度控制中的应用·单片机温度控制系统·上下限温度报警器的设计·基于单片机的饮水机温度控制系统设计·基于单片机的温度测量系统设计
二.系统软件设计图4 系统程序流程图 系统程序流程图系统程序流程图如图4所示。 温度部分软件设计DS18B20的一线工作协议流程是:初始化→ROM操作指令→存储器操作指令→数据传输。其工作时序包括初始化时序、写时序和读时序。故主机控制DS18B20完成温度转换必须经过三个步骤:每一次读写之前都要对DS18B20进行复位,复位成功后发送一条ROM指令,最后发送RAM指令,这样才能对DS18B20进行预定的操作。复位要求主CPU将数据线下拉500微秒,然后释放,DS18B20收到信号后等待16~60微秒左右,后发出60~240微秒的存在低脉冲,主CPU收到此信号表示复位成功。程序主要函数部分如下:(1)初始化函数//读一个字节函数ReadOneChar(void){unsigned char i=0;unsigned char dat = 0;for (i=8;i>0;i--){ DQ = 0; // 给脉冲信号dat>>=1;DQ = 1; // 给脉冲信号if(DQ)dat|=0x80;delay(4);}return(dat);}//写一个字节函数WriteOneChar(unsigned char dat){unsigned char i=0;for (i=8; i>0; i--){DQ = 0;DQ = dat&0x01;delay(5);DQ = 1;dat>>=1;}}(2)读取温度并计算函数ReadTemperature(void){unsigned char a=0;unsigned char b=0;unsigned int t=0;float tt=0;Init_DS18B20();WriteOneChar(0xCC); // 跳过读序号列号的操作WriteOneChar(0x44); // 启动温度转换Init_DS18B20();WriteOneChar(0xCC); //跳过读序号列号的操作WriteOneChar(0xBE); //读取温度寄存器等(共可读9个寄存器) 前两个就是温度a=ReadOneChar();b=ReadOneChar();t=b;t<<=8;t=t|a;tt=t*;t= tt*10+; //放大10倍输出并四舍五入---此行没用(3)主程序部分见前return(t);}三. 结束语AT89C2051单片机体积小、重量轻、抗干扰能力强、对环境要求不高、价格低廉、可靠性高、灵活性好。即使是非电子计算机专业人员,通过学习一些专业基础知识以后也能依靠自己的技术力量来开发所希望的单片机应用系统。本文的温度控制系统只是单片机广泛应用于各行各业中的一例,相信读者会依靠自己的聪明才智使单片机的应用更加广泛化。另外对本例子可以作一些扩展,单片机的应用越来越广泛,由于单片机的运算功能较差,往往需要借助计算机系统,因此单片机和PC机进行远程通信更具有实际意义。目前此设计已成功应用于钻井模拟器实验室室温控制。本文作者创新观点:采用的单片机AT89C2051性价比高,而且温度传感器DS18B20转化温度的方法非常简洁且精度高、测试范围较广。参考文献[1]林伸茂.8051单片机彻底研究基础篇 北京:人民邮电出版社 2004[2]范风强等.单片机语言C51应用实战集锦 北京:电子工业出版社 2005[3]谭浩强.C语言程序设计(第二版) 北京:清华大学出版社 1999[4]夏路易等.电路原理图与电路板设计教程 北京:北京希望电子出版社 2002[5]赵晶.Protel99高级应用 北京:人民邮电出版社 2000[6]聂毅.单片机定时器中断时间误差的分析及补偿[J] 微计算机信息 2002,18(4):37~38
价格合理!信工毕业 就会单片机
热电致冷器件特别适合于小热量和受空间限制的温控领域。改变加在器件上的直流电的极性即可变致冷为加热,而吸热或放热率则正比于所加直流电流的大小。Pe1tier 温控器的设定温度可以在一个较宽的范围内任意选择,可选择低于或高于环境温度。在本系统中我们选用了天津蓝天高科电源有限公司生产的半导体致冷器件 TES1-12739,其最大温差电压 ,最大温差电流最大致冷功率。 其它部分系统采用Samsung(三星)公司生产的真空荧光数码显示屏 VFD用来实时显示当前温度,以观察控制效果。键盘和串行通信接口用来设定控制温度和调整PID参数。系统电路原理图如图3所示。2 系统软件设计系统开始工作时,首先由单片机控制软件发出温度读取指令,通过数字温度传感器 DS18B20 采样被控对象的当前温度值T1并送显示屏实时显示。然后,将该温度测量值与设定值T比较,其差值送 PID控制器。PID 控制器处理后输出一定数值的控制量,经DA 转换为模拟电压量,该电压信号再经大电流驱动电路,提高电流驱动能力后加载到半导体致冷器件上,对温控对象进行加热或制冷。加热或制冷取决于致冷器上所加电压的正负,若温控对象当前温度测量值与设定值差值为正,则输出负电压信号,致冷器上加载负电压温控对象温度降低;反之,致冷器上加载正向电压,温控对象温度升高。上述过程:温度采样-计算温差-PID调节-信号放大输出周而复始,最后将温控对象的温度控制在设定值附近上下波动,随着循环次数的增加,波动幅度会逐渐减小到某一很小的量,直至达到控制要求。为了加快控制,在进入PID控制前加入了一段温差判断程序。当温度差值大于设定阈值Δt时,系统进行全功率加热或制冷,直到温差小于Δt才进入PID控制环节。图4为系统工作主程序的软件流程图.3 结论本文设计的基于单片机数字PID控制的精密温度控制系统,在实际应用中取得了良好的控制效果,温度控制精度达到±℃。经48小时连续运行考验,系统工作稳定,有效地降低了辐亮度标准探测器的温度系数,使辐亮度标准探测器在温度变化较大的环境中也能保持其高精度,为实现基于探测器的高精度辐射定标的广泛应用奠定了基础。本文作者创新点:在原来基于PC的PID温控系统的基础上,设计了由单片机、数字式温传感器DS18B20和半导体致冷器组成的精密温度控制系统。该温控系统的应用为高精度光辐射测量仪器-辐亮度标准探测器的小型化、智能化提供了有利条件。
已把我毕业论文的一部分发给你了,应该是你想要的。还需要其它的说一声
温度控制系统的设计(555定时器) [单片机] 04-20摘要 在日常的生产与生活中,温度是一个非常重要的过程变量,因为它直接影响燃烧、化学反应、发酵、烘烤、煅烧、蒸馏、浓度、挤压成形、结晶以及空气流动等物理和化学过程。所以人们需要用到良好的温度检测及控制装置系统来解决这些问题。本文介绍了采用A/D ...http:// 化工液的温度控制与检测(程序+电路图+Protel原理图+PCB图)精品☆ [电子] 01-01摘 要 为了提高对传感器的认识和了解,尤其是对温度传感器的深入研究以及其用法与用途,基于实用、广泛和典型的原则而设计了本系统。本文利用单片机结合传感器技术而开发设计了这一温度监控系统。文中传感器理论单片机实际应用有机结合,详细地讲述了利用AD5 ...http:// 温度控制器的设计(AT89S51单片机)(程序+电路图+原理图+PCB图)☆ [单片机] 11-17摘 要 随着科技的不断进步,在工业生产中温度是常用的被控参数,而采用单片机对这些被控参数进行控制已成为当今的主流。本文介绍了以AT89C51单片机为核心的数字温度测量及自动控制系统的设计,该温度控制器可以实时显示和设定温度,实现对温度的自动控制。其 ...http:// MCS-51单片机智能温度控制系统设计 [单片机] 07-16温度控制在热处理工艺过程中,是一个非常重要的环节。控制精度直接影响着产品质量的好坏。本文研究的电炉是一种具有纯滞后的大惯性系统,传统的加热炉控制系统大多建立在一定的模型基础上,难以保证加热工艺要求。 ...http:// 基于AT89C2051单片机的温度控制系统的设计(程序+电路图)☆ [单片机] 07-16摘 要 :温度控制在工业生产中运用的非常广泛,其控制过程中存在着很大的时滞性和很强的干扰。采用一般的控制方法如PID控制,都不能很好地满足要求。而基于AT89C2051单片机的温度控制策略可以很容易的解决这些问题。 以AT89C2051单片机为基础,结合温度传感 ...http:// 基于单片机饮水机温度控制的设计(实物图+原理图+PCB图+程序)☆ [单片机] 07-16摘 要 温度是表征物体冷却程度的物理量,也是一种最基本的环境参数。在农工业生产及日常生活中,对温度的测量及控制始终占据着极其重要的地位。目前,典型的温度测控系统由模拟式温度传感器、A/D 转换电路和单片机组成。由于模拟式温度传感器输出的模拟信号必 ...http:// 基于AT89S51单片机核心的温度控制系统的设计 [单片机] 07-16摘要 本文介绍了以AT89S51单片机为核心的温度控制系统的工作原理和设计方法。温度信号由温度芯片DS18B20采集,并以数字信号的方式传送给单片机。文中介绍了该控制系统的硬件部分,包括:温度检测电路、温度控制电路、PC机与单片机串口通讯电路和一些接口电路 ...http:// 基于单片机的温度控制系统的设计 [单片机] 07-16摘 要 本文列举了单片机在锅炉中的一个实际应用,并对设计的温度控制系统的组成及主要电路的作用进行了详细的介绍。 文章介绍了用单片机控制的、基于数字温度传感器DS1820的温度测量和控制系统:重点阐述了DS1820的工作原理、指令系统、单片机与DS1820之间的 ...http:// 基于单片机的模糊PID温度控制系统设计 [单片机] 07-16摘 要 温度控制在热处理工艺过程中,是一个非常重要的环节。控制精度直接影响着产品质量的好坏。本文研究的电炉是一种具有纯滞后的大惯性系统,传统的加热炉控制系统大多建立在一定的模型基础上,难以保证加热工艺要求。因此本文将模糊控制算法引入传统的加热 ...http:// 嵌入式系统在多点温度控制中的应用 [嵌入式] 07-16第一章 概述 引言 嵌入式系统被定义为:以应用为中心,以计算机技术为基础,软硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。实际上嵌入式系统是计算机的一种应用形式,是将先进的计算机技术、半导体技术和电子技 ...http://
什么题目的论文。有需要可以联系
这个 我可以写 按照老师的要求来写 包通过 包修改↓↓↓↓↓下面找我
单片机控制自动恒温箱的设计(电路图+原理图+程序) 双坐标步进电机控制系统的设计(论文) 原材料仓物位智能检测系统的设计 单片机多用宽频转速计的设计 智能家居安防红外报警器设计(附protel文件) 基于单片机的多功能信号发生器设计(新品) 数字示波器的设计(AVR单片机)(新品) 基于单片机的中文输入系统设计(程序+电路原理图+PCB图) 农业暖棚(温室)温湿度控制系统的设计 基于单片机喷泉控制系统的设计 基于单片机的多功能转速表的设计 仓库温湿度的监测系统的设计 单片机的数字钟的设计 可预置的定时显示报警系统的设计 MCS-51单片机智能温度控制系统设计 单片机实现的步进电机控制系统设计 基于单片机多功能智能信号发生器 智能型充电器的电源和显示的设计 基于AT89C2051单片机自行车里程速度表的设计 基于单片机定时控制器的设计 更多的单片机毕业设计题目请参考56毕业设计网