基于AT89S52单片机的温度控制系统设计

合集下载

基于单片机的温度语音播报系统设计与实现

基于单片机的温度语音播报系统设计与实现

摘要:温度是一个非常重要的物理量,现代生活中所用到的电器、家具设备,包括工业产品等对温度的要求日益提高,灵敏的温度控制预警系统已成为日常生活中必不可少的产品。

鉴于此,设计了基于AT89S52单片机的温度语音播报系统,温度值可通过显控单元直观展示,其温度阈值可根据生活场景动态调整,并可进行录音及语音播报。

该系统抗干扰能力强,性价比高,扩展方便,可广泛应用于公共场所、大型仓库、工厂、智能化建筑等领域的多点温度检测中。

关键词:AT89S52单片机;温度检测;语音播报;温度阈值0 引言随着物联网的快速发展与应用普及,人工智能更加为人们所熟知,同时也深刻影响了人们的日常生活及生产方式,其不但能够提供便捷化支持,还可以提供良好的安全保障条件。

温控技术早在20世纪就已出现,发展到今天已经基本成熟与完善,从实验成果转化为实践器具。

本文选用AT89S52单片机为控制器,由温度传感器DS18B20、液晶显示屏1602、稳压芯片AMS1117、功放芯片LM86、喇叭、驻极体等主要元器件构成了一个完整的温度语音播报系统。

单片机可实时响应温度传感器输出的信号,通过LCD同步显示,其温度阈值可依据应用场景动态调节,并设置有语音录音和播报功能。

通过多次测试一天中屋内不同时间的温度,验证了其精确度、灵敏度和语音播报功能达到预期目标。

1 系统设计方案AT89S52单片机是一款8位微控制器,它以低功耗和高性能的特点颇受人们喜爱,此外片内存储空间大,可以进行更为复杂的编程设计,运行速度不会受到很大影响。

制造方面采用的是Atmel公司的技术,所以与80C51系列的产品有很好的兼容性。

AT89S52单片机拥有带电可擦可编程只读存储器和8位CPU,使其能够适用于绝大多数场合。

因此,本文选用AT89S52单片机为控制器,温度传感器DS18B20、实时语音芯片ISD4004和按键模块等均为外部设备串行通信元件。

系统结构如图1所示。

2 系统硬件设计2.1单片机最小系统本项目中,单片机构成的系统有很多I/O接口可以进行多个微型处理器的嵌套,可以方便地搭建各种所需的系统;可编程性较强,可以通过仿真软件实现仿真模拟,以确保方案的可行性。

基于AT89S52单片机的数字温度控制系统软件设计

基于AT89S52单片机的数字温度控制系统软件设计
20 2 . 0 7, 0
f 张 萍 等 .基 于 数 字 温 度 计 4 ]
D 1B 0的 温 度 测 量 仪 的 开 发 f. S8 2 J 1
自动化仪 表 20 ,. 0 76 『I 5 何希才.传感器及其应用 『 ] Ⅵ 北 l.
京:国防工业 出版 社.2 0 . 00
f 6 1何立民等. 片机应 用系统设计 单
[】 德 .单 片机原 理 与应 用技 术 【] 京 : 7张友 M. 北 机械
工业 出版社 . 0 4 2 0.
调显示程序
iHale Waihona Puke 调 B D码转化程序 C
【] 鑫.单 片机 原理 及 应 用【 . 京 : 工 业 出 8张 M] 北 电子
版 社 .0 8 20 .
度控制 器设计 【.微计算机 信息, J ]
Ab ta t sr c:Aln t h e h ia rges h e eaue i cmmo aa tri h id s a po u t n u sn h mo oi i ne ae o g wi te tc nc lpo rs,te tmp rtr s a o h n p rmee n te n ut l rd ci ,b tu ig te i r o n lhc itg td t r crutt c ue h p rmee i e o n t is em.Ths rce h s d sg e h dgtltmp rtr uvn a d o t ln ytm b sd n te i i o a c s te aa tr s cmig he mant a c b r i at l a ein d te ii e eaue s rig n cnr l g sse i a o i ae o h mo oi i nertd crut h sse i o oe o he d ls e eaue g te n d l,tmp rtr o tol g moue a w l stmp rtr n lhc itgae ic i t .T e y tm s c mp sd ftre mo ue:tmp rtr ah r g mo ue e eaue c nrln d l s el e eaue i i a

基于AT89S52单片机的家用面包机控制系统(DOC)

基于AT89S52单片机的家用面包机控制系统(DOC)

摘要本设计是基于AT89S52单片机的家用面包机控制系统,以AT89S52为主控芯片,以Pt100热电阻为温度传感器,采用三线制测温方法,用最小二乘法对温度的非线性进行优化,检测后的数据由8位A/D转换器AD0832转换为数字信号传输给单片机,根据PID控制算法得到输出控制量来控制加热器的功率,实现恒温加热,以压阻式压力传感器检测原料的质量,单片机根据测得质量值控制直流电机的转动和搅拌的时间;时间预约采用低功耗时钟芯片DS1302,单片机通过串行通信来控制DS1302工作,计时准确,而且避免了由于突然停电而造成时钟停止;通过独立式键盘设定预约时间,自由选择烘烤方式;采用四联共阳数码管显示工作的时间;面包制作完成有提示音,并具有自动保温且显示保温的时间。

关键词面包机单片机最小二乘法温度压力传感器AbstractThis design is a bread maker control system which is based on AT89S52 microcontroller. The AT89S52 is the main chip,the hot resistance Pt100 is the temperature sensor,using the method of three-wire for measuring temperature,the nonlinear least square method for temperature optimization.The test data are converted to digital signals by 8-bit A/D converter and sent to MCU,by the way of PID control algorithm getting the output volume and control the heater power,so achieving constant temperature heating; piezoresistive pressure sensor detect the mass of raw materials, MCU based on mass signal to control the motor rotating and stirring timeof the DC gear motor; low-power clock chip DS1302 is the time booking component, MCU control the DS1302 by the serial communication, timing accuracy, and avoiding sudden power outages due caused the clock to stop; independent keypad to set an appointment, choice baking methods free; four cooperating digital display the time; bread was finished after the beep, automatically insulation and display the time of thermal insulation.Keywords Bread maker MCU Least square method Temperature Pressure sensor目录摘要 (I)Abstract (II)第1章绪论 (1)1.1课题背景 (1)1.2 面包机发展现状 (2)1.3 面包机展望 (2)1.4 主要研究内容 (3)第2章系统总体结构 (4)2.1 系统总体设计方案 (4)2.2 系统框图及各电路组成 (4)2.3 芯片选择 (5)第3章系统硬件设计 (8)3.1 面包机功能 (8)3.2 电源稳压电路 (8)3.3 数据采集电路设计 (9)3.4 电机搅拌电路 (13)3.5 加热电路 (14)3.6 键盘和显示电路 (15)3.7 提示音电路 (17)第4章软件设计 (19)4.1 主程序设计 (19)4.2 中断服务程序设计 (20)4.3 A/D转换程序设计 (21)4.4 温度控制程序设计 (22)4.5 显示程序设计 (24)4.6 键盘程序设计 (25)结论 (26)参考文献 (27)附录 (29)第1章绪论1.1 课题背景随着信息社会和知识经济时代的到来,生活水平逐渐提高,节奏加快,人们没有时间来经营自己的生活,特别是上班族,在饮食方面的时间更是少之又少;虽然时间少,但人们追求生活的质量,需要营养可口的饮食,所以厨房电器越来越受欢迎,现在的豆浆机,榨汁机,还有省时的洗碗机,面包机等,家用面包机适应了市场的需求,全面满足人们对面包的要求。

