1、辽 宁 工 业 大 学单片机原理及接口技术 课程设计(论文)题目: 鸡雏恒温孵化器设计 院(系): 电气工程学院 专业班级: 电气111 学 号: 110303011 学生姓名: 左钰 指导教师: 陈晓英 起止时间:2014.06.16-2014.06.30本科生课程设计(论文)II课程设计(论文)任务及评语院(系):电气工程学院 教研室: 注:成绩:平时20% 论文质量60% 答辩20% 以百分制计算学 号 110303011 学生姓名 左钰 专业班级 电气111课程设计(论文)题目 鸡雏恒温孵化器设计课程设计(论文)任务该鸡雏恒温孵化器可实现鸡雏孵化过程恒温控制,温度可通过键盘自行设定。并
2、有温度上下限报警功能。利用电热丝加热。温度测量范围 050 度。主要设计内容:硬件电路设计:1. CPU 最小系统设计(包括 CPU 选择,晶振电路,复位电路)2. 温度传感器选择及接口电路设计3. 驱动电路设计软件设计:1.编程程序流程图 2.程序清单编编写进度计划第 1 天 查阅收集资料第 2 天 总体设计方案的确定第 3 天 CPU 最小系统设计第 4 天 温度传感器选择及接口电路设计第 5 天 驱动电路设计第 6 天 程序流程图设计第 7 天 软件编写与调试第 8 天 设计说明书完成第 9 天 答辩指导教师评语及成绩平时: 论文质量: 答辩: 总成绩: 指导教师签字: 年 月 日本科生
3、课程设计(论文)III摘 要本文介绍了系统有关温度的设计指标。该系统以闭环控制系统原理为指导方向,设计出一个小型孵化器。为了提高孵化机温度控制精度并简化控制结构,本系统选用 DS18B20 作为温度传感器,它具有控制精度高的特点,使得孵化器内温度得到很好的控制。为了提高控制系统的可靠性和经济性,本系统采用了单片机AT89C51 为核心的控制电路。系统硬件结构除了常规设计外,还添加了一些按键控制功能。该系统采用 C 语言编写了整个温度控制程序,它提高编制单片机应用程序的效率,改善程序的可读性和可移植性。用液晶 LCD1602 实现温度显示。通过测试表明,该控制系统具有工作性能稳定可靠和控制效果好
4、等特点。随着社会的发展,科技的进步,以及测温仪器在各个领域的应用,智能化是现代温度控制系统发展的主流方向。特别是近年米,温度控制系统已经用到人们生活的各个方面,但温度控制一直是一个未开发的领域,却又是与人们息息相关的一个实际问题。针对这种实际情况,设计一个温度控制系统,具有广泛的应用前景与实际意义关键词:单片机;温度传感器;LCD 液晶屏;恒温本科生课程设计(论文)IV目 录第 1 章 绪论 11.1 恒温控制系统概况 .11.2 本文研究内容 .1第 2 章 CPU 最小系统设计 .22.1 恒温系统总体设计方案 .22.2 CPU 的选择 22.2.1 AT89C51 主要特性 32.2.
5、2 89C51 单片机引脚 32.3 数据存储器扩展 .32.4 复位电路设计 .42.5 时钟电路设计 .52.6 CPU 最小系统图 5第 3 章 CPU 输入输出接口电路设计 .63.1 温度传感器的选择 .63.2 温度检测接口电路 A/D 转换器选择 .83.2.1 模拟量检测接口电路图 .93.3 人机对话接口电路设计 .93.3.1 显示接口电路设计 .93.3.2 简易式键盘接口电路设计 11第 4 章 系统软件设计 .134.1 软件实现功能综述 134.2 流程图设计 134.2.1 主程序流程图设计 134.2.2 温度控制部分程序设计 144.2.3 键盘部分程序设计
6、154.2.4 温度显示子程序设计 16第 5 章 系统设计与分析 .18本科生课程设计(论文)V5.1 系统原理图 185.2 系统原理综述 19第 6 章 课程设计总结 .20参考文献 21本科生课程设计(论文)1第 1 章 绪论1.1 恒温控制系统概况在单片机温度控制系统中的关键是温度的测量、温度的控制和温度的保持,温度是工业控制对象中主要的被控参数之一。因此,单片机要对温度的测量则是对温度进行有效及准确的测量,并且能够在工业生产中得广泛的应用,尤其在机械制造、电力工程化工生产、冶金工业等重要工业领域中,担负着重要的测量任务。在日常工作和生活中,也被广泛应用于空调器、电加热器等各种室温测
7、量及工业设备的温度测量。但温度是一个模拟量,需要采用适当的技术和元件,将模拟的温度量转化为数字量,才生使用计算机或单片机进行相应的处理。1.2 本文研究内容本设计是对温度进行实时监测与控制,设计的温度控制系统实现了基本的温度控制功能:当温度低于设定下限温度时,系统自动启动加热继电器加温,使温度上升。当温度上升到下限温度以上时,停止加温;当温度高于设定上限温度时,系统自动启动风扇降温,使温度下降。当温度下降到上限温度以下时,停止降温。温度在上下限温度之间时,执行机构不执行。LCD 液晶显示器即时显示温度。本设计主要设计内容:硬件电路设计:1. CPU 最小系统设计(包括 CPU 选择,晶振电路,
8、复位电路)2. 温度传感器选择及接口电路设计3. 驱动电路设计软件设计:1.编程程序流程图2.程序清单编编写本科生课程设计(论文)2第 2 章 CPU 最小系统设计2.1 恒温系统总体设计方案本设计题目为基于单片机的鸡雏恒温孵化器的设计,温度控制设定范围为 0-50C,上、下限温度在程序中设置,实现控制可以升温也可以降温,实时显示当前温度值,另外还有蜂鸣器报警功能。本文使用热电偶温度自动控制系统。 (采用 A/D 转换器)采用单片机控制,液晶显示模块 LCD 显示。系统框图如图 2.1:键盘电路LCD报警电路单片机继电器控制电路 加热装置降温装置A/D 转换装置信号放大 温度传感器图 2.1
9、温度控制系统原理图2.2 CPU 的选择本设计决定用单片机作为中心控制器。MCS-51 系列以较高的性价比博得很多用户的青睐。所以,本系统采用美国 Intel 公司生产的 89C-51 型单片机,由于其具有集成度高、处理功能强、可靠性高、系统结构简单、价格低廉等优点并具有 4K 字节的程序存储器,使得它应用起来更加方便。本科生课程设计(论文)32.2.1 AT89C51 主要特性(1) 面向控制的 8 位 CPU;(2) 片内 4KB Flash ROM 程序存储器;(3) 128B 的片内数据存储器;(4) 可寻址 64KB 的片外程序存储器和片外数据存储器控制电路;(5) 2 个 16 位
10、定时/计数器;(6) 4 个并行 I/O 口,共 32 条可单独编程的 I/O;(7) 5 个中断源,2 个中断优先级;2.2.2 89C51 单片机引脚图 2.2 89C51 单片机的引脚图2.3 数据存储器扩展89C-51 型单片机片内有 128B 的 RAM,在实际应用中仅靠这 256B 的数据存储器是远远不够的。这种情况下可利用 MCS-51 单片机所具有的扩展功能扩展外部数据存储器。MCS-51 系列单片机最大可扩展 64KB。6264 是 8K8 位静态随机存储器,采用 CMOS 工艺制造,单一+5V 电源供电,额定功率 200mW,典型存取时间200ns,为 28 线双列直插式封
11、装。本科生课程设计(论文)4图 2.3 6264 引脚图A12 A0 地 址 线D7 D0 数据线OE读 出 允 许 信 号W写 允 许 信 号CE1 片 选 信 号 1CE2 片 选 信 号 2表 2.3 6264 引脚功能2.4 复位电路设计单片机复位电路图 2.6 为单片机复位电路。单片机在开机时都需要复位,以便中央处理 CPU 以及其他功能部件都处于一个确定的初始状态,并从这个状态开始工作。单片机的复位后是靠外部电路实现的,在时钟电路工作后,只要在单片机的 RST 引脚上出现 24 个时钟振荡脉冲(2 个机器周期)以上的高电平,单片机便可实现初始化状态复位。MCS-51 单片机的 RS
12、T 引脚是复位信号的输入端。例如:若 MCS-51 单片机时钟频率为 12MHz,则复位脉冲宽度至少应该为 2s 。本科生课程设计(论文)5图 2.4 复位电路原理图2.5 时钟电路设计片内电路与片外器件就构成一个时钟产生电路,CPU 的所有操作均在时钟脉冲同步下进行。片内振荡器的振荡频率非常接近晶振频率,一般多在1.2MHz24MHz 之间选取。 C1、C2 是反馈电容,其值在 20pF100pF 之间选取,典型值为 30pF。本电路选用的电容为 30pF,晶振频率为 12MHz。振荡周期 ; 机器周期 ; 指令周期s12sSm1s41图 2.5 时钟电路原理图2.6 CPU 最小系统图本设
13、计中的 89C51 的最小系统包括 89C51 单片机,6264 可编程 I/O 接口,晶振电路,按键复位电路。CPU 最小系统图如图 2.6本科生课程设计(论文)6图 2.6 CPU 最小系统图第 3 章 CPU 输入输出接口电路设计3.1 温度传感器的选择本设计采用智能温度传感器 DS18B20。其具有如下特性:(1)采用单总线技术,与单片机通信只需要一根 I/O 线,在一根线上可挂接多个 DS18B20。(2)每个 DS18B20 具有一个独立的、不可修改的 64 位序列号,根据序列号可以访问对应的器件。OE22 WE27CE120 A122A1123 A1021A924 A825VCC
14、 28CE2 26GND 14A73 A64A55 A46A37 A28A19 A010I/O718 I/O617I/O516 I/O415I/O314 I/O213I/O112 I/O0116264S1SW-PB C5R410KC310uFD3VCCC1300PFC2300PFY112MHzNetLabel48NetLabel49RD 17WR 16P2.7 28P2.4 25P2.3 24P2.2 23P2.1 22P2.0 21P0.7 32P0.5 34P0.633P0.4 35P0.3 36P0.2 37P0.1 38P0.0 39ALE 30EA 31GND20XTAL119 XT
15、AL218RST989C51VCCQ7 19Q6 16Q5 15Q4 12Q3 9Q2 6Q1 5Q0 2OE1D718 D617D514 D413D38 D27D14 D03G 1174373NetLabel50NetLabel51本科生课程设计(论文)7(3)低电压供电,电源范围为 3-5V,可以本地供电,也可以直接从数据线上获取电源(寄生式供电) 。(4)测温范围为-55+125,在-1085范围内误差为0.5。(5)可编程数据为 912 位,转换 12 位温度时间为 750ms(最大) 。(6)用户可自设定报警的上、下限温度值。(7)报警搜索命令可识别和寻址温度超出预定值的器材。(8)
16、DS18B20 的分辨率可由用户通过 EEPROM 设置为 912 位。(9)DS18B20 可将检测到的温度值直接转化为数字量,并通过串行通信的方式与主控制器进行数据通信。DS18B20 的内部结构如图 3.1.1图 3.1.1 DS18B20 的内部结构作为另一种可供选择的方法,DS18B20 也可用外部 5V 电源供电。DS18B20与 89C51 接线方式如图 3.1.2。本科生课程设计(论文)8图 3.1.2 外部电源供电 DS18B20 的引脚说明如表 3.1: 表 3.1 DS18B20 的引脚说明3.2 温度检测接口电路 A/D 转换器选择A/D 转换接口是系统数据采集前向通道
17、的一个重要环节。数据采集是在模拟信号源中采集信号,并将之转换为数字信号送入计算机的过程AD574 由两部分组成,一部分是模拟芯片,另一部分数字芯片,其中模拟部分由高性能的 12 位 D/A 转换器 AD565 和参考电压组成。数字部分由控制逻辑电路,逐次逼近型寄存器的三态缓冲器组成。AD574 的引脚如图 3.2 所示 VL1VCC7VEE11DC15AC9REFIN10REFOUT8BIPOFF121OVIN1320VIN14CS 3A0 4R/C 5DB11 27DB10 26DB9 25DB8 24DB7 23DB6 22DB5 21DB4 20DB3 19DB2 18DB1 17DB0
18、 16CE 6STS 2812/8 2AD574NetLabel1 NetLabel2NetLabel3NetLabel4图 3.2 AD574 的引脚图引 脚 符 号 说 明1 GND 接地2 DQ 单线运用的数据输入/输出引脚漏极开路3 VCC 可选 VDD 引脚两种供电方式本科生课程设计(论文)9功能特性:(1)分辨率:12 位;(2)非线性误差:小于0.5LSB 或1LSB;(3)转换速率:25s;(4)模拟电压输入范围:0-10V,0-20V;(5)电源电压:15V 和 5V;(6)数据输出格式:12 位/8 位(7)芯片工作模式:全速工作模式和单一工作模式。3.2.1 模拟量检测接
19、口电路图图 3.2.1 模拟量检测接口电路图3.3 人机对话接口电路设计3.3.1 显示接口电路设计显示电路如图 3.3.1 所示。LED 显示块是由发光二极管显示字段的显示器件。这种显示块有共阴极和共阳极两种。共阴极 LED 显示块的发光二极管共地。NetLabel1 NetLabel2NetLabel3NetLabel4P00 39P01 38P02 37P03 36P04 35P05 34P06 33P07 32P20 21P22 23P2122P23 24P24 25P25 26P26 27P27 28RXD 10TXD 11ALEP 30PSEN 2989C51本科生课程设计(论文)
20、10图 3.3.1 显示电路原理图当某个发光二极管的阳极为高电平时,发光二极管点亮;本设计选用的显示块是共阴极的 LED(共阴极 LED 显示块的发光二极管阴极接地,当某个发光二极管的阳极为高电平时,发光二极管点亮) 。将单片机 I/O 口的 8 位线与显示块的发光二极管的引出端(a dp)相连,共阴极低电平有效,选通有效后 8 位并行输出口输出不同的数据就点亮相应的发光二极管,获得不同的数字或字符。本科生课程设计(论文)113.3.2 简易式键盘接口电路设计8255 可编程并行 I/O 接口设计MCS-51 系列单片机共有 4 个 8 位并行 I/O 口,这些 I/O 口一般是不能完全提供给
21、用户使用的,在外部扩展存储器时,提给用户使用的 I/O 口只有 P1 和 P3 口的部分口线。因此在大部分的 MCS-51 单片机应用系统中都免不了要进行 I/O 口的扩展。8255 芯片引脚图如图 3.3.2 所示。图 3.3.2 8255 引脚图图 3.3.3 I/O 口扩展电路RD 17WR 16P2.7 28P2.4 25P2.324P2.2 23P2.1 22P2.021P0.7 32P0.5 34P0.6 33P0.435P0.3 36P0.2 37P0.138P0.0 39ALE 30EA 31P2.5 26P2.6 2789C51Q7 19Q6 16Q5 15Q4 12Q3 9
22、Q2 6Q1 5Q0 2OE1D718 D617D514 D413D38 D27D14 D03G1174373D034 D133D232 D331D430 D529D628 D727PA0 4PA1 3PA2 2PA3 1PA4 40PA5 39PA6 38PA7 37PB0 18PB1 19PB2 20PB3 21PB4 22PB5 23PB6 24PB7 25PC0 14PC1 15PC2 16PC3 17PC4 13PC5 12PC6 11PC7 10RD5 WR36A09 A18RESET35 CS68255AD10AD11AD12AD13AD14AD15AD16AD17AD10AD1
23、1AD12AD13AD14AD15AD16AD17AD10AD11AD12AD13AD14AD15AD16AD17ALE RDWENetLabel69 NetLabel70NetLabel71NetLabel72本科生课程设计(论文)12单片机 8255 的接口比较简单,如图 3.3.3 所示,8255 的片选信号 及口地CS址选择线 AO、A1 分别由单片机的 P0.7 和 P0.0、 P0.1 经地址锁存器提供.8255 的 A、B、C 口及控制口地址分别为FF7CH、FF7DH 、FF7EH 、FF7FH 。8255 的 D0D7 分别与 P0.0 到 P0.7 相连。键盘功能说明:1
24、号键:上升。2 号键:下降。3 号键:下限温度值确定。4号键:上限值确定。5 号键:查询上下限值。使用 1 号键和 2 号键,设定需要的温度控制系统的上限值,然后按下 4 号键,将这个上限值确定,也就是将上限值保存到专用的寄存器里。在完成设定上限值的工作后,使用 1 号键和 2 号键设定需要的温度控制系统的下限值,然后按下 3 号键,将这个下限值确定,也就是将这个下限值保存到专用的寄存器里,然后系统进去实时的温度测量和控制工作中。键盘接口电路如图3.3.4 所示: 图 3.3.4 键盘接口电路D034D133D232D331D430D529D628D727PA0 4PA1 3PA2 2PA3
25、1PA4 40PA5 39PA6 38PA7 37PB0 18PB1 19PB2 20PB3 21PB4 22PB5 23PB6 24PB7 25PC0 14PC1 15PC2 16PC3 17PC4 13PC5 12PC6 11PC7 10RD5WR36A09A18RESET35CS68255R1 R2 R3 R4 R5S1S2S3S4S5VCCNetLabel5 NetLabel6NetLabel7 NetLabel8本科生课程设计(论文)13第 4 章 系统软件设计4.1 软件实现功能综述1.清数据存储区、各集成模块的初始化、确定中断优先权、开中断等。2.完成系统初始化任务后,主程序执行
26、中断等待程序。4.2 流程图设计4.2.1 主程序流程图设计主程序流程图如图 4.1 所示主程序完成的功能是:启动传感器测量温度,将测量温度与给定值比较进行 PID 运算,若 ,则进入加热阶段,置 P13 为高电LXT平。在过程中继续对温度进行监测,当 时,置 P13 为低电平断开可控硅,H关闭加热器,等待下一次的启动命令。本科生课程设计(论文)14开始初始化按键设定温度上下限送显示送 counter=3调温度子程序转换送显示PID 运算 HXTNN显示正常温度高温报警并停止加热低温报警并加热YY键盘处理有键按下 ?counter-1=0?counter-1=0?等待下一个采样HXYYNN图
27、4.2.1 系统主程序流程图4.2.2 温度控制部分程序设计这部分程序的功能是将采集到的温度值 TX 与 TL 比较,如果 TXT L 则报警,并置 P3.1 口为低电平,通过光耦合器打开可控硅,使加热器加热,并调显示,显示 88.8。否则将 TX 与 TH 比较,如果 TXTH 则报警,并置 P13 口为高电平,通过光耦合器关闭可控硅,停止加热器加热,并调显示,显示 88.8。否则,也就是 当温度在正常范围内,调显示,显示采集到的温L本科生课程设计(论文)15开始 HXT地址和计数器换码送显存显示灯亮、蜂鸣器响置 P1.3 口为 1,打开加热器LED 显示返回计数器换码送显存 YN度值 。加
28、热程序流程图如图 4.2.2 所示。XT图 4.2.2 温度控制程序流程图图4.2.3 键盘部分程序设计本部分主要是实现输入设定温度和查询设定温度的功能。该部分的子程序流程图如图 4.2.3 所示。在键盘的控制方面,由于采用了 5 个单键,因此使得键值识别的问题也比较简单。在执行程序的时候只需要逐位判断 PA0,PA1,PA2,PA3,PA4 口是高电平还是低电平,若为高电平,则表示没有按键按下,若为低电平,则表示已经有键按下,于是执行键的处理子程序。在程序的设计当中,考虑了键的去抖动问题。在发现有键闭和时,不是立即读入该键值,而是延时一段时间以后,再进行键闭和与否的判断,确认此时真的有键按下
29、,有则进行该按键的处理,没有则不进行处理。本科生课程设计(论文)16开始有 键 按 下 ?延时 20ms判别键号执行键处理子程序返回NY图 4.2.3 键盘处理子程序流程图4.2.4 温度显示子程序设计此模块采用的是动态扫描的方法,依次改变 P0 口输出高电平的位和 P2 口输出对应的数据段,就可以轮流点亮显示器的各位数码管。动态显示是把十六进制数(或 BCD 码)转换为相应字形码,故它通常需要在 RAM 区建立一个显示缓冲区。显示部分流程图如图 4.2.4 所示。本科生课程设计(论文)17开始显示缓冲区指针置初值 30H 送 R0扫描模式置初值 FEH 送 R1R1 送 P2 口取显示数据查
30、表转换为段数据送 P0 口延时 1ms显示缓冲器指针 R0+1R1=0?R1 左移一位返回YN图 4.2.4 显示子程序流程图本科生课程设计(论文)18第 5 章 系统设计与分析5.1 系统原理图图 5.1 系统原理图本科生课程设计(论文)195.2 系统原理综述本设计是对温度进行实时监测与控制,设计的温度控制系统实现了基本的温度控制功能:当温度低于设定下限温度时,系统自动启动加热继电器加温,试温度上升。当温度上升到下限温度以上时,停止加热;当温度高于设定上限温度时,系统自动启动风扇降温,使温度下降。当温度下降到上限温度以下时,停止降温。温度在上下限温度之间时,执行机构不执行。LCD 液晶显示
31、器即时显示温度,精确到小数点一位。本科生课程设计(论文)20第 6 章 课程设计总结通过此次课程设计,使我更加扎实的掌握了有关单片机的知识,在设计过程中虽然遇到了一些问题,但经过一次又一次的思考,一遍又一遍的检查终于找出了原因所在,也暴露出了前期我在这方面的知识欠缺和经验不足。实践出真知,通过亲自动手制作,使我们掌握的知识不再是纸上谈兵。过而能改,善莫大焉。在课程设计过程中,我们不断发现错误,不断改正,不断领悟,不断获龋最终的检测调试环节,本身就是在践行“过而能改,善莫大焉”的知行观。这次课程设计终于顺利完成了,在设计中遇到了很多问题,最后在老师的指导下,终于游逆而解。在今后社会的发展和学习实
32、践过程中,一定要不懈努力,不能遇到问题就想到要退缩,一定要不厌其烦的发现问题所在,然后一一进行解决,只有这样,才能成功的做成想做的事,才能在今后的道路上劈荆斩棘,而不是知难而退,那样永远不可能收获成功,收获喜悦,也永远不可能得到社会及他人对你的认可!课程设计诚然是一门专业课,给我很多专业知识以及专业技能上的提升,同时又是一门讲道课,一门辩思课,给了我许多道,给了我很多思,给了我莫大的空间。同时,设计让我感触很深。使我对抽象的理论有了具体的认识。通过这次课程设计,我掌握了常用元件的识别,了解了电路的连线方法;以及如何提高电路的性能等等。我认为,在这学期的实验,不仅培养了独立思考、动手操作的能力,
33、在各种其它能力上也都有了提高。更重要的是,我们学会了很多学习的方法。而这是日后最实用的,真的是受益匪浅。要面对社会的挑战,只有不断的学习、实践,再学习、再实践。这对于我们的将来也有很大的帮助。以后,不管有多苦,我想我们都能变苦为乐,找寻有趣的事情,发现其中珍贵的事情。就像中国提倡的艰苦奋斗一样,我们都可以在实验结束之后变的更加成熟,会面对需要面对的事情。回顾起此课程设计,从理论到实践,可以学到很多很多的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结
34、合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,可以说得是困难重重,但可喜的是最终都得到了解决。此次设计也让我明白了思路即出路,有什么不懂不明白的地方要及时请教或上网查询,只要认真钻研,动脑思考,动手实践,就没有弄不懂的知识,收获颇丰。本科生课程设计(论文)21参考文献1 梅丽凤等编著 单片机原理及接口技术 清华大学出版社 2009.72 赵晶 主编 Prote199 高级应用 人民邮电出版社, 2000 3 于海生 编著 微型计算机控制技术 清华大学出版社 2003.44 李锡雄. 微型计算机控制技术. 北京: 科学出版社,1999.85 张迎新. 单片微型计算机原理应用及接口技术. 北京: 国防工业出版社,20006 何立民. 单片机应用系统设计. 北京: 北京航空航天大学出版社,1989 7 何小艇.电子系统设计(第三版)M. 杭州:浙江大学出版社 ,20048 贾伯年 俞朴 传感器技术M.北京:东南大学出版社,2003.69 陈华.温度控制系统的设计与应用J.电子工程师,1999,(8):18-20