毕业设计 基于51单片机房间电器综合系统的设计


🔥 毕业设计和毕业答辩的要求和难度不断提升,传统的毕设题目缺少创新和亮点,往往达不到毕业答辩的要求,这两年不断有学弟学妹告诉学长自己做的项目系统达不到老师的要求。
为了大家能够顺利以及最少的精力通过毕设,学长分享优质毕业设计项目,今天要分享的是:基于51单片机房间电器综合系统的设计

1 系统整体硬件设计方案

1.1 系统工作原理流程

根据课题设计要求可知,该系统需要利用电压型温度传感器采集室内温度,产生10mV/℃的电压信号,随后,将该信号送入放大器进行放大,再把此放大后的信号送给A/D转换器进行模数转换,之后由CPLD芯片编程处理,即通过CPLD芯片编程设定上下限报警温度,并显示转换后的室温。具体流程图如图1-1所示。

图1-1 系统流程图

在温度信号采集电路中采用方案三,使用线性成比例(10mV/℃)的电压型温度传感器采集信号,之后,将微弱电压信号经过整个硬件与软件系统放大100倍后的电压信号使其显示就是室温。首先,使采集到的电压信号经过放大电路放大十倍后送入A/D转换器(ADC0804)。在此,将ADC0804的基准电压设为2.5V,由于它为8位转换器,其内部转换关系将输入信号扩大50倍后,才将模拟信号转换为数字信号。之后,将转换后的数字信号传给CPLD芯片(EP1K100QC208-3),通过VHDL编程将扩大了500倍的信号缩小5倍,即可将输入的微弱电压信号最终放大100倍,现在的电压值便是室温值。然后经过设置的I/O口将数字信号传送给74LS138译码器以及驱动器CD4511和报警器,使LED八段数码管动态显示室温和实现报警,从而实现整个系统的设计功能。

1.2 传感器及放大电路

1.2.1 电压型温度传感器LM35D

如图1-2所示,是一般传感器的工作原理方框图。

图1-2 传感器原理框图