基于DS18820和AT89S52的温度检测系统的设计

基于DS18820和AT89S52的温度检测系统的设计
e C

e 、 D 帕 玲Q
摊C C N e C 肆e e N e
0 8 O 蠡1 2 黻 l d GE a e  ̄.Jt 8盼 嘲 制 翩 辨 8a e蜘 。
O8 鑫 S ';
, &
89 p o
韵■ s拿9黼黼 鲫 m ’ I嫩 c
11 S1 1 0 特点 . D 3 的 82
1 )适应 电压范 围较 宽 ,电压范 围 :30 一 .V,在寄生 电源方式 .V 55 下 ,可由数据线供 电;2 独特 的单线接口方式 , S 8 2 ̄ 与单片机连 ) D 1B 0' E 接时仅需要一条 口线即可实现两者间的双 向通信 ;3 测温范围为一 5 ) 5 摄 氏度一 15 氏度 ,固有测温分辨率为0 摄氏度 ;4 可编程的分辨率为 +2摄 . 5 ) 9 l位 ,对应 的可分辨温度分别 为0 、0 5 . 5 . 2摄 氏度 ,可 _2 . . 、0 2 、0 6 5 5 2 1 0 实现高精度测温 ;5 其引脚如图1 ) 所示 ,其中 :G D N :地 ;D :数字 Q 输入输 出;N :空引脚 ; D :可选的V D N :不连接。 C V D D ;D C
传统的单片机温度检测系统用热敏 电阻测量温度 ,须包含模拟测量 电路及AD / 转换电路 ,且占用单片机的引脚 多,有时还需要I 扩展接 口 / 0 芯片 ,器件多 ,电路复杂,降低 了系统 的可靠性。而采用 D L A 公司 A LS 生产的 “ 一线式 ”数字温度传感 器D 1B 0 I S 8 2  ̄ 克服了上述缺点 。使用该 J 传感器和A 8 S 2 T 9 5 单片机 , 使系统测量的精度 、可靠性有一定 的提高 , 外围结构也大为简化。 1概 述
图 2
2 对D 1B 0 ) S8 2 ,此处采用寄生电源方式,电路图如图3 所示。

基于AT89S52单片机的温度控制器设计

