版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、绪论一、设计总述目前,国内的许多冷库的电器控制水平相对落后。虽然我们已经迈步跨入新世纪六年了,可是我国的冷库至今还是以自建的中小型土建库为主,这些冷库普遍存在着测量精度低、反应速度慢、实时性不好等问题,冷库真正能工作于最佳状态的时间很少,最多的时间里在做着大量的不必要的无用功,这就使得制冷机组的管理远远跟不上工农业迅速发展的要求,同时也造成了经济上的巨大损失。而检测系统完善、控制系统先进、自动化性能优越的现代化冷库相对而言要少了很多。对于这种状况,我设计了这款制冷系统控制器,它可以改善制冷机组运行,并能实现对冷库的制冷和除霜过程进行全自动控制。本设计采用应用广泛的MCS-51系列单片机进行数据
2、处理,同时运用先进的单总线数字温度传感器技术提高测量精度和简化电路,使该控制器的抗干扰性能和可靠性大大提高。本设计中采用了多个新技术、新器件,这使得设计周期大量增加,但是这也是值得的,通过设计此设计,我基本已经掌握了这些新技术,我想是值得的。二、本设计的特点 1、采用性能稳定的MCS-51系列单片机,性价比较高; 2、采用最新的单总线数字化温度传感器DS18B20,以提高测量精度和简化电路; 3、采用新技术的同时,继承了已有范例的优点,去其糟粕,取其精华;4、双三位高亮度LED同时显示进、出风口温度,观察更直观; 5、设计中处处可以看到创新的成果。如采用新的单总线技术、最新温度转换算法以及温差
3、处理程序的设计等等。第一章 方案的选择与器件的选用一、控制核心AT89S51单片机 在当今信息爆炸的时代,随着计算机在社会各个领域的渗透,单片机的应用正在不断地向纵深发展,与此同时,也带动了传统的测量和控制技术领域的日新月异。在实时检测与自动化控制的单片机应用系统中,单片机无疑作为一个核心部件来使用,但仅单片机方面的知识是不够的,还必须根据具体硬件结构,以及针对具体的应用对象自身的特点的软件结合,才能真正使系统具有实用性。 在选用单片机方面,本着高主频、低功耗、低成本的原则我选择了通用的MCS-51系列单片机。目前比较常用的该系列的单片机种有:AT89C2051、AT89C51、AT89S51
4、、AT89C52、AT89S51等等,现简单介绍如下: 1、AT89C51 8位高性能单片机简介80C51是INTEL公司MCS-51系列单片机中最基本的产品,它采用INTEL公司可靠的CHMOS工艺技术制造的高性能8位单片机,属于标准的MCS-51的HCMOS产品。它结合了HMOS的高速和高密度技术及CHMOS的低功耗特征,它继承和扩展了MCS-48单片机的体系结构和指令系统。 80C51内置中央处理单元、128字节内部数据存储器RAM、32个双向输入/输出(I/O)口、2个16位定时/计数器和5个两级中断结构,一个全双工串行通信口,片内时钟振荡电路。 标准MCS-51内核和指令系统 4kB
5、内部ROM(外部可扩展至64kB) 32个可编程双向I/O口 128x8bit内部RAM(可扩充64kB外部存储器) 2个16位可编程定时/计数器 时钟频率0-16MHz 5个中断源 5.0V工作电压 可编程全双工串行通信口 布尔处理器 2层优先级中断结构 电源空闲和掉电模式 快速脉冲编程 2层程序加密位 PDIP和PLCC封装形式 兼容TTL和CMOS逻辑电平 2、80C52 8位高性能单片机简介80C52是INTEL公司MCS-51系列单片机中基本的产品,它基于标准的MCS-51单片机体系结构和指令系统,属于80C51增强型单片机版本,集成了时钟输出和向上或向下计数器等更多的功能,适合于类
6、似马达控制等应用场合。 3、AT89S5*相对于AT89C5*增加的新功能AT89S51相对于AT89C51增加的新功能包括: - 新增加很多功能,性能有了较大提升,价格基本不变,甚至比89C51更低。 - ISP在线编程功能,这个功能的优势在于改写单片机存储器内的程序不需要把芯片从工作环境中剥离。是一个强大易用的功能。 - 最高工作频率为33MHz, 89C51的极限工作频率是24M,就是说S51具有更高工作频率,从而具有了更快的计算速度。 - 具有双工UART串行通道。考虑到控制处理程序不是太复杂,内存占用空间大致在4K以下,且控制精度也不算太高,所以对主频的要求也不是太高,经过权衡,最终
7、选定采用了先进的低功耗CHMOS工艺的AT89S51。二、温度传感器选择温度是一种最基本的环境参数,人民的生活与环境的温度息息相关,在工业生产过程中需要实时测量温度,在农业生产中也离不开温度的测量,因此研究温度的测量方法和装置具有重要的意义。测量温度的关键是温度传感器,温度传感器的发展经历了三个发展阶段: 传统的分立式温度传感器; 模拟集成温度传感器; 智能集成温度传感器。目前,国际上新型温度传感器正从模拟式向数字式,从集成化向智能化、网络化的方向飞速发展。所以,顺应传感器的发展趋势,采用最新的数字化温度传感器,其前景是非常广阔的。由于本系统主要是对制冷设备蒸发器的进、出风口的温度进行测控的,
8、除了要用核心部件单片机外,还要使用必要的传感器。在选择传感器方面,我初步选定了三个方案: 铂电阻温度传感器PT100; 传统的模拟温度传感器AD590; 单总线式数字温度传感器DS18B20。在以上的三种传感器中,前两种传感器是近十多年来最主流的传感器,其应用技术比较成熟,各方面的资料也很齐全,现在的互联网技术这么发达,完全可以说只要在网络上搜索一下就会很轻松地完成设计,更甚至说,还可以完全不利用网络,只需要到图书馆,图书馆里的相关书籍就能完成设计了。作为曾经的主流产品,它们还是有它们优点的,但是,随着传感器技术的飞速发展,它们的优点渐渐地相对于其自身的缺点而言越来越小了。下面就简要介绍一下铂
9、电阻温度传感器PT100和模拟温度传感器AD590: 1、铂电阻温度传感器PT100简介 铂电阻温度传感器PT100是一种热电阻式温度传感器。它是利用热电阻的温度系数随温度变化的特性而制成的传感器。对于大多数金属导体,其电阻值都具有随温度升高而增大的特性。由于纯金属的温度系数比合金的高,因此均采用纯金属作为热电阻组件。常用的金属导体材料有铂、铜、铁和镍。 铂电阻的特点是:精度高,稳定性好,重复性好,这是由金属铂的物理及化学性能所决定的,因此它是目前制造热电阻温度传感器最理想的材料,可用作标准电阻温度计,被广泛应用于作为温度的基准。 铂电阻的缺点有:只是将温度转换成模拟信号,难于与单片机系统接口
10、;调试、校准较困难等,最主要的还是它的价格较贵(市场价约30元左右),一般的民用设备上应用不是太多。 2、模拟温度传感器AD590简介 模拟温度传感器是采用硅半导体集成工艺而制成的,因此也称为硅传感器或单片集成传感器。单片集成传感器是早在20世纪80年代就已经问世的。它是将温度传感器集成在一个芯片上、可完成温度测量及模拟信号输出功能的专用IC,它属于最简单的一种集成温度传感器。 AD590的特点是:测温误差小、价格低、响应速度快、传输距离远、体积小、微功耗,适合远距离测温、控温,不需要进行非线性校准,外围电路简单等。以上的种种优点使它成为流行一时的首选温度传感器,至今还有不少设备还在采用。 A
11、D590的缺点:跟铂电阻一样,随着单片机和数字技术的发展,它与单片机系统的接口问题成了制约其应用的最大的问题。其次还是它的价格问题,和铂电阻一样,只不过AD590所不同的是,它的价格高并不是其成本较高,而是因为更多新的传感器的出现使它濒临停产,物以稀为贵,它已经由原来的十多元涨至现在的28元左右了,就这样,很多电子商场还很难买到,而买其他性能和AD590差不多的传感器的价格还不到AD590的三分之一。在这三个候选方案中,考虑到铂电阻和传统的模拟温度传感器AD590外围电路复杂、需调零等缺点,所以在使用上,我们弃用了PT100和AD590,而采用了美国DLALAS公司生产的一种新型“一线总线”数
12、字温度传感器DS18B20,该传感器具有接口简单、测温范围宽、测温精度高等特点,其“一线总线”便于构成测温网络,可大大降低连线费用。而且具有低功耗、体积小、可靠性高、使用方便、价格低廉等优点。这对降低设计成本、简化电路是很好的选择,经过再三衡量、比较,我最终选用了最新出现的新器件数字温度传感器DS18B20。但做出这个选择的代价也是巨大的。因为这个数字传感器是新产物,不像模拟温度传感器那样成熟,资料里能作为参考的相关资料比较少,我不得不下功夫从最初的产品手册开始学习它的使用方法,为了学习使用它,花去了我一个多月的时间。可是,我觉得是值得的,因为它意味着我以后如果再用到温度传感器的时候,再不必用
13、繁琐的运算放大器进行信号放大处理,然后接一片跟单片机差不多大小的模-数转换集成块才能与单片机接上口了。现在,我只需要拿着一只跟普通的三极管差不多的数字传感器就可以方便地与单片机组成温度检测系统。这就是科技进步的好处。下面介绍一下数字温度传感器DS18B20:3、DALLAS最新单线数字温度传感器DS18B20简介(1)数字温度传感器DS18B20的基本知识由DALLAS半导体公司生产的DS18B20型单线智能温度传感器,属于新一代适配微处理器的智能温度传感器,可广泛用于工业、民用、军事等领域的温度测量及控制仪器、测控系统和大型设备中。它具有体积小,接口方便,传输距离远等特点。 (2)DS18B
14、20性能特点 DS18B20的性能特点有: 采用单总线专用技术,既可通过串行口线,也可通过其I/O口线与微机接口,无须经过其它变换电路,直接输出被测温度值(9位二进制数,含符号位), 测温范围为-55-+125,测量分辨率为0.0625, 内含64位经过激光修正的只读存储器ROM, 适配各种单片机或系统机, 用户可分别设定各路温度的上、下限, 内含寄生电源。 (3)DS18B20内部结构 DS18B20内部结构如图1所示,主要由以下4部分组成:64位ROM;温度传感器;非挥发的温度报警触发器TH和TL;配置寄存器。图1 DS18B20的内部结构DS18B20的管脚排列如图2所示图2DS18B2
15、0引脚分布图表1DS18B20详细引脚功能描述 序号名称引脚功能描述1GND地信号2DQ数据输入/输出引脚。开漏单总线接口引脚。当被用着在寄生电源下,也可以向器件提供电源。3VDD可选择的VDD引脚。当工作于寄生电源时,此引脚必须接地。ROM中的64位序列号是出厂前被光刻好的,它可以看作是该DS18B20的地址序列码,每个DS18B20的64位序列号均不相同。64位ROM的排的循环冗余校验码(CRC=X8X5X41)。ROM的作用是使每一个DS18B20都各不相同,这样就可以实现一根总线上挂接多个DS18B20的目的。8位产品系列号 48位产品序号 8位CRC编码 (4) DS18B20的使用
16、方法 由于DS18B20采用的是1Wire总线协议方式,即在一根数据线实现数据的双向传输,而对AT89S51单片机来说,硬件上并不支持单总线协议,因此,我们必须采用软件的方法来模拟单总线的协议时序来完成对DS18B20芯片的访问。 由于DS18B20是在一根I/O线上读写数据,因此,对读写的数据位有着严格的时序要求。DS18B20有严格的通信协议来保证各位数据传输的正确性和完整性。该协议定义了几种信号的时序:初始化时序、读时序、写时序。所有时序都是将主机作为主设备,单总线器件作为从设备。而每一次命令和数据的传输都是从主机主动启动写时序开始,如果要求单总线器件回送数据,在进行写命令后,主机需启动
17、读时序完成数据接收。数据和命令的传输都是低位在先。 DS18B20的复位时序 DS18B20的读时序 对于DS18B20的读时序分为读0时序和读1时序两个过程。 对于DS18B20的读时隙是从主机把单总线拉低之后,在15秒之内就得释放单总线,以让DS18B20把数据传输到单总线上。DS18B20在完成一个读时序过程,至少需要60us才能完成。 DS18B20的写时序 对于DS18B20的写时序仍然分为写0时序和写1时序两个过程。 对于DS18B20写0时序和写1时序的要求不同,当要写0时序时,单总线要被拉低至少60us,保证DS18B20能够在15us到45us之间能够正确地采样IO总线上的“
18、0”电平,当要写1时序时,单总线被拉低之后,在15us之内就得释放单总线。 DS18B20中的温度传感器完成对温度的测量,用16位符号扩展的二进制补码读数形式提供,以0.0625/LSB形式表达,其中S为符号位。例如125的数字输出为07D0H,25.0625的数字输出为0191H,25.0625的数字输出为FF6FH,55的数字输出为FC90H。 (5)DS18B20高速暂存器功能描述 DS18B20高速暂存器共9个存存单元,如表所示: 序号 寄存器名称 作 用 序号 寄存器名称 作 用 0 温度低字节 以16位补码形式存放 4、5 保留字节1、2 1 温度高字节 6 计数器余值 2 TH/
19、用户字节1 存放温度上限 7 计数器/ 3 HL/用户字节2 存放温度下限 8 CRC 各高速寄存器功能描述如下:DS18B20温度传感器的内部存储器包括一个高速暂存RAM和一个非易失性的可电擦除的E2RAM,后者存放高温度和低温度触发器TH、TL和结构寄存器。暂存存储器包含了8个连续字节,前两个字节是测得的温度信息,第一个字节的内容是温度的低八位,第二个字节是温度的高八位。第三个和第四个字节是TH、TL的易失性拷贝,第五个字节是结构寄存器的易失性拷贝,这三个字节的内容在每一次上电复位时被刷新。第六、七、八个字节用于内部计算。第九个字节是冗余检验字节。该字节各位的意义如下: TM R1 R0
20、1 1 1 1 1 低五位一直都是1 ,TM是测试模式位,用于设置DS18B20在工作模式还是在测试模式。在DS18B20出厂时该位被设置为0,用户不要去改动。R1和R0用来设置分辨率,如下表所示:(DS18B20出厂时被设置为12位) 分辨率设置表:R1 R0 分辨率 温度最大转换时间0 0 9位 93.75ms0 1 10位 187.5ms1 0 11位 375ms1 1 12位 750ms(6) 工作原理 以12位转化为例说明温度高低字节存放形式及计算:12位转化后得到的12位数据,存储在18B20的两个高低两个8位的RAM中,二进制中的前面5位是符号位。如果测得的温度大于0,这5位为0
21、,只要将测到的数值乘于0.0625即可得到实际温度;如果温度小于0,这5位为1,测到的数值需要取反加1再乘于0.0625才能得到实际温度。 高8位 S S S S S 26 25 24 低8位 23 22 21 20 2-1 2-2 2-3 2-4 下表以12位精度为例,给出了数字温度输出值与对应的温度之间的关系。温度()数字输出(二进制)数字输出(十六进制)+1250000 0111 1101 000007D0 +850000 0101 0101 00000550 +25.06250000 0001 1001 00010191-0.51111 1111 1111 1000FFF8+10.12
22、50000 0000 1010 001000A2+0.50000 0000 0000 1000000800000 0000 0000 00000000温度()数字输出(二进制)数字输出(十六进制)-10.1251111 1111 0101 1110FF5E-25.06251111 1110 0110 1111FE6F-551111 1100 1001 0000FC90 例如,当测量温度为+10.125时,DS18B20输出的十六进制数字值为00A2,转换为十进制值为162,当设置为12位精度时,DS18B20输出的数字分辨率是0.0625,所以,实际温度为:1620.0625=10.125。对
23、于测量负温度值时,只需要求出其原码,然后再乘以0.0625就可以求出真实的温度值。(7) DS18B20控制方法 在硬件上,DS18B20与单片机的连接有两种方法,一种是Vcc接外部电源,GND接地,I/O与单片机的I/O线相连;另一种是用寄生电源供电,此时UDD、GND接地,I/O接单片机I/O。无论是内部寄生电源还是外部供电,I/O口线要接5K左右的上拉电阻。 如下图所示:DS18B20有六条控制命令,如表所示: 指 令 约定代码 操 作 说 明 温度转换 44H 启动DS18B20进行温度转换 读暂存器 BEH 读暂存器9个字节内容 写暂存器 4EH 将数据写入暂存器的TH、TL字节 复
24、制暂存器 48H 把暂存器的TH、TL字节写到E2RAM中 重新调E2RAM B8H 把E2RAM中的TH、TL字节写到暂存器TH、TL字节 读电源供电方式 B4H 启动DS18B20发送电源供电方式的信号给主CPU CPU对DS18B20的访问流程是:先对DS18B20初始化,再进行ROM操作命令,最后才能对存储器操作,数据操作。DS18B20每一步操作都要遵循严格的工作时序和通信协议。如主机控制DS18B20完成温度转换这一过程,根据DS18B20的通讯协议,须经三个步骤:每一次读写之前都要对DS18B20进行复位,复位成功后发送一条ROM指令,最后发送RAM指令,这样才能对DS18B20
25、进行预定的操作。(8) DS18B20使用中注意事项DS18B20虽然具有测温系统简单、测温精度高、连接方便、占用口线少等优点,但在实际应用中也应注意以下几方面的问题: 较小的硬件开销需要相对复杂的软件进行补偿,由于DS18B20与微处理器间采用串行数据传送,因此,在对DS18B20进行读写编程时,必须严格的保证读写时序,否则将无法读取测温结果。在使用PL/M、C等高级语言进行系统程序设计时,对DS18B20操作部分最好采用汇编语言实现。 在DS18B20的有关资料中均未提及单总线上所挂DS18B20数量问题,容易使人误认为可以挂任意多个DS18B20,在实际应用中并非如此。参考关于单片机驱动
26、能力的相关资料后就会发现:当单总线上所挂DS18B20超过8个时,就需要解决微处理器的总线驱动问题,这是因为单片机的输出端口一般是采用漏极输出的COMS电路,其漏极电流不可能做得很大。这一点在进行多点测温系统设计时要加以注意。 连接DS18B20的总线电缆是有长度限制的。试验中,当采用普通信号电缆传输长度超过50m时(有的资料里也介绍说最长可以达到100m),读取的测温数据将发生错误。当将总线电缆改为双绞线带屏蔽电缆时,正常通讯距离可达150m,当采用每米绞合次数更多的双绞线带屏蔽电缆时,正常通讯距离进一步加长。这种情况主要是由总线分布电容使信号波形产生畸变造成的。因此,在用DS18B20进行
27、长距离测温系统设计时要充分考虑总线分布电容和阻抗匹配问题。 在DS18B20测温程序设计中,向DS18B20发出温度转换命令后,程序总要等待DS18B20的返回信号,一旦某个DS18B20接触不好或断线,当程序读该DS18B20时,将没有返回信号,程序进入死循环。这一点在进行DS18B20硬件连接和软件设计时也要给予一定的重视。 测温电缆线建议采用屏蔽4芯双绞线,其中一对线接地线与信号线,另一组接VCC和地线,屏蔽层在源端单点接地。三、显示电路的选型因为本设计是初次设计,主要的任务是使各个控制处理程序能够正常运行,在此基础上再进行二次开发时可以减轻工作量,同时也可以做到分工明确,各个功能不至于
28、相互冲突。同时,考虑到今后的二次开发,在系统硬件资源安排时预留了扩展的空间,比如,可以增设键盘、单片机与计算机实现通讯和升级显示终端等等。本设计采用了六位高亮度LED数码管同时显示进、出风口温度,显示比较直观,方便观察。并且在停机报警及系统出错的时候,会显示相应英文字符提示。第二章 系统硬件设计一、控制器结构设计控制器的结构框图如下图所示。系统的控制要求或控制程序已近固化到单片机的内部,单片机在接收到控制运行信号后,根据指定的控制要求或程序,通过控制压缩机、风机和电磁阀等执行元件对制冷机组的运行进行控制。其中温度检测由于采用了数字化温度传感器,整个检测系统实现了全数字化。二、硬件电路设计 该控
29、制系统电路原理图如下图1所示:该控制系统电路板图如下图2所示:1、单片机各控制口线分配 本设计共使用了25根控制口线,具体使用分配情况如下: 显示端口 六个单位的七段数码管带小数点共用八根口线( P0.0P0.7口)。除此之外,每位数码管还需要一位口线作为位选端,从而实现动态扫描显示(P2.2P2.7口)。 控制执行端口 本设计中需要控制的项目有:室内、外风机,两个电磁阀以及压缩机等五项,共需用五根口线(P1.0P1.4)。 报警口线 共有三个报警项:正常停机报警、故障停机报警和温度探头检测出错报警等,共需用三根口线(P1.5P1.7)。 中断输入端口 需检测压缩机以及室内、外风机是否过载,以
30、免发生大的事故。同时,还需要设置一个强制运行按键。由于压缩机以及室内、外风机出现故障时都得停机处理,所以,它们可以共用同一条中断端口,采取相同的处理措施。综上所述,AT89S51单片机的两根外部中断入口刚好够用。 传感器口线 由于本设计采用的不是单口线外挂多个数字温度传感器,而是分别进行检测的,必须得有所区分。但同时又为了节约口线资源,决定利用NPN和PNP两种三极管导通的条件不同,来实现利用一根口线区分两个温度传感器的要求。2、新型的无触点固态SSR继电器简介本设计为了使电路更加简洁明了,同时不至于使电路板过于笨重,采用了常用的模块化设计。同时,在控制执行机构时考虑到控制对象是一些功率较大的
31、电动机,如果还是采用常见的小型继电器,然后再进行二次控制交流接触器,从而控制电机的方法的话,在启动的瞬间由于感性负载较多,势必会产生电火花,从而影响继电器的寿命,使控制系统的检修次数增加,这已经是老式电器控制系统通常的弊病了。考虑到以上种种原因,在本设计中,采用了一种新型的无触点电子开关器件固态SSR继电器来代替传统的电磁继电器,该继电器通断无可动接触部件,工作可靠,具有开关速度快、无噪声、寿命长、体积小、无火花等特点,特别适用于工业自动化设备,是继电器家族(EMR)理想的更新换代产品。为了节约成本,本设计专门设计了一种固态继电器。下图为安装式交流继电器的电路原理图:该继电器主要由输入恒流控制
32、电路、光电耦合隔离电路和输出功率开关电路三部分组成。电路中,输出功率开关由一只双向可控硅担任,负载电流在1040A之间,如果采用双可控硅并联,最高可以达到90A。该电路可以工作在控制电压为332V的宽范围内,从而实现对不同工作电压的工业继电器的代换。3、控制器工作原理 基于DS18B20的制冷设备自动控制器电路原理图如上图1所示:温度传感器DS18B20将被测环境温度转化成带符号的数字信号(以十六位补码形式,占两个字节),传感器可置于离装置150米以内的任何地方(当大于50米时应采用带屏蔽的双绞线传输信号),输出脚I/O直接与单片机的P2.0相连,R9和R10为上拉电阻,传感器采用外部电源供电
33、方式,由于该系统要同时测量进、出风口两个温度,虽然DS18B20允许在同一条数据线上挂多个温度传感器,但这样的话会使处理程序过于繁琐,使系统的实时性变差,所以本设计中采用两只三极管实现单线选择多个温度传感器,这样硬件部分增加既不多,软件部分又可以简化不少。 AT89S51是整个装置的控制核心,AT89S51内带4K字节的FlashROM,用户程序存放在这里。显示器模块由双三位的共阴数码管构成,为了简化电路,使用了最近比较流行的共阴极高亮度LED数码显示,采用这种显示方式不仅电路简单,而且功耗较小,相关的处理程序也很容易实现。因为共阴极LED数码管是最近才成为新的主流,市场上多位共阴极LED数码
34、管价格不菲,在新乡市,一个三位的共阴极LED数码管竟然能卖到五元,而买一只单位数码管才几角钱。本着低成本的宗旨,该设计用了六个单位数码管自行设计了一块电路板。电路印刷电路板图如下图4所示:系统程序分传感器控制程序、显示器程序和运行处理程序三部分,传感器控制程序是按照DS18B20的通信协议编制。系统的工作是在程序控制下,完成对传感器的读写、温度的显示和各设备的运行控制工作。第三章 系统软件设计一、制冷系统自动运行所需控制功能简介 检测蒸发器进、出风口温度,并能同时通过数码管显示出来; 检测并控制进、出风口温度差不能小于4,当小于4时,控制制冷机组进行除霜操作(本设计中采用热气溶霜); 检测并控
35、制进风口温度不能小于3,当小于3时,使机组正常停机,并启动声光提示; 检测并控制出风口温度不能大于-2,当小于-2时,使机组正常停机,并启动声光提示; 监测压缩机和室内外风机运行电流,当任何一个电机出现故障时,使机组停止运行,并启动声光报警; 设定强制运行按键,在需要强制运行机组的情况下,可以直接按下强制运行键,是机组不受控制器控制运行,并通过数码管提示。二、各主要处理程序的实现 1、主程序 主程序处理流程图如下图5所示: 2、系统初始化处理程序 单片机刚上电复位时,各控制端口输出全部都为1,在本设计中相当于所有的用电设备都开始工作,这将会是制冷机组发生紊乱,甚至损坏制冷系统。而系统初始化处理
36、程序主要功能就是使各控制端口均停止工作,先判断是否满足开机条件,满足开机条件之后才能按正常运行要求启动相应的控制端口,使制冷机组投入有条不紊地进行制冷运行。 3、故障停机处理程序 在开机初期或运行过程中,如果压缩机和室内外风机运行电流超过正常要求时,一般来说,这些电动机已经有故障出现了,要么电动机短路,要么电动机负荷过大,如果继续运行下去,势必会造成更大的损失。为了保护机组的安全,本设计中设置了该故障停机处理程序,同时,为了便于管理,在启用故障停机处理程序的同时,还启动了声光报警提示,并在数码管上显示相应的英文提示,使该控制器的管理一目了然。 4、除霜处理程序 系统运行一段时间后,库房中的湿蒸
37、汽会在蒸发器上凝结成一层厚厚的霜,使蒸发器表面的换热效果下降,造成制冷机组长时间运转而制冷效果并不理想,不仅浪费了能源,效果还不好。所以,系统运行时,应定期除霜,本设计中为了便于检测控制,以温度作为除霜的标准,并且采用便于自动控制、除霜效果较好的热气溶霜方式。当进、出风温差小于4时,即认为霜层已经很厚了,此时便启动除霜处理进行除霜。 下面简单介绍一下本设计中热气溶霜的工作过程。制冷系统中相关简图如下图6所示:除霜处理流程图如下图7所示:5、温差检测处理程序温差检测处理程序的工作流程如下图8所示: 其中,求进、出口温差部分是本设计中的经典之一,现今所能查到的资料中,没有一例相关程序的应用。由于其
38、框图较复杂,不便画出其流程图。详细程序见第四节(WCCL子程序)。三、内存空间的分配 具体空间分配情况如下表所示:地址用途地址用途2DH存读出的进风温度低8位2AH存读出的出风温度低8位2CH存读出的进风温度高8位29H存读出的出风温度高8位38H是否检测到DS18B20标志位20H进风温度数码管个位数存放23H出风温度数码管个位数存放21H进风温度数码管十位数存放24H出风温度数码管十位数存放22H进风温度数码管符号位存放25H出风温度数码管符号位存放四、软件设计 本控制器相关汇编原程序如下:FLAG1 EQU 38H;是否检测到DS18B20标志位SNFJ EQU P1.0;室内风机控制位
39、SWFJ EQU P1.1;室外风机控制位DCF1 EQU P1.2;电磁阀1DCF2 EQU P1.3;电磁阀FM EQU P1.5;正常停机标志位BROKEN_STOP EQU P1.6;故障停机标志位 ORG 0000H AJMP MAIN ORG 0003H AJMP GZ;当压机或风机过流时,转向故障停机报警子程序 ORG 0013H AJMP QZ;当按下强制运行按钮时,转向强制运行子程序 GZ:LCALL GZTJ AJMP MAIN QZ:LCALL GZTJ AJMP MAIN MAIN:MOV P1,#80H;使各控制口线均停止工作 CLR IT0;设置中断0为电平触发方式
40、 CLR IT1;设置中断1为电平触发方式 SETB EA;开总允许中断位 SETB EX0;允许中断0中断 SETB EX1;允许中断1中断 LCALL START;每12秒比较一次温差;以下为相关的子程序;采用定时器实现每12秒比较一次温差,定时器0以方式1定时;定时器1以方式2计数,计数脉冲由P3.4提供,周期为100毫秒START:MOV TMOD,#61H;T0方式1定时,T1方式2计数 MOV TL1,#88H; MOV TH1,#88H; CLR P3.4;P3.4为0 SETB TR1;启动T1准备计数LOOP1:LCALL GET_TEMPER;调读温度子程序 LCALL W
41、DZH;调温度转换子程序 LCALL DISPLAY;显示温度子程序 LCALL WCCL;温差检测处理子程序LOOP2:MOV TH0,#3CH;T0定时50毫秒 MOV TL0,#0B0H SETB TR0;启动T0开始定时LOOP3:JBC TF0,LOOP4;查询50毫秒时间到否 SJMP LOOP3;未到,等待LOOP4:CPL P3.4;改变P3.4输出状态 JBC TF1,LOOP1;查询12秒时间到否 SJMP LOOP2;未到,定时下一个50毫秒 RET;18B20复位初始化子程序INTI_1820:SETB P2.0 NOP CLR P2.0;主机发出延时537微秒的复位低
42、脉冲 MOV R1,#3 TSR1:MOV R0,#107 DJNZ R0,$ DJNZ R1,TSR1 SETB P2.0;然后拉高数据线 NOP NOP NOP MOV R0,#25H TSR2:JNB P2.0,TSR3;等待DS18B20回应 DJNZ R0,TSR2 LJMP TSR4 ; 18B20未被检测到,转向相应处理 TSR3:SETB FLAG1 ; 置标志位,表示DS1820存在 LJMP TSR5 TSR4:CLR FLAG1 ; 清标志位,表示DS1820不存在 LJMP TSR7 TSR5:MOV R0,#117 TSR6:DJNZ R0,TSR6 ; 时序要求延时
43、一段时间 TSR7:SETB P2.0 RET;读温度子程序GET_TEMPER:SETB P2.1;选通温度1探头 MOV R6,#02H;读两次温度 YES:SETB P2.0 LCALL INTI_1820;先复位DS18B20 JB FLAG1,TSS2;判断18B20是否存在,若不存在则循环检测 ;并启动故障声光报警且18B20检测报错指示 SETB P1.6 CLR P1.7;开报警 LJMP GET_TEMPER RET TSS2:CLR P1.6 SETB P1.7;关报警 MOV A,#0CCH ; 跳过ROM匹配 LCALL WRITE_1820 MOV A,#44H ;
44、发出温度转换命令 LCALL WRITE_1820 LCALL DISPLAY;调用温度显示子程序延时,等待AD转换结束 ;12位精度时750毫秒,此处调用显示子程序延时约5.6秒 LCALL INTI_1820;读温度前先复位 MOV A,#0CCH ; 跳过ROM匹配 LCALL WRITE_1820 MOV A,#0BEH ; 发出读温度命令 LCALL WRITE_1820 LCALL READ_18200; 将读出的温度数据保存到29H/2AH DEC R6 MOV A,R6 JNB ACC.0,NEXT1;第二次读温度,返回 MOV 2CH,29H;第一次读温度,将读出的温度存入2
45、CH和2DH MOV 2DH,2AH CLR P2.1;选通温度探头 LJMP YES;读温度值 NEXT1:RET ;写18B20子程序(有具体的时序要求)WRITE_1820:MOV R2,#8;一共8位数据 CLR C WR1:CLR P2.0 MOV R3,#6 DJNZ R3,$ RRC A MOV P2.0,C MOV R3,#23 DJNZ R3,$ SETB P2.0 NOP DJNZ R2,WR1 SETB P2.0 RET;读18B20子程序,从18B20中读出两字节的温度数据;高8位存入29H,低8位存入2AHREAD_18200:MOV R4,#2 ; 将温度高位和低位
46、从DS18B20中读出 MOV R1,#2AH ; 低位存入2AH(TEMPER_L),高位存入29H(TEMPER_H) RE00:MOV R2,#8;数据一共有8位 RE01:CLR C SETB P2.0 NOP NOP CLR P2.0 NOP NOP NOP SETB P2.0 MOV R3,#9 RE10:DJNZ R3,RE10 MOV C,P2.0 MOV R3,#23 RE20:DJNZ R3,RE20 RRC A DJNZ R2,RE01 MOV R1,A DEC R1 DJNZ R4,RE00 RET;温度转换子程序,得到单字节温度值,温度1存入2DH,温度2存入2AH
47、WDZH:MOV A,2DH MOV C,60H;将2CH中断最低位移入C RRC A MOV C,61H RRC A MOV C,62H RRC A MOV C,63H RRC A MOV 2DH,A;将转换后得到的单字节温度值送入2DH单元 MOV A,2AH MOV C,48H;将29H中断最低位移入C RRC A MOV C,49H RRC A MOV C,4AH RRC A MOV C,4BH RRC A MOV 2AH,A;将转换后得到的单字节温度值送入2AH单元 RET;温度显示子程序;温度1的+/-号,十,个位分别存入22H,21H,20H;温度2的+/-号,十,个位分别存入2
48、5H,24H,23H;+/-号位存入的是LED数码管的七段码 DISPLAY:MOV A,2DH;取转换后的单字节温度1值 JNB ACC.7,TO;最高位为0,是正数,转向十进制转换 MOV 22H,#40H;负温度值,使符号位LED显示-号 CPL A ADD A,#1;取出原码 LJMP ZSCL TO:MOV 22H,#39H;使符号位LED显示C,表示当前为正温度值 ZSCL:MOV B,#10;十六进制转化成十进制 DIV AB MOV 21H,A;十位在A MOV 20H,B;个位在B MOV A,2AH;取转换后的单字节温度2值 JNB ACC.7,TO2 MOV 25H,#40H CPL A ADD A,#1 LJMP ZSCL2 TO2:MOV 25H,#39H ZSCL2:MOV B,#10;十六进制转化成十进制 DIV AB MOV 24H,A;十位在A MOV 23H,B;个位在B;数码管显示通用程序,使数码管显示相应数据 XS:MOV DPTR,#NUMTAB;指定查表起始地址
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 建筑施工施工现场智能化安装作业防护投入管理总结报告
- 品牌餐饮连锁门店建设项目建筑废弃物运输车辆密闭化改造技术创新总结报告
- 2025年可燃及易燃易爆危险品管理制度例文
- 机场项目主体结构混凝土浇筑施工方案-施工作业指导书
- 2026输血技术相关试题及答案
- 港口码头企业职业卫生管理制度
- 关键工序工艺专项管控细则
- 农药化工企业班组安全活动制度
- 概念性理解语文大单元教学的根本追寻
- 食堂消防安全管理制度范本
- 电缆敷设及接线作业指导书培训
- 2026庐山云雾茶产业集团有限公司社会招聘工作人员16人备考题库含答案详解(研优卷)
- 2026年农药经营许可测试题及答案
- 2026中国数联物流信息有限公司(上海)岗位招聘笔试历年参考题库附带答案详解
- JJF(石化)084-2023润滑油蒸发损失测定仪(诺亚克法)校准规范
- 建筑加固工程全套资料
- 江苏省建设工程监理现场用表(第七版修订版)
- 2026年上海市社工岗位面试题及详细解析
- 小儿补液课件
- 监理单位安全生产责任制度范本
- 塞替派注射液指南
评论
0/150
提交评论