




已阅读5页,还剩25页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
前 言单片机在电子产品中的应用已经越来越广泛,在很多的电子产品中也用到了压力检测和压力控制。随着压力控制器应用范围的日益广泛和多样性,各种适用于不同场合的智能压力控制器应运而生。数字压力计的出现,给人类的生活带来了很多方便,使人类不管是在生活还是在工业方面都有了很多便利之处。但是数字压力计主要应用还是在生产过程、实验室及研究所。数字压力计本身可由电源提供电压,用数字压力传感器检测压力,因此数字压力计属于压力系统。控制理论从经典理论、现代理论已经发展到更先进的控制理论,控制系统也由简单的控制系统、大系统发展到今天的复杂系统。本文讨论的数字压力计压力控制系统 89c51单片机提取pcf8591转化成压力变化通过单片机内部a/d转化电路转化成数值并由数字显示电路显示出来。在我们日常生活及各种生产中,经常要用到压力的检测及控制,传统的测压元件有电阻应变片等。而电阻应变片测出的一般都是电压,再转换成对应的压力,需要比较多的外部硬件支持。其缺点如下:1 硬件电路复杂;2 软件调试复杂;3 制作成本高。 而传统的压力计也有反应速度慢、读数麻烦、测量精度不高、误差大等缺点而下面利用集成温度传感器pcf8591设计并制作了一款基于 89c51的4位数码管显示的数字温度计,其电路简单,软硬件结构模块化,易于实现。其中压力传感器pcf8591,它集压力测量、ad转换于一体 ,pcf8591是一款具有i2c总线结构的器件。 由pcf8591组建的压力测量单元体积小,便于携带、安装。同时,pcf8591的输出为数字量,可以直接与单片机连接,无需后级ad转换,控制简单。第一章 总体设计方案1.1 系统的设计原则 一般系统的设计原则包含安全性(稳定抗干扰性),操作的便利性(人性化),实时性,通用性和经济性。(1)安全可靠 首先要选用高性能的 89c51单片机,保证在恶劣的工业环境下能正常运行。其次是设计可靠的控制方案,并具有各种安全保护措施,如报警、事故预测、事故处理和不间断电源等。(2)操作维护方便操作方便表现在操作简单、直观形象和便于掌握且不强求操作工要掌握计算机知识才能操作。(3)实时性强选用高性能的 89c51单片机的实时性,表现在内部和外部事件能及时地响应,并做出相应的处理。(4)通用性好 系统设计时应考虑能适应不同的设备和各种不同设备和各种不同控制对象,并采用积木式结构,按照控制要求灵活构成系统。主要表现在两个方面:一是硬件板设计采用标准总线结构(如pc总线),配置各种通用的模板,以便扩充功能时,只需增加功能模板就能实现;二是软件功能模块或控制算法采用标准模块结构,用户使用时不需要二次开发,只需各种功能模块,灵活地进行控制系统组态。(5)经济效益高 1.2 系统的设计步骤(1)系统总体方案设计、(2)方案论证评审 硬件和软件的分别细化设计 硬件和软件的分别调试 系统的组装 (3)离线仿真和调试阶段 1.3 系体的总体方案设计和框图设计(1)系统的主要功能、技术指标、原理性方框及文字说明。(2)系统的硬件结构几配置,主要软件的功能、结构框图。(3)保证性能指标要求的技术措施。(4)抗干扰性和可靠性设计。 (5)工艺要求压力数码管显示。调节压力的超调量小于30%。 供电电压:交流5。 方案一:考虑到用压力传感器,在单片机电路设计中,大多都是使用传感器,所以这是非常容易想到的,所以可以使用电阻应变片之类的器件利用其感压力效应,感压力电路比较麻烦,进行a/d转换,才可以满足设计要求。方案二:由于本设计是测压力电路,首先要选用高性能的at89c51单片机,保证在恶劣的工业环境下能正常运行。单片机at89c51具有低电压供电和体积小等特点,四个端口只需要两个口就能满足电路系统的设计需要,很适合便携手持式产品的设计使用系统可用二节电池供电。测温传感器使用二极管结电压变化的数值来转化成温度的变化,在将随被测温度变化的s电压或电流采集过来,进行a/d转换后,就可以用单片机进行数据的处理,在显示电路上,就可以将被测温度显示出来。从以上两种方案,很容易看出,采用方案二,电路比较简单,软件设计也比较简单,故采用了方案二。考虑到方案中制作数字温度计,在单片机电路设计中,大多都是使用传感器,这是非常容易想到的,所以可以采用一只温度传感器ds18b20,此传感器,可以很容易直接读取被测温度值,进行转换,就可以满足设计要求。温度计电路设计总体设计方框图如图1所示,控制器采用单片机at89c51,压力传感器采用pcf8591,用4位led数码管以串口传送数据实现压力显示。at89s51单片机显示器压力传感器ad转换器上位机 图1.1 总体设计方框图第二章 硬件设计2.1主要器件说明2.1.1 主控制器 单片机at89s51具有低电压供电和体积小等特点,四个端口只需要两个口就能满足电路系统的设计需要,很适合便携手持式产品的设计使用系统可用二节电池供电。如图2.1所示。 (1)主要特性:与mcs-51 兼容 4k字节可编程闪烁存储器 寿命:1000写/擦循环全静态工作:0hz-24hz三级程序存储器锁定128*8位内部ram32可编程i/o线两个16位定时器/计数器5个中断源 可编程串行通道低功耗的闲置和掉电模式片内振荡器和时钟电路 (2)管脚说明: 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口输出其特殊功能寄存器的内容。p2口在flash编程和校验时接收高八位地址信号和控制信号。 p3口:p3口管脚是8个带内部上拉电阻的双向i/o口,可接收输出4个ttl门电流。当p3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,p3口将输出电流(ill)这是由于上拉的缘故。p3口也可作为at89c51的一些特殊功能口,如下表所示:口管脚 备选功能p3.0 rxd(串行输入口)p3.1 txd(串行输出口)p3.2 /int0(外部中断0)p3.3 /int1(外部中断1)p3.4 t0(记时器0外部输入)p3.5 t1(记时器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/vpp:当/ea保持低电平时,则在此期间外部程序存储器(0000h-ffffh),不管是否有内部程序存储器。注意加密方式1时,/ea将内部锁定为reset;当/ea端保持高电平时,此间内部程序存储器。在flash编程期间,此引脚也用于施加12v编程电源(vpp)。xtal1:反向振荡放大器的输入及内部时钟工作电路的输入。xtal2:来自反向振荡器的输出。2.1.2 led显示器概述led是light emiting diode (发光二极管)的缩写,发光二极管是能将电信号转换成光信号的电致发光器件。由条形发光二极管组成“8”字形的led显示器,也称数码管。通过数码管中的发光二极管的亮暗组合,可以显示多组数字、字母以及其他符号。数码管能够被广泛应用与其具有的许多特点是分布开的,其中包括:1. 发光响应快,亮度强,高频特性好;而且随着材料的不同,数码管还能发出红、黄、绿、蓝、橙等多种颜色。2. 机械性能好,体积小,重量轻,价格低廉;能与和电路配合使用;使用寿命长。3. 工作电压低,驱动电流适中。每段工作电流为,一只数码管的段全亮需要电流为。这样大的电流需要由驱动电路来提供,因此,使用时要注意数码管的驱动问题。在使用中,为了给发光二极管加驱动电压,它们应有一个公共引脚,公共引脚共有如下两种接法: 共阴极接法。把发光二极管的阴极连在一起构成阴极公共引脚,使用时阴极公共阴极接地,这样阳极上加高电平的发光二极管就导通点亮,而加低电平则不亮。 共阳极接法。把发光二极管的阳极连在一起构成阳极公共引脚,使用时阳极公共阳极接,这样阴极上加低电平的发光二极管就导通点亮,而加高电平则不亮。显示器原理 段码所谓段码就是为数码管显示提供的各段状态组合,即字形代码。段数码管的段码为位,段数码管的段码为位,用一个半字节即可表示。在段码字节中代码位与发光二极管的对应关系如下:段码段名dpgfedcba段码的值与数码管的公共引脚的接法有关。以8段数码管为例,显示十六进制的段码值如下表所示。十六进制数段码表数字共阳极段码共阴极段码数字共阳极段码共阴极段码0c0h3fh990h6fh1f9h06ha88h77h2a4h5bhb83h7ch3b0h4fhcc6h39h499h66hda1h5eh592h6dhe86h79h682h7dhf8eh71h7f8h07h灭ffh00h880h7fh2. led 显示器动态显示方式并排使用的多位数码管称为led显示器。led显示器多采用动态显示方式,全部数码管共用一套段码驱动电路,各位数码管的同段引脚短接后再接到对应段码的驱动线上。显示时通过位控信号采用扫描的方法逐位的循环点亮各位数码管。动态显示虽然在任一时刻只有一位数码管被点亮,但是由于人眼的具有的视觉残留效应,看起来与全部数码管持续点亮的效果完全一样。动态显示如下图所示。锁存器段码led 显示器接口为了实现led显示器的动态显示,需要给数码管提供段码和位码,因此,要用到接口芯片的两个数据口,一个用于输出8位段码(带小数点显示),另一个用于输出位码,位码的位数等于数码管的个数。1. 8255 实现led显示器接口是使用8255作6位的led显示器的接口电路。其中pc口为位码输出口,以pc5-pc0 输出位控线。由于位控线的驱动电流较大,因此,pc口输出加接74ls06进行反相并提高驱动能力。pa口为段码输出口,各段码线的负载电流约为8ma,为提高显示亮度,加接74ls244进行段控输出驱动。使用8255作led显示器接口,8255只能输出显示段码而不具有控制功能,动态控制要靠程序实现。对此有以下两点说明。1. 为了存放段码,通常要在80c51的内部中设置一个显示缓冲区,存储单元个数与显示器的位数相同,一个单元对应一个显示位。例如本例中有个数码管,显示缓冲区就应该有个单元,假定存储单元地址为,与led显示位的对应关系为:led5led4led3led2led1led07eh7dh7ch7假设动态显示是从右向左进行的,则缓冲区的首地址为79h。每显示一位,就到对应的单元读取段码。2. 为了保证显示亮度,在扫描过程中,应在每一位数码管上都驻留一段时间(约1ms)以使数码管稳定的点亮一段时间,以保证其显示亮度。为此在扫描过程中,位与位之间要加进一段时间延迟。显示电路采用3位共阳led数码管,利用动态扫描方式,从p0口输出段码,p2口的p2.5、p2.6、p2.7输出位码。(1)led数码有共阳和共阴两种,把这些led发光二极管的正极接到一块(一般是拼成一个8字加一个小数点)而作为一个引脚,为共阳管。如下图2.2、2.3所示: 图2.2 图2.3a/d和d/a转换器具 pcf85911.特性【1】单独供电 【2】pcf8591的操作电压范围2.5v-6v 【3】低待机电流 【4】通过i2c总线串行输入/输出 【5】pcf8591通过3个硬件地址引脚寻址 【6】pcf8591的采样率由i2c总线速率决定 【7】4个模拟输入可编程为单端型或差分输入 【8】自动增量频道选择 【9】pcf8591的模拟电压范围从vss到vdd 【10】pcf8591内置跟踪保持电路 【11】8-bit逐次逼近a/d转换器 【12】通过1路模拟输出实现dac增益 2、应用. 闭环控制系统. 用于远程数据采集的低功耗转换器. 电池供电设备. 在汽车、音响和tv应用方面的模拟数据采集3、概述pcf8591是一个单片集成、单独供电、低功耗、8-bit cmos数据获取器件。pcf8591具有4个模拟输入、1个模拟输出和1个串行i2c总线接口。pcf8591的3个地址引脚a0, a1和a2可用于硬件地址编程,允许在同个i2c总线上接入8个pcf8591器件,而无需额外的硬件。在pcf8591器件上输入输出的地址、控制和数据信号都是通过双线双向i2c总线以串行的方式进行传输。 4. 命令信息型号封装名称描述版本 pcf8591pdip16塑性在线封装(16位)sot38-4pcf8591tso16塑性小型封装(16位)sot162-15内部框图内部框图6. 引脚引脚引脚序号引脚功能ain0模拟量输入方式ain1ain2ain3模拟通道选择负电源电压数据信号时钟信号振荡器振荡器输入的外部内部转换模拟接地端输入的参考电压模拟量输出正的电源电压pcf8591引脚图7、功能描述7. 1地址i2c总线系统中的每一片pcf8591通过发送有效地址到该器件来激活,该地址包括固定部分和可编程部分。可编程部分必须根据地址引脚a0. a1和a2来设置。在i2c总线协议中地址必须是起始条件作为第一个字节发送。地址字节的最后一位是用于设置以后数据传输方向的读写位。(见图3)1001a2a1a0r/w图3 地址7.2 控制字发送到pcf8591的第二个字节将被存储在控制寄存器,用于控制器件功能,控制寄存器的高半字节用于容许模拟输出,和将模拟输入编程为单端或差分输入。低半字节选择一个由高半字节定义的模拟输入通道。如果自动增量(auto-increment)标志置1,每次ad转换后通道号将自动增加。如果自动增量(auto-increment)模式是使用内部振荡器的应用中所需要的,那么控制字节中模拟输出容许标志应置1.这要求内部振荡器持续运行,因此要防止振荡器启动延时的转换错误结果。模拟输出容许标志可以在其他时候复位以减少静态功耗。、选择一个不存在的输入通道将导致分配最高可用的通道号。所以,如果自动增量(auto-increment)被置1,下一个被选择的通道将总是通道0.两个半字节的最高有效位(即第7位和第3位)是留给未来的功能,必须设置为逻辑0.控制寄存器的所有位在上电复位后被复位为逻辑0.da转换器和振荡器在节能时被禁止。模拟输出被切换到高阻态。7.3 da转换发送给pcf8591的第三个字节被存储到dac数据寄存器,并使用片上da转换器转换成对应的模拟电压。这个da转换器由连接至外部的参考电压的具有256个接头的电阻分压电路和选择开关组成。接头译码器切换一个接头至dac输出线模拟输出电压由自动清零单位增益放大器缓冲。这个缓冲放大器可通过设置控制寄存器的模拟输出容许标志来开户或关闭。在激活状态,输出电压将保持到新的数据字节被发送。 dac电阻电路片上da转换器也可用于逐次逼近ad转换.为释放用于ad转换周期的dac,单位增益放大器还配备了一个跟踪和保持电路。在执行ad转换时该电路保持输出电压。 ad转换转换器采用逐次逼近转换技术,在转换周期将临时使用片上转换器和高增益比较器。一个转换周期总是开始于发送一个有效模式地址给之后,转换周期在应搭时钟脉冲的后沿触发,所选通道的输入电压采样保存到芯片并被转换为对应的位二进制码。取自差分输入的采样将被转换为对应的位二进制码。转换结果被保存在数据寄存器等待传输。如果自动增量标志被置.将选择下一个通道。在读周期传输的第一个字节包含前一个读周期的转换结果代码。以上电复位之后读取的第一个字节是,总线协议的读周期如图所示。最高ad转换速率取决于实际的i2c总线速度。7.5 参考电压对da和ad转换,稳定的参考电压和电源电压必须提供给电阻分压电路(引脚和)。agnd引脚必须连接到系统模拟地,并应该有一个参考vss的直流偏置。低频可应用于vref和agnd引脚,这容许da转换器作为一象限乘法器使用;ad转换器也可以用作一个或两个象限的模拟除法。模拟输入电压除以参考电压。其结果是被转换为二进制码。在这种应用中,用户必须保持在转换周期的参考电压稳定。7.6 振荡器片上振荡器产生ad转换周期和刷新自动清零缓冲放大器需要的时钟信号。在使用这个振荡器时ext引脚必须连接到vss,在osc引脚振荡频率是可用的。如果ext引脚被送到vdd,振荡输出osc将切换到高阻态以容许用户连接外部时钟信号至8.总线的特性总线是不同的或模块之间的双向两线通信。这两条线是穿行数据线()和串行时钟线()。这两条线必须通过上拉电路连接至上电源。数据传输只能在总线不忙时启动。8.1位传输一个数据位在每一个时钟脉冲期间传输。sda线上的数据必须在时钟脉冲的高电压期间保持稳定,这个数据线上的改变将被当作控制信号。位传输8 .2 开始或停止条件数据和时钟线在总线不忙时保持高电平。在时钟为高电平时,数据线上的一个由高到低的变化被定义为开始条件。时钟为高电平时,数据线上的一个由低到高的变化被定义为停止条件。开始和停止条件定义8 .3 系统配置产生信息的器件称作“发送机”,接收信息的器件称作“接收机”。控制信息的器件称作“主机”,被控制的器件称作“从机”。 主发送、接收机从接收机从发送、接收机主发送机主发送、接收机系统配置8 .4 应答在开始和停止条件之间从发送机传送到接收机的数据字节数是没有限制的,每个8位数据字节之后紧跟着一个应答位。应答位是由发送机放在总线的一个高电平,而主机他产生一个额外的与应答有关的时钟脉冲。地址匹配的从接收机必须在接收每个字节后产生一个应答。然而主机在接收到每个已经被从发送机终止的字节后必须产生一个应答,在应答时钟脉冲期间,应答的器件必须将sda线拉低,因此在应答相应的时钟脉冲的高电平期间,sda线必须保持稳定的低电平。在由从机终止的最后一个字节,主接收机必须通过产生一个低电平应答向发送机发出一个数据结束信号,这样发送机必须将数据线拉高以容许主机产生停止条件。i2c总线应答8 .5 i2c总线协议在开始条件后一个有效的硬件地址必须发送至pcf8591。读写位定义了以后单个或多个字节数据传输的方向。开始条件、停止条件和应答位的格式和定时参考i2c总线特性。在写模式,数据传输通过发送下一个数据传输的停止条件或开始条件来结束。启动 地址 0 a 控制字 a 数据字节 a p/s从机应答从机应答从机应答写模式的总线协议 da转换启动 地址 1 a 控制字 a 数据字节 n a p 从机应答主机应答无应答读模式的总线协议,ad转换2.2各部分电路说明2.2.1单片机控制部分在本设计中,采用了at89c51单片机作为本电路的核心电路的设计。at89c51是一种带4k字节闪烁可编程可擦除只读存储器(fperomfalsh programmable and erasable read only memory)的低电压,高性能cmos8位微处理器,俗称单片机。at89c2051是一种带2k字节闪烁可编程可擦除只读存储器的单片机。单片机的可擦除只读存储器可以反复擦除100次。该器件采用atmel高密度非易失存储器制造技术制造,与工业标准的mcs-51指令集和输出管脚相兼容。由于将多功能8位cpu和闪烁存储器组合在单个芯片中,atmel的at89c51是一种高效微控制器,at89c2051是它的一种精简版本。at89c单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。(1)振荡器特性:xtal1和xtal2的反向放大器的输入和输出。该反向放大器可以配置为片内振荡器。石晶振荡和陶瓷振荡均可采用。如采用外部时钟源驱动器件,xtal2应不接。有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。(2)单片机芯片的擦除:整个perom阵列和三个锁定位的电擦除可通过正确的控制信号组合,并保持ale管脚处于低电平10ms 来完成。在芯片擦操作中,代码阵列全被写“1”且在任何非空存储字节被重复编程以前,该操作必须被执行。at89c51的稳态逻辑可以在低到零频率的条件下静态逻辑,支持两种软件可选的掉电模式。在闲置模式下,cpu停止工作。但ram,定时器,计数器,串口和中断系统仍在工作。在掉电模式下,保存ram的内容并且冻结振荡器,禁止所用其他芯片功能,直到下一个硬件复位为止。(3)单片机的时钟电路 图2.12片内振荡电路的时钟电路at89c1单片机内部的振荡电路是一个高增益反向放大器,引线xtal1和xtal2分别是放大器的输入端和输出端。单片机内部虽然有振荡电路,但要形成时钟,外部还需附加电路。at89c51的时钟产生方式有两种:内部时钟电方式和外部时钟方式。由于外部时钟方式用于多片单片机组成的系统中,所以此处选用内部时钟方式。即利用其内部的振荡电路在xtal1和xtal2引线上外接定时元件,内部振荡电路产生自激振荡。最常用的是在 xtal1和xtal2之间接晶体振荡器与电路构成稳定的自激振荡器,如图2.13电路所示为单片机最常用的时钟振荡电路的接法,其中晶振可选用振荡频率为6mhz的石英晶体,电容器一般选择30pf左右。(4)单片机的复位电路图2.13 at89c51的复位电路本设计中at89c51是采用上电自动复位和按键复位两种方式。最简单的复位电路如图2.13所示。上电瞬间,rc电路充电,rst引线端出现正脉冲,只要rst端保持10ms以上的高电平,就能使单片机有效地复位。其中r1和r2分别选择200和1k的电阻,电容器一般选择22f。(5)at89c51的最小应用系统at89c51是片内有程序存储器的单片机,要构成最小应用系统时只要将单片机接上外部的晶体或时钟电路和复位电路即可,如图2.14所示。这样构成的最小系统简单可靠,其特点是没有外部扩展,有可供用户使用的大量的io线。 图2.14 at89c51单片机构成的最小系2.2.2传感器数据采集电路传感器数据采集电路主要指ds18b20温度传感器与单片机的接口电路。ds18b20可以采用两种方式供电,一种是采用电源供电方式,如图2.15所示,此时ds18b20的1脚接地,2脚作为信号线,3脚接电源。另一种是寄生电源供电方式,如图2.15所示单片机端口接单线总线,为保证在有效的ds18b20时钟周期内提供足够的电流,可用一个mosfet管来完成对总线的上拉。当ds18b20处于写存储器操作和温度a/d转换操作时,总线上必须有强的上拉,上拉开启时间最大为10us。采用寄生电源供电方式时vdd端接地。由于单线制只有一根线,因此发送接口必须是三态的。考虑到实际应用中寄生电源供电方式适应能力差且易损坏,此处采用电源供电方式,i/o口接单片机的p2.0口。图2.15 电源供电方式2.2.3 显示电路显示电路是采用p0口输出段码至led,p2口控制位选通的动态扫描显示方式,三只数码管用npn型三极管驱动,这种显示方式的最大优点是显示清晰,软件设计简单。如图2.16所示:图2.16 显示电路2.3主板电路图2.17 主板电路系统整体硬件电路包括传感器数据采集电路,温度显示电路,上下限报警调整电路,单片机主板电路,电源电路等。如图2.17所示图2.17中有四个独立式按键可以分别调整温度计的上下限报警设置,可以任意调整报警上下限。图中蜂鸣器可以在被测温度不在上下限范围内时,发出报警鸣叫声音。led数码管将当前被测温度值显示,从而测出被测的温度值。图2.17中的按健复位电路是上电复位加手动复位,使用比较方便,在程序跑飞时,可以手动复位,这样就不用在重起单片机电源,就可以实现复位。第三章 软件设计系统程序主要包括主程序,读出温度子程序,温度转换命令子程序,计算温度子程序,显示数据刷新子程序等。 nyny按键子程序初始化得出温度总子程序报警子程序调显示子程序s1键按下否?开始 温度比较子程序 是否超出上下限返 回图3.1 主程序流程3.1主程序主程序的主要功能是负责温度的实时显示、读出并处理ds18b20的测量的当前温度值,温度测量每1s进行一次。这样可以在一秒之内测量一次被测温度,其程序流程见图3.1所示。3.2读出温度子程序读出温度子程序的主要功能是读出ram中的9字节,在读出时需进行crc校验,校验有错时不进行温度数据的改写。其程序流程图如图3.2所示发ds18b20复位命令发跳过rom命令发读取温度命令读取操作,crc校验9字节完?crc校验正?确?移入温度暂存器结束nnyy图3.2 读出温度子程序流程3.3温度转换命令子程序 温度转换命令子程序主要是发温度转换开始命令,当采用12位分辨率时转换时间约为750ms,在本程序设计中采用1s显示程序延时法等待转换的完成。温度转换命令子程序流程图,如图3.3所示发ds18b20复位命令发跳过rom命令发温度转换开始命令结束图3.3 温度转换流程图3.4计算温度子程序计算温度子程序将ram中读取值进行bcd码的转换运算,并进行温度值正负的判定,其程序流程图如图3.4所示。开始n温度零下?y温度值取补码置“-”标志置“+”标志计算小数位温度bcd值 计算整数位温度bcd值 结束图3.4 计算温度流程图 3.5 温度数据显示子程序显示数据子程序主要是对显示缓冲器中的显示数据进行刷新操作,查表送段码至led,开位码显示,采用动态扫描方式。第四章 实物制作与调试说明4.1原材料的选择与采购本次设计在原材料的选择与采购上做到了设计最优化,即用最小的开支,获得性价比较高的元器件和材料。设计中,印刷电路板采用单面板,给人看起来没有太复杂的感觉。选元器件时,尽量选择能使电路简化的器件。例如,为了不增大电路板的体积及减小功耗,本设计采用atmel公司的89s51单片机,体积小,工作电压低。4.2印刷电路板的设计与制作 电路板的设计与制作是整个电路制作过程中比较重要的一步,如果电路板做不好,再好的电路设计也不行。下面就对简单电路板的设计及制作过程做一个简单的介绍。 1、利用protel 99se画原理图。在画原理图的时候为了电路板比较好看,要注意布局,同时还得注意元件封装,命名等。画好原理图后要对其进行电气检测,检查原理图是否有错,同时还要创建网络表为下一步的工作做好准备。2、pcb版图的设计。在对pcb图设计时首先要添加封装库,这样原理图中给予的封装才能有效,然后调入网络表看原理图的封装,命名等是否有错,如果没错便可进行下一步操作。对其进行布线,首先先对布线规则作一些必要的设置,如焊盘的大小,导线的粗细等。做好这些设置后便可进行自动布线,自动布线后如果布线不是很理想还可用手动布线进行手动修改,这样pcb图就画好了。3、电路板的制作。把设计布局好的pcb图打印出来之后,然后进行压板、腐蚀、钻孔。注意,腐蚀之前要检查是否有断线及焊盘的脱落等。4、元件的焊接。元件焊接的时候要先查看跳线,首先焊接所有的跳线,其次再焊接分离元件,最后焊接集成块和外接的引线。当然为了美观在布线中最好不要出现跳线。5、整体检查。查看是否有断线和虚焊等。6、烧录程序4.3 单片机测试判断单片机芯片及时钟系统是否正常工作有一个简单的办法,就是用万用表测量单片机晶振引脚(18、19脚)的对地电压,以正常工作的单片机用数字万用表测量为例:18脚对地约2.24v,19脚对地约2.09v。对于怀疑是复位电路故障而不能正常工作的单片机也可以采用模拟复位的方法来判断,单片机正常工作时第9脚对地电压为零,可以用导线短时间和5v连接一下,模拟一下上电复位,如果单片机能正常工作了,说明这个复位电路有问题。4.4 硬件及软件调试硬件调试,第一步是目测,在印好电路板之后,先检查印制线是否有断线、是否有毛刺、是否与其它线或焊盘粘连、焊盘是否有脱落、过孔是否有未金属化现象。而在目测的过程中,我们发现有一条印制线断开,因此我们用焊锡使这条断线连在一起。第二步是用万用表测量。在目测完之后,利用万用表来测量连线和接点,检查它们的通断状态是否和设计一样。再检查各种电源线和地线是否有短路现象,在检查的过程中,发现不管是连线还是接点都符合设计规定,电源和地线也没有短路现象。第三步是加电检查。给印制板加电时,我们检查到的器件的电源端符合要求的电压值+5v,同时接地端的电压为0。第四步是联机检查。利用系统和单片机开发系统用仿真电缆连接起来,发现联机检查完后以上是连接都正确、畅通、可靠。软件调试,第一步是在具有汇编软件的主机上和用户系统连接起来,进行调试准备。第二步是单步运行。第三步是系统连调,即进行软件和硬件联合调试。经调试,软件运行良好。4.5整机的调试与测试首先是测试显示电路的正确性,根据硬件写好一段显示程序,写入单片机中。安装好硬件,上电,显示正常,达到预期效果。证明显示电路正常。按下复位按键,led无显示,松开,显示正常,证明复位电路正常。然后测试得到温度程序,将初始化程序,ds18b20正常工作的初始化程序、写ds18b20程序、读ds18b20程序,得到温度子程序,温度转换子程序,数据转
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 猫咪黑下巴的处理
- 农业无人机租赁服务市场潜力分析与平台运营优化策略报告
- 房建工程移交方案(3篇)
- 农业无人机租赁平台在2025年农村市场的运营潜力分析报告
- 东莞东城装饰工程方案(3篇)
- 牵引车安全培训课件
- 安全教育心得培训总结课件
- 农业可持续发展背景下2025年智能灌溉系统技术应用分析
- 荔湾小学面试题库及答案
- 农业产业强镇项目资金申请报告:2025年政策导向与区域布局分析
- 骨科临床基本技术操作规范
- 安徽省蚌埠市五河县部分学校2024-2025学年第一学期八年级期末考试语文试卷(含答案)
- 8年级奥数真题及参考答案
- 社会保险基金决算培训
- 2024年仓库代存代管协议书模板
- 《防范于心反诈于行》中小学防范电信网络诈骗知识宣传课件
- 拱板屋面施工方案
- DB43∕T 439-2019 地理标志产品 湘莲
- 2021版十八项医疗质量安全核心制度附流程图
- 门窗安装用工合同模板
- 人教版六年级数学上册第一单元测试卷
评论
0/150
提交评论