基于AT89S52单片机的温度控制器设计
基于 A 8 S 2 片机 的温 度控制器设计 T 95 单
史 新 鹏
( 军 大连 舰艇 学 院装 备 自动 化 系 , 宁 大连 1 6 1 海 辽 1 0 8)
摘要 : 文章 实现 了一种 基 于 A 8 S2 片机 的 室 内温度控 制 器 ,采 用数 字传 感器 D 1B 0构成测 温单元 ,完 T 95 单 S8 2 成 对 温度 的采 集、转换 和 传输 任务 ,并 用 两个四位 数码 管 实时显 示 当前 室 内的 温度值 ,并 与事 先设 定的 温度 值 进 行 比较 ,最后将 比较 结果 通过 单 片机 以开 关量 的输 出方式控 制 固 态继电 器的通 断 ,L— I 度采
r—
L — 温 制 f 度控
r—
高 电平 ,保证 数据传 输 方 向是 由A 口向B 口传 输 。数
码 管共 阳极 引脚通过 8 5 三 极 管与单 片机 的P 口相 50 2
图 1 系统 总 体 结 构 图
2 o 中圈; 4 新拔扣 2 20 咄 0{ 4
气 不理 想 的话 ,居 室 内温度 会很 低 ,这 将在 很大 程
度 上 影响 到住户 的正 常生活 与 身体健 康 。这时 ,住 户往 往会使 用 一些诸 如 电暖器 等用 电设备 来 为家庭 取暖 。然 而 , 目前市 场 上的 电暖器 往往 只能完 成加 热这 个 简单 的功 能,特 别是 电暖器 如果 在使 用者 夜 间休 息时使用 的话 ,很 可 能一整 夜都在 加热 工作 , 这样 不仅不 安全 ,而 且还造 成 了 电能 的浪 费 。如 果
系统输 入端 包含 电源模 块和 温度 采集模 块 ,系统 输 出端包含温 度显示模 块和温 度控制模块 。

基于AT89S52单片机的温度控制系统

基于AT89S52单片机的温度控制系统

时间:2009-12-04 09:16:45 来源:国外电子测量技术作者:王旭阳,王文哲山西大学0 引言在激光倍频晶体温度匹配中,有时需要很高的工作温度。

晶体升温过程中,温度过快变化会导致晶体出现破裂,因此在开机过程中需要操作人员不断手动控制激光器晶体的温度。

为了避免这样繁锁的工作,我们以单片机AT89S52为核心制作了一套自动控制升降温系统,有效的保证了晶体温度在安全的速率下变化。

由于热敏电阻的非线性关系,一般的控温仪正常控温范围有限。

在对热敏电阻和恒流源的特性进行分析后,将恒流源做了适当的改进,扩展了控温仪的控制范围,使其在较宽的温度范围内也具有较高的精度。

1 硬件系统设计控制系统电路的核心器件是Atmel公司生产的AT89S52单片机。

它是一种低功耗、低电压、高性能的8位单片机,片内带有一个8KB的flash可编程、可擦除、只读存储器;它采用的工艺是Atmel公司的高密度非易失存储器技术,而且其输出引脚和指令系统都与MCS-51兼容。

价格低廉、性能可靠、抗干扰能力强。

因此广泛应用于工业控制和嵌入式系统中。

图1为该系统的结构框图,为了节省成本和体积,我们采用多路选择开关CD4051和模数转换器AD7705协同工作组成多路数据采集系统。

CD4051是NS公司生产的数控模拟开关,可控制最大输入范围约为士15V左右的模拟电压,由输入的3位地址码决定八个通道中哪一个通道开通;选通通道具有非常低的输入阻抗,约为80Ω,关闭的通道具有很低的漏电流,每一路约为10pA左右,处于工作状态时功耗大约为1μW,是一款性能十分优良的数控模拟开关。

AD7705是一款16位串行模数转换芯片,功耗非常低,在3V供电电压和1MHz的主频下,消耗功率小于1mW,供电电流小于8μA,转换精度高,可达±0.003%,无误码。

MAX541是由美信公司生产的串行输入数模转换器件,无需校准,功耗不超过l.5mW。

AT24C02是Atmel公司生产的EEPROM器件,存储容量256字节,可擦写次数达100万次,主要用来存储设定温度。

基于单片机的电梯控制系统设计

基于单片机的电梯控制系统设计

基于单片机的电梯控制系统设计随着现代社会的快速发展,电梯已成为人们日常生活中不可或缺的运输工具。

为了提高电梯的运行效率,保证其安全可靠性,设计一种基于单片机的电梯控制系统。

该系统以单片机为核心,结合传感器、按键、显示等模块,实现对电梯的运行状态、楼层信号、呼梯信号的实时监控与显示。

一、系统硬件设计1、单片机选择本设计选用AT89S52单片机作为主控芯片,该芯片具有低功耗、高性能的特点,内部集成了丰富的外围设备,方便开发与调试。

2、输入模块设计输入模块主要包括楼层传感器和呼梯按钮。

楼层传感器采用光电式传感器,安装在各楼层,用于检测电梯的运行状态和位置;呼梯按钮安装在电梯轿厢内,用于收集用户的呼梯信号。

3、输出模块设计输出模块主要包括显示模块和驱动模块。

显示模块采用LED数码管,用于实时显示电梯的运行状态、楼层位置等信息;驱动模块包括继电器和指示灯,用于控制电梯的运行和指示状态。

4、通信模块设计通信模块采用RS485总线,实现单片机与上位机之间的数据传输与通信。

二、系统软件设计1、主程序流程图主程序主要实现电梯控制系统的初始化、数据采集、处理与输出等功能。

主程序流程图如图1所示。

图1主程序流程图2、中断处理程序中断处理程序主要包括外部中断0和定时器0的中断处理。

外部中断0用于处理楼层传感器的信号,定时器0用于计时和速度控制。

三、系统调试与性能分析1、硬件调试首先对电路板进行常规检查,包括元器件的焊接、电源的稳定性等;然后分别调试输入、输出、通信等模块,确保各部分功能正常。

2、软件调试在硬件调试的基础上,对软件进行调试。

通过编写调试程序,检查各模块的功能是否正常;利用串口调试工具,对通信模块进行调试。

3、性能分析经过调试后的电梯控制系统,其性能稳定、运行可靠。

该系统能够实现对电梯运行状态、楼层信号、呼梯信号的实时监控与显示,并且具有速度快、安全可靠等特点。

该系统还具有成本低、易于维护等优点,适用于各种场合的电梯控制。

大棚温度控制系统设计报告

大棚温度控制系统设计报告

课程设计主要任务基于AT89S52单片机的温度测量控制系统,数字温度传感器DS18B20通过单总线与单片机连接,实现温度测量控制,主要性能为:(1)通过该系统实现对大棚温度的采集和显示;(2)对大棚所需适宜温度进行设定;(3)当大棚内温度参数超过设定值时控制通风机进行降温,当温度低于设定值时利用热风机进行升温控制;(4)通过显示装置实时监测大棚内温度变化,便于记录和研究;系统的设计指标(1)温度控制范围:0℃~+50℃;(2)温度测量精度:±2℃;(3)显示分辨率:0.1℃;(4)工作电压:220V/50Hz ±10%目录第一章序言 1 第二章总体设计及个人分工 2 第三章传感器设计及应用 4 第四章总结8第一章序言随着人口的增长,农业生产不得不采取新的方法和途径满足人们生活的需要,大棚技术的出现改善了农业生产的窘迫现状。

塑料大棚技术就是模拟生物生长的条件,创造人工的气象环境,消除温度对农作物生长的限制,使农作物在不适宜的季节也能满足市场的需求。

随着大棚技术的普及,对大棚温度的控制成为了一个重要课题。

早期的温度控制是简单的通过温度计测量,然后进行升温或降温的处理,进行的是人工测量,耗费大量的人力物力,温度控制成为一项复杂的程序。

大多数的蔬菜大棚以单个家庭作业为主,种植户为蔬菜大棚配备多参数的智能设备,经济成本很高,因此将温度控制由复杂的人为控制转化为自动化的机械控制成为必然。

目前现代化的温度控制已经发展的很完备了,通过传感器检测基本上可以实现对各个执行机构的自动控制,应用自动控制和电子计算机实现农业生产和管理的自动化,是农业现代化的重要标志之一。

近年来电子技术和信息技术的飞速发展,温度计算机控制与管理系统正在不断吸收自动控制和信息管理领域的理论和方法,结合温室作物种植的特点,不断创新,逐步完善,从而使温室种植业实现真正意义上的现代化,产业化。

温度计算机控制及管理技术便函先在发达国家得到广泛应用,后来各发展中国家也都纷纷引进,开发出适合自己的系统。

基于AT89S52的数控加工中心温湿度控制系统的设计与实现

基于AT89S52的数控加工中心温湿度控制系统的设计与实现

基于AT89S52的数控加工中心温湿度控制系统的设计与实现【摘要】本文以“一线式”数字温度传感器ds18b20和电容式湿敏传感器hb1100为温湿度数据采集部件,采用at89s52单片机为测控核心,通过pc机作为人机接口,实现远程数据采集与测控,以保持电子元件,特别是中央处理器工作温度恒定或温度差变化很小。

【关键词】at89s52;ds18b20;hb1100;控制系统【abstract】based on the ”1-wire”digital temperature sensor ds18b20 and capacitive humidity sensor hb1100 temperature and humidity data acquisition components,using at89s52 scm as the control core,through the pc machine as theman-machine interface,remote data acquisition and control,in order to keep electronic components,especially the central processor working temperature or temperature difference changes very little.【keywords】at89s52;ds18b20;hb1100;control system1 引言数控加工中心是一种功能较全的数控加工机床,它在相对封闭的空间内可以完成铣削、镗削、钻削、攻螺纹和切削螺纹等功能。

过高的温度和湿度将导致控制系统元件寿命降低,并导致故障增多。

温度和湿度的增高,灰尘增多会在集成电路板产生粘结,并导致短路。

数控加工中心工作条件要求环境温度不高于30摄示度,相对温度不大于80%。

本文以“一线式”数字温度传感器ds18b20和电容式湿敏传感器hb1100为温湿度数据采集部件,采用at89s52单片机为测控核心,通过pc机作为人机接口,实现远程数据采集与测控,以保持电子元件,特别是中央处理器工作温度恒定或温度差变化很小[1]。

基于AT89S52单片机的热电偶无线测温装置设计

基于AT89S52单片机的热电偶无线测温装置设计
有 27 55 宽 电压 工 作 范 围 , 电流 设 计 使 它 仅 消 耗 5 0 A . . ~ V的 低 0n
显示 ,继 电器在响 ,那是 由于跳线帽没有拔掉 。可 以更改为
其 它 口 ,如 P 、P 。用 10 0 2 6 2显 示 一 定 要 拔 掉 JS P MG 处 的跳
帽,否则是用数码管显示的 。在没有输入信号的时候有数据 显示是正常的 ,我们直接拔 掉跳 帽,输入信 号即可 。 由于 P F 5 1 / C 8 9 A D转换器的最高电压 为 5 转换最高 电 V,
本 系 统 基 于 A 8 S 2兼 容 单 片 机 为 核 心 , 度 传 感 器 选 T 95 温
tp h r c u l n y e temo o pe a d AT8 S 2 i raie ,wh c este 9 5 s el d z ih me t h
t c n c l i d x s f a p ia in .Th d sg o h r wa e e h ia n e e o p l t s c o e e in f ad r c r u t, a l g d t t r g , ic i s mp i aa so a e US n e f c n C s fwa e s n B i tra e a d P o t r ae pe e td r r s n e .Ac o d n o t e p ro ma c e u r me t f c r i g t h e f r n e r q ie n s o tmp r t r a u n y t m,t e f n t n fh r wa e a d e e a u e me s r g s se i h u c i s o a d r n o

基于AT89S52单片机的自动温控电风扇设计

基于AT89S52单片机的自动温控电风扇设计

基于AT89S52单片机的自动温控电风扇设计作者:张兆朋来源:《现代电子技术》2009年第03期摘要:利用单片机设计了电风扇的自动控制系统,分析了硬件电路与软件设计。

利用单片机检测18B20采集的温度,根据温度高低,单片机的P2.7脚输出高电平或者低电平,来控制继电器线圈中能否有电流经过,根据继电器线圈通电时,常开触点闭合,没电流经过时,常开触点保持断开,从而实现自动控制电风扇的起停。

该系统改变了传统的手动控制电风扇的起停,根据温度高低实现自动控制,方便于夏天人们晚上睡觉时使用。

实践证明该系统可靠性高,工作稳定,成本低,实现了弱电控制强电,有较高的应用价值。

关键词:AT89S52单片机;温度采集;电风扇;自动控制中图分类号:TP23文献标识码:B文章编号:1004-373X(2009)03-108-03Electric Fan Design of Auto Temperature Control Based on AT89S52ZHANG Zhaopeng(Proje ct Huai′an of Higher Vocational Schools,Huai′an,223200,China)Abstract:The electric fan control system is designed by using single chip computer,the hardware and software design are analysed.The temperature collected by 18 B20 is detected by single chip computer,according to high and low temperature,single chip computer P2.7-pin output high level or low level to control relay whether there is current in the coil through,according to the coil power relay,normally open contact is closed,no current passing,often a disconnect to maintain contacts so as to achieve the automatic control from the fans stopped.The system has changed the traditional manual control from the fans stopped,automatic control is realized accoroling to temperature to facilitate the summer when people sleep at night.Practice prove that the system has high reliability,stability and low cost,a strong,weak control and higher value are achieved.Keywords:AT89S52;temperature collection;electric fans;automatic control0 引言在日常生活中,单片机得到了越来越广泛的应用。

基于AT89S52的电热片温度控制系统单片机课程设计

基于AT89S52的电热片温度控制系统单片机课程设计

目录摘要 (2)1绪论 (3)1.1 课题的背景及意义 (3)1.2 方案设计 (3)2 硬件电路设计 (4)2.1 最小化电路设计 (4)2.1.1 主控芯片简介 (4)2.1.2 最小化电路 (6)2.2 温度采集电路设计 (8)2.2.1温度采集芯片简介 (8)2.2.2 工作原理 (9)2.2.3 温度采集电路 (10)2.3 存储电路设计.............................................................................................. - 12 -2.3.1 存储芯片简介....................................................................................... - 12 -2.3.2 工作原理 (12)2.3.3 存储电路............................................................................................... - 16 - 2.4显示电路设计............................................................................................... - 16 -2.4.1 显示方案确定....................................................................................... - 16 -2.4.2 驱动芯片简介....................................................................................... - 17 -2.4.3 显示电路 (20)3 系统软件设计 ................................................................................. - 21 -4 系统仿真.......................................................................................... - 25 -5系统设计总结 (27)参考文献 (28)附录一系统原理图 (29)附录二程序 (30)附录三小组任务表 (46)摘要:在某些工业生产过程中,如恒温炉、仓库储藏、花卉种植、小型温室等领域都对温度有着严格的要求,需要对其加以检测和控制。

基于AT89S52单片机的数字温度计设计

基于AT89S52单片机的数字温度计设计

基于AT89S52单片机的数字温度计设计一引言在生活和生产中,经常要用到一些测温设备,但是传统的测温设备具有制作本钱高、硬件电、和软件设计复杂等缺点。

基于AT89S52单片机的数字温度计具有制作简单、本钱低、读数方便、测温*围广和测温准确等优点,应用前景广阔。

二工程要求基于AT89S52单片机的数字温度计设计具体要求如下:〔1〕温度值用LED显示。

〔2〕围为-30℃~100℃,且测量误差不得大于±0.5℃。

〔3〕本钱的体积、质量要尽可能小。

三系统设计1 框图设计根据设计要求分析,基于AT89S52单片机的数字温度计设计由AT89S52单片机控制器、电源、显示电路、温度传感器、复位电路和时钟电路组成,系统框图如图1所示。

电源给整个电路供电,显示电路显示温度值,时钟电路为AT89S52提供时钟频率。

传感器采用美国DALLAS半导体公司生产的一种智能温度传感器DS18B20,其测温*围为-55~125℃,最高分辨率可达0.0625℃,完全符合设计要求。

图一基于AT89S52单片机的数字温度计系统框图2 知识点本工程需要通过学习和查阅资料,掌握和了解如下知识:●+5V电源原理及设计。

●单片机复位电路工作原理及设计。

●单片机晶振电路工作原理及设计。

●按键电路的设计。

●数码管的特性及使用。

●DS18B20的特性及使用。

●74LS07的特性及使用。

●AT89S52单片机引脚。

●单片机C语言程序设计。

四硬件设计1 电路原理图控制器使用单片机AT89S52,测温传感器使用DS18B20,用4位共阳极LED数码管以动态扫描法实现温度显示,电路图可见仿真图所示。

2 元件清单基于AT89S52单片机的数字温度计元件清单如表1所示。

五软件设计1 程序流程图主程序的主要功能是负责温度的实时显示、读出并处理DS18B20测量的当前温度值,温度测试每1S进展一次。

这样可以在1S之内测量一次被测温度,其程序流程图如图3所示。

温度检测系统设计报告.(DOC)

温度检测系统设计报告.(DOC)

计算机硬件(嵌入式)综合实践设计报告温度检测系统设计与制作一.系统概述1. 设计内容本设计主要从硬件和软件部分介绍了单片机温度控制系统的设计思路,简单说明如何实现对温度的控制,并对硬件原理图和程序框图作了简洁的描述。

还介绍了在单片机控制系统的软硬件设计中的一些主要技术关键环节,该系统主要以AT89S52单片机为核心, 同时利用DS18B20温度传感器采集温度,采用4位LED 显示管实施信息显示。

AT89S52单片机设计的温度检测电路是本次设计的主要内容,是整个单片机温度控制系统设计中不可缺少的一部分,该系统对温度进行实时采集与检测。

本设计介绍的单片机自动控制系统的主要内容包括:系统概述、元器件选择、系统理论分析、硬件设计、部分软件设计及主要技术性能参数。

2. 元器件选择单片机AT89S52:1个22uF电容:2个4.7K电阻:1个万能板:1个杜邦线:若干单排排针:若干DS18B20温度传感器:2个4位LED显示管:1个二.软件功能设计及程序代码1.总体系统设计思想框图如下:单片机应用软件调试软件编程系统测试和调试系统集成硬件调试选择单片机芯片定义系统性能指标硬件设计2.主程序流程图3.DS18B20数据采集流程图4.程序代码①、温度记录仪#include<reg52.h>#include<intrins.h>#include<SYSTEM.h>#include<LCD1602.h>#include<18B20.h>#include<EEPROM.h>bit rec_flag=0;//记录温度标志uchar autobac_tim=0;//自动跳转延时uchar code logos[]="****NT MUSIC****"; uchar incmin=0;//计分钟数bit overflag=0;//数据溢出标志位uchar mode=1;//系统运行模式uchar tempmode;//模式缓存void init(){lcd_init();eeprom_init();/***********开机效果****************/ display(l1," Starting NT",1);longdelay(10);display(l2," Ver 3.0.1",1);longdelay(20);write_cmd(0x01);//清屏/*************************************/ sys_init();}void comms() //模式公共进程{time2times(); //时间格式转换avtemp=gettemp();//获取温度avtemp2avtemps();//温度格式转换date_counter();//获取当前日期date2dates();//日期格式转换display(l2+1,times,0);display(l2+11,avtemps,0);}void progs(uint i,uint k)//进度条{uint j;write_cmd(0xc0);for(j=0;j<(i*16/k);j++){write_lcddata(0xff);}}void normal_run() //无记录运行模式{comms();if(time[2]%10<5){display(l1,logos,1);}else{display(l1,"***",0);display(l1+13,"***",0);display(l1+3,dates,0);}incmin=0;}void recding_run() //记录模式运行模式{uint WDTPT;//临时写地址指针变量存放comms();recfrq2recfrqs();if(time[2]%10<5){if(mss>50) display(l1," ",0);elsedisplay(l1,"R",0);display(l1+1,"-NUM",0);display(l1+5,datcounts,0);display(l1+9,"**EV",0);display(l1+13,recfrqs,0);}else{display(l1,"***",0);display(l1+13,"***",0);display(l1+3,dates,0);} /***********定时记录*************/if(incmin>=recfrq)//触发记录功能{incmin=0;//1清除进入记录标志if(WDTP>10240) //20个扇区overflag=1;if(overflag==0)//如果数据尚未溢出{if(date_recf==1)//记录年-月-日(格式:'z'+年+月+日)为十制数值{date_recf=0;//清除记录日期标志write_isp(WDTP,'z');//日期起始标志write_isp(WDTP,date[0]);write_isp(WDTP,date[1]);write_isp(WDTP,date[2]);//记录年、月、日}/***********记录时间************/write_isp(WDTP,time[0]);write_isp(WDTP,time[1]);//记录时分/***********记录温度************/write_isp(WDTP,avtemp/100);write_isp(WDTP,avtemp%100);/**********记录加一*********/datcount++;/**********写回数据指针****************/WDTPT=WDTP;if(FDTP==512){del_isp(0);//清空记录表FDTP=0;}write_isp(FDTP,WDTPT/256);write_isp(WDTP,WDTPT%256);write_isp(WDTP,datcount/256);write_isp(WDTP,datcount%256);FDTP=WDTP;WDTP=WDTPT;//交互完成}if(overflag==1)//如果数据溢出{display(l1,"Error!",1);display(l2,"Data Overflow!",1);autobac_tim=0;while(autobac_tim!=3);display(l2," ",1);}}}void data_run() //查看记录模式{uchar i=0;bit bacf=0;uint cou_t=0;//计数缓存变量uchar temp=0;//临时数据缓存uint cd=0;//进度条统计数据autobac_tim=0;while(bacf==0){if(autobac_tim>10)bacf=1;display(l1,"Ready for Export",1);display(l2,"D-Date T-Temp L!",1);if(RI==1){autobac_tim=0;RI=0;ser_rec=SBUF;switch(ser_rec){case 'L': //格式化display(l1,"Format?",1);display(l2," Y-Yes N-No",1);while(1){if(RI==1) {RI=0;ser_rec=SBUF;autobac_tim=0;}if(ser_rec=='Y')//确定格式化{display(l1,"Formatting...",1);display(l2," ",1);eeprom_format();display(l1,"Format Successed",1);longdelay(3);break;}if(ser_rec=='N') break;if(autobac_tim>10)break;}autobac_tim=0;break;case 'D'://输出日期时间display(l1,"Exporting Date..",1);display(l2," ",1);RDTP=512;//将读指针放到首位cou_t=datcount;cd=0;while(cou_t!=0){if(RI==1) RI=0;if(SBUF=='B'){display(l1,"Export stopped",1);cd=0;longdelay(3);break;}temp=read_isp(RDTP);// 预读判断RDTP--;if(temp=='z'){RDTP++;prf_date();//输出年月日}prf_time(); //输出时间RDTP=RDTP+2;cou_t--;cd++;progs(cd,datcount);}if(datcount==0){display(l1,"No Data!",1);longdelay(3);}autobac_tim=0;break;case 'T'://温度输出display(l1,"Exporting Temp..",1);display(l2," ",1);RDTP=516;//将读指针放到首位cd=0;cou_t=datcount;while(cou_t!=0){if(RI==1) RI=0;if(SBUF=='B'){display(l1,"Export stopped",1);cd=0;longdelay(3);break;}temp=read_isp(RDTP);// 预读判断RDTP--;if(temp=='z'){RDTP=RDTP+6;}else{RDTP=RDTP+2;}prf_temp();cou_t--;cd++;progs(cd,datcount);}if(datcount==0){display(l1,"No Data!",1);longdelay(3);}autobac_tim=0;break;case 'B':bacf=1;break;}ser_rec=0;}}mode=tempmode; display(l2," ",1);}void adj_settings() //设置模式{uchar i=0;//Counterbit endadj=0;//调整完毕标志uchar ser_temp=0;//接收缓存write_cmd(0x01);//清屏times[5]=':';//恢复数点display(l1,"Set time- ",1);display(l1+11,"hour",0);display(l2+11,"[ ]",0);display(l2+1,times,0);display(l2+12,recfrqs,0);write_cmd(0xC1+i);write_cmd(0x0f);//显示闪烁光标autobac_tim=0;//初始化自动返回时间常数while(!endadj){if(RI==1) //接收到数据{RI=0;autobac_tim=0;//自动返回清零ser_temp=SBUF;if((ser_temp>47)&&(ser_temp<58))//进行数值判断{if(i<8)times[i]=ser_temp;if(i>8&&i<14)recfrqs[i-11]=ser_temp;if(i>=14)dates[i-13]=ser_temp;i++;}if(ser_temp=='F') i++;//往前一步if(ser_temp=='B') endadj=1;//退出调整switch(i) //显示处理{case 2:i++;display(l1+11,"min ",0);break;case 5:i++;display(l1+11,"sec ",0);break;case 8:i=i+3;display(l1+11,"frq ",0);break;case 14:i++;display(l1+4,"date year ",0);display(l2," ",1);break;case 17:i++;display(l1+11,"moun",0);break;case 20:i++;display(l1+11,"day ",0);break;case 23:endadj=1;break;}if(i<14){display(l2+1,times,0);display(l2+12,recfrqs,0);write_cmd(0xC1+i);}else{display(l2+3,dates,0);write_cmd(0xC1+i-11);}}if(endadj==1)//写回参数{time[0]=(times[0]-48)*10+times[1]-48;time[1]=(times[3]-48)*10+times[4]-48;time[2]=(times[6]-48)*10+times[7]-48;recfrq=(recfrqs[0]-48)*100+(recfrqs[1]-48)*10+recfrqs[2]-48;date[0]=(dates[2]-48)*10+dates[3]-48;date[1]=(dates[5]-48)*10+dates[6]-48;date[2]=(dates[8]-48)*10+dates[9]-48;}if(autobac_tim>10)endadj=1;}display(l2," ",1);write_cmd(0x0c);//正常显示}void main(){init();while(1){switch(mode){case 1:normal_run();break;case 2:recding_run();break;case 3:data_run();break;}if(RI==1){RI=0;ser_rec=SBUF;switch(ser_rec)case 'A':adj_settings();break;case 'R':mode=2;break;case 'N':mode=1;break;case 'H':tempmode=mode;mode=3;break;case 'D':ser_sents(dates);break;case 'T':times[5]=':';ser_sents(times);break;case 'W':ser_sents(avtemps);break;case 'C':ser_sents(datcounts);break;case 'F':ser_sents(recfrqs);break;}ser_rec=0;}}}void miao() interrupt 1 //秒产生中断{TH0=(65535-9200)/256;TL0=(65535-9200)%256;mss++;if(mss==100){mss=0;time[2]++;autobac_tim++;}if(autobac_tim==255)autobac_tim=244;//保持溢出if(time[2]>=60){time[2]=0;time[1]++;incmin++;}if(time[1]>=60){time[1]=0;time[0]++;}if(time[0]>=24){time[0]=0;dayincf=1;//天自增标志置位date_recf=1;//日期需要记录}/*将返回时间[时分秒*/}②、system.h/******系统I/O******//*****LCD I/O*******/sbit RS=P1^2;sbit LCDEN=P1^1;/*****DS18B20*******/sbit DS=P1^0;#define uchar unsigned char#define uint unsigned intuchar code num[]={'0','1','2','3','4','5','6','7','8','9'};/********时间相关变量************/uchar time[]={23,28,00};//时分秒(10进制数)uchar times[]="15:37:00";//时分秒(ASCII码)uchar mss=0;uchar date[]={11,11,11};//年月日(10进制数)uchar dates[]="2011-10-29";//年月日(ASCII码)bit dayincf=0;bit date_recf=0;//日期记录标志/***********记录频率变量*******************/ uchar recfrq=2; //记录频率(10进制数)uchar recfrqs[]="001"; //记录频率(ASCII码)uint datcount=0;//记录总数uchar datcounts[]="0000";/**************串口接收变量****************/ uchar ser_rec;/*************温度相关变量****************/ uint avtemp=0;uchar avtemps[]="00.0";void delay(uchar z){uchar x,y;for(x=z;x>0;x--)for(y=110;y>0;y--);}void longdelay(uchar z){for(z;z>0;z--)delay(255);}void ser_sent(uchar sendata) //串口发送单字节{SBUF=sendata;while(TI!=1);TI=0;delay(1);}void ser_sents(uchar strings[]) //串口发送字符串{uchar i=0;while(strings[i]!='\0'){ser_sent(strings[i]);delay(20);i++;}ser_sent('\n');}void date_counter() //日期转变{uchar n;//月天数暂存uint year=2000+date[0];//将年转换为标准年if(dayincf==1){dayincf=0;switch(date[1])//根据月份制定月天数{case 1:n=31;break; case 2:if(year%4==0||year%400==0){n=29;} else {n=28;}break;case 3:n=31;break; case 4:n=30;break;case 5:n=31;break; case 6:n=30;break;case 7:n=31;break; case 8:n=31;break;case 9:n=30;break; case 10:n=31;break;case 11:n=30;break; case 12:n=31;break;}date[2]++;if(date[2]>n){date[2]=1;date[1]++;}if(date[1]>12){date[1]=1;date[0]++;}}}void sys_init() //系统初始化{EA=1;TMOD=0x21;TR1=1;REN=1;SM0=0;SM1=1;TH1=0xfA;TL1=0xfA;ET0=1;//允许定时器中断0TH0=(65535-9200)/256;TL0=(65535-9200)%256;// 定时器中断0初值TR0=1;//开中断(秒)ES=0;}void recfrq2recfrqs() //10进制记录频率转字符串{recfrqs[0]=num[recfrq/100];recfrqs[1]=num[recfrq%100/10];recfrqs[2]=num[recfrq%100%10];datcounts[0]=num[datcount/1000];datcounts[1]=num[datcount%1000/100];datcounts[2]=num[datcount%1000%100/10];datcounts[3]=num[datcount%1000%100%10];}void time2times()//10进制时间转字符串{times[0]=num[time[0]/10];times[1]=num[time[0]%10];times[3]=num[time[1]/10];times[4]=num[time[1]%10];if(mss<50) times[5]=':';else times[5]=' ';times[6]=num[time[2]/10];times[7]=num[time[2]%10];}void date2dates()//10进制日期转字符串{dates[2]=num[date[0]/10];dates[3]=num[date[0]%10];dates[5]=num[date[1]/10];dates[6]=num[date[1]%10];dates[8]=num[date[2]/10];dates[9]=num[date[2]%10];}void avtemp2avtemps()//10进制温度转字符串{avtemps[0]=num[avtemp/100];avtemps[1]=num[avtemp%100/10];avtemps[3]=num[avtemp%100%10];}③、LED1602.H#define l1 0x80#define l2 0xc0void write_cmd(uchar con){LCDEN=0;RS=0;P2=con;delay(2);LCDEN=1;delay(2);LCDEN=0;}void write_lcddata(uchar dat){LCDEN=0;RS=1;P2=dat;delay(2);LCDEN=1;delay(2);LCDEN=0;}void display(uchar line,uchar ttb[],bit sign) {uchar i=0;write_cmd(line);//第一行数据起始位while(ttb[i]!='\0'){write_lcddata(ttb[i]);i++;}if(sign==1)//覆盖所有空白{for(i;i<16;i++)write_lcddata(' ');}}void lcd_init(){LCDEN=0;write_cmd(0x38);//置功能write_cmd(0x0c);//显示开启write_cmd(0x06);//显示光标移动设置06右移04左移write_cmd(0x01);//清屏}三.硬件模块设计及原理图设计1.复位电路常见的上电复位和按键复位电路有上电复位、按键脉冲复位、按键电平复位。

基于单片机的粮库温度监控系统设计

基于单片机的粮库温度监控系统设计
编号
淮安信息职业技术学院
毕业论文
题 目
基于单片机的粮库温度监控系统设计
学生姓名
学 号
院 系
电气工程系
专 业
电气自动化技术
班 级
指导教师
顾问教师
二〇一四年十一月

本文主要设计了一种基于AT89S52单片机的智能温度监测系统,该系统能对仓库内的温湿度进行读取从而了解其温度的变化情况,以“一线式”数字温度传感器DS18B20将仓库内的温度的变化情况,变换成数字量,通过单片机进行监测控制,最后由LCD完成温度显示。
在90年代中期的智能温湿度传感器(亦称数字温湿度传感器)开发出来。它是微电子技术、计算机技术和自动测试技术(ATE)的结晶。目前,国际上已开发出多种智能温度传感器系列产品。内部温湿度传感器包括智能温湿度传感器、A/D传感器、信号处理器、存储器(或寄存器)和接口电路。部分产品用一个CPU、多路选择器、只读存储器(ROM)和随机存取存储器(RAM)。智能温湿度传感器可采集温湿度,适配各种微控制器(MCU),并且可通过软件来实现测试和控制,实现更智能的温湿度控制器。
Keywords:AT89S52 DS18B20 LCDMonitoring and control
第一章 绪论
1.1选题的背景
粮食是一个国家生存的根本,为了防备战争、灾荒及其它突发性事件,粮食的安全储藏具有重要意义。根据国家粮食保护法规,必须定期抽样检查粮仓各点的粮食温度与湿度,以便及时采取相应的措施,防止粮食的变质。但大部分粮仓目前还是采取人工测温的方法,这不仅使粮仓工作人员工作量增大,且工作效率低,尤其是大型粮仓的温度检测任务如不能及时彻底完成,则有可能会造成粮食大面积变质。据有关资料统计,目前,我国各个地方及垦区的各种大型粮仓都还存在着程度不同的粮食储存变质问题。我国每年因粮食变质而损失的粮食达数亿斤,直接造成的经济损失是惊人的。

基于单片机的温度控制系统论文(经典)

基于单片机的温度控制系统论文(经典)

摘要本文提出的温度采集控制系统以单片机(AD590)为核心,由控制部分、显示部分和温度测量部分组成。

该系统大部分功能通过硬件来实现,电路简单明了,系统稳定性很高。

这套温度控制系统可以方便地实现温度测量、温度显示等功能,并通过与单片机连接的键盘可以实时设定测控温度的下限,还可以连接相应的外围电路,在收到单片机发出的指令后对环境进行检测本文首先描述系统硬件工作原理,并附以系统结构框图加以说明,着重介绍了本系统所应用的各硬件模块的功能和它的工作过程;其次,详细阐述了程序的各个模块及其实现过程。

本系统的主要设计思想是以硬件为基础,软件和硬件相结合,最终实现各个模块的功能。

关键字:单片机;温度采集;硬件模块ABSTRACTThe design and implementation of temperature control system based on SCM (AD590), it makes up of control part, display part and temperature testing part. Mostfunctions of this system are realized by hardware, the electric circuit is reliable, and the system can achieve higher stability.The system can measure and display the temperature, set the limit figure of temperature by the keyboard which connects with SCM instantly, and still can link corresponding peripheral equipment to heat the environment up after received the instruction that SCM issued.Firstly, the working principle of hardware is described in this paper which adds the structural block diagram for explanation. This paper emphatically introduces the functions and working process of each applied module. Secondly, this text expounds the functions of each module of program. The dominant thought of this text is that hardware is regarded as the foundation, software combining with hardware to actualize the functions.Key Words: SCM; Temperature collection; Hardware module1 引言在国民经济各部门,如电力、化工、机械、冶金、农业、医学以及人们的日常生活中,温度检测是十分重要的。

基于AT89S52单片机电阻炉炉温控制系统_刘天旺

基于AT89S52单片机电阻炉炉温控制系统_刘天旺

[收稿日期] 2008-12-15 [作者简介] 刘天旺(1972-),男,广西富川人, 北海职业学院高级讲师,主要从事机电一体化研究。
97
刘天旺
基于 AT89S52 单片机电阻炉炉温控制系统
此,设计了如图 1 所示的电阻炉炉温控制系统硬件 电路。 硬件系统主要由 AT89S52 单片机、 温度 采 集、A/D 转换、光耦隔离、键盘显示、蜂鸣报警、串口 通讯等功能电路组成。
99
刘天旺
基于 AT89S52 单片机电阻炉炉温控制系统
(1) 3.2 当|e(k)|<ε 时,说明系统温度已经 接近设定 值,此时加入积分作用,可以消除系统静差,保证系 统的控制精度。
上 述 各 式 中 :u(k)第 k 次 取 样 时 刻 PID 空 制 器 输 出值;e(k)=r(k)-y(k)为 第 k 时 刻 所 得 偏 差 信 号 ; kp、 ki、kd 分别为比例增益系数、积分系数和微分系数。
3. 数据处理
本炉温控系 统采用的数 字 PID 算法, 它 是 工 业控制过程中应用最广泛的一种控制形式, 一般 都能收到令人满意的效果。 [2]数字 PID 控制原理如 图 4要 分
)*+,
* -./0
12345
67 @
8190:
#$%&’(
积分分离控制的基本思路是:当偏差 e(k)绝对 值较大时,取消积分作用,以免由于积分作用使系 统稳 定性 降 低 ,超 调 量 增 大 ;当 偏 差 e(k)绝 对 值 小 于某一设定值 M 时, 引入积分控制, 以便消除静 差,提高控制精度,即:
3.1 当|e(k)|≥ε 时 ,说 明 系 统 实 测 温 度 远 离 设 定值,应快速调整炉内温度。 在这种情况下采用 PD 控制,而不因入积分空制,可以提高系统的动态响 应速度,避免产生过大的超调,减小动态误差。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

