毕业设计(论文)-基于单片机的原油温度状态控制系统设计.doc_第1页
毕业设计(论文)-基于单片机的原油温度状态控制系统设计.doc_第2页
毕业设计(论文)-基于单片机的原油温度状态控制系统设计.doc_第3页
毕业设计(论文)-基于单片机的原油温度状态控制系统设计.doc_第4页
毕业设计(论文)-基于单片机的原油温度状态控制系统设计.doc_第5页
已阅读5页,还剩61页未读 继续免费阅读

下载本文档

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

文档简介

本科学生毕业设计基于单片机的原油温度状态控制系统设计系部名称: 专业班级: 学生姓名: 指导教师: 曲贵波 职 称: 副教授 黑 龙 江 工 程 学 院二一二年六月the graduation design for bachelors degreedesign of crude oil temperature states control system based on mcucandidate:specialty:measurement-control technology and instrumentationclass:supervisor:associate prof. qu guiboheilongjiang institute of technology2012-06harbin黑龙江工程学院本科生毕业设计摘 要温度是科学技术中最基本的物理量之一,物理化学生物等学科都离不开温度。在工业生产和实验研究中,像电力、化工、石油、冶金、航空航天、机械制造、粮食存储、酒类生产等领域内温度往往是表征对象和过程状态的重要的参数之一。其中原油是一种重要的资源。在储油现场,若温度控制不当会造成很严重的后果,所以控制原油的温度是非常必要的。本课题设计一个基于单片机的原油温度状态控制系统,能完成对原油温度参数的实时监测、存储和显示。当原油温度偏离设定值时能完成对原油温度的调节。包括铂电阻测温调理电路、a/d转换电路、数码管显示电路、max232远程通信电路、实时时钟电路、储存与读取电路、键盘与显示电路。此次设计的内容就是通过对单片机的了解,将其应用于测控系统中。 关键词:温度;原油;单片机;实时;调节abstract the temperature is the most basic science and technology of one of the physical quantities,physical chemical and biological sciences is inseparable from the temperature.in these domains such as electric power chemical,petroleum,metallurgy,aerospace,machinery manufacture,food storage,alcohol production,the temperature is often characterized the state of the process object and one of the important parameters in the industrial production and experimental study.among all these fields crude oil is a kind of important resources.on crude oil storage site,inappropriate temperature control will lead to serious consequence.so,it is highly necessary to control the temperature of crude oil.this subject design a crude oil temperature control system based on single chip,able to complete the real-time monitoring of temperature parameters of crude oil,stored and displayed.when the oil temperature deviation from the set value,it can adjust the oil temperature.it includes platinum resistance temperature conditioning circuit,ad conversion circuits,led display circuit,max232 remote communication circuit,real-time clock circuit,storage and reading circuit,keyboard and display circuit.the design of content is through the understanding of the scm,apply it to the measuring and controlling system.key words: temperature;crude oil;mcu;real-time;adjustmentii目 录摘要iabstractii第1章 引言11.1 概述11.2 设计意义11.3 国内外现状21.4 本设计研究的主要内容3第2章 整体方案分析42.1 任务42.2 要求42.3 总体设计框图42.4 系统基本方案42.4.1 按键模块的选择42.4.2 显示模块的选择52.4.3 温湿度传感器的选择52.4.4 甲烷传感器的选择62.4.5 单片机的选择72.5 本章小结8第3章 硬件电路设计分析93.1 单片机93.2 系统的蜂鸣器电路103.3 显示电路123.4 a/d转换电路153.5 按键电路183.6 甲烷传感器电路183.7 温湿度传感器电路153.8 本章小结16第4章 系统的软件设计174.1 软件流程图174.2 lcd显示函数184.3 按键中断函数184.4 本章小结19结束语28参考文献29致谢23附录 系统电路图24附录 数据采集系统程序25附录 英文文献36第1章 引 言1.1 课题研究目的及意义 用储油罐储油是我国目前应用最普通的一种储油方式。油品的温度在原油众多物理参数中具有十分重要的地位。原油的温度对原油的品质、密度、体积都有一定的影响1。在油品交易过程中,原油计量工作要做到精确,就必须对油品温度进行准确测量2;在储油现场,为防止凝罐等恶性事故的发生也需要实时、准确监测油品温度3。因而,保持一定的油品温度是一项具有经济价值和社会价值的工作。1.2 原油温度控制的现状分析1.2.1 温度测量方面目前,在实际应用中,我国主要依据gb8927-1988石油和石油产品温度测量法测量石油的温度4。石油和石油产品温度测量法对立式金属油罐的测量部位和所使用的仪器设备,甚至是温度计在油品中的浸没时间都有严格规定。这种方法采用单点测量,或者三点测量。而且,这种定点测量方法主要采用的是液体膨胀式温度计、热电阻温度计、集成电路温度变送器、多阻力温度计等5。根据测温方式的不同,温度测量通常可分为接触式测温和非接触式测温两大类6。接触式测温的特点是感温元件直接与被测对象相接触,两者进行充分的热交换,最后达到热平衡,此时感温元件的温度与被测对象的温度必然相等,温度计就可据此测出被测对象的温度。因此,接触式测温一方面有测温精度相对较高,直观可靠及测温仪表价格相对较低等优点;另一方面也存在由于感温元件与被测介质直接接触,从而影响被测介质热平衡状态,而接触不良则会增加测温误差;被测介质具有腐蚀性及温度太高亦将严重影响感温元件性能和寿命等缺点7。非接触式测温的特点是感温元件不与被测对象直接接触,而是通过接受被测物体的热辐射能实现热交换,据此测出被测对象的温度。因此,非接触式测温具有不改变被测物体的温度分布,热惯性小,测温上限可设计的很高,便于测量运动物体的温度和快速变化的温度等优点8。1.2.2 温度控制方面目前原油温度状态控制的控制方案有直接数字控制、推断控制、预测控制、模糊控制、专家控制等9。1、pid控制pid算法根据比例、积分、微分系数计算出合适的输出控制参数,利用修改控制变量误差的方法实现闭环控制,使控制过程连续,是很普通的调节方法。其缺点是现场pid参数整定麻烦,易受外界干扰,对于滞后大的过程控制,调节时间过长。其控制算法需要预先建立模型,对系统动态特性的影响很难归并到模型中,被控对象模型参数难以确定,外界干扰会使控制漂离最佳状态10。2、动态矩阵控制动态矩阵控制采用工程上易于测取的对象阶跃响应作为内部模型,算法比较简单、计算量少、鲁棒性强,适用于有纯滞后、开环渐进稳定的非最小项对象。在实际应用中取得了显著的效果,并在石化领域得到广泛应用11。3、模糊控制模糊控制是基于模糊逻辑的描述一个过程的控制算法,主要嵌入操作人员的经验和直觉知识。它适用于控制不易取得精确数学模型和数学模型不确定或经常变化的对象。仅依赖于操作人员的经验和直观判断,非常容易应用12。常用的实现方法有cri查表法、专用硬件模糊控制器、软件模糊推理法等。4、专家控制由于专家式控制器在模型的描述上采用多种形式,就必然导致其实现方法的多样性。虽然构造专家式控制器的具体方法各不相同,但归结起来,其实现方法可分为两类:一类是保留控制专家系统的结构特征,但其知识库的规模小,推理机构简单;另一类是以某种控制算法(例如pid算法)为基础,引入专家系统技术,以提高原控制器的决策水平13。专家式控制器虽然功能不如专家系统完善,但结构较简单,研制周期短,实时性好,具有广阔的应用前景. 目前在国内化工应用的专家控制系统基本停留于理论研究阶段,实验性的比较多,长期使用比较少。虽然国外大型化工企业应用已有所突破,但未产业化14。5、预测控制虽然预测控制的表达形式和控制方案多样,但都是采用工业生产过程中较易得的脉冲响应和阶跃响应曲线为依据,并将它们在采样时刻的一系列数值作为描述对象动态特性的数据,构成预测模型,据此确定控制量的时间序列,使未来一段时间中被控参数与期望轨迹之间的误差最小15。6、神经网络控制人工神经网络以独特的结构和处理信息的方法在许多领域得到应用并取得了显著的成效,在自动控制领域取得了突出的理论与应用成果16。基于神经网络的控制是一种基本上不依赖于模型的控制方法,适用于难以建模或具有高度非线性的被控过程17。随着工业技术的不断发展,传统的控制方式已经不能满足高精度、高速度的控制要求,近几年来技术的快速发展使产品的质量更好,降低了产品的成本,提高了生产效率。单片机的功能不断增强为先进的控制算法提供了载体。单片机以其功能强、体积小、可靠性高、造价低和开发周期短等优点,成为自动化领域和其他测控领域中广泛应用的器件,在工业生产中成为必不可少的器件。在温度控制系统中,单片机更起到了不可替代的核心作用18。1.2.3 原油加热方式方面 基本上罐内原油加热方式有三种,第一种是在罐底部设置,通入高温蒸汽加热,第二种是把原油输出加热后高速打回罐内,第三种是电加热,但由于第二种、第三种方法都只适用于小罐且不安全19。1.3 原油温度控制的应用前景在原油生产中,有些区块油井生产出的原油粘度较高,有的原油粘度高达几万mpas。这种原油无法进入油田的原油管道集中输送,只能在井口安装原油储灌(每口井安装12个40m3罐),贮存油井生产的原油,然后用罐车外运。从贮油罐中向罐车里装原油,必须把贮油罐中的原油加热到一定温度。因此,贮油罐的加热就成为这些油井能否正常生产和成本高低的关键20。另外,由于国内外原油销售市场的不确定性,导致罐内原油储存时间加长,原有的热量不断损失、导致温度不断下降,而其温度决不允许低于某个数值,一旦罐内原油温度降低到一定程度,将造成罐内原油凝固,其后结果是十分严重的。因此实时监控原油储罐温度是非常必要的21。1.4 技术路线1、资料查阅及总体方案确定查阅国内外原油温度状态的现况、温度控制的方式、单片机的应用及发展情况相关资料。剖析一些温度控制系统的典型产品,吸取同类产品的优点。根据目前原油温度控制的发展趋势和现有的设计条件,提出基于单片机的原油温度状态控制系统的整体方案,进行软硬件设计和元器件选型工作。2、系统软硬件设计根据技术需求,进行电路原理图的设计。同时编写单片机所用程序,分块化处理各部分功能并进行调试。3、软、硬件的联合调试在完成对硬件电路和软件的独立调试后,进行联合调试。在完成软、硬件的联合调试后,利用高精度信号发生源作为输入信号进行本模块的系统调试及校准,并得到相关数据。第2章 系统的总体设计方案2.1 总体设计方案 基于单片机的原油温度状态控制系统分为硬件部分和软件部分。硬件部分主要完成控制核心元件、测温元件、lde显示部分、lcd显示部分的设计。软件部分主要完成led模块显示、lcd模块显示、a/d转换等各部分的设计。图2.1 总体方案设计图系统总体方案设计框图如图2.1所示。本系统共用到两片at89s52单片机,其中a机用于现场温度采集,b机用于温度的设置和存储,a、b机通过max232硬件连接串口实现全双工通信。a机采用中断方式将采集的温度值不停的发往b机,b机采用查询方式实时接收a机发送的温度数据并将处理后的数据送往液晶显示。b机通过按键输入温度设定值,并将设定温度值通过按键选择发送模式发送到a机,经a机简单处理送数码管显示。a机将接收到的温度值与当前温度值相比较,将比较值作为控制被控对象的依据,如果低于设定温度就加热,最终使被控对象的温度与设定温度一致。系统软件设计将整体流程分成几个部分,然后分别对每个部分编写部分软件模块,再将部分软件模块连接在一起通过整体调试,最终实现整个电路的功能。2.2 方案对比2.2.1 单片机的选择单片机是微型机的一个主要分支,在结构上的最大特点是把cpu、存储器、定时器和多种i/o接口电路集成在一块超大规模集成电路芯片上。就其组成和功能而言,一块单片机就是一台计算机。它通过内部总线把计算机的各主要部件接为一体,其内部总线包括地址总线、数据总线和控制总线。其中,地址总线的作用是在进行数据交换时提供地址,cpu通过它们将地址输出到存储器或i/o接口;数据总线的作用是在cpu与存储器或i/o接口之间,或存储器与外设之间交换数据;控制总线包括cpu发出的控制信号线和外部送入cpu的应答信号线等。由于单片机的这种结构形式及它所采用的半导体工艺,使其具有很多显著特点,因而在各个领域都得到了迅猛的发展。单片机主要有如下特点:1、有优异的性能价格比。2、集成度高、体积小、有很高的可靠性。单片机把各功能部件集成在一块芯片上,内部采用总线结构,减少了各芯片之间的连线,大大提高了单片机的可靠性与抗干扰能力。另外,其体积小,对于强磁场环境易于采取屏蔽措施,适合在恶劣环境下工作。3、控制功能极强。为满足工业的控制要求,一般单片机的指令系统中均有极丰富的转移指令、i/o口的逻辑操作以及位处理功能。 单片机的逻辑控制功能及运行速度均高于同档次的微机。4、低功耗、低电压,便于生产便携式产品。5、外部总线增加了ic(inter-integrated circuit)及spi(serial peripheral interface)等串行总线方式,进一步缩小了体积,简化了结构。6、单片机的系统扩展和系统配置较典型、规范,容易构成各种规模的应用系统。方案一:avr单片机 avr单片机是高速嵌入式单片机,有与取指令功能。多累加器型,数据处理快,具有32个通用工作寄存器,相当于有32条立交桥,可以快速通行。中断响应速度快。avr单片机有多个固定中断向量入口地址,可快速响应中断。另外,avr单片机保密性能好。它具有不可破解的位加密锁lock bit技术,保密位单元深藏于芯片内部,无法用电子显微镜看到。方案二:at89s52at89s52是一种低功耗、高性能cmos 8位微控制器,具有8k在系统可编程flash存储器。使用atmel公司高密非易失性存储器技术制造,与工业80c51产品指令和引脚完全兼容。片上flash允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的8位cpu和在系统可编程flash,使得at89s52为众多嵌入式控制应用系统提供高灵活、有效地解决方案。at89s52具有以下标准功能:8k字节flash,256字节ram,32位i/o口线,看门狗定时器,2个数据指针,3个16位定时器/计数器,8个中断向量源,全双工串行口,片内晶振及时钟电路。另外,at89s52可降至0hz静态逻辑操作,可选择节电模式。空闲模式下,cpu停止工作,允许ram内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止22。总结:虽然avr单片机的响应速率比at89s52单片机快、保密性好,但是考虑到原有温度状态控制系统不需要很强的保密功能,且at89s52单片机在市场上更加普及,所以本设计选用方案二,at89s52单片机。2.2.2 温度传感器的选择目前,常用的温度测控系统是以ds18b20为代表的新型单片机总线数字式温度传感器集温度测量和a/d转换于一体,直接输出数字量,与单片机接口几乎不需要外围元件,是得硬件电路结构简单,广泛适用于距离远,节点分布多的场合。模拟式温度传感器输出为模拟信号,必须经过a/d转换环节获得数字信号后才能与单片机等微处理器接口连接。虽然由模拟式温度传感器、a/d转换电路和单片机组成的测温系统硬件结构复杂,成本较高,但是自动化程度和可靠性较高,使用方便,具有较强的推广应用价值。所以本系统采用铂电阻模拟式温度传感器,它的测温原理是基于金属导体的电阻值随温度的变化而变化的特性。铂电阻选用标称值为1000欧的pt1000作为温度传感器,其物理、化学性能在高温和氧化性介质中非常稳定,其灵敏度远高于pt100,在-259.34630.74温域内可作为温度标准。 pt1000响应时间很短,便于微机实时处理,并能辅助实现温度自动控制和记录等许多特点,正适合原油温度测量系统环境。2.2.3 显示电路的选择方案一:led显示单片机驱动led显示有很多方法,按显示方式可分为静态显示和动态显示。静态显示就是显示驱动电路具有输出锁存功能,单片机将要显示的数据送出后就不再控制led,直到下一次显示时再传送一次新的数据。只要当前显示的数据没有变化,就无需理睬数码管显示。静态显示的数据稳定,占用cpu时间少。静态显示中,每一个显示器都要占用单独具有锁存功能的i/o口,该接口用于笔画段字形代码。这样单片机只要把显示的字型数据代码发送到接口电路,该字段就可以显示要发送的字型。要显示新的数据时,单片机再发送新的字型码。另一种方法是动态扫描显示。动态扫描方法是用其接口电路把所有显示器的8个笔画字段(a-g和dp)同名端连接在一起,而每一个显示器的公共极各自独立接受i/o线控制。cpu向字段输出端口输出字型码时,所有显示器接收相同的字型码,但究竟使哪一位则由i/o线决定。动态扫描用分时的方法轮流控制每个显示器的公共极,使每个显示器轮流点亮。在轮流点亮的过程中,每位显示器的点亮时间极为短暂,但由于人的视觉暂留现象及发光二级管的余辉效应,给人的印象就是一组稳定的显示数据。方案二:lcd显示液晶显示器作为一种低功耗显示器件,广泛应用于计算器,数字仪表等低功耗系统中。但一般使用的液晶显示器均为七段笔划式,只能显示数字和少量字符,对于较复杂的字符或图形则无能为力。而点阵式液晶显示模块可以显示各种各样的字符(包括简单的汉字),而且点阵显示模块具有可编程能力,与单片机接口方便。由于以上优点,点阵式液晶显示模块获得了广泛的应用。结论:由于单片机a只同时显示当前温度值和设定温度值,且当前温度值实时变化,设定温度值不变,所以单片机a选用方案一led动态显示,max7219对数码管驱动。max7219是串行输出共阴极显示性能非常卓越的驱动芯片。其接口采用流行的同步串行外设接口spi,可与任何一种单片机方便接口,并可同时驱动8位led,还具有级联功能可控制更多的led。由于单片机b需要同时显示日期、时间和温度值,且当功能键按下时显示不同界面,所以单片机b选用方案二lcd液晶显示。lcd选用12864液晶模块,可与单片机直接接口,8位并行和串行两种连接方式,最多可以控制4行16字中文字型显示。2.2.4 a/d转换芯片的选择 目前a/d转换器的种类繁多,从数据输出形式上可分为串行输出与并行输出两大类。其中串行输出a/d转换器因其硬件接口简单而得到广泛应用。另外,从可接受的输入信号极性上看,a/d转换器又可分为单极性输入和双极性输入。在很多的数据采集场合常常面对极性可变的模拟信号。当然可将待转换信号进行电位移动以将其转化为单一极性,但如此便增加了电路的复杂性,本设计选用串行输出、双极性输入a/d转换芯片。方案一:adc0809adc0809是8通道8位逐次逼近型a/d转换器,单极性输入,并行输出,电压范围是05v,若信号太小,必须进行放大。输入的模拟量在转换过程中应该保持不变,如若模拟量变化太快,则需在输入前增加采样保持电路23。方案二:max1270max1270是8通道12位逐次逼近型a/d 转换器,多量程双极性输入,串行输出,5v单电源供电,4个软件可控模拟电压输入范围:0+10v、0+5v、-10v+10v、-5v+5v,不增加任何硬件电路可实现对双极性模拟信号a/d 转换24。 结论:结合系统设计要求,由于max1270是双极性输入,串行输出,且比adc0809位数多,提高了精确性,所以选用方案二。2.3 本章小结 本章先从系统整体功能要求出发,通过对比与分析,对本系统中的主要器件、电路连接方式进行论述,并最终确定了系统采用的总体方案。通过认真比较各个方案的优缺点,本次设计最终选定了at89s52作为控制核心,pt1000作为测温传感器,max1270作为a/d转换器,并用led、lcd共同显示当前信息。第3章 系统的硬件设计3.1 铂电阻测温调理电路的设计本系统采用恒流工作调理电路,如图3.1所示,ar1、ar2和ar3采用低温漂移运放,由于有电流流经铂电阻传感器,所以当温度为0时,载波电阻传感器上有压降,这个电压为铂电阻传感器的偏置电压,是运放ar1输出电压的一部分,使恒流工作调理电路的输出实际不为零。所以需要对这个偏置电压调零,图中r1为调零电阻,其作用是当温度为零度时,将恒流工作调理电路的输出调为零。又因为铂电阻的电阻特性为非线性,铂电阻在0100度变化范围内的非线性误差为0.4(0.4),就有可能对a/d量化和数码管显示造成影响,所以加入了线性化电路,图中运放ar3、及r5、r6和r7一起构成了负反馈非线性化校正化网络,r3用于调整运放ar2的增益。图3.1 铂电阻温度调理电路电路的调整方法如下(用精密可调电阻代替铂电阻进行调整):1、将精密可调电阻调整到相当于0的阻值(1000欧),用r1调零。2、将精密可调电阻调整到相当于50的阻值(1193.971欧),用r3调整增益。3、将精密可调电阻调整到相当于100的阻值(1385.055欧),用r6或r7调整线性。4、反复调整多次,在0100温度范围内适宜为止。3.2 a/d转换电路设计3.2.1 max1270芯片介绍max1270是8通道、多量程双极性输入、串行输出、逐次逼近型12位a/d 转换器。不增加任何硬件电路可实现对双极性模拟信号a/d转换。其封装形式有24脚narrow pdip和28脚ssop两种。本设计用到的是24脚的narrow pdip封装的形式。pdip封装各有用引脚功能如下:1、vdd为+5v电源输入端;2、dgnd为数字地;3、sclk为串行时钟输入端;4、/cs为片选输入端。低电平有效;5、din为串行数据输入端。即a/d转换控制字的输入端;6、dout为串行数据输出端;7、agnd为模拟地;8、ch0ch7为模拟信号输入端;9、/shdn为掉电模式控制输入端;10、refadj为参考电压输出或外部调节输入;11、ref为参考电压缓冲输出或adc的参考输入。其引脚图如图3.2所示。图3.2 max1270引脚排列1、max1270的控制字max1270的8位控制字及其功能如表3.1所示。最高位start为起始位(高电平),标志控制字的开始。/cs为低电平期间,控制字在时钟脉冲sclk作用下先高位后低位通过din端输入。表3.1 控制字格式bit7(msb)bit6bit5bit4bit3bit2bit1bit0(lsb)startsel2sel1sel0rngbippd1pd02、时钟模式与转换速率pd1pd0为掉电/时钟模式选择位。pd1pd010、11时为省电模式。正常工作时max1270有外部时钟与内部时钟两种工作模式。pd1pd001时为外部时钟模式,串行数据的移入、移出以及数据采集、转换都由slck端的输入脉冲控制。pd1pd000时为内部时钟模式,数据转换时钟由芯片自己产生,减轻了微处理器的负担,使得转换后的数据可在微处理器方便的任何时刻读取,利于提高微处理器的工作效率。外部时钟模式分为25sclk/s(每个数据转换需要25个时钟周期)和18sclk/s两种方式,后者转换速率稍快的原因是在全部数据转换期间/cs始终维持有效电平。内部时钟模式也有20、16、13sclk/s等不同转换方式。不同的时钟模式和转换方式,其转换速率不同。在外部时钟模式下sclk速率为2mhz、18sclk/s时max1270转换速率可达110ksps。3、通道选择与输入范围sel2sel0为通道选择位,000111分别选择输入通道ch0ch7。rngbip为输入范围选择位,max1270有4种输入范围,rngbip置00时为0-5v单极性输入,置01时为0+10v单极性输入;置10时为-5+5v双极性输入;置11时为-10 +10v双极性输入。4、传输函数与输出数据格式对单极性输入,1lsbfs/4096,输出数据为12位二进制码。对双极性输入,1lsbfs/2048,输出数据为12位二进制补码。5、参考电压max1270可使用芯片内的4.096v参考电压,也可使用外部参考。如图3.3是使用片外参考和片内参考时相关管脚的接法。(a)、使用片内参考电压 (b)、使用片外参考电压图3.3 管脚连接图 3.2.2 a/d转换电路根据上述max1270芯片特点,本次设计选用-5+5v双极性输入、使用片外参考电压、ch0为输入通道,由单片机a控制它的时钟、片选和控制字,再由dout引脚输出转换后的数据给单片机a,其a/d转换电路如图3.4所示。图3.4 a/d转换电路3.3 led显示电路设计3.3.1 mxa7219芯片介绍max7219为24引脚芯片,除与led显示相连的线外,与微控制器只需3根连线相接:芯片端管脚分别为clk、din、load,其中clk为时钟输入端,din为数据输入端,load为锁存信号。其工作时序为:时钟的上升沿max7219把din引脚数据移入内部移位寄存器,在时钟下降沿max7219把数据移向dout端,而load的上升沿则锁存最后移入的16位串行数据。对max7219的控制操作很方便,其内部具有158位ram功能控制寄存器,可方便寻址,对每位数字可单独控制、刷新,不需要重写整个显示器。显示亮度可数字控制。max7219的这些功能,使系统编程简单方便,同时节省i/o口。max7219的控制寄存器分别为:不工作方式寄存器、译码方式寄存器、亮度控制寄存器、扫描个数寄存器、关闭寄存器和显示测试寄存器。寄存器的操作格式为2个字节的串行数据,第一个字节为寄存器的地址,第二个字节为控制命令或为待显示的数据。寄存器的地址分配及功能如下所示:1、不工作寄存器(0x00):用于max7219级联控制。2、位寄存器(0x010x08):8位led待显示内容。3、译码方式寄存器(0x0g):决定译码方式,分b码和不译码两种。4、亮度控制寄存器(0x0a):led段电流控制5、扫描个数寄存器(0x0b):决定显示多少个led。6、关闭寄存器(0x0c):决定正常工作方式或关闭led显示。7、显示测试寄存器(0x0d):决定正常工作方式或显示测试。图3.5 max7219引脚排列max7219的引脚排列如图3.5所示,其各引脚功能如下:1、din为串行数据输入端。当clk为上升沿时,数据被载入16b的内部移位寄存器中。2、clk为串行时钟输入端。其最大工作频率可达10mhz。3、load为片选端,当load为低电平时,芯片接收来自din接收的数据。接收完毕,load回到高电平。当load回到高电平时,接收到的数据将自动被芯片锁定。4、dig0dig7为吸收显示器共阴极电流的位驱动线。其最大值可达500ma,关闭状态时,输出vcc。5、segasegg、dp为驱动显示器7段数码管及小数点的输出电流,一般为40ma左右,可用软件调整。关闭状态时,接入gnd。6、dout为串行数据输出端,通常直接接入下一片max7219的din端以驱动更多位的数码管。串行输入数据在时钟上升沿时移入内部的16位移位寄存器,在装载的上升沿时数据被锁存在每一位或寄存器中。装载信号必须在第16个时钟上升沿发生时或之后达到高电平,但要在下一个时钟的上升沿和数据丢失之前到达。串行输入数据通过移位寄存器传输,在以后数据输出的16个时钟循环出现,数据在时钟的下降沿记录下来。数据各位记录为d0d15如表3.2所示,d8d11为移位寄存器地址,d0d7为数据,d12d15是无关位。第一位接收到的位是最高位d15。d7为数据最高有效位,d0为数据最低有效位。d15d14d13d12d11d10d9d8d7 d0xxxx地址数据表3.2 串行数据格式(16位)控制字寄存器由芯片的88双端口sram识别,sram为直接寻址,这样单一的位能够被更改或保留,条件是电源电压明显大于2v。控制字寄存器包括译码模式、显示强度、扫描限制(被扫描位的个数)、关闭模式、显示测试(点亮所有的led)。另外还有一个空操作寄存器,该寄存器允许数据从din直接送至dout,在设备串接情况下不会改变显示或影响任何控制寄存器。max7219有14个可寻址的控制字寄存器如表3.3所示。表3.3 max7219寄存器地址控制字寄存器d15-d12d11d10d9d816进制码空操作x0000x0位0x0001x1位1x0010x2位2x0011x3位3x0100x4位4x0101x5位5x0110x6位6x0111x7位7x1000x8译码模式x1001x9强度x1010xa限扫x1011xb关闭x1100xc显示测试x1111xfmaxim公司生产的max7219串行led驱动显示器因为具有接口简单、占用资源少、控制灵活方便、led级联扩展便利等诸多优点,现在已经成为很多开发人员的首选25。3.3.2 mxa7219驱动数码管显示电路根据上述max7219芯片特点,max7219驱动led数码管的电路简单,与单片机连接的电路也简单,本设计由单片机a控制它的片选、时钟、和串行数据输入。连接led数码管显示电路,如图3.6所示。图3.6 max7219驱动数码管显示电路3.4 通信电路设计3.4.1 单片机通信原理at89s52单片机内部的串行接口是全双工的,即它能同时发送和接收数据。发送缓冲器只能写入不能读出,接收缓冲器只能读出不能写入。串行口还有接收缓冲作用,即从接收寄存器中读出前一个已收到的字节之前就能开始接收第二字节。 两个串行口数据缓冲器通过特殊功能寄存器sbuf来访问。写入sbuf的数据储存在发送缓冲器,用于串行发送;从sbuf读出的数据来自接收缓冲器。两个缓冲器共用一个地址99h(特殊功能寄存器sbuf的地址)。1、串行口控制寄存器 控制串行口的寄存器有两个特殊功能寄存器:即串行口控制寄存器scon和电源控制器pcon。(1)pcon中的波特率选择位pcon是一个特殊功能寄存器,没有位寻址功能,字节地址为87h。其中d7位(smod)为波特率选择位。其他均无意义。复位时的smod值为0。可通过软件置1。当smod=1时,在串行口方式1,2或3情况下,波特率提高一倍。(2)串行口控制寄存器scon特殊功能寄存器scon用于定义串行口的操作方式和控制它的某些功能。其字节地址为98h。寄存器中各位内容如表3.4所示。表3.4 寄存器中各位内容d7d6d5d4d3d2d1d0sm0sm1sm2rentb8rb8tirism0,sm1为串行口操作方式选择位,两个选择位对应于四种状态,所以串行口能以四种方式工作。sm2为允许方式2和3的多机通信使能位,在方式2或3中,若sm2置为1,且接收到的第9位数据(rb8)为0,则接收中断标志ri不会被激活,在方式1中,若sm2=1,则只有收到有效的停止位时才会激活ri。在方式0中,sm2必须置为0。ren为允许串行接收位。由软件置位或清零,使允许接收或禁止接收。 tb8为是在方式2和3中要发送的第9位数据可按需要由软件置位或复位。 rb8为是方式2和3中已接收到的第9位数据。在方式1中,若sm2=0,rb8是接收到的停止位。在方式0中,不使用rb8位。 ti为发送中断标志。在方式0中当串行发送完第8位数据时由硬件置位;在其他方式中,在发送停止位的开始时由硬件置位。当ti=1时,申请中断,cpu响应中断后,发送下一帧数据。在任何方式中,该位都必须由软件清0。 ri为接收中断标志。在方式0中串行接收到第8位结束时由硬件置位。在其他方式中,在接收到停止位的中间时刻由硬件置位。ri=1时申请中断,要求cpu取走数据。但在方式1中,当sm2=1时,若未接收到有效的停止位,则不会对ri置位。在任何工作方式中,该位都必须由软件清0。在系统复位时,scon中的所有位都被清0。2、串行接口工作方式串行口的操作方式由sm0,sm1定义,编码和功能如表3.5所示。(1)方式0 串行口的工作方式0为移位寄存器输入输出方式,可外接移位寄存器,以扩展i/o口,也可外接同步输入输出设备。(2)方式1 串行口工作于方式1时,被控制为波特率可变的8位异步通信接口。传送一帧信息为10位,即1位起始位(0),8位数据位(低位在先)和1位停止位(1)。数据位由txd发送,由rxd接收。波特率是可变的,取决于定时器1或2的溢出速率。(3)方式2和方式3 串行工作于方式2和方式3时,被自定义为9位的异步通信接口,发送(通过txd)和接收(通过rxd)一帧信息都是11位,1位起始位(0),8位数据位(低位在先),1位可编程位(即第9位数据)和1位停止位(1)。方式2和方式3的工作原理相似,唯一的差别是方式2的波特率是固定的。为fosc/32或fosc/64;方式3的波特率是可变的,利用定时器1或定时器2作波特率发生器。表3.5 串行口方式选择sm0 sm1方 式功 能 说 明波 特 率0 00移位寄存器方式fosc/120 118位uart可变1 029位uartfosc/64或 fosc/321 139位uart可变3、波特率 串行口每秒钟发送(或接收)的位数称为波特率。假设发送一位数据所需要的时间为t,则波特率为1/t。 串行口以方式0工作时,波特率固定为振荡器频率的1/12。以方式2工作时波特率为振荡器频率的1/64或1/32,它取决于特殊功能寄存器pcon中的smod位的状态。以方式1工作和以方式3工作的波特率由定时器1的溢出率所决定。对于定时器的不同工作方式,得到的波特率的范围是不一样的,这主要由定时器1的计数位数不同所决定。3.4.2 max232通信电路根据单片机通信原理及max232芯片介绍26,得知使用max232能够实现本次设计的通信功能。如果单片机a发送数据则单片机b接收数据,如果单片机b发送数据则单片机a接收数据这种功能。设计的max232通信电路如图3.7所示。图3.7 max232通信电路3.5 实时时钟电路设计3.5.1 ds12887芯片介绍ds12887是一款集成了ds12r885裸片、32.768khz石英晶体和一个可充电电池的时钟器件。器件内部含有14字节的实时时钟/日历、闹钟、控制/状态寄存器以及114字节的非易失、电池备份的静态ram。少于31天的月份,月末日期可自动调整,其中包括闰年补偿,该器件提供一个定时闹钟、三个可屏蔽中断和一个通用中断输出,以及可编程方波输出,ds12887可以工作于24小时或带am/pm指示的12小时格式。一个精密的温度补偿电路用来监视vcc的状态,如果检测到主电源故障,该器件可以自动切换到备用电源供电。备用电源支持可充电电池或超级电容,器件内部包含一个集成的涓流充电器,涓流充电器始终有效,可通过多路复用的地址/数据总线访问ds12887,总线支持intel和motorola模式。ds12887可作为ibm at计算机的时钟和日历与mc146818和ds1287的管脚兼容在没有外部电源的情况下可工作10年,可以计算到2100年前的秒、分、小时、星期、日期、月、年七种日历信息并带闰年补偿,可以编程选择用二进制码或bcd码代表日历和闹钟信息,可以切换到夏令时27。3.5.2 ds12887实时时钟电路根据ds12887芯片的特性设计实时时钟电路如图3.8所示。图3.8 ds12887实时时钟电路3.6 存储电路设计3.6.1 24c02芯片介绍24c02是一个2k位串行cmos e2prom,内部含有256个字节的存储空间。采用i2c总线接口,可与400khz i2c总线兼容,工作电压范围为1.8v6.0v,采用低功耗cmos技术功耗很低。设有一个专门的写保护功能:当wp为高电平时进入写保护状态。可自定时擦写周期,具有1,000,000编程/擦除周期,数据可保存100年。其引脚配置如图3.9所示。 图3.9 24c02引脚图1、管脚描述scl为串行时钟,24c02串行时钟输入管脚用于产生器件所有数据发送或接收的时钟,是一个输入管脚。sda为串行数据/地址,24c02双向串行数据/地址管脚,用于器件所有数据的发送或接收。sda是一个开漏输出管脚可与其它开漏输出或集电极开路输出进行线与。a0、a1、a2为器件地址输入端,这些输入脚用于多个器件级联时设置器件地址,当这些脚悬空时默认值为0当使用24c02时最大可级联8个器件如果只有一个24c02被总线寻址这三个地址输入脚a0、a1、a2可悬空或连接到vss;如果只有一个24c02被总线寻址这三个地址输入脚a0、a1、a2必须连接到vss;2、写操作(1)wp写保护如果wp管脚连接到vcc所有的内容都被写保护只能读,当wp管脚连接到vss或悬空允许器件进行正常的读/写操作。(2)字节写在字节写模式下,主器件发送起始信号和从器件地址信息r/w位置0给从器件,在从器件送回应答信号后,主器件发送两个8位地址字写入24c02的地址指针,主器件在收到从器件的应答信号后,再发送数据到被寻址的存储单元。24c02再次应答,并在主器件产生停止信号后开始内部数据的擦写,在内部擦写过程中,24c02不再应答主器件的任何请求。(3)页写在页写模式下,单个写周期内24c02最多可以写入32个字节数据。页写操作的启动和字节写一样,不同在于传送了一字节数据后,主器件允许继续发送31个字节。每发送一个字节后,24c02将响应一个应答位,且内部低5位地址加1,高位地址保持不变。如果主器件在发送停止信号之前发送大于32个字节,地址计数器将自动翻转,先前写入的数据被覆盖。当所有32字节接收完毕,主器件发送停止信号,内部编程周期开始。此时所有接收到的数据在单个写周期内写入24c02。3、读操作24c02读操作的初始化方式和写操作时一样,仅把r/w位置为1。有三种不同的读操作方式:立即/当前地址读选择/随机读和连续读。(1)立即/当前地址读24c02的地址计数器内容为最后操作字节的地址加1。也就是说,如果上次读/写的操作地址为n,则立即读的地址从地址n+1开始,如果n=e则计数器将翻转到0且继续输出数据。24c02接收到从器件地址信号后(r/w位置1),它首先发送一个

温馨提示

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

评论

0/150

提交评论