毕业设计(论文)-基于AT89S52单片机的数字温度计设计与实现.doc_第1页
毕业设计(论文)-基于AT89S52单片机的数字温度计设计与实现.doc_第2页
毕业设计(论文)-基于AT89S52单片机的数字温度计设计与实现.doc_第3页
毕业设计(论文)-基于AT89S52单片机的数字温度计设计与实现.doc_第4页
毕业设计(论文)-基于AT89S52单片机的数字温度计设计与实现.doc_第5页
已阅读5页,还剩26页未读 继续免费阅读

下载本文档

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

文档简介

姓 名 专 业 班 级 微电子 论 文 名 称 数字温度计设计与实现 指 导 教 师 目录摘要:3Abstract3第一章 前言31.1 课题研究的意义41.2本课题主要的研究工作4第二章 总体方案设计52.1设计要求52.2选择方案和论证5第三章 系统硬件设计63.1硬件总设计63.2单片机介绍73.3单片机的应用83.4单片机的开发过程93.5 DS18B20介绍113.6显示电路设计123.7电路设计图12第四章 系统软件设计134.1主程序流程图134.2温度转换命令子程序134.3显示数据刷新子程序14致谢14参考文献15附录一15源程序代码15摘要:利用单片机AT89S52作为控制器,以及用改进型智能温度传感器DS18B20作为温度采集器,设计了一款数字温度计。该数字温度计能够测出-55+125 之间的温度,与传统的温度计相比,具有读数方便、测温范围广、测温准确等特点,适合日常生活、工业生产和科学研究等领域对温度测量的需要。关键词:温度测量; DS18B20; AT89S52; 数字温度计。AbstractA digital thermometer was designed with AT89C2051 MCU as controller and improved intelligent temperature sensor DS18B20 as temperature collector. The temperature between -55+125 can be measured by this digital thermo-meter. Compared with the traditional thermometer, this digital thermometer has features of convenient reading, wide range temperature measurement, accurate temperature measurement and so on, it is suitable for the requirement of temperature measurement in daily life, industrial production and scientific research fields. Keywords: temperature measurement; DS18B20; AT89C2051; digital thermometer第一章 前言 单片机技术作为计算机技术的一个分支,广泛地应用于工业控制,智能仪器仪表,机电一体化产品,家用电器等各个领域。“单片机原理与应用”在工科院校各专业中已作为一门重要的技术基础课而普遍开设。学生在课程设计,毕业设计,科研项目中会广泛应用到单片机知识,而且,进入社会后也会广泛接触到单片机的工程项目。鉴于此,提高“单片机原理及应用”课的教学效果,让学生参与课程设计实习甚为重要。单片机应用技术涉及的内容十分广泛,如何使学生在有限的时间内掌握单片机应用的基本原理及方法,是一个很有价值的教学项目。为此,我们进行了“单片机的学习与应用”方面的课程设计,锻炼学生的动脑动手以及协作能力。 单片机课程设计是针对模拟电子技术,数字逻辑电路,电路,单片机的原理及应用课程的要求,对我们进行综合性实践训练的实践学习环节,它包括选择课设任务、软件设计,硬件设计,调试和编写课设报告等实践内容。通过此次课程设计实现以下三个目标:第一,让学生初步掌握单片机课程的试验、设计方法,即学生根据设计要求和性能约束,查阅文献资料,收集、分析类似的相关题目,并通过元器件的组装调试等实践环节,使最终硬件电路达到题目要求的性能指标;第二,课程设计为后续的毕业设计打好基础,毕业设计是系统的工程设计实践,而课程设计的着眼点是让学生开始从理论学习的轨道上逐渐引向实际运用,从已学过的定性分析、定量计算的方法,逐步掌握工程设计的步骤和方法,了解科学实验的程序和实施方法。第三,培养学生勤于思考乐于动手的习惯,同时通过设计并制作单片机类产品,使学生能够自己不断地学习接受新知识(如在本课设题目中存在智能测温器件DS18B20,就是课堂环节中不曾提及的“新器件”),通过多人的合作解决现实中存在的问题,从而不断地增强学生在该方面的自信心及兴趣,也提高了学生的动手能力,对学生以后步入社会参加工作打下一定良好的实践基础。1.1 课题研究的意义随着科技的不断发展,现代社会对各种信息参数的准确度和精确度要求都有了几何的增长,而如何准确而又迅速获得这些参数就需要受制于现代信息基础的发展水品。在三大信息信息采集(即传感器技术)信息传输(通信技术)和信息处理(计算机技术)中,传感器属于信息技术的前沿尖端产品,尤其是温度传感器技术,在我国各领域已经引用的非常广泛,可以说是参透到社会的每一个领域,人民的生活与环境的温度息息相关,在工业生产过程中需要实时测量温度,在农业生产也离不开温度测量,因此研究温度的测量方法和装置具有重要的意义。1.2本课题主要的研究工作 温度是工业对象的一个重要的被控参数。然而采用的测温元件和测温方法也不相同:产品的工艺不同,控制温度的精度也不同。传统的控制方式已不能满足高精度,高速度的控制要求,如温度控制表温度接触器,其主要缺点是温度波动范围大,由于他主要通过控制接触器的通断时间比例来达到改变加热功率的目的,受仪表本身误差和交流接触器的寿命限制,通断频率很低。近几年来快速发展了多种先进的温度控制方式,如:PID控制,模糊控制,神经网络及遗传算法控制等。这些控制技术大大的提高了控制精度,不但使控制变的简便,而且使产品的质量更好,降低了产品的成本,提高了生产效率。第二章 总体方案设计2.1设计要求1.温度大于上限或小于下限时可以进行两路继电器的控制,并有状态指示灯显示。2.温度上限下限可以设定。3.用按键进行上下限的设定操作:1.按下设置键,进入温度下限设置报警值,按加则加,减则减2.再按下设置键,进入温度上限设置报警值,按加则加,减则减3.再按下设置键,返回显示当时的温度值。2.2选择方案和论证芯片方案一 采用AT89S51芯片作为硬件核心,内部具有4KB ROM存储空间,能于3V的超低压工作,而且与MCS-51系列的单片机完全兼容,但是运用于电路设计中时由于不具备ISP在线编程技术,所以在对电路进行调试时,由于程序的错误修改或对程序的新增功能需要烧入程序时,对芯片的多次拨插会对芯片造成一定的损坏。芯片方案二 采用AT89S52芯片,AT89S52是一种低功耗,高性能的8位CMOS微控制器,具有8K的可编程Flash存储器。同时具有AT89S51的功能,且具有在线编程可擦除技术,当对电路进行调试时,由于程序的错误修改或对程序新增功能需要烧入程序时,不需要对芯片多次拔插,所以不会对芯片造成损坏,隐刺选择采用AT89S52作为主控制系统核心。温度传感方案一 由于本设计是测温电路,可以使用热敏电阻之类的器件利用其感温效应,在将随被测温度变化的电压或电流采集过来,进行A/D转换后,就可以用单片机进行数据的处理,在现实点路上,就可以将被测温度显示出来,这种设计需要用到A/D转换电路,感温电路比较麻烦。温度传感方案二 进而考虑到用温度传感器,在单片机电路设计中,大多都是使用传感器,所以这是非常容易想到的,所以可以采用一只温度传感器DS18B20,此传感器,可以很容易直接读取被测温度值,进行转换,就可以满足设计要求。最终方案采用AT89S52作为主控制芯片, DS18B20采集温度来设置此毕业作品。第三章 系统硬件设计3.1硬件总设计系统框图:如图3-1所示 图3-1 系统框图3.2单片机介绍 二十世纪跨越了三个“电”的时代,即电气时代、电子时代和现已进入的电脑时代。不过,这种电脑,通常是指个人计算机,简称PC机。它由主机、键盘、显示器等组成。还有一类计算机,大多数人却不怎么熟悉。这种计算机就是把智能赋予各种机械的单片机(亦称微控制器)。顾名思义,这种计算机的最小系统只用了一片集成电路,即可进行简单运算和控制。因为它体积小,通常都藏在被控机械的“肚子”里。它在整个装置中,起着有如人类头脑的作用,它出了毛病,整个装置就瘫痪了。现在,这种单片机的使用领域已十分广泛,如智能仪表、实时工控、通讯设备、导航系统、家用电器等。各种产品一旦用上了单片机,就能起到使产品升级换代的功效,常在产品名称前冠以形容词“智能型”,如智能型洗衣机等。 计算机的产生加快了人类改造世界的步伐,但是它毕竟体积大。单片机在这种情况下诞生了。截止今日,单片机应用技术飞速发展,纵观我们现在生活的各个领域,从导弹的导航装置,到飞机上各种仪表的控制,从计算机的网络通讯与数据传输,到工业自动化过程的实时控制和数据处理,以及我们生活中广泛使用的各种智能IC卡、电子宠物等,这些都离不开单片机。单片机自70年代问世以来得到蓬勃发展,目前单片机功能正日渐完善:单片机集成越来越多资源,内部存储资源日益丰富,用户不需要扩充资源就可以完成项目开发,不仅是开发简单,产品小巧美观,同时抗干扰能力加强,系统也更加稳定,使得它更加适合工业控制领域,具有更加广阔的市场前景;提供在线编程能力,加速了产品的开发进程,为企业产品上市赢得宝贵时间。此外单片机具有性能高、速度快、体积小、价格低、稳定可靠、应用广泛、通用性强等突出优点。单片机的设计目标主要是增强“控制”能力,满足实时控制(就是快速反应) 的需要。 我作为21世纪的工科大学生,学的是电气的专业,无论是从事科学研究工作,还是开办电子器件的工厂还是经营电子厂品的贸易,不仅要熟练地使用通用微机进行各种数据处理,还要把计算机技术运用到本专业领域或相关领域,既具有开发创新能力。这就要求我们要熟练地掌握单片机。单片机是一种集成在电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计时器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的计算机系统。这些电路能在软件的控制下准确、迅速、高效地完成程序设计者实现规定的任务。3.3单片机的应用单片机广泛应用于仪器仪表、家用电器、医用设备、航空航天、专用设备的智能化管理及过程控制等领域,大致可分如下几个范畴:1.在智能仪器仪表上的应用 单片机具有体积小、功耗低、控制功能强、扩展灵活、微型化和使用方便等优点,广泛应用于仪器仪表中,结合不同类型的传感器,可实现诸如电压、功率、频率、湿度、温度、流量、速度、厚度、角度、长度、硬度、元素、压力等物理量的测量。采用单片机控制使得仪器仪表数字化、智能化、微型化,且功能比起采用电子或数字电路更加强大。例如精密的测量设备(功率计,示波器,各种分析仪)。2.在工业控制中的应用 用单片机可以构成形式多样的控制系统、数据采集系统。例如工厂流水线的智能化管理,电梯智能化控制、各种报警系统,与计算机联网构成二级控制系统等。 3.在家用电器中的应用 可以这样说,现在的家用电器基本上都采用了单片机控制,从电饭褒、洗衣机、电冰箱、空调机、彩电、其他音响视频器材、再到电子秤量设备,五花八门,无所不在。 4.在计算机网络和通信领域中的应用 现代的单片机普遍具备通信接口,可以很方便地与计算机进行数据通信,为在计算机网络和通信设备间的应用提供了极好的物质条件,现在的通信设备基本上都实现了单片机智能控制,从手机,电话机、小型程控交换机、楼宇自动通信呼叫系统、列车无线通信、再到日常工作中随处可见的移动电话,集群移动通信,无线电对讲机等。 5.单片机在医用设备领域中的应用 单片机在医用设备中的用途亦相当广泛,例如医用呼吸机,各种分析仪,监护仪,超声诊断设备及病床呼叫系统等等。 6.在各种大型电器中的模块化应用 某些专用单片机设计用于实现特定功能,从而在各种电路中进行模块化应用,而不要求使用人员了解其内部结构。如音乐集成单片机,看似简单的功能,微缩在纯电子芯片中(有别于磁带机的原理),就需要复杂的类似于计算机的原理。如:音乐信号以数字的形式存于存储器中(类似于ROM),由微控制器读出,转化为模拟音乐电信号(类似于声卡)。 在大型电路中,这种模块化应用极大地缩小了体积,简化了电路,降低了损坏、错误率,也方便于更换。 7.单片机在汽车设备领域中的应用 单片机在汽车电子中的应用非常广泛,例如汽车中的发动机控制器,基于CAN总线的汽车发动机智能电子控制器,GPS导航系统,abs防抱死系统,制动系统等等。 此外,单片机在工商,金融,科研、教育,国防航空航天等领域都有着十分广泛的用途。3.4单片机的开发过程这里所说的开发过程并不是一般书中所说的从任务分析开始,我们假设已设计并制作好硬件,下面就是编写软件的工作。在编写软件之前,首先要确定一些常数、地址,事实上这些常数、地址在设计阶段已被直接或间接地确定下来了。如当某器件的连线设计好后,其地址也就被确定了,当器件的功能被确定下来后,其控制字也就被确定了。然后用文本编辑器(如EDIT、CCED等)编写软件,编写好后,用编译器对源程序文件编译,查错,直到没有语法错误,除了极简单的程序外,一般应用仿真机对软件进行调试,直到程序运行正确为止。运行正确后,就可以写片(将程序固化在EPROM中)。在源程序被编译后,生成了扩展名为HEX的目标文件,一般编程器能够识别这种格式的文件,只要将此文件调入即可写片。单片机 AT89S52 如图3-2所示图3-2 单片机原理图而AT89S52是一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash存储器。使用Atmel公司高度密度非易失性存储器技术制造,与工业80C51产品指令和引脚完全兼容。片上Flash允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得AT89S52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。AT89S52具有以下标准功能:8K字节Flash,256字节RAM,32位I/O口线,看门狗定时器,2个数据指针,三个16位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。另外,AT89S52可降至0Hz静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振蕩器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。AT89S52主要性能1. 与MCS-51单片机产品兼容2. 8K字节在系统可编程Flash存储器3. 1000次擦写周期4. 全静态操作:0Hz33Hz5. 三级加密程序存储器6. 32个可编程I/O口线7. 三个16位定时器/计数器8. 八个中断源9. 全双工UART串行通道10. 低功耗空闲和掉电模式11. 掉电后中断可唤醒12. 看门狗定时器13. 双数据指针14. 掉电标识符3.5 DS18B20介绍传感器 如图3-3所示 图3-3 实物图 DS18020数字温度计以9位数字量的形式反映器件的温度值, DS18020通过一个单线接口发送或接收信息,因此在中央微处理器和DS1820只见仅需一条连接线(加上地线)。用于读写和温度转换的电源可以从数据线本身获得,无需外部电源。因为每个DS1820都有一个独特的片序列号,所以多只DS1820可以同时连在一根单线总线上,这样就可以把温度传感器放在许多不同的地方。这一特性用在HVAC环境控制、探测建筑物。DS1820是这样测温的用一个高温系数的振荡器确定一个们周期,内部计数器在这个们周期内对一个低温度系数的震荡器的脉冲进行计数来得到温度值。计数器被预置到对应于-55的一个值。如果计数器在们周期结束前到达0,则温度寄存器(同样被预置到-55)的值增加,表明所测温度大于-55。同时,计数器被复位到一个值,这个值由斜坡式累加器电路确定,斜坡式累加器电路用来补偿感温振荡器的抛物线特性,然后计数器又开始计数直到0,如果门周期仍未结束,将重复这一过程。3.6显示电路设计显示电路采用4位共阴极LED数码管,P0口由上拉电阻提高驱动能力,作为段码输出并作为数码管的驱动。P2口的低四位作为数码管的位选端。采用动态扫描的方式显示。如图3-4所示 图3-4 显示电路原理图3.7电路设计图电路PCB图如3-5所示 图3-5 电路PCB图第四章 系统软件设计4.1主程序流程图程序的主要功能是负责温度的实时显示、读出并处理DS18B20的测量的当前温度值,温度测量每1s进行一次。如图4-1所示 图4-1主程序流程图4.2温度转换命令子程序温转换命令子程序主要是发温度转换开始命令,当采用12位分辨率时转换时间约为750ms,在本程序设计中采用1s显示程序延时法等待转换的完成。如图4-2所示 图4-2温度转换流程图4.3显示数据刷新子程序显示数据刷新子程序主要是对分离后的温度显示数据进行刷新操作,当标志位位为1时将符号显示位移入第一位。如图4-3所示 图4-3显示数据流程图致谢经过将近七周的单片机课程设计,终于完成了我的数字温度计毕业设计,虽然途中还遇到不少困难,但最终还是把实物做出来,从这次的课程设计中,我真真正正的意识到,在以后的学习中,要理论联系实际,把我们所学的理论知识用到实际当中,学习单机片机更是如此,程序只有在经常的写与读的过程中才能提高,这就是我在这次课程设计中的最大收获。通过这次对数字温度计的设计与制作,让我了解了设计电路的程序,也让我了解了关于数字温度计的原理与设计理念,要设计一个电路总要先用仿真仿真成功之后才实际接线的。但是最后的成品却不一定与仿真时完全一样,因为,再实际接线中有着各种各样的条件制约着。而且,在仿真中无法成功的电路接法,在实际中因为芯片本身的特性而能够成功。所以,在设计时应考虑两者的差异,从中找出最适合的设计方法。 通过这次学习,让我对各种电路都有了大概的了解,所以说,坐而言不如立而行,对于这些电路还是应该自己动手实际操作才会有深刻理解。 从这次的课程设计中,我真真正正的意识到,在以后的学习中,要理论联系实际,把我们所学的理论知识用到实际当中,学习单机片机更是如此,程序只有在经常的写与读的过程中才能提高,这就是我在这次课程设计中的最大收获。最后就是要感谢这三年所有的老师对我们一丝不苟和孜孜不倦的教育。还有学校那浓郁的学习气氛。参考文献1.AVR单片机原理及其应用宋建国2.单片机基础李光弟附录一源程序代码 /*/#include#define uchar unsigned char#define uint unsigned intunsigned char dispcount;unsigned char code dispcode=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90;/七段共阳数码管09代码sbit DQ = P14;sbit key1 = P20;sbit key2 = P21;sbit key3 = P22;sbit beel = P10;sbit D_re = P11;sbit U_re = P12;sbit LED_sum_1 = P24;sbit LED_sum_2 = P25;sbit LED_sum_3 = P26;sbit LED_sum_4 = P27; /*/uchar data disdata5;uchar data D_disdata3;uchar data U_disdata3;uint tvalue;/温度值uchar tflag;uchar flag;uint D_tvalue;uint U_tvalue;/*18B20温度传感程序*/void delay1ms(unsigned int ms)/延时1毫秒(不够精确的)unsigned int i,j; for(i=0;ims;i+) for(j=0;j0;i-) DQ = 0; /给脉冲信号 dat=1; DQ = 1; /给脉冲信号 if(DQ) dat|=0x80; delay_18B20(10); return(dat);void ds1820wr(uchar wdata)/*写数据*/unsigned char i=0; for (i=8; i0; i-) DQ = 0; DQ = wdata&0x01; delay_18B20(10); DQ = 1; wdata=1; /*读温度*/ read_temp()/*读取温度值并转换*/ uchar a,b;ds1820rst(); ds1820wr(0xcc);/*跳过读序列号*/ds1820wr(0x44);/*启动温度转换*/ds1820rst(); ds1820wr(0xcc);/*跳过读序列号*/ ds1820wr(0xbe);/*读取温度*/ a=ds1820rd();b=ds1820rd();tvalue=b;tvalue=8;tvalue=tvalue|a; if(tvalue0x0fff) tflag=0; else tvalue=tvalue+1;tflag=1; tvalue=tvalue*(0.625);/温度值扩大10倍,精确到1位小数return(tvalue);/* 延时n个ms函数 */ void delay_nms(uint ms) /delay ms function uchar i; while(ms-) for(i = 0; i 80; i+); /*/ void ds1820disp()/温度值显示 disdata0=tvalue/100;/十位数 disdata1=tvalue%100/10;/个位数 disdata2=tvalue%10;/小数位 D_disdata0=D_tvalue/100;/十位数 D_disdata1=D_tvalue%100/10;/个位数 D_disdata2=D_tvalue%10;/小数位 U_disdata0=U_tvalue/100;/十位数 U_disdata1=U_tvalue%100/10;/个位数 U_disdata2=U_tvalue%10;/小数位 if(flag=0) P0=dispcodedisdata0; LED_sum_1 = 1; LED_sum_2 = 0; LED_sum_3 = 1; LED_sum_4 = 1; delay_nms(1); P0=0xff; P0=dispcodedisdata1 & 0x7f; LED_sum_1 = 1; LED_sum_2 = 1; LED_sum_3 = 0; LED_sum_4 = 1; delay_nms(1); P0=0xff; P0=dispcodedisdata2; LED_sum_1 = 1; LED_sum_2 = 1; LED_sum_3 = 1; LED_sum_4 = 0; delay_nms(1); P0=0xff; else if(flag=1) P0=dispcodeD_disdata0; LED_sum_1 = 1; LED_sum_2 = 0; LED_sum_3 = 1; LED_sum_4 = 1; delay_nms(1); P0=0xff; P0=dispcodeD_disdata1 & 0x7f; LED_sum_1 = 1; LED_sum_2 = 1; LED_sum_3 = 0; LED_sum_4 = 1; delay_nms(1); P0=0xff; P0=dispcodeD_disdata2; LED_sum_1 = 1; LED_sum_2 = 1; LED_sum_3 = 1; LED_sum_4 = 0; delay_nms(1); P0=0xff; else if(fl

温馨提示

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

评论

0/150

提交评论