单片机原理与应用课程设计说书题目:基于AT89S52单片机的温度控制系统系部:信息与控制工程学院专业:自动化班级:5班学生姓名: 学号: ***********指导教师:2011年06 月22日目录1设计内容与要求 (1)2 设计方案 (2)3 硬件电路设计 (3)3.1 温度显示功能 (3)3.2 按键功能 (4)3.3 报警功能 (4)3.4 温度传感器 (4)3.5 放大器 (4)3.6 ADC转换器 (5)3.7 温度控制 (5)3.8 其他可扩展电路 (6)4 软件设计 (7)4.1主程序流程图 (7)4.2 中断服务程序 (8)4.3 键盘管理模块 (9)4.4 温度检测模块 (10)4.5 温度控制模块 (11)4.6 显示模块 (12)4.7 温度越限报警模块 (12)5 软硬件调试 (14)5.1 硬件调试 (14)5.2 软件调试 (14)6 总结 (15)7 附录 (16)8 参考文献 (19)1设计内容与要求用AT89S52单片机制作一个电烤箱,而且要满足以下技术指标:(1)电烤箱由1 kW电炉加热,最高温度为120℃。

(2)电烤箱温度可设置,电烤过程恒温控制,温度控制误差≤±2℃。

(3)实时显示温度和设置温度,显示精确到1℃。

