毕业设计(论文)-基于AT89S51单片机的数字温度测量及显示系统设计.doc_第1页
毕业设计(论文)-基于AT89S51单片机的数字温度测量及显示系统设计.doc_第2页
毕业设计(论文)-基于AT89S51单片机的数字温度测量及显示系统设计.doc_第3页
毕业设计(论文)-基于AT89S51单片机的数字温度测量及显示系统设计.doc_第4页
毕业设计(论文)-基于AT89S51单片机的数字温度测量及显示系统设计.doc_第5页
已阅读5页,还剩29页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

电子科技大学毕业设计电子科技大学 微电子与固体电子学院 毕业设计报告题目:基于at89s51单片机的数字温度测量及显示系统设计课 题 类 别:论文实践报告 学 生 姓 名: 学 号: 班 级:专业(全称):电子信息工程指 导 教 师 :李老师2010年 10月24摘要随着科技的不断进步,在工业生产中温度是常用的被控参数,而采用单片机来对这些被控参数进行控制已成为当今的主流。本文介绍了数字温度测量及自动控制系统的设计。本文采用单片机来实现对温度的控制。它的主要组成部分有:at89s51单片机、温度传感器、键盘与显示电路、温度控制电路。它可以实时的显示和设定温度,实现对温度的自动控制。通过测试表明,本设计对温度的控制有方便、简单的特点,从而大幅提高了被控温度的技术指标。关键词: 单片机 温度传感器 键盘和显示 目录第1 章 方案论证- 4 -1.1 题目分析- 4 -1.1.1 具体指标- 4 -1.1.2 具体控制要求- 4 -第2章 系统的硬件设计- 5 -2.1 单片机最小系统的设计- 5 -2.2 温度传感电路设计- 6 -2.3 温度控制电路的设计- 6 -2.4 键盘电路的设计- 6 -2.5 显示电路的设计- 10 -第3章 系统的软件设计- 11 -3.1 系统的主程序设计- 11 -3.2 中断程序的设计- 11 -第4章 系统的控制- 13 -4.1 温控电路及报警电路的控制- 13 -4.2 lcd显示电路的控制- 14 -4.3 使用说明- 14 -第5章 全文总结- 15 -5.1 经济效益分析- 15 -5.2 社会效益分析- 15 -致谢- 17 -参考文献- 17 -附录ii 程序- 18 - 第- 8 -页 第1章 方案论证本章主要对毕业设计的题目进行了分析,根据要实现的功能,采用一种合适的方案来完成本次的设计。1.1 题目分析本设计是一个数字温度控制系统,能测量温度,并能在超限的情况下进行控制、调整,并报警。1.1.1 具体指标正常工作温度范围: 560温度误差:1 1.1.2 具体控制要求根据设计的要求,要利用温度传感器实时温度。当温度高于设定的温度时(60),打开降温装置进行调整使温度在设定的范围内。当温度低于设定的温度时(5),打开升温装置进行调整使温度在设定的范围内。同时要求能设定温度。毕业设计的主要任务是能对温度进行自动的检测和控制。设计中采用单片机来控制温度,因此要有温度的采集电路,键盘显示电路,温控电路,报警电路等几个部分。要实现系统的设计要用到的知识点有单片机的原理及其应用,温度传感器的原理和应用,及键盘和显示电路的设计等。第2章 系统的硬件设计2.1单片机最小系统的设计目前的单片机开发系统只能够仿真单片机,却没有给用户提供一个通用的最小系统。由设计的要求,只要做很小集成度的最小系统应用在一些小的控制单元。其应用特点是:(1)全部i/o口线均可供用户使用。 (2)内部存储器容量有限(只有4kb地址空间)。 (3)应用系统开发具有特殊性图 2.1 最小系统图单片机最小系统如图3.1所示,其中有4个双向的8位并行i/o端口,分别记作p0、p1、p2、p3,都可以用于数据的输出和输入,p3口具有第二功能为系统提供一些控制信号。时钟电路用于产生mcs-51单片机工作所必须的时钟控制信号,内部电路在时钟信号的控制下,严格地按时序指令工作。mcs-51内部有一个用于构成振荡器的高增益反向放大器,该高增益反向放大器的输入端为芯片的引脚xtal1,输出端为xtal2。这两个引脚跨接石英晶体振荡器和微调电容,就构成了一个稳定的自激振荡器。电路中的微调电容通常选择为30pf左右,该电容的大小会影响到振荡器频率的高低、振荡器的稳定性和起振的快速性。晶体的振荡频率为12mhz。把ea脚接高电平,单片机访问片内程序存储器,但在pc值超过0fffh(4kbyte地址范围)时,将自动转向执行外部程序存储器内的程序。mcs-51的复位是由外部的复位电路来实现。采用最简单的外部按键复位电路。按键自动复位是通过外部复位电路的来实现的.我们选用时钟频率为12mhz,c1取47f。2.2 温度传感电路设计ds18b20的性能特点:采用单总线专用技术,既可通过串行口线,也可通过其它i/o口线与微机接口,无须经过其它变换电路,直接输出被测温度值(9位二进制数,含符号位)测温范围为-55-+125,测量分辨率为0.0625内含64位经过激光修正的只读存储器rom适配各种单片机或系统机用户可分别设定各路温度的上、下限内含寄生电源。ds18b20内部结构主要由四部分组成:64位光刻rom,温度传感器,非挥发的温度报警触发器th和tl,高速暂存器。ds18b20的管脚排列如图3.2所示。 图2.2 ds18b20管脚图在硬件上,ds18b20与单片机的连接有两种方法,一种是vcc接外部电源,gnd接地,i/o与单片机的i/o线相连;另一种是用寄生电源供电,此时udd、gnd接地,i/o接单片机i/o。无论是内部寄生电源还是外部供电,i/o口线要接5k左右的上拉电阻.我们采用的是第一种连接方法,如图2.3所示:把ds18b20的数据线与单片机的13管脚连接,再加上上拉电阻。图 2.3 温度传感电路图ds18b20有六条控制命令,如表2.1所示:表2-1 ds18b20控制命令指 令 约定代码 操 作 说 明 温度转换 44h 启动ds18b20进行温度转换 读暂存器 beh 读暂存器9个字节内容 写暂存器 4eh 将数据写入暂存器的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指令,最后发送ram指令,这样才能对ds18b20进行预定的操作。2.3 温度控制电路的设计图 2.4 温度控制电路实际电路如图2.4所示,通过键盘设定温度的上下限。把实际测量的温度和设定的上下限进行比较,来控制p0.0、p0.1、p0.7端口的高低电平。把p0.0、p0.1、p0.7端口分别与三极管的基极连接来控制温度和报警。当测量的温度超过了设定的最高温度,p2.2由高电平变成低电平,就相当于基极输入为“0”,这时三极管导通推动小风扇和控制电路工作,反之,当基极输入为“1”时,三极管不导通,报警器和控制电路都不工作。只要控制单片机的p0.0、p0.1、p0.7口的高低电平就可以控制模拟电路的工作。2.4 键盘电路的设计如图2.6所示,用at89s51的并行口p1接44矩阵键盘,以p1.0p1.3作输入线,以p1.4p1.7作输出线;液晶显示器上显示每个按键的“0f”序号。对应的按键的序号排列如图2.5所示:图 2.5 按键的序号排列图图2.6中微处理单元是at89s51单片机,x1和x2接12m的两脚晶振,接两个30pf的起振电容,j1是上拉电阻.单片机的p1口8位引脚与行列式键盘输出脚相连,控制和检测行列式键盘的输入.行线通过上拉电阻接到+5v上,无按键按下时,行线处于高电平状态,有键按下时,行线的电平状态将由与此行线相连接的列线的电平决定.键盘输入的信息主要进程是:1 cpu判断是否有键按下.2 确定是按下的是哪个键.3 把此键所代表的信息翻译成计算机可以识别的代码或者其他的特征符号. 图 2.6 键盘硬件电路图2.5 显示电路的设计液晶显示器是一种将液晶显示器件,连接器件,集成电路,pcb线路板,背光源,结构器件装配在一起的组件。根据显示内容和方式的不同可以分为,数显lcd,点阵字符lcd,点阵图形lcd在此设计中我们采用点阵字符lcd,这里采用常用的2行16个字的1602液晶模块。1602采用标准的14脚接口,其中:第1脚:vss为地电源第2脚:vdd接5v正电源第3脚:v0为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高,对比度过高时会产生“鬼影”,使用时可以通过一个10k的电位器调整对比度 第4脚:rs为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。 第5脚:rw为读写信号线,高电平时进行读操作,低电平时进行写操作。当rs和rw共同为低电平时可以写入指令或者显示地址,当rs为低电平rw为高电平时可以读忙信号,当rs为高电平rw为低电平时可以写入数据。 第6脚:e端为使能端,当e端由高电平跳变成低电平时,液晶模块执行命令。第714脚:d0d7为8位双向数据线。 第1516脚:空脚。与单片机的连接如图2.7所示。图 2.7 液晶显示电路图第3章 系统的软件设计3.1 系统的主程序设计主程序是系统的监控程序,在程序运行的过程中必须先经过初始化,包括键盘程序,中断程序,以及各个控制端口的初始化工作。流程图如3.1 所示。系统在初始化完成后就进入温度测量程序,实时的测量当前的温度并通过显示电路在lcd上显示。程序中以中断的方式来重新设定温度的上下限。根据硬件设计完成对温度的控制。按下4*4键盘上的a键可以设定温度上限,按下b键可以设定温度下限。系统软件设计的总体流程图开始系统初始化开中断int0=0?yn温度上下限设定温度测量温度测量显示系统图 3.1 系统总体设计流程图4.2 中断程序的设计mcs-51单片的中断系统有5个中断请求源,用户可以用关中断指令“clr ea”来屏蔽所有的中断请求,也可以用开中断指令“set ea”来允许cpu接收中断请求。在本设计中我们选用into 来作为中断请求源。int1外部中断请求0,由into引脚输入,中断请求标志为ie0。org 0000hljmp mainorg 0003h (中断入口地址)jmp int0org 0038h (主程序的起始地址) main: (主程序)mcs-51响应中断后,就进入中断服务程序,中断程序的基本流程图如下图 关 中 断 现场保护开 中 断中断处理关 中 断现场恢复开 中 断中断返回图 3.2 中断服务程序基本流程第34页 第4章 系统的控制本章对系统的硬件控制进行概述。分别对温度控制电路,报警电路及lcd液晶显示电路进行说明。4.1 温控电路及报警电路的控制单片机的p0.0、p0.1、p0.7分别与三极管的基极连接来控制控制温度(图4.1)和报警(图4.2)。利用面包板搭了一个pnp9012的偏置电路电路如图3-4。基极输入为“0”时,这时三极管导通推动报警器和控制电路工作,当基极输入为“1”时,三极管不导通,报警器和控制电路都不工作。只要控制单片机的p0.0、p0.1、p0.7口的高低电平就可以控制模拟电路的工作。 图 4.1 硬件控制电路 图 4.2 硬件报警电路4.2 lcd显示电路的控制把8根数据线和p2口连接,把3根控制线和p2.5、p2.6、p2.7连接。给vcc端加上+5v的电压,gnd端接地。vee端的驱动电压不要过大,要调节滑动变阻器使vee在0.7伏以下显示器才能工作。4.3 使用说明键盘中阿拉伯数字09是数据输入键,a键是写上限的功能键,b键是写下限的功能键,c键是取消键,其他的键置空。第5章 全文总结5.1 经济效益分析本系统的设计,是为了保证某特定环境温度维持在设定的范围内,以保证工作系统在稳定的状态下工作。本系统的设计成本很低,总成本不超过50元人民币。如果采用大批量生产的话,生产成本会更低。在市场上的温度自动控制系统的价格在百元人民币以上。对于本系统的使用者来说,本系统能够很稳定的控制温度而且稳定性很高。只要配上适当的温度传感器,这个系统便还可以实现很多领域的温度自动控制。这对于提高系统的利用率,避免重复设计有很大的帮助的。在本系统的作用下,可以为工作系统提供一个良好的环境,使产品的数量和质量有很大的提高。使得产品的生产成本降低,从而使系统的使用者获得的利润提高了。通过分析表明:本系统是一个性价比比较好的系统,不论对于生产者还是使用者来说,它都可以带来好的经济效益。5.2 社会效益分析本设计是以at89s51为核心,利用软硬件相结合的自动控制的典型例子。在单片机自动控制已经广泛的应用于人们的生产和生活的今天,传统用模拟电路来控制温度的做法,已经逐渐被淘汰。这个系统的实现,改变了传统的温度控制方法,为温度的控制开辟了一条新的道路。根据我国的科技和工业水平,这个系统的设计是符合工业生产的需要。实现我国的工业化,自动控制是其中的一个重要目标,自动控制系统正广泛的应用于工业生产和人们的日常生活。本系统的设计成功知识实现自动控制的“冰山一角”,但它为以后更加智能化、人性化的自动控制系统的设计,作了铺垫。因此这种系统的设计具有比较好的社会效益。经过四个多月的方案论证、系统的硬件和软件的设计、系统的调试。查阅了大量的关于传感器、单片机及其接口电路、以及控制方面的理论。经过了一番特殊的体验后,经历了失败的痛苦,也尝到了成功的喜悦。第一次靠用所学的专业知识来解决问题。检查了自己的知识水平,使我对自己有一个全新的认识。通过这次毕业设计,不仅锻炼自己分析问题、处理问题的能力,还提高了自己的动手能力。这些培养和锻炼对于我们这些即将走向工作岗位的大学生来说,是很重要的。这次毕业设计基本的完成了任务书的要求,实现了温度的控制。通过测试表明系统的设计是正确的,可行的。但是由于设计者的设计经验和知识水平有限,系统还存在许多不足和缺陷。致谢在本次毕业设计中,不仅自己付出了很多心血,也得到了很多老师和同学的支持,为我创造了很多有利条件,在这里,我要特别感谢我的导师魏宏老师,在毕业设计的开始,魏老师给了我很多帮助,指导我了解了很多单片机的相关知识,并在当我设计遇到困难时,及时的给予帮助和鼓励,同时,对我其他学科的鼓励也渗透在毕业设计的同时,给了我莫大的信心,为我顺利完成毕业设计起到了非常重要的作用。同时。我还要感谢实习组及实验室的所有老师,为我的毕业设计提供了非常便利的条件。最后还要感谢帮助我的同学,在我遇到困难时给予我耐心的帮助。再次对在本次毕业设计中给予过我帮助的老师和同学至上我最真挚的谢意。参考文献1 沙占友. 集成温度传感器原理与应用. 北京:机械工业出版社,2002, 8495.2 刘君华. 智能传感器系统. 西安:西安电子科技大学出版社,1999,83105.3 沙占友. 智能化传感器原理与应用. 北京:电子工业出版社,2004,99108.4 赵负图. 传感器集成电路手册. 北京:化学工业出版社,2002,692703.5 张毅刚. mcs-51单片机原理及应用. 哈尔滨:哈尔滨工业大学出版社,2004,8194 附录ii 程序di equ p3.3do equ p3.4clk equ p3.5cs equ p3.6 ; lcd端口定义d2rs equ 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 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 xianzzz2: 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 lcall 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_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 ;键盘程序,出口: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,#keyvaluenext_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 retkeyvalue: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 lcall 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_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,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 retinext2: mov a,r1 add a,#30h mov r0,a lcall dis_data_wrt mov a,r1 xch a,40h mov b,#10 mul ab nop clr dq clr cwr1: clr dq mov r3,#6 djnz r3,$ rr r4,#2 r1,#36h ; 低位存入36h(temper_l),高位存入35h(temper_ nop nop setb dqmov r3,#7 djnz r3,$ mov c,dq mov r3,#23 djnz r3,$ rrc a djnz r2,re01 mov

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论