MCS51单片机温度检测系统的设计.doc_第1页
MCS51单片机温度检测系统的设计.doc_第2页
MCS51单片机温度检测系统的设计.doc_第3页
MCS51单片机温度检测系统的设计.doc_第4页
MCS51单片机温度检测系统的设计.doc_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

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

文档简介

1 绪论当今世界,随着科技的发展,社会的进步,用软件来控制硬件的产品也如雨后春笋般的出现,其中,单片机的应用最为显著,在开始进入主题之前,我们先来了解一下单片机的有关信息。1.1 单片机简介1.1.1 单片机的概念单片机也被称为微控制器(Microcontroler),它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。概括的讲:一块芯片就成了一台计算机。它的体积小、质量轻、价格便宜、为学习、应用和开发提供了便利条件单片机的特点。1.1.2 单片机的特点单片机主要有如下特点:a)有优异的性能价格比。b)集成度高、体积小、有很高的可靠性。单片机把各功能部件集成在一块芯片上,内部采用总线结构,减少了各芯片之间的连线,大大提高了单片机的可靠性与抗干扰能力。另外,其体积小,对于强磁场环境易于采取屏蔽措施,适合在恶劣环境下工作。c)控制功能强。为了满足工业控制的要求,一般单片机的指令系统中均有极丰富的转移指令、I/O口的逻辑操作以及位处理功能。单片机的逻辑控制功能及运行速度均高于同一档次的微机。d)低功耗、低电压,便于生产便携式产品。e)外部总线增加了I C(Inter-Integrated Circuit)及SPI(Serial Peripheral Interface)等串行总线方式,进一步缩小了体积,简化了结构。 f)单片机的系统扩展和系统配置较典型、规范,容易构成各种规模的应用系统。1.1.3 单片机的应用由于单片机具有显著的优点,它已成为科技领域的有力工具,人类生活的得力助手。它的应用遍及各个领域,主要表现在以下几个方面:a)单片机在智能仪表中的应用单片机广泛地用于各种仪器仪表,使仪器仪表智能化,并可以提高测量的自动化程度和精度,简化仪器仪表的硬件结构,提高其性能价格比。b)单片机在机电一体化中的应用机电一体化是机械工业发展的方向。机电一体化产品是指集成机械技术、微电子技术、计算机技术于一体,具有智能化特征的机电产品,例如微机控制的车床、钻床等。单片机作为产品中的控制器,能充分发挥它的体积小、可靠性高、功能强等优点,可大大提高机器的自动化、智能化程度。c)单片机在实时控制中的应用单片机广泛地用于各种实时控制系统中。例如,在工业测控、航空航天、尖端武器、机器人等各种实时控制系统中,都可以用单片机作为控制器。单片机的实时数据处理能力和控制功能,可使系统保持在最佳工作状态,提高系统的工作效率和产品质量。 d)单片机在分布式多机系统中的应用在比较复杂的系统中,常采用分布式多机系统。多机系统一般由若干台功能各异的单片机组成,各自完成特定的任务,它们通过串行通信相互联系、协调工作。单片机在这种系统中往往作为一个终端机,安装在系统的某些节点上,对现场信息进行实时的测量和控制。单片机的高可靠性和强抗干扰能力,使它可以置于恶劣环境的前端工作。e)单片机在人类生活中的应用自从单片机诞生以后,它就步入了人类生活,如洗衣机、电冰箱、电子玩具、收录机等家用电器配上单片机后,提高了智能化程度,增加了功能,倍受人们喜爱。单片机将使人类生活更加方便、舒适、丰富多彩。综合所述,单片机已成为计算机发展和应用的一个重要方面。另一方面,单片机应用的重要意义还在于,它从根本上改变了传统的控制系统设计思想和设计方法。从前必需由模拟电路或数字电路实现的大部分功能,现在已能用单片机通过软件方法来实现了,这种软件代替硬件的控制技术也称为微控制技术,是传统控制技术的一次革命。1.2 温度检测的发展过程在现代化的工业生产中,电流、电压、温度、压力、流量、流速和开关量都是常用的主要被控参数。其中,温度是需要测量和控制的重要参数之一。例如:在冶金工业、化工生产、电力工程、造纸行业、机械制造和食品加工等诸多领域中,人们都需要对各类加热炉、热处理炉、反应炉和锅炉中的温度进行检测和控制。 采用MCS-51单片机来对温度进行检测,不仅具有控制方便、组态简单和灵活性大等优点,而且可以大幅度提高被控温度的技术指标,从而能够大大提高产品的质量和数量。因此,单片机对温度的控制问题是一个工业生产中经常会遇到的问题。在温度的采集上,我们用到了模拟信号转换器,通常使用一个被称为模拟/数字转换器(A/D)的电子器件,被广泛使用在电子信号处理中。它将线圈上的衰减振荡模拟波形变化量高速转换成单位时间的电压量数字信号以供MCU信息处理系统进行数字化处理,起到了将模拟信号数字化极为关键的桥梁作用。A/D转换器的速度越快,即对模拟信号的采样时间单位分得越细,图形记录就越真实。而对于波形振荡周期非常之短的线圈来说,它的电压随时间变化的速度非常之快,因而将震荡波形的模拟信号数字化变换时,要求使用变换速度非常高的A/D转换器,否则就不能正确采集、真实显示这个高速变化的波形。另外,在温度测量中,热电偶的应用极为广泛,它具有结构简单、制造方便、测量范围广、精度高、惯性小和输出信号便于远传等许多优点。由于热电偶是一种有源传感器,测量时不需外加电源,使用十分方便,所以常被用作测量炉子、管道内的气体或液体的温度及固体的表面温度。此外,由于应用场合和测温环境的不同,在选择热电偶的分度号上是有所不同的,其原因是制作热电偶的材料不同,决定了它的特性,从而直接导致了所测温度环境的选择。2 设计概述 本章主要是介绍一下此设计的设计目的及设计思路等简要内容。2.1 设计目的 本设计最终所要达到的目的有以下几个方面:a)掌握单片机各部分的使用,可以依据要求进行小规模的编程;b)熟悉A/D转换的过程,及其在实践中的应用;c)熟悉各种温度传感器的使用,能根据不同的电路选择合适类型的传感器。2.2 设计思路本系统用热电偶为检测温度元件,通过温度传感器将被测温度转换为电量,经过放大滤波电路处理,其中用到LM324四运放集成电路来实现。经过放大滤波电路处理后,由模数转换器将模拟量转换为数字量,结合典型的A/D转换电路,选择ADC0809芯片做主打芯片,实现数模转换功能再与单片机相连,其中用AT89C51芯片代替8031系列芯片。通过8255可编程扩展芯片对温度进行报警限制处理,然后再由LED数码管进行跟踪显示。2.3 设计原则2.3.1 硬件设计原则a)我们结合典型的A/D转换电路,选择ADC0809芯片做主打芯片,实现数模转换能;b)此设计利用A/D转换芯片配以显示电路用其所需要的外围电路实现温度显示,具有编程灵活、便于显示水温功能的扩充(也可用于炉温显示)、精确度高等特点; c)硬件结构设计应与软件设计方案一并考虑;d)整个系统相关器件力求性能匹配,与环境相适应。2.3.2 软件系统原则a)我们的程序采用模块化设计,软件结构清晰,简洁;b)我们将设计的程序存储区及数据存储区尽量合理化规划,便于设计功能的扩展;c)我们对各个功能程序与运行结果及运行要求都作了简要说明,以便查询。2.4 系统的组成为了更直观的了解本设计,我将整个系统分为了三个设计模块:LED显示模块、A/D转换模块以及数据采集模块,以下就是各个模块的功能简介:a)LED模块为系统提供采时,通过使用典型的LED数码管,结合动态扫描程序实现温度的显示功能;b)数据采集模块利用小信号放大器实现数据采集;c)A/D转换模块和其他外围器件,实现与单片机的正确连接以及编制转换程序。3 温度检测系统的工作原理及电路图本章主要是介绍了温度检测系统的工作原理及硬件电路图。3.1 工作原理本课题是以MCU-51(89C51)系列单片机为核心外加各种功能模块来实现的,其原理是:当热电偶感触到一定温度时(即它的测量范围内)就会将温度值转换成电压值。由于转换后的电压值较小达不到触发信号的要求值,固要在热电偶转换后的电压值在送达到CPU前加一个放大电路,用来放大弱电信号。单片机的ALE脚向ADC0809的CLK发出电信号。经放大后的电信号传给ADC0809的IN0时(由它的位地址),ADC0809的START脚接受到单片机传来的开始转换信号后由ADC0809将外界传来的模拟量转换成数字量。当EOC变为高电平是表明此时转换已完成。当OE变高电平时允许输出。锁存器通过数据线输出数据给单片机。单片机接收到来自ADC0809输送来的数据后会将其存放在数据存储器中,等待命令输出到外部扩展电路8255。当8255的WR为低电平时,8255接收CPU输出的数据,数字量通过8255在数码管上显示。3.2 电路图本设计的系统电路图如下图3.1所示: 图3.1 温度控制系统电路图4 硬件设计本章主要是介绍硬件几部分的芯片选型。4.1 单片机的选用AT89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROMFalsh Programmable and Erasable Read Only Memory)的低电压,高性能CMOS8位微处理器,俗称单片机。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。AT89C51芯片结构及特性: 与MCS-51 兼容 两个16位定时器/计数器4K字节可编程闪烁存储器 5个中断源寿命:1000写/擦循环 可编程串行通道数据保留时间: 10年 低功耗的闲置和掉电模式静态工作:0Hz-24Hz 32可编程I/O线三级程序存储器锁定 片内振荡器和时钟电路 128*8位内部RAM图4.1 芯片AT89C51的引脚分布管脚说明:VCC:供电电压GND:接地P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。 P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。 P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。P3口也可作为AT89C51的一些特殊功能口,如下表所示: 表4.1 P3口特殊功能口管脚备选功能P3.0RXD(串行输入口)P3.1TXD(串行输出口)P3.2/INT0(外部中断0)P3.3/INT1(外部中断1)P3.4T0(记时器0外部输入)P3.5T1(记时器1外部输入)P3.6/WR(外部数据存储器写选通)P3.7/RD(外部数据存储器读选通)P3口同时为闪烁编程和编程校验接收一些控制信号。 RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。 /PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。 /EA/VDD:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VDD)。 XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。 XTAL2:来自反向振荡器的输出。振荡器特性:XTAL1和XTAL2分别为反向放大器的输入和输出。该反向放大器可以配置为片内振荡器。石晶振荡和陶瓷振荡均可采用。如采用外部时钟源驱动器件,XTAL2应不接。有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。4.2 数据采集系统4.2.1 热电偶的优点热电偶是工业上最常用的温度检测元件之一。其优点是:a)测量精度高。因热电偶直接与被测对象接触,不受中间介质的影响。b)测量范围广。常用的热电偶从-50+1600均可边续测量,某些特殊热电偶最低可测到-269(如金铁镍铬),最高可达+2800(如钨-铼)。c)构造简单,使用方便。热电偶通常是由两种不同的金属丝组成,而且不受大小和开头的限制,外有保护套管,用起来非常方便。4.2.2 热电偶测温基本原理将两种不同材料的导体A和B串接成一个闭合回路,当两个接点电1和2的温度不同时,如果TT0 (如图4.2热电效应),在回路中就会产生热电动势,并在回路中有一定大小的电流,此种现象称为热电效应。该电动势就是著名的“塞贝克温差电动势”,简称“热电动势”,记为EAB,导体A,B称为热电极。接点1通常是焊接在一起的,测量时将它置于测温场所感受被测温度,故称为测量端(或工作端热端)。接点2要求温度恒定,称为参考端(或冷端)。由两种导体的组合并将温度转化为热电动势的传感器叫做热电偶。图4.2 热电效应(TT0)热电动势是由两种导体的接触电势(珀尔贴电势)和单一导体的温差电势(汤姆逊电势)所组成。热电动势的大小与两种导体材料的性质及接点温度有关。导体内部的电子密度是不同的,当两种电子密度不同的导体A与B接触时,接触面上就会发生电子扩散,电子从电子密度高的导体流向密度低的导体。电子扩散的速率与两导体的电子密度有关并和接触区的温度成正比。设导体A和B的自由电子密度为NA和NB,且NANB,电子扩散的结果使导体A失去电子而带正电,导体B则获得电子而带负电,在接触面形成电场。这个电场阻碍了电子的扩散,达到动平衡时,在接触区形成一个稳定的电位差,即接触电势,其大小为: 式 4-1式中k玻耳兹曼常数,k=1.3810-23J/K;e电子电荷量,e1.610-19 C;T接触处的温度,K;NA,NB分别为导体A和B的自由电子密度。因导体两端温度不同而产生的电动势称为温差电势。由于温度梯度的存在,改变了电子的能量分布,高温端(T)电子将向低温端(T0)扩散,致使高温端因失去电子带正电,低温端因获电子而带负电。因而在同一导体两端也产生电位差,并阻止电子从高温端向低温端扩散,于是电子扩散形成动平衡,此时所建立的电位差称为温差电势即汤姆逊电势,它与温度的关系为: 式4-2式中为汤姆逊系数,表示温差1所产生的电动势值,其大小与材料性质及两端的温度有关。导体A和B组成的热电偶闭合电路在两个接点处有两个接触电势eAB(T)与eAB(T0),又因为TT0,在导体A和B中还各有一个温差电势。所以闭合回路总热电动势EAB(T,T0)应为接触电动势和温差电势的代数和,即: 式4-3对于已选定的热电偶,当参考温度恒定时,总热电动势就变成测量端温度T的单值函数,即EAB(,T0)=f(T)。这就是热电偶测量温度的基本原理。在实际测温时,必须在热电偶闭合回路中引入连接导线和仪表。4.2.3 系统组成图 4.3 热电偶测温回路组成4.2.4 系统分析计算此电路是反相比例运算电路和同相运算放大电路,热电偶传输来的弱电流信号经过次电路的两极放大,最终得到一个直流电压值,输入到A/D转化器中。反相例运算运算电路,输入信号从反相输入端输入,同相输入端通过电阻接地。放大倍数 A=-R2/R1=-100K/10K=-10 其中负号表示输出电压与输入电压的相位相反,改变R1和R2的比值,即可改变其放大倍数。其中运放的同相输入端接有电阻R3,参数选择应使两输入端外接直流通路等效电阻值平衡,即R3=R1/R2,静态时,使输入级偏置电流平衡并让输入级的偏置电流在运算放大器两个输入端的外接电阻上产生相等的压降,以便消除放大器的偏置电流及其漂移的影响,故R2又称平衡电阻。同相比例运算放大电路,输入信号从相同输入端输入,而反相输入端通过电阻接地,并引入负反馈。其放大倍数A=1+(RW1+R6)/R5其总的放大倍数A=-R2/R1*(1+(RW1+R6)/R5)通过调节可调电阻,便可在输出端VT获得与绝对温度成正比的电压量。4.2.5 芯片LM324的介绍由于热电偶产生的电量过小,所以要经过两级放大。LM324四运放电路具有电源电压范围宽,静态功耗小,可单电源使用,价格低廉等优点,因此被广泛应用在各种电路中。LM324是四运放集成电路,它采用14脚双列直插塑料封装,外形如图4.4所示。它的内部包含四组形式完全相同的运算放大器,除电源共用外,四组运放相互独立。 图4.4 LM324外形图 图4.5 外部连接示意图4.2.6 常用的几种热电偶适于制作热电偶的材料有300多种,其中广泛应用的有4050种。国际电工委员会向世界各国推荐8种热电偶作为标准化热电偶,我国标准化热电偶也有8种。分别是:铂铑10-铂(分度号为S)、铂铑13-铂(R)、铂铑30-铂铑6(B)、镍铬-镍硅(K)、镍铬-康铜(E)、铁-康铜(J)、铜-康铜(T)和镍铬硅-镍硅(N)。下面介绍两种常见材料的热电偶的使用参数。镍铬-镍硅(镍铝)热电偶:镍铬为正极,镍硅为负极,分度号为K。其特点是:使用温度范围宽(-501300),高温下性能较稳定,热电动势和温度的关系近似线性,价格便宜,因此是目前用量最大的一种热电偶。它适用于在氧化性和惰性气氛中连续使用,短期使用温度为1200,长期使用温度为1000镍铬-康铜热电偶:这种热电偶分度号为“E”。它的正极是镍铬合金,负极是铜镍合金(铜55%,镍45%)。测温范围为-200+1000。其特点是热电动势较其他常用热电偶大。适宜在氧化性或惰性气氛中工作。由于应用场合和测温环境的不同,在选择热电偶的分度号上是有所不同的,其原因是制作热电偶的材料不同,决定了它的特性,从而直接导致了所测温度环境的选择。在此设计中,温度显示系统用在电阻炉炉温的显示中,所以我们选择了镍铬-镍硅(镍铝)热电偶,分度号为K。4.3 A/D转换器-ADC0809介绍 A/D转换器(Analog-Digital Converter)是一种能把输入模拟电压或电流变成与其成正比的数字量的电路芯片,即能把被控对象的各种模拟信息变成计算机可以识别的数字信息。 A/D转换接口技术的主要内容是合理选择A/D转换器和其他外围器件,实现与单片机的正确连接以及编制转换程序。ADC0809是逐次逼近型8位单片A/D转换芯片。片内有8路模拟开关,可以输入八个模拟量,单极性,量程为05伏,典型的转换速度为100S,片内带有三态输出缓冲器,可直接与CPU总线接口。其性能价格比有明显的优势,是目前比较广泛采用的芯片之一。4.3.1 ADC0809的工作过程ADC0809的工作过程是:首先输入3位地址,并使ALE=1,将地址存入地址锁存器中。此地址经译码选通8路模拟输入之一到比较器。START上升沿将逐次逼近寄存器复位。下降沿启动 AD转换,之后EOC输出信号变低,指示转换正在进行。直到AD转换完成,EOC变为高电平,指示AD转换结束,结果数据已存入锁存器,这个信号可用作中断申请。当OE输入高电平 时,输出三态门打开,转换结果的数字量输出到数据总线上。4.3.2 ADC0809管脚结构图模数转换芯片ADC0809的管脚分布如下图4.6所示:图 4.6 ADC0809的管脚分布4.3.3 引脚功能ADC0809共有28个引脚,各引脚功能如下:a)IN0IN7:8路模拟电压输入端。b)A,B,C:模拟输入通道的地址选择线。当CBA=000时,选中IN0;CBA=001时,选中IN1依此类推,当CBA=111时,选中IN7。c)ALE:地址锁存允许信号输入端。该端接高电平时有效,仅当该信号有效时,才能将地址信号锁存,经译码后选中一个通道。d)START:启动转换脉冲输入端。该端所加信号的上升沿将所有内部寄存器清0,下降沿开始进行模数转换。 e)CLK:时钟脉冲输入端。f)D7D0:数据输出端,D7为高位。g)OE:输出允许端,高电平有效。该端为高电平时,打开三态输出缓冲器,输出转换结果。 h)UREF(+)和UREF(-):参考电压正端和负端。4.3.4 ADC0809主要技术指标和特性a)分辨率:8位;b)总的不可调误差:LSB;c)转换时间:取决于芯片时钟频率,当CLK=500KHz时,转换时间为128us;d)单一电源:5V;e)模拟输入范围:单极性0-5V,双极性5V,10V;f)时钟频率范围:10 KHz-1280 KHz;具有可控三态输出缓冲器;启动转换控制为脉冲式(正脉冲),上升沿使所有内部寄存器清零,下降沿使A/D转换开始;使用时不需要进行零点和满刻度调节。4.3.5 使用说明当通道选择地址有效时,ALE信号一出现,地址马上被锁存,这时启动信号START紧随ALE之后(或与ALE信号同时)出现。START信号的上升沿使所有内部寄存器清零,在上升沿之后的2us加8个时钟周期内(不定)EOC信号变低,以指示转换操作正在进行中,直至转换完成后EOC信号再变高。4.4 显示系统设计4.4.1 8255A扩展芯片的介绍8255A可编程并行输入/输出接口芯片是Intel公司生产的标准外围接口电路。它采用NMOS工艺制造,用单一5V电源供电,具有40条引脚,采用双列直插式封装。它有A、B、C3个端口共24条I/O线,可以通过编程的方法来设定端口的各种I/O功能。由于它功能强,又能方便地与各种微机系统相接,而且在连接外部设备时,通常不需要再附加外部电路,所以得到了广泛的应用。4.4.2 8255A脚图与引脚扩展芯片8255A的管脚主要有:a)数据线(8条):D0D7为数据总线,用于传送CPU和8255之间的数据、命令和状态字。控制线和寻址线(6条):b)RESET:复位信号,输入高电平有效。一般和单片机的复位相连,复位后,8255所有内部寄存器清0,所有口都为输入方式。c)/RD和/WR:读写信号线,输入,低电平有效。当/RD为0时(/WR必为1),所选的8255处于读状态,8255送出信息到CPU。反之亦然。d)/CS:片选线,输入,低电平有效。e)A0、A1:地址输入线。当/CS=0芯片被选中时,这两位的4种组合00、01、10、11分别用于选择A、B、C口和控制寄存器。f)I/O口线(24条):PA0PA7、PB0PB7、PC0PC7为32条双向三态I/O总线,分别和A、B、C口相对应,用于8255和外设之间传送数据。g)电源线(2条):VCC为+5V,GND为地线。具体管脚分布如下图4.7所示: 图4.7 8255A的管脚分布4.4.3 8255与MCS51的接口8255和单片机的接口十分简单,只需要一个8位的地址锁存器即可。锁存器用来 锁存P0口输出的低8位地址信息。图4.8为8255扩展实例: 图4.8 8255与单片机的连接示意图4.4.4 LED显示单元LED显示器是单片机应用系统中常用的输出器件。它是由若干个发光二极管组成的。当发光二极管导通时,相应的一个点或一个笔画发亮。控制不同组合的二极管导通,就能显示出各种字符。4.4.5 LED数码显示器的结构LED数码显示器是1种由LED发光二极管组合显示字符的显示器件。它使用了8个LED发光二极管,其中7个用于显示字符,1个用于显示小数点,故通常称之为7段(也有称作8段)发光二极管数码显示器。下图为LED的外观图:图 4.9 LED的外观图LED数码显示器有两种连接方法:a)共阳极接法。把发光二极管的阳极连在一起构成公共阳极,使用时公共阳极接+5V,每个发光二极管的阴极通过电阻与输入端相连, 图4.10所示。 图4.10 共阳极接法b)共阴极接法。把发光二极管的阴极连在一起构成公共阴极,使用时公共阴极接地。每个发光二极管的阳极通过电阻与输入端相连,图4.11所示。 图4.11 共阴极接法5 程序流程图及程序5.1 程序流程图本设计的程序流程图如下图所示: 图5.1 程序流程图5.2 程 序 本设计的程序如下:源程序:ORG 0000H ;初始化程序 AJMP START ORG 0003H LJMP CINT0 ORG 0100HW1: MOV R1,A ;将R1-R3设定初值 INC R1 DJNZ R2,W1 RETSTART:MOV R1,#78H ;存储首地址放入R1 MOV R2,#03H ;设定R2初值 MOV A,#00H CALL W1 MOV A,#80 ;8255初始化 MOV DPTR,#0DFFFH MOVX DPTR,A CLR A MOV R2,#0F0H ;对R2重新赋值0F0H CALL DISPMAIN:MOV PSW,#00H ;清空PSW SETB EA ;允许中断 SETB EX0 SETB IT0 MOV A,#00H ;采样 MOV DPTR,#9FF8H MOVX DPTR,AL2: JNB F0,L2 ACALL TUNBCD LCALL DISINT0 SJMP MAINTUNBCD:MOV A,R0 ;将R0里的值赋给A MOV B,#51 ;在B中存入51 DIV AB ;A除B MOV 7AH,A ;商放入7AH MOV A,B ;余数存入A CLR F0 ;F0清零 SUBB A,#1AH ;(A)-1AH MOV F0,C ;进位存入F0 MOV A,#10 ;10存入A MUL AB ;(A)*(B) MOV B,#51H DIV AB JB F0,LOOP2 ;F0若为1则跳转,相反则继续执行 ADD A,#5 ;(A)加5LOOP2:MOV 79H,A ;(A)存入79H MOV A,B CLR F0 ;F0清零 SUBB A,#1AH ;(A)-1AH MOV F0,C ;进位存入F0 MOV A,#10 ;10存入A MUL AB ;(A)*(B) MOV B,#51H DIV AB JB F0,LOOP3 ;F0若为1则跳转,相反则继续执行 ADD A,#5 ;(A)加5LOOP3:MOV 78H,A ;(A)存入78H RETDISP:MOV DPTR,#TABLE ;表首地址存入DPTR MOVC A,A+DPTR ;取表值 MOV DPTR,#0DFFCH ;通过8255A口显示 MOVX DPTR,A MOV A,R2 INC DPTR ;指向8255B口 MOVX DPTR,A ;通过8255B口显示 CALL DELAY ;延时 RETDISP1:MOV DPTR,#TABL ;表1首地址存入DPTR(带小数点) MOVC A,A+DPTR ;取表值 MOV DPTR,#0DFFCH ;通过8255A口显示 MOVX DPTR,A MOV A,R2 INC DPTR ;指向8255B口 MOVX DPTR,A CALL DELAY ;延时 RETDISINT0:MOV R2,#0FEH ;选择数码管输出 CLR A CALL DISP MOV A,7AH MOV R2,#0FDH CALL DISP1 MOV A,79H MOV R2,#0FBHCALL DISPMOV A,78HMOV R2,#0F7HCALL DISRETDELAY:MOV R6,#10 ;延时子程序DELY2:MOV R7,#100DELY1:DJNZ R7,DELY1 DJNZ R6,DELY2 RETCINT0:MOVX A,DPTR MOV R0,A SETB F0 RETTABLE:DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90HTABLE1:DB 040H,79H,024H,030H,19H,12H,02H,78H,00H,10HEND6 调试过程6.1 硬件调试本次课题的硬件部分多是由芯片和各种总线构成的,其中也加入了一些模块输入单元,如果对硬件电路进行直接的焊接,或多或少的存在着损耗,因此这样的电路板性能不是很稳定,而学校没有专用的设备去制PCB板,所以在硬件的制作上不能尽如人意。在硬件调试的过程中,器件之间型号不匹配的现象尤为突出,由于没有实际的设计经验,我只能根据一些儿相关的数据进行选型,但在实际的生产中,这样做是很冒风险的,所以,我还要加强这方面的能力。6.2 软件调试在编制程序的时候,在老师的指导和同学的帮助下,我把流程图和程序编制了出来。我使用实验室中的at89c51软件对程序进行了测试,只有一些语句的使用顺序、端口地址的设置以及一些参量的排列上存在问题,最后都被一一改正了过来。结 论随着科技的进步,对温度的检测也将越来越智能化,以后也将出现更多用单片机来实现特定功能的产品。由于时间的关系,本设计还不是特别的完美,还存在着一些问题没有解决,只能留着在以后积累了经验以后再解决了。在本论文的成文过程中,我觉得自己学到了不少书本上没有的东西。归纳起来,主要有以下几点:1、大学时间是在学习基础理论知识,并未真正地去应用和实践,动手能力还很缺乏。但是经过这次毕业设计,我接触到了很多平时没有接触到的仪器设备、元器件以及相关的使用调试经验,发现了自己很多不足之处。我体会到了所学理论知识的重要性:知识掌握得越多,设计得就更全面、更顺利、更好。2、了解进行一项设计所必不可少的几个阶段。毕业设计能够从理论设计和

温馨提示

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

评论

0/150

提交评论