(4)温度超出预置温度±5℃时发超限报警,对升降温过程的线性不做要求。

2 设计方案产品的工艺不同,控制温度的精度也不同,因而所采用的控制算法也不同。

就温度控制系统的动态特性来讲,基本上都是具有纯滞后的一阶环节,当系统精度及温控的线性性能要求较高时,多采用PID算法或达林顿算法来实现温度控制。

本系统是一个典型的闭环控制系统。

从技术指标可以看出,系统对控制精度的要求不高,对升降温过程的线性也没有要求,因此,系统采用最简单的通断控制方式,即当电烤箱温度达到设定值时断开加热电炉,当温度降到低于某值时接通电炉开始加热,从而保持恒温控制。

根据系统要求,画出控制电烤箱的框图。

如图2-1所示。

该系统包括温度测量(温度传感器、放大器、ADC转换器)。

温度控制(光电隔离、驱动电路、可控硅电路、电炉)、温度给定(按键)、温度显示和报警等几部分。

图2-1 电烤箱总框图AT89S52是ATMEL所生产的一种低功耗、高性能CMOS 8位微控制器,具有8k系统可编程Flash存储器,其芯片内部具有时钟振荡器及8个向量中断源,内部程序存储器为8KB,内部数据存储器为256字节。

3 硬件电路设计根据图3-1,可以设计出基于单片机控制电烤箱的硬件电路图,如图2-2所示,AT89S52的晶振频率为6MHz。

