基于51单片机的多路温度控制系统课程设计.doc
- 文档编号:1952671
- 上传时间:2023-05-02
- 格式:DOC
- 页数:33
- 大小:647KB
基于51单片机的多路温度控制系统课程设计.doc
《基于51单片机的多路温度控制系统课程设计.doc》由会员分享,可在线阅读,更多相关《基于51单片机的多路温度控制系统课程设计.doc(33页珍藏版)》请在冰点文库上搜索。
智能化仪器仪表课程设计
题目基于51单片机的仓库温度控制系统
学院机械工程学院
专业测控技术与仪器
学生姓名
学号201年级2012级
指导教师
2015年6月20日
摘要:
本设计为基于C52单片机的4路DS18B20、LCD1602显示、开关量控制系统,采用模块化、层次化设计。
如今运用DS18B20数字式温度传感器测温度,省略模电转换,将数字信号直接送给单片机调用。
采用LC1602液晶显示方式,使显示更加方便简介,接着使用单片机AT89C51I/O口交流电机开和关,构建了一个集显示、检测与控制于一体的单片机应用系统。
此外,该系统自行设计了一个5V稳压电源,不仅可在220V交流中供电,而且能够接受5V电压直接供电。
关键词:
单片机;液晶显示;数字式温度传感器;开关量控制电路
目录
目录 3
第一章 绪论 1
1.1课题的研究背景 1
1.2课题的研究内容及目标 1
1.3本文的结构组织 1
第二章系统方案设计及论证 2
2.1总体方案设计 2
2.2方案比较与论证 2
2.2.1采集电路 2
2.2.2处理器选择 3
2.2.3显示部分 3
第三章系统的电路设计与元器件介绍 4
3.1系统的电路设计 4
3.1.1最小系统电路 4
3.1.2温度采集电路 5
3.1.3控制系统电路 5
3.1.4显示系统电路 6
3.1.5报警电路 6
3.2元器件介绍 7
3.2.1单片机介绍 7
3.2.1.1单片机主要性能 7
3.2.1.2单片机各引脚功能介绍 7
3.2.1.3单片机特殊功能寄存器介绍 8
3.2.2DS18B20简介 9
3.2.2.1DS18B20主要特性 9
3.2.2.2DS18B20内部结构 10
3.2.3LCD1602简介 11
3.2.3.1 LCD1602主要技术参数 11
3.2.4继电器简介 14
第四章系统软件设计 15
4.1程序流程图 15
4.2程序设计 16
4.2.1 DS18B20的程序设计 16
4.2.2 LCD1602液晶的程序设计 16
4.2.3 主程序设计 17
总结 18
附录一原理图 19
附录二仿真图 20
附录三程序代码 21
30
第一章绪论
1.1课题的研究背景
通过课程设计,使学生进一步加深理解单片机的工作原理,通过实习制作掌握引入外部中断的方法及其中断服务程序的编程方法;掌握定时器的使用及其中断服务程序的编写方法;从而了解如何构成系统的主程序;通过实习制作掌握单片机应用系统的制作工艺及调试方法,进一步理解单片机系统设计及开发方法,从而使学生具备设计单片机应用系统的能力。
1.2课题的研究内容及目标
基于单片机的4路温度采集控制系统,系统运行时,循环扫描显示对应的DS18B20温度传感器的温度,为了显示清晰,要求循环逐次显示温度;每隔10ms,采集一次温度;当温度高于20摄氏度后,单片机控制交流电机(电风扇)开始工作,当温度降到20度以下,控制交流电机停止工作。
交流电机的开关,采用继电器代替,所以单片机只需控制继电器的开断即可控制交流电机的工作与否。
1.3本文的结构组织
本文的组织结构安排如下:
第一章绪论,扼要阐明本课题的研究背景、研究目的、研究意义,以及要实现的目标。
第二章系统设计方案及论证,通过分析论证,选出最合适的设计方案,介绍总体方案。
第三章主要讲述整个体系硬件电路的设计及元器件的介绍,包括单片机的选择、各个器件的选择以及显示电路的设计。
第四章是软件设计,基于前面的硬件系统,设计程序。
第二章系统方案设计及论证
2.1总体方案设计
AT89C52
根据课题要求实现,该系统主要由采集系统、显示系统和控制系统组成,以AT89C52单片机为核心,设计。
图2-1图:
显示系统
最小系统
报警系统
采集系统
控制系统
图2-1系统图
2.2方案比较与论证
2.2.1采集电路
方案一:
使用传统温度传感器。
传统的温度检测大多以热敏电阻为传感器,采用热敏电阻,可满足40摄氏度至90摄氏度测量范围,但热敏电阻可靠性差,测量温度准确率低,对于1摄氏度的信号是不适用的,还得经过专门的接口电路转换成数字信号才能由微处理器进行处理。
对于这类传感器,使用起来较麻烦,但价格较便宜。
方案二:
使用数字式温度传感器。
数字温度传感器使用集成芯片,采用单总线技术,其能够有效的减小外界的干扰,提高测量的精度,同时,它可以直接将被测温度转化成串行数字信号供微机处理,接口简单,使数据传输和处理简单化。
部分功能电路的集成,使总体硬件设计更简洁,能有效地降低成本,搭建电路和焊接电路时更快,调试也更方便简单化,这也就缩短了开发的周期使用起来方便,但价格昂贵。
经过比较,从系统技术参数要求和功能仿真方面考虑,数字式温度传感器比传统温度器功能更全面,使用时更方便,仿真时也更简便,故选用方案二。
本次设计采用市面上运用较为广泛的数字式温度传感器——DS18B20。
2.2.2处理器选择
方案一:
采用AT89C52单片机作为处理器,能达到要求,但其内存过小,处理精度较低,不是最好的选择;
方案二:
采用TI公司的各种单片机,虽然能很好的达到设计的要求,但其成本过高,且程序较复杂,不适宜与本次设计。
通过对比,方案一的AT89C52的功能完全能够符合题目的各个部分和发挥部分的设计,故选用方案一
2.2.3显示部分
方案一:
采用LED数码管,其操作简单,显示直观。
不仅程序的设计简易,而且对周围的环境要求很低,方便维护
方案二:
使用LCD液晶,它具有体积小、低功耗、显示丰富等优点。
电路连接简单,价格比较高。
总的来说,LCD液晶显示电路连接简单且能满足设计需求,又LCD1602上课时学过,不需再单独学习其他LCD显示程序编写要求,所以本设计选用LCD液晶显示。
第三章系统的电路设计与元器件介绍
3.1系统的电路设计
整个设计的电路主要包括了最小系统电路、温度采集系统电路、控制系统电路及显示系统电路等几部分电路组成。
3.1.1最小系统电路
晶振电路和复位电路与单片机连接构成最小系统电路,如图3-1
图3-1最小系统电路
3.1.2温度采集电路
图3-2温度采集电路
3.1.3控制系统电路
图3-3控制系统电路
3.1.4显示系统电路
图3-4显示系统电路
3.1.5报警电路
图3-5报警电路
3.2元器件介绍
3.2.1单片机介绍
3.2.1.1单片机主要性能
AT89C52是由ATMEL公司生产的52单片机的一个型号。
它具有高性能CMOS8位、低电压的优点,使用了该公司的高密度、非易失性存储技术生产,完美兼容MCS-52指令系统,包括8位中央处理器和Flash存储单元,AT89C51功能强大、试用范围非常广。
主要功能特性:
引脚完全兼容MCS-52产品
具有4K字节的可重擦写Flash闪存
1000次擦写周期2个读写中断口线
全静态操作:
0Hz-24MHz
三级加密程序存储器
128*4字节内部RAM32可编程双向I/O线
3个16位定时器/计数器
2个外部中断源,共6个中断源
可编程串行UART通道
低功耗的空间和掉电模式
软件设置睡眠和唤醒功能
3.2.1.2单片机各引脚功能介绍
AT89C52由40脚双列直插包装的8位通用微处理器组成,使用常用的C52内核,它主要用于会聚调整功能的控制。
功能主要有对会聚主IC内部寄存器、数据RAM及外部接口等部件的初始化,会聚调整控制,会聚测试图控制,红外遥控信号IR的接收解码及与主板CPU通信等。
·P0口:
P0口是8位的漏极开路型双向的I/O口,即为地址/数据总线复用口。
如果被当作输出口,每位可以吸收电流的形式驱动8个TTL逻辑门电路,对端口P0写“1”时,起作用变为高阻抗输入。
当需要访问外部数据存储器或程序存储器时,这组口线分时转换地址(低8位)和数据总线复用,期间可以激活内部上拉电阻。
在Flash编程时,P0口负责接受指令字节,但是在程序校验的时候,需要输出指令字节,校验时需要外接上拉电阻。
·P1口:
P1是一个带在内部上拉电阻的8位的双向I/O口,P1的输出缓冲级可驱动(吸取或输出电流)4个TTL逻辑门电路。
对端口写“1”,经过里面的上拉电阻把端口拉至高电平,就可作输入口使用。
作输入口用时,因为里面存在上拉电阻,某引脚被外部的信号拉低时会输出一个电流(IIL)。
与AT89C51不同之处是,P1.0和P1.1还有作为定时/计数器2的外部计数输入(P1.0/T2)和输入(P1.1/T2EX)的功能,Flash编程和程序校验的时候,P1接收低8位地址。
·P2口:
P2是一个带有上拉电阻的8位双向的I/O口,P2的输出缓冲级能够驱动(吸收或输出电流)4个TTL逻辑门电路。
将端口P2写“1”,通过内部的上拉电阻来港的高水平,此时,可作为输入,作为输入使用时,因为内部上拉电阻,如果某个引脚被外部信号拉低的时候就会输出一个电流(IIL)。
当访问外部程序存储器或16位地址的外部数据存储器时,P2口送出高8位的地址数据。
当访问8位地址的外部数据存储器时,P2口输出P2锁存器的内容。
编程或检查,P2也获得了很高的地址和控制信号。
·P3口:
P3口是一组带有内部上拉电阻的8位双向I/O口。
P3口输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。
对P3口写入“1”时,它们被内部上拉电阻拉高并可作为输入端口。
此时,被外部拉低的P3口将用上拉电阻输出电流(IIL)。
P3口除了作为一般的I/O口线外,此外,它的第二功能P3口还接收一些可以用于Flash闪速存储器编程与程序校验的控制信号才是最重要的。
3.2.1.3单片机特殊功能寄存器介绍
·数据存储器:
AT89C52有256个字节内部RAM,80H-FFH高128个字节与特殊功能寄存器(SFR)地址是重复的,虽然物理上分开,但是高128字节的RAM与特殊功能寄存器的地址相同。
当一条指令访问7FH以上地址单元的时候,指令中使用不同的寻址方式,即为究竟是访问高128字节RAM还是访问特殊功能寄存器是由寻址方式决定的。
直接寻址方式对应的是访问特殊功能寄存器。
·定时器0和定时器1:
AT89C52的定时器0和定时器1的工作方式与AT89C51相同。
·2定时器:
定时器2是一个16位定时器/计数器。
不仅仅可以当定时器用,而且可用作外部事件计数器,特殊功能的寄存器T2CON的C/T2位负责选择它的工作方式。
定时器2一共有三种工作方式:
捕获方式,向上或向下计数方式以及波特率发生器方式,T2CON的控制位来决定其工作方式。
3.2.2DS18B20简介
DS18B20温度传感器是美国达拉斯(DALLAS)半导体公司推出的应用单总线技术的数字温度传感器[5]。
该器件将半导体温敏器件、A/D转换器、存储器等做在一个很小的集成电路芯片上。
本设计中温度传感器之所以选择单线数字器件DS18B20,是在经过多方面比较和考虑后决定的,主要有以下几方面的原因:
(1)系统的特性:
测温范围为-55℃~+125℃,测温精度为士0.5℃;温度转换精度9~12位可变,能够直接将温度转换值以16位二进制数码的方式串行输出;12位精度转换的最大时间为750ms;可以通过数据线供电,具有超低功耗工作方式。
(2)系统成本:
由于计算机技术和微电子技术的发展,新型大规模集成电路功能越来越强大,体积越来越小,而价格也越来越低。
一支DS18B20的体积与普通三极管相差无几,价格只有十元人民币左右。
(3)系统复杂度:
由于DS18B20是单总线器件,微处理器与其接口时仅需占用1个I/O端口且一条总线上可以挂接几十个DS18B20,测温时无需任何外部元件,因此,与模拟传感器相比,可以大大减少接线的数量,降低系统的复杂度,减少工程的施工量。
(4)系统的调试和维护:
由于引线的减少,使得系统接口大为简化,给系统的调试带来方便。
同时因为DS18B20是全数字元器件,故障率很低,抗干扰性强,因此,减少了系统的日常维护工作。
DS18B20温度传感器只有三根外引线:
单线数据传输总线端口DQ,外供电源线VDD,共用地线GND。
DS18B20有两种供电方式:
一种为数据线供电方式,此时VDD接地,它是通过内部电容在空闲时从数据线获取能量,来完成温度转换,相应的完成温度转换的时间较长[6]。
这种情况下,用单片机的一个I/O口来完成对DS18B20总线的上拉。
另一种是外部供电方式(VDD接+5V),相应的完成温度测量的时间较短。
3.2.2.1DS18B20主要特性
DS18B20的引脚图如图3-6所示。
独特的单线接口仅需要一个端口引脚进行通信;多个DS18B20可以并联在惟一的三线上,实现多点组网功能;无须外部器件;可通过数据线供电,电压范围为3.0~5.5V;零待机功耗;温度以9或12位数字;用户可定义报警设置;报警搜索命令识别并标志超过程序限定温度(温度报警条件)的器件;负电压特性,电源极性接反时,温度计不会因发热而烧毁,但不能正常工作。
DS18B20的引脚功能描述如表3-1所示。
图3-6DS18B20的引脚排列
表3-1DS18B20引脚功能描述
序号
名称
引脚功能描述
1
GND
地信号
2
DQ
数字输入输出引脚,开漏单总线接口引脚,当使用寄生电源时,可向电源提供电源
3
VDD
可选择的VDD引脚,当工作于寄生电源时,该引脚必须接地
3.2.2.2DS18B20内部结构
DS18B20的内部框图如图3-7所示。
64位ROM存储器件独一无二的序列号。
暂存器包含两字节(0和1字节)的温度寄存器,用于存储温度传感器的数字输出。
暂存器还提供一字节的上线警报触发(TH)和下线警报触发(TL)寄存器(2和3字节),和一字节的配置寄存器(4字节),使用者可以通过配置寄存器来设置温度转换的精度。
暂存器的5、6和7字节器件内部保留使用。
第八字节含有循环冗余码(CRC)。
图3-7DS18B20的内部框图
该技术采用单根信号线,既可传输时钟,也能传输数据,而且是双向传输。
适用于单主机系统,主机能够控制一个或多个从机设备,通过一个漏极开路或三态端口连至该数据线,以允许设备在不发送数据时能释放该线,而让其他设备使用。
单线通常要求外接一个5K的上拉电阻,这样当该线空闲时,其状态为高电平。
主机和从机之间的通讯分成三个步骤:
初始化单线器件、识别单线器件和单线数据传输[7]。
单线1—wire协议由复位脉冲、应答脉冲、写0、写1、读0、读1,这几种信号类型实现,这些信号中除了应答脉冲其他都由主机发起,并且所有指令和数据字节都是低位在前。
DS18B20直接将测量温度值转化为数字量提交给单片机,工作时必须严格遵守单总线器件的工作时序。
表3-2部分温度值与DS18B20输出的数字量对照表
温度值/℃数字输出(二进制)数字输出(十六进制)
+125000001111101000007D0H
+8500000101010100000550H
+25.62500000001100100010191H
+10.125000000001010001000A2H
+0.500000000000010000008H
000000000000000000000H
-0.51111111111111000FFF8H
-10.1251111111101101110FF5EH
-25.6251111111101101111FF6FH
-551111110010010000FC90H
3.2.3LCD1602简介
1602液晶也叫1602字符型液晶,它是一种专门用来显示字母、数字、符号等的点阵型液晶模块。
它由若干个5X7或者5X11等点阵字符位组成,每个点阵字符位都可以显示一个字符,每位之间有一个点距的间隔,每行之间也有间隔,起到了字符间距和行间距的作用,正因为如此所以它不能很好地显示图形(用自定义CGRAM,显示效果也不好)。
1602LCD是指显示的内容为16X2,即可以显示两行,每行16个字符液晶模块(显示字符和数字)。
3.2.3.1LCD1602主要技术参数
管脚:
1602采用标准的16脚接口,其中:
第1脚:
GND为电源地
第2脚:
VCC接5V电源正极
第3脚:
V0为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高(对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度)。
第4脚:
RS为寄存器选择,高电平1时选择数据寄存器、低电平0时选择指令寄存器。
第5脚:
RW为读写信号线,高电平
(1)时进行读操作,低电平(0)时进行写操作。
第6脚:
E(或EN)端为使能(enable)端,高电平
(1)时读取信息,负跳变时执行指令。
第7~14脚:
D0~D7为8位双向数据端。
第15~16脚:
空脚或背灯电
源。
15脚背光正极,16脚背光负极。
特性:
3.3V或5V工作电压,对比度可调
内含复位电路
提供各种控制命令,如:
清屏、字符闪烁、光标闪烁、显示移位等多种功能
有80字节显示数据存储器DDRAM
内建有192个5X7点阵的字型的字符发生器CGROM
8个可由用户自定义的5X7的字符发生器CGRAM
特征应用:
微功耗、体积小、显示内容丰富、超薄轻巧,常用在袖珍式仪表和低功耗应用系统中。
操作控制
注:
关于E=H脉冲——开始时初始化E为0,然后置E为1。
字符代码0x00~0x0F为用户自定义的字符图形RAM(对于5X8点阵的字符,可以存放8组,5X10点阵的字符,存放4组),就是CGRAM了。
0x20~0x7F为标准的ASCII码,0xA0~0xFF为日文字符和希腊文字符,其余字符码(0x10~0x1F及0x80~0x9F)没有定义。
以下是1602的16进制ASCII码表地址:
读的时候,先读上面那行,再读左边那列,如:
感叹号!
的ASCII为0x21,字母B的ASCII为0x42(前面加0x表示十六进制)。
指令码:
功能令:
RS
R/W
D7
D6
D5
D4
D3
D2
D1
D0
说明
清显示
0
0
0
0
0
0
0
0
0
1
将DDRAM填满"20H",并且设定DDRAM的地址计数器(AC)到"00H"
归位
0
0
0
0
0
0
0
0
1
*
设定DDRAM的地址计数器(AC)到"00H",并且将游标移到开头原点位置;这个指令不改变DDRAM的内容
显示开关控制指令
0
0
0
0
0
0
1
D
C
B
[D=1:
整体显示ON],[C=1:
游标ON],[B=1:
游标位置反白允许]
进入模式设置指令
0
0
0
0
0
0
0
1
I/D
S
I/D=1,光标或闪烁向右移动,AC增加1。
I/D=0,光标或闪烁向左移动,AC减少1,S整个显示移动
光标或显示移位指令
0
0
0
0
0
1
S/C
R/L
*
*
光标或显示移位指令可使光标或显示在没有读写数据的情况下,向左或向右移动,指令不改变DDRAM的内容
功能设定
0
0
0
0
1
DL
N
F
*
*
[DL=0/1:
4/8位数据],[N=0/1,单行/双行显示],[F=0/1,5*8/5*10点阵显示模式]
设置CGRAM地址
0
0
0
1
AC5
AC4
AC3
AC2
AC1
AC0
CGRAM地址设置指令设置CGRAM地址指针,
设定DDRAM地址
0
0
1
0
AC5
AC4
AC3
AC2
AC1
AC0
DDRAM地址设置指令设置DDRAM地址。
一行地址范围00H~4FH,两行DDRAM地址第一行00H~27H,第二行40H~67H,加上高2位,[一行:
80H-A7H],[二行:
C0H-E7H]
读忙标志和地址
0
1
BF
AC6
AC5
AC4
AC3
AC2
AC1
AC0
BF:
忙标志位,BF=1,模块正在进行内部操作,此时模块不接受任何外部指令和数据。
BF=0,模块可以接受外部的指令和数据;同时可以读出地址计数器(AC)的值。
写RAM指令
1
0
D7
D6
D5
D4
D3
D2
D1
D0
将数据D7-D0写入到内部的RAM(DDRAM/CGRAM/IRAM/GRAM),将用户自定义的字符写入CGRAM中,D7~D5为000,D4~D0为5点的字模数据
读RAM指令
1
1
D7
D6
D5
D4
D3
D2
D1
D0
从内部RAM读取数据D7——D0(DDRAM/CGRAM/IRAM/GRAM)
3.2.4继电器简介
继电器(英文名称:
relay)是一种电控制器件,是当输入量(激励量)的变化达到规定要求时,在电气输出电路中使被控量发生预定的阶跃变化的一种电器。
它具有控制系统(又称输入回路)和被控制系统(又称输出回路)之间的互动关系。
通常应用于自动化的控制电路中,它实际上是用小电流去控制大电流运作的一种“自动开关”。
故在电路中起着自动调节、安全保护、转换电路等作用。
电磁继电器一般由铁芯、线圈、衔铁、触点簧片等组成的。
只要在线圈两端加上一定的电压,线圈中就会流过一定的电流,从而产生电磁效应,衔铁就会在电磁力吸引的作用下克服返回弹簧的拉力吸向铁芯,从而带动衔铁的动触点与静触点(常开触
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 51 单片机 温度 控制系统 课程设计