《基于单片机的温度监测电路课程设计(27页).doc》由会员分享,可在线阅读,更多相关《基于单片机的温度监测电路课程设计(27页).doc(27页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、-基于单片机的温度监测电路课程设计-第 21 页唐 山 学 院 Protel DXP 课 程 设 计 题 目 基于单片机的温度监测电路 系 (部) 信息工程系 班 级 姓 名 学 号 指导教师 2013年12月 16日 至 2013年 12月 27日 共 2 周2013年 12 月 30 日 Protel DXP 课程设计任务书一、设计题目、内容及要求设计题目:1、双声道音频功率放大电路(要求具备电源、音频输入、音频输出、放大等模块)2、基于单片机的温度监测电路(要求具备电源、DS18B20测温、单片机控制、键盘预设、温度显示等模块)设计内容:1、原理图设计;2、原理图元件库的制作; 3、印制
2、电路板设计;4、印制电路板元件封装的制作。设计要求:1、熟练掌握PROTEL DXP基本操作; 2、按题目要求设计电路,要求电路设计合理,器件选择准确,布局符合电气规范。 说明:单号同学做题目1,双号同学做题目2。二、设计原始资料Protel DXP软件三、要求的设计成果(课程设计说明书、设计实物、图纸等)1、课程设计说明书2、完整的protel设计工程四、进程安排2013-12-162013-12-18 根据设计要求设计电路,选择器件;2013-12-192013-12-20 进行电子线路设计;2013-12-232013-12-24答辩;2013-12-252013-12-27 撰写课程设
3、计说明书。五、主要参考资料1 李与核.Protel DXP 2004 sp2 实用教程,清华大学出版社,2012.12 王冬.Protel DXP 2004应用100例,电子工业出版社,2011.13 薛楠.Protel DXP 2004原理图与PCB设计实用教程,机械工业出版社,2012.3指导教师(签名):教研室主任(签名):课程设计成绩评定表出勤情况出勤天数 缺勤天数成绩评定出勤情况及设计过程表现(20分)课设答辩(30分)说明书(20分)设计成果(30分)总成绩(100分)提问(答辩)问题情况综合评定 指导教师签名: 年 月 日目 录1引言12 设计任务22.1设计内容22.2设计要求
4、23原理图设计33.1电路的总体工作原理33.2 单片机最小系统的设计43.3 电源电路53.4 温度传感电路设计53.5 键盘电路的设计73.6 显示电路的设计83.7 温度控制电路的设计104 系统的软件设计114.1 系统的主程序设计114.2 中断程序的设计116 设计总结13致谢14参考文献15附录161引言在工、农业生产和日常生活中,对温度的测量及控制占据着极其重要地位。首先让我们了解一下多点温度检测系统在各个方面的应用领域:消防电气的非破坏性温度检测,电力、电讯设备之过热故障预知检测,空调系统的温度检测,各类运输工具之组件的过热检测,保全与监视系统之应用,医疗与健诊的温度测试,化
5、工、机械等设备温度过热检测。温度检测系统应用十分广阔。本设计运用主从分布式思想,由一台上位机(PC微型计算机),下位机(单片机)多点温度数据采集,组成两级分布式多点温度测量的巡回检测系统。该系统采用RS-232串行通讯标准,通过上位机(PC)控制下位机(单片机)进行现场温度采集。温度值既可以送回主控PC进行数据处理,由显示器显示。也可以由下位机单独工作,实时显示当前各点的温度值,对各点进行控制。下位机采用的是单片机基于数字温度传感器DS18B20的系统。DS18B20利用单总线的特点可以方便的实现多点温度的测量,轻松的组建传感器网络,系统的抗干扰性好、设计灵活、方便,而且适合于在恶劣的环境下进
6、行现场温度测量。本系统可以应用在大型工业及民用常温多点监测场合。如粮食仓储系统、楼宇自动化系统、温控制程生产线之温度影像检测、医疗与健诊的温度测试、空调系统的温度检测、石化、机械等。2 设计任务2.1设计内容1、原理图设计;2、原理图元件库的制作;3、印制电路板设计;4、印制电路板元件封装的制作。2.2设计要求1、熟练掌握PROTEL DXP基本操作; 2、按题目要求设计电路,要求电路设计合理,器件选择准确,布局符合电气规范。3原理图设计3.1电路的总体工作原理温度控制系统采用AT89C51八位机作为微处理单元进行控制。采用4X4键盘把设定温度的最高值和最低值存入单片机的数据存储器,还可以通过
7、键盘完成温度检测功能的转换。温度传感器把采集的信号与单片机里的数据相比较来控制温度控制器。图3.1系统框图根据系统的设计要求,选择DS18B20作为本系统的温度传感器,选择单片机AT89C51为测控系统的核心来完成数据采集、处理、显示、报警等功能。选用数字温度传感器DS18B20,省却了采样保持电路、运放、数模转换电路以及进行长距离传输时的串并转换电路,简化了电路,缩短了系统的工作时间,降低了系统的硬件成本。该系统的总体设计思路如下:温度传感器DS18B20把所测得的温度发送到AT89C51单片机上,经过51单片机处理,将把温度在显示电路上显示,本系统显示器为点阵字符LCD,1602液晶模块。
8、检测范围5摄氏度到60摄氏度。本系统除了显示温度以外还可以设置一个温度值,对所测温度进行监控,当温度高于或低于设定温度时,开始报警并启动相应程序。3.2 单片机最小系统的设计目前的单片机开发系统只能够仿真单片机,却没有给用户提供一个通用的最小系统。由设计的要求,只要做很小集成度的最小系统应用在一些小的控制单元。其应用特点是:(1)全部I/O口线均可供用户使用。 (2)内部存储器容量有限(只有4KB地址空间)。 (3)应用系统开发具有特殊性。图3.2 最小系统图单片机最小系统如图3.2所示,其中有4个双向的8位并行I/O端口,分别记作P0、P1、P2、P3,都可以用于数据的输出和输入,P3口具有
9、第二功能为系统提供一些控制信号。时钟电路用于产生MCS-51单片机工作所必须的时钟控制信号,内部电路在时钟信号的控制下,严格地按时序指令工作。MCS-51内部有一个用于构成振荡器的高增益反向放大器,该高增益反向放大器的输入端为芯片的引脚XTAL1,输出端为XTAL2。这两个引脚跨接石英晶体振荡器和微调电容,就构成了一个稳定的自激振荡器。电路中的微调电容通常选择为30pF左右,该电容的大小会影响到振荡器频率的高低、振荡器的稳定性和起振的快速性。晶体的振荡频率为12MHz。把EA脚接高电平,单片机访问片内程序存储器,但在PC值超过0FFFH(4Kbyte地址范围)时,将自动转向执行外部程序存储器内
10、的程序。MCS-51的复位是由外部的复位电路来实现。采用最简单的外部按键复位电路。按键自动复位是通过外部复位电路的来实现的。我们选用C1取47f。3.3 电源电路 因为单片机工作电源为+5V,且底层电路功耗很小。采用7805三端稳压片即可满足要求。具体电路图如下:图3.3 电源电路图3.4 温度传感电路设计DS18B20的性能特点:采用单总线专用技术,既可通过串行口线,也可通过其它I/O口线与微机接口,无须经过其它变换电路,直接输出被测温度值(9位二进制数,含符号位)。测温范围为-55-+125,测量分辨率为0.0625。内含64位经过激光修正的只读存储器ROM。适配各种单片机或系统机。用户可
11、分别设定各路温度的上、下限。内含寄生电源。DS18B20的内部结构如下图所示:图3.4 DS18B20内部结构图在硬件上,DS18B20与单片机的连接是VCC接外部电源,GND接地,I/O与单片机的I/O线相连;无论是内部寄生电源还是外部供电,I/O口线要接5K左右的上拉电阻,如图3.5所示:图3.5 温度传感电路图把DS18B20的数据线与单片机的13管脚连接,再加上上拉电阻。DS18B20有六条控制命令,如表3-1所示:表3-1 DS18B20控制命令指 令 约定代码 操 作 说 明 温度转换 44H 启动DS18B20进行温度转换 读暂存器 BEH 读暂存器9个字节内容 写暂存器 4EH
12、 将数据写入暂存器的TH、TL字节 复制暂存器 48H 把暂存器的TH、TL字节写到E2RAM中 重新调E2RAM B8H 把E2RAM中的TH、TL字节写到暂存器TH、TL字节 读电源供电方式 B4H 启动DS18B20发送电源供电方式的信号给主CPU CPU对DS18B20的访问流程是:先对DS18B20初始化,再进行ROM操作命令,最后才能对存储器操作,数据操作。DS18B20每一步操作都要遵循严格的工作时序和通信协议。如主机控制DS18B20完成温度转换这一过程,根据DS18B20的通讯协议,须经三个步骤:每一次读写之前都要对DS18B20进行复位,复位成功后发送一条ROM指令,最后发
13、送RAM指令,这样才能对DS18B20进行预定的操作。3.5 键盘电路的设计如图3.7所示,用AT89S51的并行口P1接44矩阵键盘,以P1.0P1.3作输入线,以P1.4P1.7作输出线;液晶显示器上显示每个按键的“0F”序号。键盘中阿拉伯数字09是数据输入键,A键是写上限的功能键,B键是写下限的功能键,C键是取消键,其他的键置空。对应的按键的序号排列如图3.6所示: 图3.6 按键的序号排列图图3.7中微处理单元是AT89S51单片机,X1和X2接12M的两脚晶振,接两个30PF的起振电容,J1是上拉电阻.单片机的P1口8位引脚与行列式键盘输出脚相连,控制和检测行列式键盘的输入。行线通过
14、上拉电阻接到+5V上,无按键按下时,行线处于高电平状态,有键按下时,行线的电平状态将由与此行线相连接的列线的电平决定。键盘输入的信息主要进程是:1 CPU判断是否有键按下。2 确定是按下的是哪个键。3 把此键所代表的信息翻译成计算机可以识别的代码或者其他的特征符号。 图3.7 键盘硬件电路图3.6 显示电路的设计液晶显示器是一种将液晶显示器件,连接器件,集成电路,PCB线路板,背光源,结构器件装配在一起的组件。根据显示内容和方式的不同可以分为,数显LCD,点阵字符LCD,点阵图形LCD在此设计中我们采用点阵字符LCD,这里采用常用的2行16个字的1602液晶模块。1602采用标准的14脚接口,
15、其中:第1脚:VSS为地电源第2脚:VDD接5V正电源。第3脚:V0为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高,对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度。 第4脚:RS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。 第5脚:RW为读写信号线,高电平时进行读操作,低电平时进行写操作。当RS和RW共同为低电平时可以写入指令或者显示地址,当RS为低电平RW为高电平时可以读忙信号,当RS为高电平RW为低电平时可以写入数据。 第6脚:E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。第714脚:D0D7为8位双向数据线。
16、 第1516脚:空脚。与单片机的连接如图3.8所示:图 3.8 液晶显示电路图把8根数据线和P2口连接,把3根控制线和P2.5、P2.6、P2.7连接。给VCC端加上+5V的电压,GND端接地。VEE端的驱动电压不要过大,要调节滑动变阻器使VEE在0.7伏以下显示器才能工作。3.7 温度控制电路的设计图3.9 温度控制电路下限进行比较,来控制P0.7端口的高低电平。把P0.7端口分别与三极管的基极连接来控制温度和报警。当测量的温度超过了设定的最高温度,P2.2由高电平变成低电平,就相当于基极输入为“0”,反之,当基极输入为“1”时,三极管不导通,报警器和控制电路都不工作。只要控制单片机的P0.
17、7口的高低电平就可以控制模拟电路的工作。4 系统的软件设计4.1 系统的主程序设计主程序是系统的监控程序,在程序运行的过程中必须先经过初始化,包括键盘程序,中断程序,以及各个控制端口的初始化工作。流程图如4.1 所示。系统在初始化完成后就进入温度测量程序,实时的测量当前的温度并通过显示电路在LCD上显示。程序中以中断的方式来重新设定温度的上下限。根据硬件设计完成对温度的控制。按下4*4键盘上的A键可以设定温度上限,按下B键可以设定温度下限。系统软件设计的总体流程图:开始系统初始化开中断Int0=0?YN温度上下限设定温度测量温度测量显示系统图4.1 系统总体设计流程图4.2 中断程序的设计MC
18、S-51单片的中断系统有5个中断请求源,用户可以用关中断指令“CLR EA”来屏蔽所有的中断请求,也可以用开中断指令“SET EA”来允许CPU接收中断请求。在本设计中我们选用INTO 来作为中断请求源。INT1外部中断请求0,由INTO引脚输入,中断请求标志为IE0。ORG 0000HLJMP MAINORG 0003H (中断入口地址)JMP INT0ORG 0038H (主程序的起始地址) MAIN (主程序)MCS-51响应中断后,就进入中断服务程序,中断程序的基本流程图如下图:关 中 断现场保护开 中 断中断处理关 中 断现场恢复开 中 断中断返回图4.2 中断服务程序基本流程6 设
19、计总结本系统的设计,是为了保证某特定环境温度维持在设定的范围内,以保证工作系统在稳定的状态下工作。本系统的设计成本很低,总成本不超过50元人民币。如果采用大批量生产的话,生产成本会更低。在市场上的温度自动控制系统的价格在百元人民币以上。对于本系统的使用者来说,本系统能够很稳定的控制温度而且稳定性很高。只要配上适当的温度传感器,这个系统便还可以实现很多领域的温度自动控制。这对于提高系统的利用率,避免重复设计有很大的帮助的。在本系统的作用下,可以为工作系统提供一个良好的环境,使产品的数量和质量有很大的提高。使得产品的生产成本降低,从而使系统的使用者获得的利润提高了。通过分析表明:本系统是一个性价比
20、比较好的系统,不论对于生产者还是使用者来说,它都可以带来好的经济效益。本设计是以AT89S51为核心,利用软硬件相结合的自动控制的典型例子。在单片机自动控制已经广泛的应用于人们的生产和生活的今天,传统用模拟电路来控制温度的做法,已经逐渐被淘汰。这个系统的实现,改变了传统的温度控制方法,为温度的控制开辟了一条新的道路。根据我国的科技和工业水平,这个系统的设计是符合工业生产的需要。实现我国的工业化,自动控制是其中的一个重要目标,自动控制系统正广泛的应用于工业生产和人们的日常生活。本系统的设计成功知识实现自动控制的“冰山一角”,但它为以后更加智能化、人性化的自动控制系统的设计,作了铺垫。因此这种系统
21、的设计具有比较好的社会效益。这次设计基本的完成了任务书的要求,实现了温度的控制。通过测试表明系统的设计是正确的,可行的。但是由于设计者的设计经验和知识水平有限,系统还存在许多不足和缺陷。致谢在本次毕业设计中,不仅自己付出了很多心血,也得到了很多老师和同学的支持,为我创造了很多有利条件,在这里,我要特别感谢我的老师,在毕业设计的开始,张老师给了我很多帮助,指导我了解了很多单片机的相关知识,并在当我设计遇到困难时,及时的给予帮助和鼓励,同时,对我其他学科的鼓励也渗透在设计的同时,给了我莫大的信心,为我顺利完成设计起到了非常重要的作用。同时。我还要感谢实习组及实验室的所有老师,为我的设计提供了非常便
22、利的条件。最后还要感谢帮助我的同学,在我遇到困难时给予我耐心的帮助。再次对在本次设计中给予过我帮助的老师和同学至上我最真挚的谢意。参考文献1 李与核.Protel DXP 2004 sp2 实用教程,清华大学出版社,2012.12 王冬.Protel DXP 2004应用100例,电子工业出版社,2011.13 薛楠.Protel DXP 2004原理图与PCB设计实用教程,机械工业出版社,2012.3附录附录I 温度测试子程序流程图 温度测试子程序流程图附录II 程序DI EQU P3.3DO EQU P3.4CLK EQU P3.5CS EQU P3.6 ; LCD端口定义D2RS EQU
23、 P2.7D2RW EQU P2.6D2E EQU P2.5KEYPORT EQU P1 ; DS18B20端口定义TEMPER_L EQU 36HTEMPER_H EQU 35HTEMPER_NUM EQU 38HFLAG1 BIT 00HDQ BIT P2.4ORG 0000HLJMP MAINORG 0003HJMP INT00ORG 0038HMAIN: MOV SP,#60H SETB P2.0 SETB P2.1 SETB P2.2 SETB EA SETB EX0 SETB P2.0 SEETB P2.1 SETB P2.2 MOV R0,#01H ;清屏并置地址计数器AC为0
24、LCALL DIS_CMD _WRT MOV R0,#38H ;8位数据接口,双行显示,5*7点阵 LCALL DIS_CMD _WRT CALL DIS_CUR_OFF MOV 42H,#20 MOV 43H,#32XIAN: LCALL GET_TEMPER LCALL DISP LCALL DELAY43MS MOV A,TEMPER_NUM SUBB A,42H JC ZZZL MOV A,TEMPER_NUM SUBB A,43H JNC ZZZ2 SETB P2.0 SETB P2.1 SETB P2.2 JMP XIANZZZL: CLR P2.0 CLR P2.2 JMP XI
25、ANZZZ2: CLR P2.0 CLR P2.1 JMP XIANINT0: ;扫描键盘程序 LCALL ASKSAO: CLR 01H LCALL KEY JNB 01H,SAO CJNE A,#10,PAN LCALL ANSW RETIPAN: CJNE A,#12,SAO RETI ;显示函数部分,可供调用DIS_CUR_OFF: MOV R0,#0CH LCALL DIS_CMD_WRT RETDIS_CUR_ON: MOV R0,#0EH LCALL DIS_CMD_WRT RETCHK_BUSY_FLG: MOV P0,#0FFH CLR D2RS NOP NOP NOP LC
26、ALL DISPLAY_RD JB ACC.7,CHK_BUSY_FLG RETCLEAR_DIS: MOV R0,#01H LCALL DIS_CMD_WRT RETDIS_CMD_WRT: LCALL CHK_BUSY_FLG MOV P0,R0 CLR D2RS NOP NOP NOP LCALL DISPLAY_WRT RETDIS_DATA_WRT: LCALL CHK_BUSY_FLG CJNE A,#10H,DIS_DAT_WRT1 MOV P0,#0C0H ;1100,00000行起始地址为40 CLR D2RS NOP NOP NOP LCALL DISPLAY_WRTDIS
27、_DAT_WRT1: MOV P0,R0 SETB D2RS NOP NOP NOP LCALL DISPLAY_WRT RETDISPLAY_WRT: CLR D2RW NOP NOP NOP SETB D2E NOP NOP NOP CLR D2E NOP NOP NOP RETDISPLAY_RD: SETB D2RWNOPNOPNOPSETB D2ENOPNOPNOPMOV A,P0NOPNOPNOPCLR D2ENOPNOPNOPRETDIS_DATA_RD: LCALL CHK_BUSY_FLGMOV P0,#0FFHSETB D2RSLCALL DISPLAY_RDRET ;键盘
28、程序,出口:A为按键值 01H:0无键按下 1 有键按下KEY: MOV KEYPORT,#0FH MOV A,KEYPOR CJNE A,#0FH,KEYDOWN MOV A,#0FFH RETKEYDOWN:LCALL DELAY43MS MOV KEYPORT,#0FH MOV A,KEYPORT CJNE A,#0FH,KEYDOWN_YES MOV A,#0FFH RETKEYDOWN _YES: MOV B,A MOV KEYPORT,#0F0H MOV A,KEYPORT ORL A,B PUSH 30H MOV 30H,AMOV R3,#10H MOV DPTR,#KEYVAL
29、UENEXT_KEY:MOV A,R3 MOVC A,a+dptr CJNE A,30h,NEXTKEYVALUE DEC R3 POP 30HWAITKEY_F:MOV KEYPORT,#0FH MOV A,KEYPORT CJNE A,#0FH, WAITKEY_F MOV A,R3 SETB 01H RETNEXTKEYVALUE: DJNZ R3,NEXT_KEY DEC R3 POP 30HWAITKEY_FREE: MOV KEYPORT,#0FH MOV A,KEYPORT CJNE A,#0FH, WAITKEY_FREE MOV A,R3 SETB 01H RETKEYVAL
30、UE:DB 0FFH,7EH,7DH,7BH,77H,0BEH,0BDH,0BBH,0B7H,0DEH,0DDH,0DBH,0D7H,0EEH,0EDH,0EBH,0E7HDELAY43MS: PUSH A MOV A,R3 PUSH A MOV A,R2 PUSH AMOV R3,#43DELAY: MOV R2,#0FAHLOOP:NOP ;内层循环为1MS NOP DJNZ R2,LOOPDJNZ R3,DELAY POP A MOV R2,A POP A MOV R3,A POP A RET ;确认是否修改温度设定ASK: MOV R0,#01H ;清屏并置地址计数器AC为0 LCAL
31、L DIS_CMD_WRT MOV 40H,#0ZDZ: MOV DPTR,#LINE MOV A,40H MOVC A,A+DPTR MOV R0,A LCALL DIS_DATA_WRT INC 40H MOV A,40H MOVC A,A+DPTR CJNE A,#00H,ZDZ RETLINE: DB ARE YOU SURE CHANGE T(Y/N)?,00HANSW: MOV R6,42H MOV R7,43H MOV R0,#01H LCALL DIS_CMD_WRT MOV R0,#44H CALL DIS_DATA_WRT MOV R0,#6FH CALL DIS_DATA
32、_WRT MOV R0,#77H CALL DIS_DATA_WRT MOV R0,#6EH CALL DIS_DATA_WRT MOV R0,#3AH CALL DIS_DATA_WRT MOV 40H,#0 CLR 00H JMP SAO1GAI: MOV R0,#0FEH CALL DIS_DATA_WRT MOV R0,#55H CALL DIS_DATA_WRTMOV R0,#70H CALL DIS_DATA_WRT MOV R0,#3AH CALL DIS_DATA_WRT MOV 40H,#0SAO1: CLR 01H LCALL KEY JNB 01H,SAO1 MOV R1
33、,A MOV B,#10 DIV AB JZ NEXT2 MOV A,A1 CJNE A,#11,XU JB 00H,DOWN MOV 42H,40H CPL 00H JMP GAIDOWN: MOV 43H,40H RETIXU: CJNE A,#12,SAO1 MOV 42H,R6 MOV 43H,R7 RETI DJNZ R4,RE00 RET ; 将从DS18B20中读出的温度数据进行转换TEMPER_COV: MOV A,#0f0H ANL A,TEMPER_L ; 舍去温度低位中小数点后的四位温度数值 SWAP A MOV TEMPER_NUM,A MOV A,TEMPER_L J
34、NB ACC.3,TEMPER_COV1 ; 四舍五入去温度值 INC TEMPER_NUMTEMPER_COV1:MOV A,TEMPER_H ANL A,#07H SWAP A ORL A,TEMPER_NUM MOV TEMPER_NUM,A ; 保存变换后的温度数据 RET ;AD0832: SETB DI SETB DO SETB CLK CLR CS NOP SETB CLK NOP CLR CLK NOP CALL DELAY1 SETB CS RETDELAY1: MOV R7,#10DELAY2: NOP NOP DJNZ R7,DELAY2 RET附录III 电路原理图电路原理图