其他各部分的选择如下所示。

图3-1 硬件电路图3.1 温度显示功能温度显示电路,利用单片机串行口外接移位寄存器74LS164,采用3位LED数码显示器,停止加热时显示设定温度,启动加热时显示当前烤箱温度。

采用串行口扩展的静态显示电路作为显示接口电路。

3.2 按键功能为使系统简单紧凑,键盘只设置3个功能键,分别是启动、“百位+1”、“十位+1”和“个位+1”键,由P1口P1.0、P1.1、P1.2低3位作为键盘接口。

利用+1按键可以分别对预置温度的百位、十位和个位进行加1设置,并在LED上显示当前设置值。

连续按动相应位的加1键即可实现0℃~120℃的温度设置。

按键电路如图3-2所示。

图3-2 按键电路3.3 报警功能报警功能由蜂鸣器实现。

当由于意外因素导致烤箱温度高于设置温度时,P1.3口送出的低电平经反向器驱动蜂鸣器鸣叫报警。

3.4 温度传感器采用AD590集成温度传感器,它测量温度的范围为-55~+150℃,有非常好的线性输出特性。

其中AD590是美国ANALO G DEV ICES公司的单片集成两端感温电流源,电源电压范围为4~30 V,可以承受44 V正向电压和20 V反向电压,因而器件即使反接也不会被损坏,输出电阻为710 mΩ,精度高,非线性误差仅为±0.3℃。

