微机原理课程设计基于单片机的四位数字温度计设计_第1页
微机原理课程设计基于单片机的四位数字温度计设计_第2页
微机原理课程设计基于单片机的四位数字温度计设计_第3页
微机原理课程设计基于单片机的四位数字温度计设计_第4页
微机原理课程设计基于单片机的四位数字温度计设计_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

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

文档简介

目 录摘要.1一、 课程设计的目的.1二、 系统设计总体方案.11.设计思路.12.AT89C51单片计算机的组成原理.22.1组成框图及内部总体结构.22.2单片机各口及其负载能力、接口要求.3三、 硬件电路设计.53.1 温度检测和变送器.53.2 ADC0808.7四、电路部分.84.1显示器接口电路.84.2温度采集系统.84.3电路总图.9五、软件设计和功能说明105.1系统主程序.105.2LED数码显示子程序.11六、PROTEUS仿真.126.1工作界面.126.2 仿真结果图.13七、总结14八、参考文献15附录15摘 要现代测温应用中,温度计向数字化方向发展。传统的机遇物理方法的温度计功能单一,而数字温度计以其便携,检测精度高,功能多等优点应用的越来越广泛。随着人们生活水平的不断提高,单片机控制无疑是人们追求的目标之一,它所给人带来的方便也是不可否定的,其中数字温度计就是一个典型的例子,但人们对它的要求越来越高,要为现代人工作、科研、生活、提供更好的更方便的设施就需要从数单片机技术入手,一切向着数字化控制,智能化控制方向发展。本课程设计研究四位数字温度计的设计与实现,并采用Protues软件和Keil软件来对其进行仿真,通过电阻值的变化使相应电压发生改变,输出电压经A/D转换后,其值由AT89C51处理,最后将其显示在4个七段数码显示器上。随着技术的发展,一些环境比较恶劣的场合中也能觅得数字温度计的踪迹。在本文中,主要从功能组合,硬件组合,软件算法等几个方面探讨温度计的设计。数字温度计在现代测温应用方面具有诸多优势,值得进一步学习和研究。关键词:单片机AT89C51、ADC0808芯片、模数转换、数码显示一、课程设计的目的1、通过单片机应用产品的设计与调试过程,巩固本课程所学理论知识,初步了解单片机应用系统设计的方法。2、通过查阅手册和相关文献资料,培养学生独立分析和解决问题的能力。3、进一步熟悉单片机和常用接口电路,加深对专业知识和理论知识学习的认识和了解。4、进一步熟悉电子仪器的正确使用。5、加深对数模转换原理和应用,并了解ADC0808完成模数转换的原理,掌握ADC0808与AT89C51接口硬件电路的设计方法及编程方法。二、系统设计总体方案1.设计思路根据任务书要求,初步思路如下:温度计电路设计总体设计方框图如下图所示,本设计是测温电路,使用热敏电阻之类的器件利用其感温效应,在将随被测温度变化的电压或电流采集过来,进行A/D转换后,就可以用单片机进行数据的处理,在显示电路上,就可以将被测温度显示出来。温度是非电量模拟信号,数字显示温度就必须将这一非电量信号转换成电量(电压或电流),然后将模拟电信号经A/D转换器转换成数字信号,最后经译码显示器显示温度值。控制器采用单片机AT89C51,采集到的温度模拟信号05V用一个滑动变阻器分压实现,模拟信号数字化是通过ADC0808实现的,其主要功能和要求的实现是通过可编程芯片AT89C51单片机达到的,用4位LED数码管显示温度。主 控 制 器LED显 示温 度 传 感 器单片机复位时钟振荡报警点按键调整2. AT89C51单片计算机的组成原理2.1组成框图及内部总体结构振荡器及时序 OSC8051CPU程序存储器4KB ROM数据存储器256B2个16位定时器/计数器64K总线扩展控制器可编程I/O可编程全双工串行口外时钟源 外部事件计数 中断 控制 并 行 口 串行通信 图2-1AT89C51单片机功能结构框图图2-1为AT89C51单片机功能结构框图 AT89C51 芯片内部集成了 CPU、RAM、ROM、定时/计数器和I/O口等各功能部件,并由内部总线把这些不见连接在一起。AT89C51单片机内部包含以下一些功能部件:(1) 一个8位CPU;(2) 一个片内振荡器和时钟电路;(3) 4KB ROM(80C51有4KB掩膜ROM,87C51有4KB EPROM,80C31片内有无ROM);(4) 128B内RAM;(5) 可寻址64KB的外ROM和外RAM控制电路;(6) 两个16位定时/计数器;(7) 21个特许功能寄存器;(8) 4个8位并行I/O口,共32条可编程I/O端线;(9) 一个可编程全双工串行口;(10) 5个中断源,可设置成2个优先级。2.2单片机各口及其负载能力、接口要求80C51共有4个8位并行I/O端口,共32个引脚 (1)P0口8位双向I/O口。 在不并行扩展外存储器(包括并行扩展I/O口)时, P0口可用作双向I/O口。 在并行扩展外存储器(包括并行扩展I/O口)时, P0口可用于分时传送低8位地址(地址总线)和8位数据信号(数据总线)。位结构如图2-4所示。P0口能驱动8个LSTTL门。 VCC地址/数据控制锁存器P0.XDCPQQMUXV1V2P0.X引脚读锁存器写锁存器内部总线读引脚&1图2-2 P0口位结构(2) P1口8位准双向I/O口(“准双向”是指该口内部有固定的上拉电阻)。位结构如图2-5所示。 P1口能驱动为4个LSTTL门。VCC锁存器P1.XDCPQQP1.X引脚读锁存器写锁存器内部总线读引脚内部上拉电阻图 2-3 P1口位结构 (3) P2口8位准双向I/O口。在不并行扩展外存储器(包括并行扩展I/O口)时, P2口可用作双向I/O口。在并行扩展外存储器(包括并行扩展I/O口)时, P2口可用于传送高8位地址(属地址总线) 。P2口能驱动4个LSTTL门。P2口的位结构如图2-6所示,引脚上拉电阻同P1口。在结构上,P2口比P1口多一个输出控制部分。锁存器P2.XDCPQQ读锁存器写锁存器内部总线读引脚VCCP2.X引脚内部上拉电阻1地址控制MUX图 2-4 P2口位结构 (4) P3口8位准双向I/O口。可作一般I/O口用,同时P3口每一引脚还具有第二功能,用于特殊信号输入输出和控制信号(属控制总线)。P3口驱动能力为4个LSTTL门。 图 2-5 P3口位结构上述4个I/O口,各有各的用途。 在不并行扩展外存储器(包括并行扩展I/O口)时, 4个I/O口都可作为双向I/O口用。在并行扩展外存储器(包括并行扩展I/O口)时, P0口专用于分时传送低8位地址信号和8位数据信号,P2口专用于传送高8位地址信号。P3口根据需要常用于第二功能,真正可提供给用户使用的I/O口是P1口和一部分未用作第二功能的P3口端线。三、 硬件电路设计3.1 温度检测和变送器(1)热敏电阻温度转换原理热敏电阻是近年来发展起来的一种新型半导体感温元件,由于它具有灵敏度高、体积小、重量轻、热惯性小、寿命长以及价格便宜等优点,因此应用非常广泛。热敏电阻与普通热电阻不同,它具有负的电阻温度特性,当温度升高时,电阻值下降,其特性曲线如图3-1所示。 图3-1 热敏电阻特性曲线热敏电阻的阻值-温度特性曲线是一条指数曲线,非线性度较大,因此,在使用时要进行线性化处理。线性化处理虽然能改善热敏电阻的特性曲线,但比较复杂。为此,在要求不高的一般应用中,常常作出在一定的温度范围内温度与阻值成线性关系的假定,以简化计算。使用热敏电阻是为了感知温度,给热敏电阻通以恒定电流,电阻两端就可测到一个电压,然后通过下面公式求得温度: 被测温度; 与热敏特性有关的温度参数; 热敏电阻有关的系数; 热敏电阻两端的电压。根据这一公式,如能测得热敏电阻两端的电压,再知道参数和参数,则可计算出热敏电阻的环境温度,也就是被测得温度。这样,就把电阻随温度的变化关系转化为电压随温度的变化关系了。数字式电阻温度计设计工作的主要内容,就是把热敏电阻两端电压值经A/D转换变成数字量,然后通过软件方法计算出温度值,再进行显示等处理。所以采取ADC0809芯片来读取电压值。3.2 ADC0808ADC0808是采样分辨率为8位的、以逐次逼近原理进行模/数转换的器件。其内部有一个8通道多路开关,它可以根据地址码锁存译码后的信号,只选通8路模拟输入信号中的一个进行A/D转换。ADC0808是ADC0809的简化版本,功能基本相同。一般在硬件仿真时采用ADC0808进行A/D转换,实际使用时采用ADC0809进行A/D转换。内部结构ADC0808是CMOS单片型逐次逼近式AD转换器,它有8路模拟开关、地址锁存与译码器、比较器、8位开关树型A/D转换器。 引脚功能(外部特性)ADC0808芯片有28条引脚,采用双列直插式封装,如右图所示。各引脚功能如下: 15和2628(IN0IN7):8路模拟量输入端。 6(START): AD转换启动脉冲输入端,输入一个正脉冲(至少100ns宽)使其启动(脉冲上升沿使0809复位,下降沿启动A/D转换)。 7(EOC): AD转换结束信号,输出,当AD转换结束时,此端输出一个高电平(转换期间一直为低电平)。 8、14、15和1721:8位数字量输出端。9(OE):数据输出允许信号,输入,高电平有效。当AD转换结束时,此端输入一个高电平,才能打开输出三态门,输出数字量。 10(CLK):时钟脉冲输入端。要求时钟频率不高于640KHZ。 11(Vcc):主电源输入端。 12(VREF(+)和16(VREF(-):参考电压输入端 13(GND):地。 22(ALE):地址锁存允许信号,输入,高电平有效。2325(ADDA、ADDB、ADDC):3位地址输入线,用于选通8路模拟输入中的一路四、电路部分4.1显示器接口电路4.2温度采集系统4.3电路总图五、软件设计和功能说明5.1系统主程序在主程序中,系统上电自动复位以后首先设置堆栈,然后启动ADC0808,开始转换测温电路输入的电信号,待数据转换结束后读入到累加器A,然后进行十进制数据转换调整,输出给显示电路。主程序流程图如图3.1所示。主程序流程图开始相关参数设置温度检测是超过极限值?否报警显示温度显示延时结束程序并显示此刻温度 人为读取程序流程图5.2LED数码显示子程序十进制转换调整后的数据送到寄存器R5、R4中,然后通过P1口把数据输出给D4、D3、D2、D1四个数码显示器中,从而最终把测得的温度显示出来。显示子程序流程图如图3.3所示。显示子程序流程图六、 PROTEUS仿真6.1工作界面Proteus ISIS的工作界面是一种标准的Windows界面,如图4.2所示。包括:标题栏、主菜单、标准工具栏、绘图工具栏、状态栏、对象选择按钮、预览对象方位控制按钮、仿真进程控制按钮、预览窗口、对象选择器窗口、图形编辑窗口。图4.2 Proteus ISIS的工作界面6.2 仿真结果图七、总结忙碌的的日子总是觉得短暂,充实紧张的两周单片机课程设计转眼就要结束了,我喜欢这种节奏的学习生活。在这短暂而又充实的两周课程设计的时间里,让我获益良多,受益匪浅,翁老师耐心细致的指导讲解答疑,个人积极紧张的筹备思考操作,使这两周的日子变得忙碌而又充实美好。课程设计的第一天,面对着翁老师布置下来的设计课题,有些茫然而不知所措,不知该如何着手开始。心想,怎么这个单片机的课程设计会如此的难,如此的不好下手,更不知道该怎么办才好。但发现其他同学和我的感觉竟然一样,同样的茫然同样的无助,顿时心里释怀不少。于是对自己说,别人也不会,不急,慢慢来,总会找到解决的办法的。离开教室回到宿舍,直接去图书馆借来了相关的资料拿回来阅读参考。接下来的几天,渐渐的开始有了一些头绪,明白了该从何处着手,心中有了课程设计的初步框图。接下来的时间里,查阅了不少的相关资料,随着理解的加深,设计程序及流程渐渐的变得细致,确定了设计要求及操作实施步骤,随着设计中问题的逐个解决,操作开始变得简单有趣,我开始乐于做好课程设计中的各部分环节要求,乐于和同组的同学相互探讨争论,解决我们这个温度检测设计,单片机课程设计中的难点,并取得共同的进步。按照这种方式与解决办法,解决了不少设计中的问题。通过这两周的微机原理课程设计,使我对单片机知识内容有了进一步的扩展和深入的理解,书本上的知识,只有通过自己动手去操作去运用才会变得实际有用,这才是真正的学习,感谢翁老师给了我们这么一个学习的好机会。我更懂得了个人努力的重要性,这让我感觉充实自信,这种满足感与成就感真是无与伦比。明白了什么叫做团队,群体的力量,一起探讨,一起争论,一起协作着解决问题。 八、参考文献1 张迎新. 单片微型计算机原理、应用及接口技术.国防工业出版社2 张毅刚. 单片机原理与应用设计.电子工业出版社3 周航慈. 单片机程序设计基础.北京航空航天大学出社.4陈明荧. 8051单片机课程设计实训教材.清华大学出版社5胡汉才. 单片机原理及其接口技术.清华大学出版社6 何立民. 单片机高级教程.北京航空航天大学出版社 7 肖来胜. 单片机技术实用教程.华中科技大学出版社附录 程序清单LED_0EQU 30HLED_1 EQU 31HLED_2 EQU 32HADCEQU35HTCNTAEQU36HTCNTBEQU37HH_TEMPEQU38H;温度上限L_TEMPEQU39H;温度下限FLAGBIT00HH_ALMBITP3.0L_ALMBITP3.1SOUNDBITP3.7CLOCKBITP2.4ST BIT P2.5EOC BIT P2.6OE BIT P2.7ORG 00HSJMPSTARTORG0BHLJMPINT_T0ORG1BHLJMPINT_T1START:MOVLED_0,#00HMOVLED_1,#00HMOVLED_2,#00HMOVDPTR,#TABLEMOVH_TEMP,#200MOVL_TEMP,#00MOVTMOD,#12HMOVTH0,#245MOVTL0,#0MOVTH1,#252MOVTL1,#0MOVIE,#8aHCLRCSETBTR0;为ADC0808提供时钟WAIT:SETBH_ALMSETBL_ALMCLR STSETB STCLR ST;启动转换 JNB EOC,$SETB OE MOV ADC,P1;读取AD转换结果CLR OEMOVA,ADCSUBBA,#00 ;判断是否低于下限JCLALMMOVA,H_TEMPMOVR0,ADCSUBBA,R0;判断是否高于上限JCHALMCLRTR1LJMPPROCLALM:;低温报警CLRL_ALMSETBTR1CLRFLAGLJMPPROCHALM: ;高温报警CLRH_ALMSETBTR1SETBFLAGLJMPPROCPROC:MOV A,ADC ;数值转换MOV B,#100DIV ABMOV LED_2,AMOV A,BMOV B,#10DIV ABMOV LED_1,AM

温馨提示

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

评论

0/150

提交评论