本系统的设计所用的传感器为LM35D,LM35系列的一种,是精密集成电路温度传感器,其输出电压与摄氏温度线性成比例(10.0mV/℃,如图1-3所示其关系[3]

图1-3 传感器温度电压关系曲线

因而LM35系列有优于用开尔文作为标准的线性温度传感器,在额定工作温度范围内精度为±3/4℃。其密封适合用TO-46晶体管封装,也适合用塑料TO-92晶体管封装。其特性如下:

(1) 直接用摄氏温度校准线性+10.0mV/℃比例因数

(2) 在-55~+150℃额定范围保证0.5℃精度(在+25℃时);

(3) 适用于遥控设备因晶体片微调而低费用;

(4) 工作在4~30V小于60μA漏泄电流,有较低自热,在静止空气中0.08℃;

(5) 只有±1/4℃非线性值低阻抗输出,1mA负载时0.1Ω
  LM35系列中的LM35D的工作电压为4V~20V,故可直接用温控电路的电源,但要加一个隔离二极管及平滑电容C。LM35D测温范围0℃~100,输出电压直接与摄氏温度成比例,灵敏度为10mV/将其输出电压接2V直流电压挡数字万用表,可读出分辨率为0.1的温度读数。:室内温度是28.7℃,那么其转换关系是

                        28.7℃×10 mV/℃=287mV                        (3.1

表上读数为287mV,即反映室内温度28.7

集成温度传感器LM35D是把测温传感器与放大电路做在一个硅片上,形成一个集成温度传感器,它的外形与封装如下图(见图1-4)。

图1-4  LM35D的引脚及

1.2.2 放大电路设计

图1-6  系统的放大电路部分

如图3-6所示,为系统的放大电路部分,电压型温度传感器LM35D采集到的室温为很微弱的模拟量。例如:若室温为26℃,那么经LM35D采集后得到的电压信号为0.26 V,这样一个微弱的电压信号,既不利于处理又容易产生误差且不稳定。所以我们需要将此信号在整个硬件系统和软件系统中放大100倍(如前所述),之后将其送入驱动电路,即可在LED数码管上显示室温,达到目的。如图所示,在放大电路中,取R6为1K是为了好计算放大倍数,R5用20K的滑动变阻器使这个0.26 V的微弱电压信号可以在0--20的放大倍数范围内可调,在此,将其放大10倍,因此需要将R5调至10K。这样经放大器OP07放大后从第6脚输出的电压信号就为放大十倍的2.6V。这样就足以驱动后面的电路进行工作,达到系统设计的目的。

1.3 A/D转换电路部分分析

1.3.1 A/D转换器

随着数字技术,特别是计算机技术的飞速发展与普及,在现代控制、通信及检测领域中,为提高系统的性能指标,对信号的处理无不广泛的采用了数字计算机。但由于系统的实际对象往往都是一些模拟量(如温度、压力、位移、图象等),所以要使计算机或数字仪表能识别和处理这些信号,首先就必须将这些模拟信号转变为数字信号,这样就需要一种能将模拟信号转化为数字信号的电路——模数转换器(A/D转换器)。而为了将时间和幅值都连续的模拟信号转化为时间和幅值都离散的数字信号,一般要经过四个过程[5],如图1-7所示。

图1-7  模数转换流程

而在实际电路中,上述四个过程中有的是合并进行的。例如,取样和保持、量化和编码,往往都是在转化过程中同时实现的。具体介绍如下:

(1) 取样与保持

取样是将随时间连续变化的模拟量转换为时间离散的模拟量(这里要注意的是取样以后信号依然是模拟量)。取样的过程示意图如图3-8 所示。

图1-8  取样过程

图中的传输门受取样信号S(t)的控制,在S(t)的脉宽τ期间,传输门导通,输出信号Vo(t)为输入信号Vi(t),即Vo(t)=Vi(t),而在(Ts-τ)期间,传输门关闭,输出信号Vo(t)=0。可见,取样就是在一个固定的时间点上采集一个模拟信号的具体值,而要将取样得来的模拟信号转换为数字信号得经过一段时间,所以有必要将取样电路每次取得的信号通过保持电路保持一段时间,以便给后续的量化编码提供一个稳定值,即使用保持电路使整个系统更加协调稳定。

(2) 量化与编码

数字信号不仅在时间上是离散的,而且在幅值上也是不连续的。任何一个数字量的大小只能是某个规定的最小数量单位的整数倍。为了将模拟信号转化为数字量,在A/D转化过程中,还必须将取样-保持电路的输出电压,按某种近似方式归化到与之相应的离散电平上。这一转化过程称为数值量化,简称量化。量化后的数值最后还必须用某一个代码表示出来,这个过程就叫做编码。经编码得到的代码就是A/D转换器的最后输出量,就是表示模拟信号大小的数字信号量。

1.3.2 A/D转换器的选择

近年来,A/D转换器随着半导体技术的不断发展而日新月异,各种性能优异的A/D转换器层出不穷。早期的A/D转换器与CPU接口一般采用并行总线方式,现在一些采用I2C、SPI 总线的新型A/D转换器相继被国外一些公司推出,极大地丰富了A/D转换器的种类。

A/D转换器的位数与一个应用系统前向通道中被测量对象的精度有关。一般情况下,由于客观条件的影响,电路设计中A/D转换器的分辨率要高于被测量对象的信号最低分辨率。假如,我们要测量一组电源电压,其电压的输出范围是0—10V,如要求精确到0.1V,即分辨率为0.1/10=1%,那么在实际应用中我们选择分辨率为1/256=0.4%的8位A/D转换器便可满足要求。当然,A/D转换器的位数越多,分辨率也就越高,但是成本也就随之愈高。因此在实际电路的设计中,选择A/D转换器也不能一味强调位数,应该在满足系统性能指标的前提下,追求最高的性能价格比。

目前,被广泛使用的A/D转换器种类很多,从接口协议上分为串行和并行两种方式。串行接口的A/D转换器占用较少的CPU外部I/O资源,主要采用的协议有SPI和I2C等方式,程序设计较并行接口略显繁琐,典型的芯片有TI公司的TLC2543\1543等等。并行接口的A/D转换器芯片目前仍占多数,流行的有ADC0804、ADC0809 、AD574等等。而本课题的设计使用的是ADC0804来完成模拟信号向数字信号转变的。下面就来介绍A/D 转换芯片的硬件设计方法。

1.3.3 A/D转换电路

图1-9  A/D转换电路

如图1-9 所示,是A/D转换器ADC0804的硬件设计电路,其中ADC0804是逐次逼近型8位8通道A/D模数转换器。它的主要技术指标是:8位分辨率,±1/2LSB的转换精度,转换时间典型值为100us(时钟频率为640KHZ时),电源电压为单电源5V。其引脚中DB0—DB7为8位数字信号输出端(即转换后的数字量),VCC为电源端,GND为接地端,VREF为参考电压输入端,CLK是时钟信号输入端,第6脚接的是放大器送出的温度信号量。

信号从ADC0804的第6脚送入,R3与C3通过ADC0804的19脚(CLKR)接地与4脚(CLK)向内部电路提供时钟信号,以给ADC0804一个正确的时序,使其正确工作。

如果从量程为0--100℃LM35D采集到最高温度100℃,那么由于LM35D灵敏度为10mV/℃以及经过放大器OP07后放大十倍,则传到ADC0804输入脚VI+的电压信号为10V,再经过ADC0804内部的输入电压与基准电压的公式(如下)放大50倍(此50倍为数字量的50倍):

                                 (Ui/VREF*2)*256                        (3.2)                     

其中“*”符号表示乘的意思,Ui表示为输入电压,即VI+,VREF为ADC0804内部设定的基准电压(随时可以更改)。如下图(图1-10)是A/D转换过程:

 图1-10  A/D转换过程原理图  

1.4 系统主控制器选择

1.4.1 CPLD(FPGA)概述

集成电路的发展大大促进了EDA的发展,从而使电路设计从传统的“自上而下”的设计方法转变为“自下而上”的设计方法。设计师们都希望自己设计的芯片能够反映自己的思想,并且能够及时的投入生产使用,这都有益于可编程逻辑器件(PLD)的出现。

现在应用最广泛的PLD主要是现场可编程门阵列(FPGA,Field programmable Gate Array)和复杂可编程逻辑器件(CPLD,Complex Programmable Logic Device)[7]~[9]

可编程逻辑器件(PLD,Programmable Logic Device)是ASIC的一个重要分支,其发展历程大致经历了以下几个阶段:

(1) 20世纪70年代,熔丝编程的PROM和PLA器件是最早的可编程逻辑器件。

(2) 20世纪70年代末,对PLA进行了改进,AMD公司推出PAL器件。

(3) 20世纪80年代初,Lattice公司发明电可擦写的,比PAL使用更灵活的GAL器件。

(4) 20世纪80年代中期,Xilinx公司提出现场可编程概念,同时生产出世界上第一块

    FPGA芯片,并且,Altera公司推出EPLD器件,较之Gal器件具有更高的集成度,可用电或紫外线擦除。

(5) 20世纪80年代末,Lattice公司又提出系统可编程技术,推出一系列具备系统可编

程能力的CPLD器件,能实现更复杂的逻辑功能。

(6) 20世纪90年代,可编程逻辑集成电路技术进入飞速发展时期,器件的可用逻辑门超过百万门,并出现了内嵌发展功能模块(如加法器、乘法器、RAM、CPU核、DSP核、PLL等)的SOPC。

总的说来,PLD器件是厂家作为一种通用型器件生产的半定制电路,用户可通过对器件编程实现所需要的逻辑功能。并且它是一种用户可配置的逻辑器件,其成本比较底,使用灵活,设计周期短,而且可靠性高,风险小,因而很快得到普及应用,发展非成迅速。从20世纪70年代发展到现在,PLD已经在各个方面的工艺上取得了突破和不断发展。经历了从PROM、PLA、PAL、GAL到CPLD(FPGA)、ispLSI等高密度的PLD发展过程。其中PAL和GAL都所于简单的PLD,它们结构简单,设计灵活,对开发软件的要求低,但是规模都很小,难以实现复杂的逻辑功能,所以随着技术的发展,种种弊端也暴露出来,因此,CPLD等一系列的复杂PLD迅速的发展起来,并向着高密度,高速度,低功耗以及结构体系更灵活、通用范围更广的方向发展。

复杂可编程逻辑器件(CPLD,复杂PLD。统称将集成度达到一定程度的PLD器件叫做CPLD。),是20世纪80年代末Lattice公司提出的在线可编程(isp,In system programmability)技术以后,于20世纪90年代初出现的。它是在EPLD的基础上,采用E2CMOS工艺制作发展起来的。与EPLD相比,它增加了内部连线,对逻辑宏单元和I/O口都有重大的改进。CPLD至少包括三个部分:可编程逻辑宏单元,可编程I/O单元和可编程内部连线。典型的器件有Altera的MAX7000系列,Xilinx的7000和9500系列,Lattice的PLSI/ispLSI系列和AMD的MACH系列。

随着数字逻辑系统功能复杂化程度的不断加大,集成芯片正朝着超大规模、高密度的方向发展。与此同时,人们发现一个超大规模的数字时序系统芯片在工作时从时间轴上来看,并不是每一瞬间系统的各个部分都在工作,而系统是各个局部模块功能在时间链上的总成。同时还发现,基于SRAM编程的CPLD/FPGA可以在外部逻辑的控制下,通过存储于存储器中不同的目标系统数据的重新下载,来实现芯片逻辑功能的改变。正是基于这个称之为静态系统重构的技术,有人设想利用芯片的这种分时复用特性,用较小规模的CPLD(或FPGA)芯片来实现更大规模的数字时序系统。在研究过程中人们却发现常规的SRAM的CPLD只能实现静态系统重构。因为该芯片功能的重新配置大约需要数毫秒到数十毫秒量级的时间;而在重新配置数据的过程中,旧的逻辑功能失去,新的逻辑功能尚未建立,电路逻辑在时间轴上断裂,系统功能无法动态连接。要实现高速的动态重构,要求芯片功能的重新配置时间缩短到纳秒量级,这就需要对CPLD的内部组成结构进行革新。

在早期的CPLD中,由结构相同的逻辑阵列组成宏单元模块。对一个逻辑阵列单元来说,输入项由专用的输入端和I/O端组成,来自I/O端口输入项,可通过I/O结构控制模块的反馈选择,也可以由I/O端直接输入,也可以是本单元输出的内部反馈。所有的输出项都经过缓冲器驱动,并输出其输入的原码及补码。可以看出,早期CPLD中的逻辑阵列结构与PAL、GAL中的结构极为类似,只是用EPROM单元取代了PAL中的熔丝和GAL中的EEPROM单元。和GAL一样,CPLD可实现擦除和再编程功能。在基本结构中,每个或门有8个固定乘积项,也就是说逻辑阵列单元中的或门阵列是固定的、不可编程的,当遇到复杂的组合逻辑时,需要的乘积项可能超过8个,这就要用两个或多个逻辑单元来实现,致使器件的利用率不高。为此,目前的CPLD在逻辑阵列单元结构方面做了很大的改进,主要表现在以下两个方面:

(1) 乘积项数目不同的逻辑阵列单元

  对于复杂的逻辑器件来说,逻辑函数往往需要附加乘积项。以便利用其他宏单元以提供以提供所需的逻辑资源,还可以利用其结构中具有的共享和并联扩展乘积项。达到尽可能的少占资源,并且尽可能的加快工作速度的目的。

(2) 具有两个或项输出的逻辑阵列单元

每个逻辑阵列单元可以共享相邻单元中的乘积项,也可以使本单元中的两个或项都可用于相邻的两个单元中,这样,既提高了器件内部各单元的利用率,又可实现更为复杂的逻辑功能。

CPLD的I/O口控制模块,根据器件的类型和功能的不同,可有各种不同的结构形式,但基本上每个模块都由输出极性转换电路、触发器和输出三态缓冲器三部分及于它们相关的选择电路组成。各个生产厂家可以根据不同的用途和使用对象的不同进行选择生产,以求达到最佳的生产和使用目的。

3.4.2 CPLD芯片简介及器件选择

CPLD(或FPGA)的主要生产厂家是Altera公司、Xilinx、Lattice等,各自都有自己的产品特点。

(1) Altera公司CPLD的系列型号

Altera公司多年来一直在PLD行业保持着领先地位,并在我国有着较多的用户,该公司的PLD器件具有高性能、高集程度、高性价比、低功耗等特点。主要型号有胶合(glue)逻辑类的MAX系列,低价位的ACEX系列、高速FLEX系列、高密度的APEX系列等。而后来又推出的EPM系列和EPF系列的集程度更是大大提高,性能更加优越。

在众多的产品系列中,Altera公司推出的新型低成本CPLD器件—ACEX系列的主要特点为:密度范围大,从1万到10万门(56,000到257,000系统门);配备锁相环(PLL)技术,与64位、66MHZ的PCI兼容;产品系列从原1.8v扩展至2.5v;提供系统速度超过115MHZ的高性能功能。所以,ACEX系列是许多设计者进行设计的优选器件。

(2) Xilinx公司CPLD的系列型号

Xilinx公司是在1985年首次推出CPLD器件的,随后不断的推出新的集程度更高、速度更快、价格更低的CPLD器件。其主要的CPLD器件以CoonRunner和XC9500两大系列为代表。其中XC9500系列被广泛应用于通信、网络和计算机等产品中。该系列器件采用快闪存技术,比E2CMOS技术工艺的速度更快,功耗更低。目前,Xilinx公司XC9500系列CPLD的tPD可达4ns,宏单元数可达288个,系统时钟可达200MHZ。XC9500系列器件支持PCI总线规范和JTAG边界扫描测试功能,具有在系统可编程(isp)能力。该系列有XC9500、XC9500XV和XC9500XL三种类型,内核电压分别为5V、2.5V、3.3V,也就如前所说,其功耗很低。

(3) Lattice公司CPLD的系列型号

Lattice公司是最早推出PLD器件的公司,20世纪90年代以来,Lattice公司首先发明了isp技术,并将E2CMOS与isp技术相结合,使CPLD的应用领域有了巨大的发展。其产品主要有ispLSI、ispMACH等系列。集程度在1万门到2.5万门之间。工作电压在3.3V,而其I/O口引脚可兼容5V、3.3V和2.5V等接口标准。可用于高位的数字系统中,准确率很高。

其中ispLSI系列器件又分为四个系列:ispLSI1000系列、ispLSI2000系列、ispLSI6000系列和ispLSI8000系列。都可以满足复杂程度很高的逻辑功能设计。

根据以上所述,各个厂家生产的CPLD芯片可谓各有各的优点,功能都很齐全,而在本系统的设计中,对CPLD芯片的选择是选用了Altera公司ACEX1K系列的EP1K100QC208-3。因为本人在平时的实践训练中用的多数都是此芯片,有较多的关于EP1K100QC208-3的资料可以查询,对EP1K100QC208-3的大多性能都有了一定的了解,用起来可以得心应手,并且与其他的CPLD芯片比起来,EP1K100QC208-3这一型号的优点也很多,功能也很强大,故选择该器件。

1.4.3 EP1K100QC208-3简单介绍说明

     EP1K100QC208-3(管脚图见附录2)是Altera公司生产的ACEX1K系列中的一个型号。它一共有208个管脚,其中I/O口有124个,GNDIN有20个,VCCIN有11个,VCCIO有14个,VCC_CLK和GND_CLK各有一个,另外还有时钟、数据输入、专用程序下载口等一共是37个。在此芯片上有如此多的I/O口,其目的就是为了方便用户可以任意定义信号的输入输出口,从而实现复杂的逻辑功能。这也是CPLD的复杂功能所在,更是EP1K100QC208-3的用途所在。

1.5 报警电路

图1-12  报警电路

由于由CPLD芯片的预设输出口发出的电压信号非常微弱,因此,需要将其放大,才能带动蜂鸣器使其工作。R8用一个滑动变阻器使这个电压信号的放大倍数可调,此报警电路的输入引脚由CPLD芯片输出端给,我们在系统中设的下限报警温度为10℃,上限报警温度为30℃。在软件设计中,当由ADC0804采集到的温度超出10—50℃的范围,令CPLD芯片的固定输出口为“1”,则可实现蜂鸣器报警,如图3-12所示。

1.6 译码、驱动电路

图1-13  译码、驱动电路

如图1-13中所示,译码器74LS138与共阴极LED数码管驱动器CD4511是由CPLD的输出口控制的,其中,P1、P2、P3与译码器的输入相接,C为高位,A为地位。对四个共阴极数码管实现位选。在一个控制测试系统中,对共阴极LED显示器的控制采用“接地方式”,即通过控制LED的“GND”引脚的电平高低来达到选通的目的,该引脚即通常所说的位选线。例如:我们想要让第三位数码管工作,那么需要使L3的位选线接低电平来达到目的,也就是使译码器输出中的Y3为0,其他为1。本系统中,我们采用动态显示方式,因此,需要不断的片选,而共阴极LED显示器的发光二极管负极接地,当发光二极管的正极为高电平时,发光二极管被点亮。这就需要用CD4511来驱动,例如:要显示0字形时,需要LED显示器的8个发光二极管“a,b,c,d,e,f,g”七个字段中的“a,b,c,d,e,f”亮,那么,就需要使CD4511输出中的A、B、C、D、E、F为高电平。这是CD4511芯片内部已设定好的,表3-1为CD4511芯片内部的二进制与输入与输出的对应关系列表。

表3-1  CD4511输入输出逻辑对应关系

D  C  B  A

dp   G  F  E  D  C  B  A

    0  0  0  0

0   0  1  1  1  1  1  1

0  0  0  1

0   0  0  0  0  1  1  0

0  0  1  0

0   1  0  1  1  0  1  1

0  0  1  1

0   1  0  0  1  1  1  1

0  1  0  0

0   1  1  0  0  1  1  0

0  1  0  1

0   1  1  0  1  1  0  1

0  1  1  0

0   1  1  1  1  1  0  0

0  1  1  1

0   0  0  0  0  1  1  1

1  0  0  0

0   1  1  1  1  1  1  1

1  0  0  1

0   1  1  0  0  1  1  1

1.7 显示电路(LED)   

1.7.1 数码管的选择

在一个控制应用系统中,显示是人机通道的重要组成部分。目前广泛使用的显示器件主要有LED(二极管显示器)、LCD(液晶显示器)和VFD(真空荧光管)等。LED显示器造价低廉,与核心控制设备接口方便灵活,技术上易于实现,但只能显示阿拉伯数字和少数字符,通常用于对显示要求不高的场合。LCD和VFD显示器成本较高,但可以显示包括汉字在内的多种字符,甚至是复杂的图形和曲线,并且耗电极省,可广泛用于各种终端设备,如PDA、手机、触摸屏等等。本文主要介绍LED显示方式,及本系统的选择显示方式。

LED显示器的基本结构和原理:LED显示器采用发光二极管显示字段。一般的控制电路系统中经常采用的是八段显示器,即LED显示器中有8个发光二极管,代表“a,b,c,d,e,f,g”七个字段和一小数点“dp ”。再者LED有共阴和共阳两种结构。共阴极LED显示器的发光二极管负极接地,当发光二极管的正极为高电平时,发光二极管被点亮。而共阳极LED显示器正好相反,发光二极管正极相连,当二极管的负极为低电平时,发光二极管被点亮。

在一个电子控制系统中,对共阴极LED显示器的控制采用“接地方式”,即通过控制LED的“GND”引脚的电平高低来达到选通的目的,该引脚即通常所说的位选线。共阳极LED显示器控制方式则相反。两种控制方式中,共阴极LED控制方式受系统器件功耗限制,只能用在小尺寸的LED显示器中。对于大尺寸LED显示器的控制(如大屏幕计时器)一般使用共阳极方式。

LED的显示和接口方式:LED数码管的显示有静态和动态两种方式。从接口上分又有并行和串行两种,这要视接口和驱动芯片而定。常用的并行LED接口芯片有8155、8255 以及键盘和显示专用芯片8279等。而与并行方式相比,串行方式仅占用CPU少数几根I/O口线便可实现LED显示功能。在静态显示方式中,多个LED显示器中的每一个段代码都与一个独立的8位并行口连接,公共端则根据LED的种类(共阴或共阳)连接到“GND”或“VCC ”上。假如有四位静态LED显示电路中,那么每个LED的段代码都要有独立的并行8位I/O口线控制,可以在同一时间内显示不同的字符。静态LED显示方式的优点是编程容易,但功耗大,占用CPU的I/O口线较多,成本也较高。因此在电子设计系统中较多使用的还是动态显示方式。所谓动态显示,实质上就是各个不同的LED显示器按照一定的顺序轮流显示。它利用了人眼的“视觉暂留现象”,只要多个LED显示器的选通扫描速率足够快,人眼就觉察不到数码管的闪烁现象。在动态扫描方式下,所有LED段选线并联在一起,只由一个8位的I/O口控制,而各个LED的位选线则由另外一组I/O口控制。动态LED显示方式的优点是功耗较低,占用CPU的I/O线少,外围接口简单,所以本系统便是采用了动态LED显示方式。

1.7.2 显示电路设计

由于测量室温的精度为0.2℃,因此,显示中会出现小数点,在这里我们选用四个数码管,第一个备用,因为本系统选用的测温元件为LM35D,测温范围为0~100℃,当不需要很大精度时,可以通过软件将显示范围调到0~+100℃,也就是可以将上限报警温度设置为100℃,这样,显示最高温度再加上小数点后一位,就是四位显示。为简单起见,显示电路中的第三个数码管中的dp位我们可以将其接个200

 的电阻之后接+5V电压,这样,当片选L3时,L3中的小数点便总是亮的。

2 系统测试及数据记录

测试原理是系统测试活动的理论基础,测试方法是测试原理的实际应用和获得测试数据的手段。测试主要依据的是本系统的技术指标,是对系统整体功能和性能的综合测试与评估。

2.1 软件测试

基于软件的共性,对于软件的测试遵循一般软件的测试原理和方法。而针对本软件的特性,则应用合适的测试方法,主要是从功能和时序两个方面进行测试仿真的。

2.1.1 功能仿真

所谓功能,最简单的说,就是程序要起的作用。它能起什么作用,就是可实现什么功能。我们可以通过观察功能仿真的最后结果,来分析系统设计的不足[13],还可以发觉错误的地方,以求得最完美的系统功能。如图2-1所示,为本系统的功能仿真结果。

图2-1  功能仿真图

   2.1.2 时序仿真

    系统的时序是说系统实现功能的先后顺序,只有有一个良好的、有条不紊的工作次序,系统的功能才能很好得以体现,才能实现与预期功能最吻合的效果。如下图2-2所示,为系统的时序功能仿真图。

图2-2  时序仿真图

从图中可以很清楚的观察到系统各个变量的时序关系,以及系统功能的各个可能值。这一步,是我们将程序下载到指定器件前的最后一步,通过观察分析此波形,发现并且即使排除错误,以使系统正常可靠的运行。

2.2 硬件测试及仿真

在仿真测试无误后,将程序下载到EPM1K100QC208-3中,对实际的系统电路板进行测试。

在这一过程中主要用到的器件有:电源和万用表等,并根据系统整体设计的原理图进行有关测量。

2.3 系统数据记录

对于任何一个系统来说,表征其性能好坏优劣的最重要的指标就是系统测试的数据。根据设计方案分析其理论值,再经过测试得到实际数据。将两者进行对比,分析实际的误差,就可以得到系统的稳定性和可靠性指标。如表2-1是实际的测试结果。

表2-1 测试结果

  图 2-1 测试显示温度对照表

在上述表(表2-1)中,第三次测试的温度超过了警戒温度,所以在硬件测试中则可以实现报警,即系统设计正确。图2-1是测试值与显示值的对比曲线,从图中可以看到其两者不是纯正比的关系,其原因有很多,最主要的可能是系统外的干扰以及硬件连接时造成的隐患干扰,此方面还有待进一步的提高。

系统整体电路图

PCB板图

如果学弟学妹们在毕设方面有任何问题,随时可以私信我咨询哦,有问必答!学长专注于单片机相关的知识,可以解决单片机设计、嵌入式系统、编程和硬件等方面的难题。
愿毕业生有力,陪迷茫着前行!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值