AD590测量热力学温度、摄氏温度、两点温度差、多点最低温度、多点平均温度的具体电路,广泛应用于不同的温度控制场合由于AD590精度高、价格低、不需辅助电源、线性好,常用于测温和热电偶的冷端补偿。

3.5 放大器放大器采用集成运算放大器µA741,741运算放大器的输出级由NPN晶体管以及两个电阻组成,主要的功能是电压位准移位器,或是Vbe的倍增器。

由于基极端的偏压已经固定,因此晶体管集极至射极端的压降恒为一定值。

运算放大器的输出级电压摆幅最高约可比正电源低1V,由晶体管的集极-射极饱和电压。

虽然741运算放大器的输出阻抗不如理想运算放大器所要求的等于零,不过在连接成负回授组态应用时,其输出阻抗确实非常接近零。

:虽然早期741运算放大器在音响设备或是仪器上被广泛使用,但是今日已经有很多性能更好的运算放大器取代了741的功能,例如抗噪声的表现更好。

对于741与其他早期的运算放大器而言,它们的共模抑制比逊于现代的运算放大器,在实际应用时容易造成干扰或是噪音。

3.6 ADC转换器A/D转换器件的选择主要取决于温度的控制精度。

本系统要求温度控制误差≤±2℃,采用8位A/D转换器,其最大量化误差为+-0.2℃,完全能够满足精度要求。

