毕业论文-基于at89c51单片机的空调控制系统设计_第1页
毕业论文-基于at89c51单片机的空调控制系统设计_第2页
毕业论文-基于at89c51单片机的空调控制系统设计_第3页
毕业论文-基于at89c51单片机的空调控制系统设计_第4页
毕业论文-基于at89c51单片机的空调控制系统设计_第5页
已阅读5页,还剩29页未读 继续免费阅读

下载本文档

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

文档简介

1总体方案设计随着人们生活水平的提高,人们对空调的舒适性和空气品质的要求越来越高,分体式空调已不能满足人们的要求,户式中央空调得到了迅猛的发展。就室内居住环境而言,恒温环境并非是卫生和舒适的。因为除了温度外,还有湿度、空气流速、空气洁净度等诸多因素影响到舒适的程度。而传统的中央空调靠设置机械温控开关来实现房间的恒温控制。这种控制方法,一方面操作不方便;另一方面温度波动范围大,不但影响人的舒适感,而且会造成一定的能量损耗。采用单片机温度控制系统控制的户式中央空调系统,可以根据室内的环境因素,调节风机的转速,为人们创造一个舒适的室内环境,同时又节省电。随着电子技术的发展,特别是随着大规模集成电路的产生,给人们的生活带来了根本性的变化,如果说微型计算机的出现使现代的科学研究得到了质的飞跃,那么单片机技术的出现则是给现代工业控制测控领域带来了一次新的革命。目前,单片机在工业控制系统诸多领域得到了极为广泛的应用。特别是其中的C51系列的单片机3的出现,具有更好的稳定性,更快和更准确的运算精度,推动了工业生产,影响着人们的工作和学习。而本次设计就是要通过以C51系列单片机为控制核心,实现空调机温度控制系统的设计。11方案一选用AT89C51单片机为中央处理器,通过温度传感器DS18B20对空气进行温度采集,将采集到的温度信号传输给单片机,由单片机控制显示器,并比较采集温度与设定温度是否一致,然后驱动空调机的加热或降温系统对空气进行处理,从而模拟实现空调温度控制单元的工作情况。在整个设计中,涉及到温度检测电路、驱动控制电路、显示电路、键盘电路以及电源的设计等电路。其中单片机的控制程序是起到各个电路之间的相互协调,控制各个电路正常工作的至关重要的作用。其方框图如下图11方案一设计图框该图控制简单,思路清晰,各单元模块的相互衔接较简单,同时成本低廉,用的各种器件都是常用器件,更具有使用性。12方案二该方案采用的是AT89C51单片机为核心控制器件,用它来处理各个单元电路的工作以及检测其运行情况。本方案中采用的是LM35DZ温度传感器,通过温度采集电路采集相关温度数值,再由ADC0809组成的A/D转换电路进行转换,最终得到数字信号,将其直接传输给单片机,然后由单片机根据内部程序判断,执行相关控制程序,驱动各单元电路的工作。其方框图如下图12方案二设计图框该方案容易控制,系统原理比较简单,电路可靠。但其中的温度测量电路、译码电路复杂,容易产生误差和由电路复杂而导致的设备使用寿命低等一系列问题。13总体方案选择及实现131方案选择选择方案一。控制简单,思路清晰,各单元模块的相互连接较简单,同时成本低廉,用到的各种器件都是常用器件,更具有使用性。132具体的实现方案实现方案的技术线路为用按钮输入标准温度值,用LED实时显示环境空气温度,用驱动电路控制压缩机完成加热和制冷调节,用ISIS软件对设计进行仿真,用C语言完成软件编程。单片机AT89S51中央处理器如图所示图13单片机AT89C51VCC、VSS用于外接单片机的工作电源,电源电压为5V。XTAL1、XTALL2用于外接晶振构成振荡电路或直接输入时钟信号。RST复位信号输入引脚,高电平有效。ALE地址锁存信号输出引脚,固定输出1/6振荡频率的脉冲,可作为脉冲信号源使用。/EA片内、片外程序存储器选择控制引脚。输入部分AT89S51、A/D转换、驱动控制、温度控制器、加热、制冷。空气显示部分4/PSEN片外程序存储器读允许控制器。P00P07P0口I/O引脚,或数据线/低8位地址总线复用引脚。P10P17P1口I/O引脚。P20P27P2口I/O引脚,或高8位地址总线引脚。P30P37P3口I/O引脚,此外,每个引脚都有第二功能。2硬件设计21硬件各单元方案设计与选择211温度传感部分要求对温度和与温度有关的参量进行检测,应该考虑用热电阻传感器。按照热电阻的性质可以分为半导体热电阻和金属热电阻两大类,前者通常称为热敏电阻,后者称为热电阻。半导体热敏电阻是利用某些半导体材料的电阻值随温度的升高而减小(或升高)的特性制成的,大多数的半导体热敏电阻具有负温度系数。负温度系数热敏电阻器的特点是在工作温度范围内电阻阻值随温度的升高而降低。可满足4090测量范围,具有灵敏度高,电阻值高,体积小,结构简单,价格低廉,化学稳定性好,使用寿命长等优点;但其互换性较差,而且线性度也很差,不能直接用于A/D转换,应该用硬件或软件对其进行线性化补偿。金属热电阻中属铂电阻和铜电阻最为常用,这里以铂电阻PT1000为例。铂热电阻的物理化学性能在高温和氧化性介质中很稳定,它能用作工业测温元件,且此元件线性较好,在0100时,最大非线性偏差小于05。铂热电阻与温度的关系是,RTR01ATBTT;其中RT是温度为T摄氏度时的电阻,R0是温度为0摄氏度时的电阻,T为任意温度值,A、B为温度系数。但其电阻与温度为非线性关系,且成本太贵,不适合做普通设计。集成温度传感器是利用晶体管的PN结的电流电压特性与温度的关系,把敏感元件、放大电路和补偿电路等部分集成化,并把它们封装在同一壳体里的一种一体化温度检测元件。它除了与半导体热敏电阻一样有体积小、反应快的优点外,还具有线性好、性能高、价格低等特点,如DS18B20智能温度控制器。单线数字温度传感器DS18B20简介新的“一线器件”体积更小、适用电压更宽、更经济、数字化。一线总线独特而且经济的特点,使用户可轻松地组建传感器网络,为测量系统的构建引入全新概念。DS18B20“一线总线”数字化温度传感器,支持“一线总线”接口,测温范围为55125,现场温度直接以“一线总线”的数字方式传输,大大提高了系统的抗干扰性。适合于各种环境的现场温度测量,如环境控制、设备或过程控制、测温类消费电子产品等。DS18B20可以程序设定912位的分辨率,设定的报警温度存储在EEPROM中,掉电后依然保存。DS18B20使电压特性及封装有更多的选择,让我们可以构建适合自己的经济的测温系统,并且应用电路电但便于设计。在本设计中我采用的是集成温度传感器DS18B20,其电路简单可靠,不需要A/D转换,直接可以与单片机相连。212数字显示部分通常的LED显示器有7段或8段和“米”字段之分。这种显示器有共阳极和共阴极两种。共阴极LED显示器的发光二极管的阴极连接在一起,通常此公共阴极接地,当某个发光二极管的阳极为高电平时,发光二极管点亮,相应的段被显示。同样,共阳极LED显示器的工作原理也一样。LED显示器有两种显示方式静态显示方式在这种方式下,各位LED显示器的共阴极(或共阳极)连接在一起并接地(或电源正),每位的段选线分别与一个8位的锁存器输出相连,各个LED的显示字符一经确定,相应锁存器的输出将维持不变,直到显示另一个字符为止,正因为如此,静态显示器的亮度都较高。若用I/O口接口,这需要占用N8位I/O口(LED显示器的个数为N)。这样的话,如果显示器的个数较多,那使用的I/O接口就更多,因此在显示位数较多的情况下,一般都不用静态显示。动态显示方式当多位LED显示时,通常将所有位的段选线相应的并联在一起,由一个8位I/O口控制,形成段选线的多路复用。而各位的共阳极或共阴极分别由相应的I/O口控制,实现各位的分时选通。其中段选线占用一个8位I/O口,而位选线占用N个I/O口(N为LED显示器的个数)。由于各位的段选线并联,段码的输出对各位来说都是相同的,因此,同一时刻,如果各位选线都处于选通状态的话,那LED显示器将显示相同的字符。若要各位LED能显示出与本位相应的字符,就必须采用扫描显示方式,即在某一时刻,只让某一位的位选线处于选通状态,而其他各位的位选线处于关闭状态,同时,段选线上输出相应位要显示字符的段码。这种显示方式占用的I/O口个数为8N(N为LED显示器的个数),相对静态显示少了很多,但需要占用大量的CPU资源,当CPU处理别的事情时,显示可能出现闪烁或者不显示的情况。为了节约硬件资源,降低电路板的成本,本人采用的是节约硬件资源的动态扫描显示方式。213加热降温驱动控制电路采用开关量控制,如继电器、双向可控硅、光耦等,控温快速,但是双向可控硅驱动电路比较麻烦,调试也麻烦,若用现成的固态继电器价格十分昂贵。用继电器时要注意其电感的反向电动势,和开关触点对电源的影响,以及开关脉冲对整个电路的影响等,应该加入必要的防止干扰的措施。1、采用单向晶闸管,这是一种大功率半导体器件,它既有单向导电的整流作用,又有可以控制的开关作用。利用它可以用较小的功率控制较大功率,在交、直流电动机调速系统、调功系统、随动系统和无触点开关等方面均获得了广泛的应用。这种晶闸管与二极管不同的是,当其两端加上正向电压而控制极不加电压时,晶闸管并不导通,其正向电流很小,处于正向阻断状态;当其两端加上正向电压、且控制极上(与阴极间)也加上一正向电压时,晶闸管便进入导通状态,这时管压降很小(1V左右)。这时即使控制电压消失,仍然保持导通状态,所以控制电压没有必要一直存在,通常采用脉冲形式,以降低触发功耗。它不具有自关断能力,要切断负载电流,只有使阳极电流减小到维持电流以下,或加上反向电压实现关断。若在交流回路中应用,当电流过零和进入负半周时,自动关断,为了使其再次导通,必须重加控制信号。2、采用光耦合双向可控硅驱动电路,这种器件是一种单片机输出与双向可控硅之间较理想的接口器件,它由输入和输出两部分组成,输入部分是一个砷化镓发光二极管,该二极管在5MA15MA正向电流作用下发出足够强度的红外光,触发输出部分。输出部分是一个硅光敏双向可控硅,在红外线的作用下可双向道通。光电耦合器也常用于较远距离的信号隔离传送。一方面光耦合器可以起到隔离两个系统地线的作用,使两个系统的电源相互独立,消除地电位不同所产生的影响;另一方面,光电耦合器的发光二极管是电流驱动器件,可以形成电流环路的传送形式。由于电流环电路是低阻抗电路,对噪音的敏感度低,因此提高通讯系统的抗干扰能力,常用于有噪音干扰的环境里传输信号。达到同样的加热效果,开关量控制容易,驱动简单,驱动电路的抗干扰能力强。所以我采用的是光耦合双向可控硅驱动电路。22单元电路设计221温度采集电路本设计的温度采集系统主要是数字温度传感器DS18B20,如图21所示。本设计以DS18B20为传感器,AT89C51单片机为控制核心组成的温度巡回检测系统,在图21中,DS18B20的供电方式为外部电源,其I/O数据线与P34相连。在DS18B20接入系统之前,应分别从激光ROM中读出其序号,然后分别赋予在系统中的编号1N。该系统需要用键盘来设置温度报警的门限值,并用七段LED显示器显示DS18B20的编号和测量的温度值。图21温度采集电路温度检测系统原理图如图21所示,采用外接电源供电方式。为保证在有效的DS18B20时钟周期内提供足够的电流,我们用一个电阻R30和89C51的一个I/O口(P34)来完成对DS18B20总线的上拉。当DS18B20处于写存储器操作和温度A/D变换操作时,总线上必须有强的上拉,上拉开启时间最大为10S。采用外接电源供电方式时VCC接外部电源,GND接地,I/O与单片机的I/O线相连。在本设计中,我采用的是单个DS18B20测室内温度,并把它直接与单片机的I/O口相连,将测得的温度值送入CPU与键盘输入的设定值进行比较,然后通过CPU来控制负载电路的工作。一般来说CPU对DS18B20的访问流程是先对DS18B20初始化,再进行ROM操作命令,最后才能对存储器和数据操作。DS18B20每一步操作都要遵循严格的工作时序和通信协议,如主机控制DS18B20完成温度转换这一过程,根据DS18B20的通信协议,须经三个步骤每一次读写之前都要对DS18B20进行复位,复位成功后发送一条ROM指令,最后发送RAM指令,这样才能对DS18B20进行预定的操作。222LED显示电路LED显示电路如图22所示,LED电路采用4只共阴极七段数码管。显示方式有动态扫描和静态扫描,两种都可以实现显示功能,但由于静态扫描要用到多片串入并出芯片,考虑到电路板成本计算,本人采用节约硬件资源的动态扫描显示方式。P2口的P20至P23接限流电阻作为段选控制,P2口的P24至P27经三极管驱动后作为位选控制,在10MS定时中断服务程序中分别对显示的各位进行动态扫描显示。LED分别对室内温度和时间进行动态显示,其相互显示间隔设定为1分钟,即显示温度时第一、二位为十位、个位,第三、四位为小数位而显示时间时第一、二位为小时,第三、四位为分钟,显示数据由CD4511译码器输出。由4个共阴极的数码管组成温度和时间交替显示。P2口的四条数据线P20至P23分别与CD4511译码器的ABCD口相接,P2口的P24至P27分别通过电阻R6至R9与Q1至Q4的基极相连接。这样通过P2口送出一个存储单元的高位,低位BCD显示代码,通过P2口另几位送出扫描选通代码轮流点亮LED1至LED4,就会将要显示的数据在数码管中显示出来。图22LED显示电路所谓LED静态驱动是指每个数码管的每一个段码都由一个单片机的I/O端口进行驱动,或者使用如BCD码二十进制译码器译码进行驱动;其点亮和关闭由该I/O口来对其控制,互不干涉,对I/O驱动能力弱的MCU,必须增加外部驱动芯片或三极管等器件。此种设计一般应用在单个LED的驱动或LED数量较少,且所选的MCUI/O口比较充裕的情况下。由于每一个LED均由独立的I/O口控制,因此优点是软件编程简单,显示亮度高,缺点是占用I/O端口多,如驱动5个数码管静态显示则需要5840根I/O端口来驱动,要知道一个AT89C51单片机可用的I/O端口才32个,实际应用时必须增加译码驱动器进行驱动,增加了硬件电路的复杂性。LED的动态显示方式数码管动态显示接口是单片机中应用最为广泛的一种显示方式,动态驱动是将所有数码管的8个显示笔划“A,B,C,D,E,F,G,DP“的同名端连在一起,另外为每个数码管的公共极增加位选通控制电路,位选通由各自独立的I/O线控制,当单片机输出字形码时,所有数码管都接收到相同的字形码,但究竟是那个数码管会显示出字形,取决于单片机对位选通端电路的控制,所以我们只要将需要显示的数码管的选通控制打开,该位就显示出字形,没有选通的数码管就不会亮。通过分时轮流控制各个数码管的公共极,就使各个数码管轮流受控显示,这就是动态驱动。在轮流显示过程中,每位数码管的点亮时间为12MS,由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上各位数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感,动态显示的效果和静态显示是一样的,却能够节省大量的I/O端口,而且功耗更低。由于所有的LED模块共用了驱动端,因此LED的驱动不再像静态法一样为每个LED所独享,因此其驱动的设计方法也与静态法完全不同,需要采用分时扫描方法来实现对所有LED的显示驱动,其原理如下A将A0设置为高电平,也即允许第一组LED显示,同时将A2,A3,A4设置为低电平,也即关闭该阴极所对应的LED组显示;B在P2口输出A0组对应的显示数据,如字符点阵数据、7段码对应的数字的数据等,该数据可以通过ROM表的形式预先定义;C保持一定的时间T,该时间即为所设定的定时器的中断时间;D将A0口设置为低电平,关闭A0组的LED显示;E将A1设置为高电平,其他几个设置为低电平,开启A1组对应的LED显示;F在P0口输出A1组对应的显示数据;G重复以上步骤,直到所有组被扫描一遍,然后又从A0组开始下一个循环,如此周而复始,实现所有LED的动态显示。该方法的原理利用了人眼对物体的视觉延迟来达到所有LED的同时显示,实际应用时,在同一个时刻,只有一组LED处于显示状态,而其他LED处于关闭状态。理论上,若两次显示之间的时间间隔小于32MS时,人眼既无法分辨,因此,为了达到此要求,LED的扫描频率一般可以按照下式计算得出F32N。式中,F为扫描的频率,对应为定时器的时间(T1/F);32则是由32MS换算而来,32MS对应的频率刚好为32HZ;N则时总的LED的组数(此例中N4)。根据此式算出的扫描频率F实际是LED驱动扫描的最小频率,若低于此频率,则有可能导致LED的闪烁;F也不可能越高越好,扫描的频率太高,每组LED的点亮时间就越短,因此有可能导致LED的亮度不够或显示效果不理想等一些问题。当然提高LED的驱动电压也可以补偿由此造成的亮度不够的问题。数据与代码转换。由前述可知,P2口的P20至P23输出段选码,P2口的P24至P27输出位选码,LED就会显示出数字来。但P2口输出的数据是BCD码,各存储器存储的数据是二进制,也就是和要显示出的字符表达的含义是不一致的。可见,将要显示的存储器单元的数据直接送到P2口去驱动LED数码管显示是不能正确表达的,必须在系统内部将要显示的数据经过BCD码转换后,将各个单元数据的段选代码送入P2口,给CD4511译码后去驱动数码管显示。具体转换过程如下我们先将要显示的数据装入累加器A中,再将A中的数据转换成高低两位的BCD码,再放回A中,然后将A中的值输出。如有一个单元存储了45这样一位数,则需转换成四位BCD码01001001然后放入A中,A中BCD码,高四位代表4,低四位代表5,同时送给两个译码器中,译码后45字就在两个LED中显示出来。223电源电路1电源变压器将220V,50HZ的交流电压转换成5V直流电压。2滤波电路利用电感和电容的阻抗特性,将整流后的单向脉动电流中的交流分量滤去,使单向脉动电流变换成平滑的直流电。3稳压电路当电网电压波动或负载的变动会导致负载上得到的直流电不稳定,影响电子设备的性能,用稳压管,即采用一些负反馈方式的稳压电路,使之自动调节不稳定因素,从而得到稳定电压。供电部分输入220V、50HZ的交流电,输出电压5V,供给整个电路电源,电流最大为400MA;LM17812和LM17805负载重,功率大,加装了散热片。本设计的电源电路设计图如下图23电源电路224外部晶振电路外部晶振电路由2个33PF的电容和一个12MHZ的晶体振荡器构成。片内电路与片外器件构成一个时钟产生电路,CPU的所有操作均在时钟脉冲下同步进行。片内振荡器的振荡频率非常接近晶振频率,一般在12MHZ12MHZ之间选取,C5,C6是反馈电容,起稳定振荡频率,快速起振的作用,其值在5PF33PF之间选取,典型值为33PF。本电路选用的电容为33PF,晶振频率为12MHZ。在引脚XTAL1和XTAL2外接晶体振荡器,就构成了内部震荡方式,内部震荡方式所得的时钟信号比较稳定,实用电路中使用较多。由于单片机内部有一个高增益反相放大器,当外接晶振后,就构成了自激振荡器并产生震荡时钟脉冲。内部震荡方式的外部电路如图24所示图24外部晶振电路外部振荡信号由X2引入,X1和X2片内振荡电路输入、输出引脚,这两个端子用来外接石英晶体和微调电容。在石英晶体的两个管脚加交变电场时,它将会产生一定频率的机械变形,而这种机械振荡又会产生交变电场,上述物理现象称为压电效应。一般情况下,无论是机械振动的振幅,还是交变电场的振幅都非常小。但是,当交变电场的频率为某一特定值时,振幅骤然增大,产生共振,称之为压电振荡。这一特定频率就是石英晶体的固有频率,也称谐振频率,即用来连接89C51片内OSC的定时反馈回路。石英晶振起振后要能在X2线上输出一个3V左右的正弦波,以便使MCS51片内的OSC电路按石英晶振相同频率自激振荡。通常OSC的输出时钟频率FOSC为05MHZ16MHZ,典型值为12MHZ或者110592MHZ。电容C5,C6可以帮助起振,典型值为33PF,调节它们可以达到微调FOSC的目的。3软件设计31软件设计原理及设计所用工具本设计中采用的处理器是AT89C51单片机,由此可采用面向MCS51的程序设计语言,包括ASM51汇言和C语言,这两种语言各有特点。C语言更接近机器语言,常用来编制与系统硬件相关的程序,如访问I/O端口、中断处理程序、实时控制程序、实时通信程序等;而数学运算程序则适合用C51高级语言编写,因为用高级语言编写运算程序可提高编程效率和应用程序的可靠性。与以往的80C51单片机不同,AT89C51具有在线调试和下载功能,它由支持AT89C51的开发工具包KEILUVERSION20开发系统来提供。也就是说,在用户系统保留AT89C51的情况下,通过开发系统与AT89C51的串行接口通信,直接对用户系统进行调试,并在调试完成后将调试好的程序下载到AT89C51中。KEILUVERSION20开发系统提供四项功能编译、下载、调试和模拟,分别由KEILUVERSION20提供的编译器、在线串行下载器、调试器和模拟器来实现。KEILUVERSION20编译器可在WINDOWS操作系统下直接使用,编译汇编源程序,并生成16进制文件和列表文件。串行下载器是一个软件程序,它允许通过标准PC机上的串口串行下载汇编程序到片内8KB的闪速程序存储器中。调试器采用WINDOWS系统,允许用户使用AT89C51的UART串行接口在芯片上调试代码执行。在典型调试对话中,调试器提供对片内所有外围设备的访问、单步和设置断点的代码执行控制方式。模拟器采用WINDOWS系统,能完全模拟AT89C51的所有功能。模拟器使用简单,结合了许多标准调试特征,包括多断点、单步以及代码执行跟踪等能力。主程序功能单一化,只对各子程序进行控制、调动,使整个程序成为有机的整体。软件主程序是系统的监控程序,主要工作流程为系统在上电以后进入初始化状态,将系统中所有的接口模式、状态以及有关的存储单元置位成初始状态,然后恢复AT89C51的P1口控制输出的工作状态。32部分程序的流程图321主程序流程图本设计主程序流程如图31所示。程序启动后,首先清理系统内存,然后对温度进行采集,通过温度采集芯片内部转换后,传输到单片机,由单片机控制显示设备,显示现在的温度,然后系统进入待机状态,等待键盘输入设定温度,系统将设定温度与现在温度进行比较,得出结果,启动制冷系统或者加热系统。图31主程序流程图322DS18B20的温度采样程序流程图CPU对DS18B20的访问流程是先对DS18B20初始化,再进行ROM操作命令,最后才能对存储器和数据进行操作。DS18B20每一步操作都要遵循严格的工作时序和通信协议。如主机控制DS18B20完成温度转换这一过程,根据DS18B20的通讯协议,须经三个步骤每一次读写之前都要对DS18B20进行复位,复位成功后发送一条ROM指令,最后发送RAM指令,这样才能对DS18B20进行预定的操作。DS18B20工作的流程如图32。图32温度采样框程序如下FLOATTTINIT_DS18B20/初始化DS18B2子函数DELAY_MS1WRITEONECHAR0XCC/跳过ROM命令WRITEONECHAR0XBE/发送读取数据命令TEMP_DATA0READONECHAR/连续读两个字节数据TEMP_DATA1READONECHARTEMP1TEMP_DATA1TEMP16348/温度值正负判断TEM65536TEMFLAG11/负温度求补码,标志位置1ELSEFLAG10DIS_RAM0TEM/取小数部分的值DIS_PLAY3DIS_RAM0/存入小数部分显示值DIS_RAM0TEM4/取中间八位,即整数部分的值DIS_PLAY0DIS_RAM0/100/取百位数据暂存DIS_PLAY2DIS_RAM0100/取后两位数据暂存IFDIS_PLAY2SXDIS_PLAY51ELSEDIS_PLAY50DIS_PLAY1DIS_PLAY2/10/取十位数据暂存DIS_PLAY2DIS_PLAY210/取个位数据暂存IFDIS_PLAY0/最高位为0都不显示DIS_PLAY00X0A/先判断百位是否为0IFDIS_PLAY1DIS_PLAY10X0A/再判断十位是否为0323LED显示部分程序流程图LED软件设计的主要功能是将DS18B20所测数据经过模糊控制以后用LED显示出来。其流程图如图33图33LED显示流程图程序如下LED1LED1LED2LED2VOIDDISPLAY/显示温度子程序/CHARKFORK0KINCLUDEDEFINEUCHARUNSIGNEDCHARDEFINEUINTUNSIGNEDINTSBITDQP36/P3温度输入口UINTTEMP1/定义一个变量UCHARFLAG1/定义一个标志,温度是负或正,1为负,0为正UCHARDATATEMP_DATA20X00,0X00/读出温度暂放UCHARDATADIS_PLAY60X00,0X00,0X00,0X00,0X0A,0X0C/显示单元数据,共6个数据和一个运算第4个数据为空,第6个数据显示CUCHARDATADIS_RAM10X00UCHARSX38/上限报警温度,默认值为38UCHARXX15/下限报警温度,默认值为15SBITSETP32/定义调整键SBITDECP31/定义减少键SBITADDP30/定义增加键/SBITKOP33/手动报警SBITLED1P33SBITLED2P34SBITDINP07/小数点DEFINEDISDATAP0/段码入口/P0111DEFINEDISCANP2/数码管位选扫描/P2111UCHARCODETABLE0XC0,0XF9,0XA4,0XB0,0X99,0X92,0X82,0XF8,0X80,0X90,0XFF,0XBFUCHARCODESCAN_CON80X01,0X02,0X04,0X08,0X10,0X20,0X40,0X80/列扫描控制字VOIDDELAY_MSUINTI/DELAY111/延时子程序/WHILEIVOIDDELAY1UCHARYUCHARYFORY0YFORY0Y0IDQ0/给脉冲信号DAT1/数据右移一位DQ1/给脉冲信号IFDQ/DQ为1DAT|0X80/读出数据DELAY_MS4/延时RETURNDATVOIDWRITEONECHARUNSIGNEDCHARDAT/写字节子函数UCHARI0FORI8I0IDQ0DQDAT/写入一位数据DELAY_MS5DQ1DAT1/右移一位数据VOIDTMPCHANGEVOID/DS18B20BEGINCHANGE/发送温度转换命令INIT_DS18B20/初始化DS18B20DELAY_MS200/延时WRITEONECHAR0XCC/跳过序列号命令WRITEONECHAR0X44/发送温度转换命令UINTTMP/GETTHETEMPERATURE/读出温度函数/FLOATTTINIT_DS18B20/初始化DS18B2子函数DELAY_MS1WRITEONECHAR0XCC/跳过ROM命令WRITEONECHAR0XBE/发送读取数据命令TEMP_DATA0READONECHAR/连续读两个字节数据TEMP_DATA1READONECHARTEMP1TEMP_DATA1TEMP16348/温度值正负判断TEM65536TEMFLAG11/负温度求补码,标志位置1ELSEFLAG10DIS_RAM0TEM/取小数部分的值DIS_PLAY3DIS_RAM0/存入小数部分显示值DIS_RAM0TEM4/取中间八位,即整数部分的值DIS_PLAY0DIS_RAM0/100/取百位数据暂存DIS_PLAY2DIS_RAM0100/取后两位数据暂存IFDIS_PLAY2SXDIS_PLAY51ELSEDIS_PLAY50DIS_PLAY1DIS_PLAY2/10/取十位数据暂存DIS_PLAY2DIS_PLAY210/取个位数据暂存IFDIS_PLAY0/最高位为0都不显示DIS_PLAY00X0A/先判断百位是否为0IFDIS_PLAY1DIS_PLAY10X0A/再判断十位是否为0IFFLAG1DIS_PLAY00X0B/为负数时,最高位显示“VOIDSHENGWENLED1LED1VOIDJIANGWENLED2LED2VOIDDISPLAY/显示温度子程序/CHARKFORK0K40SX25SHISX/10GESX10FORK10K0KP0TABLESHIDISCANSCAN_CON5DELAY110DISCAN0X00P0TABLEGEDISCANSCAN_CON6DELAY110DISCAN0X00DISCANSCAN_CON7/位选DISDATA0XC6/显示CDELAY110DISCAN0X00IFDEC0DELAY1120IFDEC0XXIFXX0KP0TABLESHIDISCANSCAN_CON4DELAY120DISCAN0X00P0TABLEGEDISCANSCAN_CON5DELAY120DISCAN0X00DISCANSCAN_CON6/位选P00XC6/显示CDELAY120DISCAN0X00GANEMPLOYMENTTRIBUNALCLAIMEMPLOYMENTTRIBUNALSSORTOUTDISAGREEMENTSBETWEENEMPLOYERSANDEMPLOYEESYOUMAYNEEDTOMAKEACLAIMTOANEMPLOYMENTTRIBUNALIFYOUDONTAGREEWITHTHEDISCIPLINARYACTIONYOUREMPLOYERHASTAKENAGAINSTYOUYOUREMPLOYERDISMISSESYOUANDYOUTHINKTHATYOUHAVEBEENDISMISSEDUNFAIRLYFORMOREINFORMATIONABOUTDISMISSALANDUNFAIRDISMISSAL,SEEDISMISSALYOUCANMAKEACLAIMTOANEMPLOYMENTTRIBUNAL,EVENIFYOUHAVENTAPPEALEDAGAINSTTHEDISCIPLINARYACTIONYOUREMPLOYERHASTAKENAGAINSTYOUHOWEVER,IFYOUWINYOURCASE,THETRIBUNALMAYREDUCEANYCOMPENSATIONAWARDEDTOYOUASARESULTOFYOURFAILURETOAPPEALREMEMBERTHATINMOSTCASESYOUMUSTMAKEANAPPLICATIONTOANEMPLOYMENTTRIBUNALWITHINTHREEMONTHSOFTHEDATEWHENTHEEVENTYOUARECOMPLAININGABOUTHAPPENEDIFYOURAPPLICATIONISRECEIVEDAFTERTHISTIMELIMIT,THETRIBUNALWILLNOTUSUALLYACCEPTITIFYOUAREWORRIEDABOUTHOWTHETIMELIMITSAPPLYTOYOU,TAKEADVICEFROMONEOFTHEORGANISATIONSLISTEDUNDERFURTHERHELPEMPLOYMENTTRIBUNALSARELESSFORMALTHANSOMEOTHERCOURTS,BUTITISSTILLALEGALPROCESSANDYOUWILLNEEDTOGIVEEVIDENCEUNDERANOATHORAFFIRMATIONMOSTPEOPLEFINDMAKINGACLAIMTOANEMPLOYMENTTRIBUNALCHALLENGINGIFYOUARETHINKINGABOUTMAKINGACLAIMTOANEMPLOYMENTTRIBUNAL,YOUSHOULDGETHELPSTRAIGHTAWAYFROMONEOFTHEORGANISATIONSLISTEDUNDERFURTHERHELPIFYOUAREBEINGREPRESENTEDBYASOLICITORATTHETRIBUNAL,THEYMAYASKYOUTOSIGNANAGREEMENTWHEREYOUPAYTHEIRFEEOUTOFYOURCOMPENSATIONIFYOUWINTHECASETHISISKNOWNASADAMAGESBASEDAGREEMENTINENGLANDANDWALES,YOURSOLICITORCANTCHARGEYOUMORETHAN35OFYOURCOMPENSATIONIFYOUWINTHECASEIFYOUARETHINKINGABOUTSIGNINGUPFORADAMAGESBASEDAGREEMENT,YOUSHOULDMAKESUREYOURECLEARABOUTTHETERMSOFTHEAGREEMENTITMIGHTBEBESTTOGETADVICEFROMANEXPERIENCEDADVISER,FOREXAMPLE,ATACITIZENSADVICEBUREAUTOFINDYOURNEARESTCAB,INCLUDINGTHOSETHATGIVEADVICEBYEMAIL,CLICKONNEARESTCABFORMOREINFORMATIONABOUTMAKINGACLAIMTOANEMPLOYMENTTRIBUNAL,SEEEMPLOYMENTTRIBUNALSTHELACKOFAIRUPTHEREWATCHMCAYMANISLANDSBASEDWEBB,THEHEADOFFIFASANTIRACISMTASKFORCE,ISINLONDONFORTHEFOOTBALLASSOCIATIONS150THANNIVERSARYCELEBRATIONSANDWILLATTENDCITYSPREMIERLEAGUEMATCHATCHELSEAONSUNDAY“IAMGOINGTOBEATTHEMATCHTOMORROWANDIHAVEASKEDTOMEETYAYATOURE,“HETOLDBBCSPORT“FORMEITSABOUTHOWHEFELTANDIWOULDLIKETOSPEAKTOHIMFIRSTTOFINDOUTWHATHISEXPERIENCEWAS“UEFAHASOPENEDDISCIPLINARYPROCEEDINGSAGAINSTCSKAFORTHE“RACISTBEHAVIOUROFTHEIRFANS“DURINGCITYS21WINMICHELPLATINI,PRESIDENTOFEUROPEANFOOTBALLSGOVERNINGBODY,HASALSOORDEREDANIMMEDIATEINVESTIGATIONINTOTHEREFEREESACTIONSCSKASAIDTHEYWERE“SURPRISEDANDDISAPPOINTED“BYTOURESCOMPLAINTINASTATEMENTTHERUSSIANSIDEADDED“WEFOUNDNORACISTINSULTSFROMFANSOFCSKA“AGEHASREACHEDTHEENDOFTHEBEGINNINGOFAWORDMAYBEGUILTYINHISSEEMSTOPASSINGALOTOFDIFFERENTLIFEBECAMETHEAPPEARANCEOFTHESAMEDAYMAYBEBACKINTHEPAST,TOONESELFTHEPARANOIDWEIRDBELIEFDISILLUSIONMENT,THESEDAYS,MYMINDHASBEENVERYMESSY,INMYMINDCONSTANTLYALWAYSFEELONESELFSHOULDGOTODOSOMETHING,ORWRITESOMETHINGTWENTYYEARSOFLIFETRAJECTORYDEEPLYSHALLOW,SUDDENLYFEELSOMETHING,DOIT一字开头的年龄已经到了尾声。或许是愧疚于自己似乎把转瞬即逝的很多个不同的日子过成了同一天的样子;或许是追溯过去,对自己那些近乎偏执的怪异信念的醒悟,这些天以来,思绪一直很凌乱,在脑海中不断纠缠。总觉得自己自己似乎应该去做点什么,或者写点什么。二十年的人生轨迹深深浅浅,突然就感觉到有些事情,非做不可了。THEENDOFOURLIFE,ANDCANMEETMANYTHINGSREALLYDO而穷尽我们的一生,又能遇到多少事情是真正地非做不可DURINGMYCHILDHOOD,THINKLUCKYMONEYANDNEWCLOTHESARENECESSARYFORNEWYEAR,BUTASTHEADVANCEOFTHEAGE,WILLBEMOREANDMOREFOUNDTHATTHOSETHINGSAREOPTIONALJUNIORHIGHSCHOOL,THOUGHTTOHAVEACRUSHONJUSTMEANSTHATTHEREALGROWTH,BUTOVERTHEPASTTHREEYEARSLATER,HISWRITINGOFALUMNIINPEACE,SUDDENLYFOUNDTHATISNTREALLYGROWUP,ITSEEMSISNOTSOIMPORTANTTHENINHIGHSCHOOL,THINKDONTWANTTOGIVEVENTTOOUTYOURINNERVOICECANBEINTHEHIGHSCHOOLCHILDRENOFTHEFEELINGSINAPERIOD,BUTWASEVENTUALLYINFARCTIONWHENGRADUATIONPARTYINTHETHROAT,LATERAGAINSTOODONTHEPITCHHEHASSWEATPROFUSELY,LOOKEDATHISTHROWNABASKETBALLHOOPS,SUDDENLYFOUNDHIMSELFHASALREADYCANTREMEMBERHISAPPEARANCE童年时,觉得压岁钱和新衣服是过年必备,但是随着年龄的推进,会越来越发现,那些东西根本就可有可无;初中时,以为要有一场暗恋才意味着真正的成长,但三年过去后,自己心平气和的写同学录的时候,突然就发现是不是真正的成长了,好像并没有那么重要了;然后到了高中,觉得非要吐露出自己的心声才能为高中生涯里的懵懂情愫划上一个句点,但毕业晚会的时候最终还是被梗塞在了咽喉,后来再次站在他曾经挥汗如雨的球场,看着他投过篮球的球框时,突然间发现自己已经想不起他的容颜。ORIGINALLY,THISWORLD,CANPRODUCEACHEMICALREACTIONTOANEVENT,INADDITIONTORESOLUTELY,HAVETODO,ANDTIME原来,这个世界上,对某个事件能产生化学反应的,除了非做不可的坚决,还有,时间。APERSONSTIME,YOURIDEASAREALWAYSSPECIALTOCLEARWANT,WANT,LINEISCLEAR,ASIFNOTHINGCOULDSHAKEHISALSOONCESEEMEDTOBEDETERMINEDTODOSOMETHING,BUTMOREOFTENISHEBACKEDOUTATLASTDISLIKEHISCOWARDICE,FINALLYFOUNDTHATTHEREAREALOTOFLOVE,THEREAREALOTOFMISS,LIKESHADOWREALLYHAVEBEENDOOMEDTHOSEWHODO,JUSTGREENYEARSONESELFGIVEONESELFANARMINJECTION,ORISASELFRIGHTEOUSSPIRITUAL一个人的时候,自己的想法总是特别地清晰。想要的,不想要的,界限明确,好像没有什么可以撼动自己。也曾经好像已经下定了决心去做某件事,但更多的时候是最后又打起了退堂鼓。嫌恶过自己的怯懦,最终却发现有很多缘分,有很多错过,好像冥冥之中真的已经注定。那些曾经所谓的非做不可,只是青葱年华里自己给自己注射的一支强心剂,或者说,是自以为是的精神寄托罢了。ATTHEMOMENT,THESKYISDARK,THEAIRISFRESHFACTORAFTERJUSTRAINEDSUDDENLYTHOUGHTOFBLUEPLAIDSHIRTTHOSEWEREBROKENINTOVARIOUSSHAPESOFSTATIONERYFROMTHECORNERATTHEBEGINNINGOFDEEPFRIENDSHIPHAVEDECLAREDTHEENDOFTHEENCOUNTERTHATHAVENTSTARTPLANNINGTHOSEYEARS,THOSEDAYSOFDO,FINALLY,LIKEYO

温馨提示

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

评论

0/150

提交评论