《基于51单片机的数字温度测量控制系统设计计控课设(共9页).doc》由会员分享,可在线阅读,更多相关《基于51单片机的数字温度测量控制系统设计计控课设(共9页).doc(9页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、精选优质文档-倾情为你奉上二一一二一二学年 第一学期信息科学与工程学院自动化系课程设计报告书姓 名: 徐 曙 学 号: 9 班 级: 自动化 课程名称: 计算机控制与接口技术 指导教师: 潘 炼 2011年 12月 15日设计题目:数字温度测量控制系统本设计是一个数字温度测量及控制系统,能测柜内的温度,并能在超限的情况下进行控制、调整,并报警。保证环境保持在限定的温度中。1 .电路的总体工作原理温度控制系统采用AT89S51八位单片机作为微处理单元进行控制。采用4X4键盘把设定温度的最高值和最低值存入单片机的数据存储器,还可以通过键盘完成温度检测功能的转换。温度传感器把采集的信号与单片机里的数
2、据相比较来控制温度控制器。系AT89S51温度控制报警电路显示电路温度传感器键盘设定统框图如图1所示图 1 系统框图根据系统的设计要求,选择DS18B20作为本系统的温度传感器,选择单片机AT89S51为测控系统的核心来完成数据采集、处理、显示、报警等功能。选用数字温度传感器DS18B20,省却了采样保持电路、运放、数模转换电路以及进行长距离传输时的串并转换电路,简化了电路,缩短了系统的工作时间,降低了系统的硬件成本。2 .总体设计思路温度传感器DS18B20把所测得的温度发送到AT89S51单片机上,经过51单片机处理,将把温度在显示电路上显示,本系统显示器为点阵字符LCD,1602液晶模块
3、。检测范围5摄氏度到60摄氏度。本系统除了显示温度以外还可以设置一个温度值,对所测温度进行监控,当温度高于或低于设定温度时,开始报警并启动相应程序(温度高于设定温度时,风扇开;当温度低于设定温度时,加热器开)。3 .系统的硬件设计3.1单片机最小系统,如图2所示图2 单片机最小系统3.2 温度传感器由于DS18B20芯片将温度传感器、信号放大调理、A/D转换、接口全部集成于一芯片,与单片机连接简单、方便,与AD590相比是更新一代的温度传感器,所以温度传感器采用DS18B20。DS18B20的性能特点:采用单总线专用技术,既可通过串行口线,也可通过其它I/O口线与微机接口,无须经过其它变换电路
4、,直接输出被测温度值(9位二进制数,含符号位)测温范围为-55- +125,测量分辨率为0.0625内含64位经过激光修正的只读存储器ROM 适配各种单片机或系统机用户可分别设定各路温度的上、下限 内含寄生电源。DS18B20内部结构主要由四部分组成:64位光刻ROM,温度传感器,非挥发的温度报警触发器TH和TL,高速暂存器。DS18B20的管脚排列如图3.2所示。 图 3 DS18B20管脚图CPU对DS18B20的访问流程是:先对DS18B20初始化,再进行ROM操作命令,最后才能对存储器操作,数据操作。DS18B20每一步操作都要遵循严格的工作时序和通信协议。如主机控制DS18B20完成
5、温度转换这一过程,根据DS18B20的通讯协议,须经三个步骤:每一次读写之前都要对DS18B20进行复位,复位成功后发送一条ROM指令,最后发送RAM指令,这样才能对DS18B20进行预定的操作。3.3 温度控制电路的设计图 4 温度控制电路3.4 显示电路 本设计显示电路采用两位共阳极LED数码管来显示测量得到的温度值。 一个LED数码管只能显示一位的字符,如果字符位数不止一位,可以用几个数码管组成,但要控制多位的显示电路需要有字段控制和字位控制,字段控制是指控制所要显示的字符是什么,控制电路应将字符的七段码通过输出口连接到LED的ag引脚,是某些段点亮,某些段处于熄灭状态。字位控制是指控制
6、在多位显示器中,哪几位发光或那几位不发光,字位控制则需要通过字位码作用于LED数码管的公共引脚,是某一位或某几位的数码管可以发光。数码管显示电路分为动态显示和静态显示。在此选用动态显示方式.动态显示又称为扫描显示方式,也就是在某一时刻只能让一个字位处于选通状态,其他字位一律断开,同时在字段线上发出该位要显示的字段码,这样在某一时刻某一位数码管就会被点亮,并显示出相应的字符。下一时刻改变所显示的字位和字段码,点亮另一个数码管,显示另一个字符。绕后一次扫描轮流点亮其他数码管,只要扫描速度快,利用人眼的视觉残留效应,会使人感觉到几位数码管都在稳定的显示。 本设计采用数码管动态显示,电路如图5所示:图
7、 5 数码管显示电路4 .系统的软件设计从软件的功能不同可分为两大类:一是监控软件(主程序),它是整个控制系统的核心,专门用来协调各执行模块和操作者的关系。二是执行软件(子程序),它是用来完成各种实质性的功能如测量、计算、显示、通讯等。每一个执行软件是一个小的功能执行模块。这里将各执行模块一一列出,并为每一个执行模块进行功能定义和接口定义。各执行模块规划好后,就可以规划监控程序了。首先要根据系统的总体功能选择一种最合适的监控程序结构,然后根据实时性的要求,合理地安排监控软件和各执行模块之间地调度关系。主程序是系统的监控程序,在程序运行的过程中必须先经过初始化,包括键盘程序,中断程序,以及各个控
8、制端口的初始化工作。流程图如4.1 所示。系统在初始化完成后就进入温度测量程序,实时的测量当前的温度并通过显示电路在LCD上显示。程序中以中断的方式来重新设定温度的上下限。根据硬件设计完成对温度的控制。按下4*4键盘上的A键可以设定温度上限,按下B键可以设定温度下限。系统软件设计的总体流程图开始系统初始化开中断Int0=0?YN温度上下限设定温度测量温度测量显示系统图 6 系统总体设计流程图主要代码:DI EQU P3.3DO EQU P3.4CLK EQU P3.5CS EQU P3.6 D2RS EQU P2.7D2RW EQU P2.6D2E EQU P2.5KEYPORT EQU P1
9、 ; 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 LCALL DIS_CMD _WRT MOV R0,#38H ;8位数据接口,双行显示,
10、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 XIANZZZ2: CLR P2.0 CLR P2.1 JMP XIANINT0: ;扫描键
11、盘程序 LCALL ASKSAO: CLR 01H LCALL KEY JNB 01H,SAO CJNE A,#10,PAN LCALL ANSW RETIPAN: CJNE A,#12,SAO RETI ;显示函数部分,可供调用5. 设计小结温度传感器DS18B20外形像一个小三极管,硬件连接非常简单,应用非常方便。它不仅能测量温度,而且也是一个ADC转换器,它能将测得的温度信号直接转换成数字信号输入到单片机。硬件开销较小,相对需要复杂的软件进行补偿,DS18B20软件编程比较复杂,但是可以把复位、读和写3个基本操作的子程序看成是3个固定的基本模块。从这次的课程设计中,我真真正正的意识到,在以后的学习中,要理论联系实际,把我们所学的理论知识用到实际当中,学习单机片机更是如此,程序只有在经常的写与读的过程中才能提高,这就是我在这次课程设计中的最大收获。最后,还要感谢我的指导老师和热心的同学,在他们的帮助下我的毕业设计才能顺利完成,谢谢你们!6. 参考文献1孙育才.单片微型计算机及其应用.东南大学出版社.20042沈德金 陈粤初.单片机接口电路与应用程序实例.北京航天航空大学出版社.1990. 3潘新民 王燕芳.微型计算机控制技术.电子工业出版社2003 专心-专注-专业