这里我们采用ADC0809作为A/D转换器。

电路设计好后,调整变送器的输出,使 0℃~500℃的温度变化对应于0~4.9 V的输出,则A/D转换对应的数字量为00H~FAH,即0~250,则转换结果乘以2正好是温度值。

用这种方法一方面可以减少标度转换的工作量,另一方面还可以避免标度转换带来的计算误差。

ADC0809是美国国家半导体公司生产的CMOS工艺8通道,8位逐次逼近式A/D转换器。

其内部有一个8通道多路开关,它可以根据地址码锁存译码后的信号,只选通8路模拟输入信号中的一个进行A/D转换。

是目前国内应用最广泛的8位通用A/D芯片。

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

ADC0809是CMOS单片型逐次逼近式A/D转换器,内部结构如图3-2所示,它由8路模拟开关、地址锁存与译码器、比较器、8位开关树型A/D转换器、逐次逼近寄存器、逻辑控制和定时电路组成。

图3-2 ADC0809内部结构图和外部引脚图3.7 温度控制电烤箱控制采用可控硅来实现,双向可控硅和电炉电阻丝串接在交流220 V市电回路中。

单片机的P1.4口通过光电隔离器MOC3011和驱动电路送到可控硅的控制端,由P1.4口的高低电平来控制可控硅的导通与断开,从而控制电阻丝的通电加热时间。

光电隔离器MOC3011对输入、输出电信号起隔离作用,光耦合器一般由三部分组成:光的发射、光的接收及信号放大。

输入的电信号驱动发光二极管(LED),使之发出一定波长的光,被光探测器接收而产生光电流,再经过进一步放大后输出。

这就完成了电—光—电的转换,从而起到输入、输出、隔离的作用。

由于光耦合器输入输出间互相隔离,电信号传输具有单向性等特点,因而具有良好的电绝缘能力和抗干扰能力。

又由于光耦合器的输入端属于电流型工作的低阻元件,因而具有很强的共模抑制能力。

3.8 其他可扩展电路对于要求更高的系统,在现有电路的基础上,还-可以视需要自行扩展以下接口电路:实时时钟电路:连接实时时钟芯片DS12887可以获得长的采样周期,显示年、月、日、时、分、秒,而其片内带有的114 B非易失性RAM,可用来存入需长期保存但有时也需变更的数据。

如采样周期、PID控制算法的系数KP、KI、KD等;“看门狗”电路:连接集成监控芯片MAX705可实现对主电源VCC的监控,提高系统的可靠性。

4 软件设计单片机资源分配情况。

数据存储器的分配与定义见表4.1。

表4.1程序存储器:EPROM2764的地址范围为0000H~1FFFHI/O口:P1.0~P1.2——键盘输入;P1.3、P1.4——报警控制和电炉控制。

A/D转换器0809:通道0~通道7的地址为7FF8H~7FFFH,使用通道0。

4.1主程序流程图主程序采用中断嵌套方式设计,各功能模块可直接调用。

主程序完成系统的初始化,温度预置及其合法性检测,预置温度的显示及定时器0设置,流程图如图4-1所示。

程序为程序一。

图 4-1 主程序流程图4.2 中断服务程序中断由T0产生,每隔5秒中断一次。

功能:温度检测;A/D转换;读入采样数据;数字滤波;朝鲜温度报警;温度控制;显示。

流程图如图4-2所示。

程序为程序二。

图4-2 中断程序流程图4.3 键盘管理模块上电或复位后系统处于键盘管理状态,其功能是监测键盘输入,接收温度预置和启动键。

程序设有预置温度合法检测报警,当预置温度超过500℃时会报警并将温度设定在500℃。

键盘管理子程序流程如如图4-3所示,程序为程序三。

图4-3 按键管理子程序流程图4.4 温度检测模块A/D转换采用查询方式。

为提高数据采样的可靠性,对采样温度进行数字滤波。

数字滤波的算法很多,这里采用4次采样取平均值的方法。

如前所述,本系统A/D 转换结果乘2正好是温度值,因此,4次采样的数字量之和除以2就是检测的当前温度。

检测结果存入40H。

温度检测子程序流程图如图4-4所示。

程序为程序四。

图4-4 温度检测子程序流程图4.5 温度控制模块将当前温度与预置温度比较,当前温度小于预置温度时,继电器闭合,接通电阻丝加热;当前温度大于预置温度时,继电器断开,停止加热;当二者相等时电炉保持原来状态;当前温度降低到比预置温度低2℃时,再重新启动加热;当前温度超出报警上下限时将启动报警,并停止加热。

由于电炉开始加热时,当前温度可能低于报警下限,为了防止误报,在未达到预置温度时,不允许报警,为此设置了报警允许标志F0。

模块流程见图4-5。

程序见程序五。

图4-5 温度控制子程序流程图4.6 显示模块显示子程序的功能是将显示缓冲区45H的二进制数据先转换成三个BCD码,分别存入百位、十位和个位显示缓冲区(42H、43H和44H单元),然后通过串口送出显示。

程序见程序六。

4.7 温度超限报警模块报警上限温度值为预置温度+5℃,即当前温度上升到高于预置温度+5℃时报警,并停止加热;报警下限温度值为预置温度-5℃,即在当前温度下降到低于预置温度-5℃,且报警允许时报警,这是为了防止开始从较低温度加温时误报警。

报警的同时也关闭电炉。

图4-6为报警子程序流程图。

程序见程序七。

图4-5 报警子程序流程图5 软硬件调试5.1 硬件调试硬件的调试主要是把电路各种参数调整到符合设计要求。

相关文档
最新文档