冷库单片机控制系统-课程设计题目

课程设计题目:冷库单片机控制系统

学校:昆明理工大学

学院:机电工程学院 专业:机械工程及自动化 年级:2004级

小组成员:袁云川、施兆伟、王昊、柴学敏、李双春、吴洪、吴昕、何利元、胡承品、钱灿雄

指导老师:

单位:昆明理工大学 姓名:马武兴 职位:讲师

摘要

随着现代工业的逐步发展,在工业生产中,温度、压力、流量和液位是种最常见的过程变量。其中,温度是一个非常重要的过程变量。例如:在冶金工业、化工工业、电力工业、机械工业和食品工业等许多领域,都需要对各种加热炉、热处理炉、反应炉和锅炉的温度进行控制。然而,用常规的控制方法,潜力是有限的,难以满足较高的性能要求。利用单片机8031对中型冷库进行自动化改造,使得控制系统自动化程度大大提高,温度控制精确,节约了能源,提高了库存产品质量,降低了值班人员的工作强度。

冷库单片机控制系统,是利用单片机8031作为系统的主控制器,测量电路中的温度反馈信号经A/D变换后,送入单片机中进行处理,经过一定的算法和比较运算后,由单片机的输出来控制继电器的动作,从而控制执行元件以达到对电阻阀和压缩机进行驱动控制,最终实现对冷库温度的控制。

本冷库单片机控制系统的技术指标是,对冷库冷藏温度控制范围为5±0.50℃;冷冻间:-18±0. 5℃;温度显示精度:±0. 2℃,控制能力:8通道制冷控制,实际5路控制。控制方式:降温,快速,恒温,自然升温。软件设计须能进行人机对话和结果轮流显示。

关键词: 单片机、 冷库、 自动化、 改造

Abstract

Along with the gradual modern industrial devejopment,in industrial production, temperature, pressure, flow and level four is the most common process variables. Within this total, the temperature is a very important process variables. For example: in the metallurgical industry, chemical industry, power industry, machinery processing, and food processing and many other areas, the need for various furnace, heat treatment furnace, furnace and boiler temperature control. However, the use of the conventional control methods, the potential is limited, to meet higher performances.

Using singlechip-8031 to carry on automational reform for the moderate model cold-storeroom, which improves the level of control-system’s automation, also the precision of temperatural control,save on the resouce, enhance the quantity of product in the storeroom, boost the work-condition and decrease the labor strength of the watch.

The control system of cold-storeroom singlechip, which use singlechip by way of the principal controller in the system, to measure the temperatural feedback signal, after which via A/D converser carry on tackle in singlechip, pass definite arithmetic and compare operation, make the result of singlechip’s export to control the act of the relay, thereby control the execute element to realize the drival control of the resistance valve and compressor, consequently realize the control of the cold-storeroom.

The requirements of technique index of cold-storeroom singlechip are:

The control range of the temperature: during cold store: 5±0.5℃; during cold freeze: -18±0.5℃; the display precision of temperature: ±0.2℃; control capability: eight accesses of refrigeration control, in fact five accesses control; control mode: drop in temperature, quick drop in temperature, constant temperature, spontaneous rise in temperature. The design of software must could carry on person-computer dialog and turn to show the result.

Keywords: singlechip cold-storeroom automation reform

冷库单片机控制系统的设计

系统总体设计

根据所要实现的功能特点,本系统选用了MCS —51系列8031单片机,扩展一片74LS373地址锁存器,扩8kb 的EEPROM2864A 。温度传感器采用对—30~+40℃线性良好的半导体集成温度传感器,将温度转换为电流,长距离传送到两级运算放大器,8路模拟开关4051,经12位模数转换器ADC7153转换成数字信号供单片机处理控制。控制系统采用4键键盘和6位LED 数码显示器进行输入参数和显示库温及状态,6路中间继电器电器作为控制制冷电磁阀的执行元件。

冷库冷藏及冷冻功率为100~350W,电源为交流220V ,调温范围在—19~5℃,升温速度1/min温度控制精度为±0.2℃。

本系统考虑到冷库系统的工作环境对单片机的特殊要求,在此采用了MCS —51系列8031单片机。它具有抗干扰能力强,工作可靠稳定,完全满足高性能的冷库单片机系统的控制要求。

冷库单片机控制系统介绍

1、 冷库单片机控制系统的组成及工作原理

在工业生产中,对温度控制系统的要求,主要是保证库温按一设定温度变化,超调小或无超调,稳定性好,不振荡,对系统的要求不是太高。以下浅析了冷库单片机控制系统设计过程

单片机是一种集CPU 、RAM 、ROM 、I/O接口和中断系统于一体的器件,只需外加电源和晶振就可以实现对数字信号的处理和控制。本设定运用MCS —51系列单片机中的8031单片机为主控制器,对冷库的温度进行自动化控制,最终通过软件设计来实现人机对话功能,实现对冷库温度的控制。

2、电路的特点 ⑴信号放大与滤波

如图所示,传感器为恒流源形式的高精度的半导体温度传感器,在其两端上加上一定的工

常小,如先经过模拟开关再经放大则使测量精度大大降低,故对信号先进行放大,增加电路的成本获得更高的精度。模拟开关后的电平变换采用光电隔离,因为光电隔离抗干扰性好、但反应速度较慢,采用晶体管或COMS-TTL 变换芯片则速度较快。

⑶A/D转换

系统采用双积分型的A/D转换芯片7153,转换精度高,抗干扰能力强。虽然其转换速度慢,但由于冷库库室温度变化是大惯性变化系统,时间常数很大,因此用该芯片能满足系统要求。7153的输出为14位二进制数,其分辨率为温度量程的0.005%,为整个系统的高精度创造了条件,且价格较低。

⑷人机对话系统

控制系统选用4键键盘和6位LED 显示器。4键分别是功能键、增加键、减少键和确认证。采用软件消抖动,键盘输入采用中断方式进行工作,节约CPU 的工作时间提高系统响应速度。6位LED 数码显示器的作用如下:第1位显示库房编号;第2位显示通道工作状态;第3位显示温度正负号;最后3位显示额度值,其中1位小数。

⑸制冷控制执行部件及压缩机控制部件

由于本控制系统控制的是制冷剂的通断和压缩机的启停,启动和关闭的频率不高,故

采用传统的交流接触器控制交流电磁阀的通断和控制压缩机的启停运行。为增加系统的 可靠性,压缩机采用自动和人工强行控制2种模式。制冷有自动和手动2种方式且保留原系统的人工机械闸阀,从而增加系统的灵活性和可靠性。

系统的硬件设计

根据要实现的功能特点,本系统选用了MCS-51系列8031单片机,扩展一片EEPROM 2864A程序存储器、一片RAM6116数据存储器、一片I/O接口8255、一片A/D转换芯片ADC7153和一片8通道模拟开关4051构成基本系统,另外功能键和LED 显示由串行口扩展n 片74LS614实现。还有一些附加电路如:时钟电路、复位电路、温度检测电路等。

1

23⑴

V SS (20脚):接地。

时钟引脚外接晶体时与片内的反相放大器构成一个振荡器,它提供单片机的时钟控制信号。时钟引脚也可以接外晶体振荡器。

XTAL 1(19脚):接外部晶体的一个引脚。在单片机内部,它是一个反相放大器的输入端。当采用外接晶体振荡器时,此引脚应接地。

XTAL 2(18脚):接外部晶体的另一端,在单片机内部接至反相放大器的输出端。若采用外部振荡时,该引脚接收振荡器的信号,即把此信号直接接至内部时钟发生器的输入端。

②控制引脚

包括RESET (即RST )、ALE 、PSEN 、EA ,此类引脚具有复用功能。

RST/VPD(9脚):当振荡运行时,在此引脚加上两个机器周期的高电平将使单位机复位。复位后应使此引脚电平为≤0.5v 的低电平,以保证单片机正常工作。 ALE/PROG(30脚):当单片机访问外部存储器时,ALE 输出脉冲的下降沿用于

锁存16位地址的低8位。即使不访问外部存储器,ALE 端仍有周期性正脉冲输出,其频率为振荡器频率的1/6。但是,每当访问外部数据存储器时,在两个机器周期中ALE 只出现一次,即丢失一个ALE 脉冲。ALE 端可以驱动8个TTL 负载。 PSEN (29脚):此输出为单片机访问外部程序存储器的读选通信号。在从外部程序存储器取指令期间,每个机器周期PSEN 两次有效。但在此期间,每个访问外部数据存储器时,这两次有效的PSEN 信号将不在出现。PSEN 同样可以驱动8个TTL 负载。

EA/VPP(31脚):当EA 端保持到电平时,单片机访问内部程序存储器,但在PC (程序计数器)值超过OFFFH 时,将自动转向执行外部程序存储器内的程序。当EA 端保持低电平时,则只访问外部程序存储器,不管是否有内部程序存储器。 ③输入/输出引脚

输入/输出(I/O)口引脚包括P0口、P1口、P2口和P3口。

P0口:双向8位三态I/O口,此口为地址总线低8位及数据总线分时复用口,可带8个LS TTL负载。

P1口:8位准双向I/O口(作为输入时,口锁存器置1),可带4个LS TTL负载。 P2口:8位准双向I/O口,与地址总线高8位复用,可驱动4个LS TTL负载。 P3口:8位准双向I/O口,为双功能复用口,可带4个LS TTL负载。 ⑶8031具有以下几个特点:

①8位CPU ,工作频率为1~12MHz。

②128BRAM 数据存储器,4KBROM 程序存储器。 ③5V 电源,40

引脚双列直插式封装。

④12MHz 工作频率时机器周期为1μs ,所有指令的执行为1~4

个机器周期。 ⑤外部可分别扩展64KB 数据存储器和程序存储器。 ⑥2级中断,5个中断源。

⑦21

个专用寄存器,有位寻址功能。

⑧两个16位定时/计数器,1个全双工串行通信口。 ⑨4组8位I/O口。

4、芯片74LS373引脚:

的结构和工作方式

8255A 是一种可编程并行输入/输出接口芯片,它具有3个8位的并行I/O口,分别称为A 口、B 口和C 口,其中C 口又分为高4(PC7~PC4)位口和低4(PC3~PC0)位口,它们都可以通过软件编程来改变工作方式。8255A 可以与单片机直接接口。

1、数据端口A 、B 、C

8255A 有三个8位并行口,即A 、B 和C ,都可以选择作为输入或输出工作模式。但在功能和结构上有些差异。

A 口:具有一个8位数据输出锁存器/缓冲器;一个8位数据输入锁存器。

B 口:具有一个8位数据输出锁存器/缓冲器;一个8位数据输入缓冲器(不锁存)。 C 口:具有一个8位数据输出锁存器/缓冲器;一个8位数据输入缓冲器(不锁存)。

通常A 口、B 口作为输入端口或输出端口使用;C 口既可作为输入端口或输出端口使用,又可在软件的控制下,分为两个4位的端口,作为A 口、B 口选通方式操作时的控制信号。

2、A 组和B 组控制电路

这是两组根据CPU 写入的控制字控制8255A 工作方式的控制电路。A 组控制A 口和C 口的高半部;B 组控制B 口和C 口的低半部,并可根据控制字对C 口的每一位实现按置位或复位。

3、双向三态数据总线缓冲器

这是8255A 和CPU 数据总线的接口,CPU 和8255A 之间的命令、数据和状态的传递都是通过这个双向三态数据总线缓冲器传送的,D7~D0接CPU 的数据总线。

4、读/写控制逻辑

对A 组和B 组控制电路实施控制,管理所有的数据、控制字或状态字的传送。

8255A 有三种工作方式:方式0—基本输入输出方式;方式1—选通输入输出方式;方式2—双向传送方式(仅A 口)。

系统的软件设计

系统软件由主程序、定时器T0中断服务程序、键盘识别中断服务程序和显示子程序组成。

1、主程序包括定时器0、定时器1、多位标志位、温度存储器、设定值存储器的初始化、显示缓冲区清零、温度状态显示、时钟计数单元初值、键盘状态值初始化、设定堆栈指针内容。流程图如图所示。

2、 定时器T0中断服务程序

T0中断服务程序是温度控制系统的主体程序,用于启动A/D转换、读入采样数据、数字滤波、温度差值运算、继电器控制及通道和压缩机开关控制、显示定时器的增1及时间判断,如图所示。

在T0中断服务程序中要用到一系列子程序,如温度采样子程序、数字滤波子程序、标度转换子程序、功率判断子程序等。每个通道的状态参数寄存器组:工作方式寄存器、工作状态寄存器、库温寄存器、温度上限寄存器、温度下限寄存器。

3、键盘识别中断服务程序

本系统采用4键键盘结构,即功能键、增键、减键和确认键便可以完成系统参数的设定、开关机等操作,实现人机对话功能。键盘操作过程如下:

4、显示子程序

6位LED 数码管,其中第一位显示制冷的库房号或通道号,第二位显示通道的工作状态,第三位显示温度的正负值,最后3位显示温度值和设定值,其中1位小数。显示子程序由3个模块组成:显示内容更新模块、字形码查表转换模块、字形码送串行口显示模块。显示方式有2种:自动轮流显示各通道工作状态温度方式和功能设定状态显示方式。

; 显示代码函数. 使用方式为 call DisPlay 或者是 jmp DisPlay ;只假设做为子程序, 单独编译不会成功. ;显示数据放于74H,75H,76H,77H,78H,79H 5、软件滤波程序

为使经A/D转换后的波形不含干扰值,特地使用限幅消抖法进行滤波。此方法相当于“限幅滤波法”+“消抖滤波法”,其原理是先限幅, 后消抖。即设置一个滤波计数器,将每次采样值与当前有效值比较:如果采样值=当前有效值,则计数器清零;如果采样值当前有效值,则计数器+1,并判断计数器是否>=上限N(溢出) 如果计数器溢出, 则将本次值替换当前有效值, 并清计数器。它对于变化缓慢的被测参数有较好的滤波效果, 可避免在临界值附近控制器的反复开/关跳动或显示器上数值抖动。

附程序:

DIS5 EQU 79H FLAG EQU 80H V ALUE EQU 81H ENABLE EQU 82H

CUR EQU 83H ; 初始化.

MOV CUR,#74H ; 此函数为子函数. 调用时用jmp 或 call 来处理 ORG 0000H

AJMP MAIN ; 转入主程序

ORG 001BH ; 定时器中断T1口地址

LJMP T_1 ; 转T1中断服务程序

ORG 0030H ; 以下是冷库房测量温度的初始化程序 MAIN: SETB P2.5 ;P2.5 降温控制位,启动制冷降温 CLR P2.6 ;P2.6制冷完控制位,关闭电磁阀 SETB P2.0 ;P2.0控制压缩机位 MOV SP,#30H ; 设置堆栈指针 MOV P3.3,#00H ; 初始化显示为0

MOV TMOD,#16H ;T0计数状态、方式2,T1定时状态、方式1 MOV TL0,#00H ;T0计数初值设定 MOV TH0,#00H

MOV TH1 ,#0BH ;T1定时初值,1S,6MHZ MOV TH0 ,#0DCH MOV R2,#8 ; 设置软计数器

MOV 20H,#EEH ; 初始设置温度-18度,装入20H MOV 21H,#05H ; 初设冷藏温度5度, 装入21H LOOP: SETB IT0 ; 外部中断边沿触发 SETB EX0 ; 外部中断0允许 SETB EA ; 开总中断

SETB ET0 ; 定时器T0中断允许 SETB ET1 ; 定时器T1中断允许

ORL TCON,#01010000B ; 同时启动定时器1和定时器0 SJMP $ ; 等待中断 ; 以下是T_1中断程序启动定时扫描5通道 T_1:

PUSH PSW ; 保护PSW PUSH ACC ; 保护ACC MOV R1,#30H ; 初设指针 MOV DPTR,#07FF8H ; 指向通道0 MOV R5,#05H ; 设通道数 ; 以下是启动ADC0809采集数据程序

LOOP1: MOVX @DPTR,A ; 启动AD 转换

MOVX A,@DPTR ; 转换结束,A 接受数据P0口为转换数据输入端 MOV @R1,A ; 存储于数据区 MOV 22H,R1 ; 寄存数据于22H INC DPTR ; 指向下一个通道 INC R1 ; 修改数据区指针

DJNZ R5,LOOP1 ;5个通道转换完否? RET

; 以下程序是比较采样数据,采样冷库房温度与设置温度比较 MOV A,22H CLR C

SUBB A,20H ; 和-18度比较 JNC SH ; 若大于-18度,转入上限处理程序 LJMP YSJ ; 转向压缩机

; 以下是低于-18度的处理程序 XI: CLR P2.6 ; 停止或是关闭

; 以下是上限处理程序

SH: SETB P2.5 ; 发出制冷信号,打开电磁阀 YSJ: SETB P2.0 ; 开启压缩机, 压缩机自动控制 ; 保护压缩机

BH: MOV A,21H

ANL A,#00001110B ; 屏蔽除1-3位的其他位

JNZ BH ; 判断有无键闭合若没有则继续判断 ; 压缩机自动控制开关

MOV A,21H

JNB ACC.3,BH ; 判断确定设置键是不是断开,若不是则继续判断 LJMP FH ; 若确定设置键断开则返回 ; 中断返回

FH: POP PSW POP ACC RETI

; 以下是调用BCD 码转换和显示程序显示当前温度 MOV R0,22H

LCALL BCD ; 调用BCE 码转换程序

LCALL P3.3 ; 调用显示程序显示, 供工作人员观察和打印 ; 以下是程序循环采样一轮数据后返回 LJMP LOOP ; 键盘初始化程序 KeyCtrl:

MOV VALUE,P3.3

ANL VALUE,#0FH ; 保留低四位, 进行检测 MOV R0,VALUE DJNZ R0,KEYFUN EXIT: RET

KEYFUN: WAIT:

MOV R1,P3.3 ANL R1,#0FH

DJNZ R1,WAIT ; 一次按键有效 CJNE R0,#01H,ACTIVE ; 功能键

CJNE 82H,#01H,EXIT ; 功能键开户前, 不处理其它键 CJNE R0,#02H,KEY_INC ; 增 CJNE R0,#04H,KEY_DEC ; 减 CJNE R0,#08H,KEY_ENTER ;确认

JMP EXIT ; 都不是, 可能出现同时按下多键, 那么, 返回

ACTIVE:

MOV ENABLE,#01H ; 使其它键可处理 JMP EXIT

KEY_INC:

MOV R1,CUR ; 存储需要修改的单元 INC @R1 JMP EXIT

KEY_DEC:

MOV R1,CUR DEC @R1 JMP EXIT

KEY_ENTER: INC CUR

CJNZ CUR,#79H,NEXT MOV CUR,#74H MOV ACTIVE,#00H MOV FLAG ,#01H NEXT:

JMP EXIT DIS5 EQU 79H FLAG EQU 80H V ALUE EQU 81H ENABLE EQU 82H CUR EQU 83H

ORG 0000H AJMP MAIN

ORG 0030H MAIN: INITIAL:

MOV SP,#30H

MOV CUR,#74H CALL DisPlay CALL KeyCtrl END

DisPlay:

DIR:

MOV SCON,#00H MOV R1,#06H

MOV R0,#DIS5 ; 初始化结束 DIR0:

MOV A,@R0

MOV DPTR,#TAB MOVC A,@A+DPTR MOV SBUF,A JNB TI,$ CLR TI DEC R0

DJNZ R1,DIR0 RET

;--------------------------------------- TAB:

DB 0C0H,0F9H,0A4H DB 0B0H,99H,92H DB 82H,0F8H,80H DB 90H,88H,83H DB 0C6H,0A1H,86H DB 8EH,0FFH

;---------------------------------------

KeyCtrl:

MOV VALUE,P3

ANL VALUE,#0FH ; 保留低四位, 进行检测

MOV R0,VALUE DJNZ R0,KEYFUN EXIT: RET KEYFUN: WAIT:

MOV R1,P3 ANL R1,#0FH

DJNZ R1,WAIT ; 一次按键有效 CJNE R0,#01H,ACTIVE ; 功能键

CJNE 82H,#01H,EXIT ; 功能键开户前, 不处理其它键 CJNE R0,#02H,KEY_INC ; 增 CJNE R0,#04H,KEY_DEC ; 减 CJNE R0,#08H,KEY_ENTER ;确认

JMP EXIT ; 都不是, 可能出现同时按下多键, 那么, 返回

ACTIVE:

MOV ENABLE,#01H ; 使其它键可处理 JMP EXIT

KEY_INC:

MOV R1,CUR ; 存储需要修改的单元 INC @R1 JMP EXIT

KEY_DEC:

MOV R1,CUR DEC @R1 JMP EXIT KEY_ENTER: INC CUR

CJNZ CUR,#79H,NEXT MOV CUR,#74H MOV ACTIVE,#00H MOV FLAG ,#01H NEXT:

JMP EXIT DisPlay:

DIR:

MOV SCON,#00H

MOV R1,#06H MOV R0,#DIS5 ; 初始化结束 DIR0:

MOV A,@R0

MOV DPTR,#TAB MOVC A,@A+DPTR MOV SBUF,A JNB TI,$ CLR TI DEC R0

DJNZ R1,DIR0 RET

;--------------------------------------- TAB:

DB 0C0H,0F9H,0A4H DB 0B0H,99H,92H DB 82H,0F8H,80H DB 90H,88H,83H DB 0C6H,0A1H,86H DB 8EH,0FFH

;------------------------------------- 滤波程序如下:

#define A 10 #define N 12 char value; char filter()

{ char count=0; char new_value;

new_value = get_ad();

while (value !=new_value); { count++;

if (count>=N) return new_value; delay();

new_value = get_ad(); } return value; } { char new_value;

new_value = get_ad();

if ( ( new_value - value > A ) || ( value - new_value > A ) return value;

return new_value; }

冷库单片机系统电路原理图

课程设计题目:冷库单片机控制系统

学校:昆明理工大学

学院:机电工程学院 专业:机械工程及自动化 年级:2004级

小组成员:袁云川、施兆伟、王昊、柴学敏、李双春、吴洪、吴昕、何利元、胡承品、钱灿雄

指导老师:

单位:昆明理工大学 姓名:马武兴 职位:讲师

摘要

随着现代工业的逐步发展,在工业生产中,温度、压力、流量和液位是种最常见的过程变量。其中,温度是一个非常重要的过程变量。例如:在冶金工业、化工工业、电力工业、机械工业和食品工业等许多领域,都需要对各种加热炉、热处理炉、反应炉和锅炉的温度进行控制。然而,用常规的控制方法,潜力是有限的,难以满足较高的性能要求。利用单片机8031对中型冷库进行自动化改造,使得控制系统自动化程度大大提高,温度控制精确,节约了能源,提高了库存产品质量,降低了值班人员的工作强度。

冷库单片机控制系统,是利用单片机8031作为系统的主控制器,测量电路中的温度反馈信号经A/D变换后,送入单片机中进行处理,经过一定的算法和比较运算后,由单片机的输出来控制继电器的动作,从而控制执行元件以达到对电阻阀和压缩机进行驱动控制,最终实现对冷库温度的控制。

本冷库单片机控制系统的技术指标是,对冷库冷藏温度控制范围为5±0.50℃;冷冻间:-18±0. 5℃;温度显示精度:±0. 2℃,控制能力:8通道制冷控制,实际5路控制。控制方式:降温,快速,恒温,自然升温。软件设计须能进行人机对话和结果轮流显示。

关键词: 单片机、 冷库、 自动化、 改造

Abstract

Along with the gradual modern industrial devejopment,in industrial production, temperature, pressure, flow and level four is the most common process variables. Within this total, the temperature is a very important process variables. For example: in the metallurgical industry, chemical industry, power industry, machinery processing, and food processing and many other areas, the need for various furnace, heat treatment furnace, furnace and boiler temperature control. However, the use of the conventional control methods, the potential is limited, to meet higher performances.

Using singlechip-8031 to carry on automational reform for the moderate model cold-storeroom, which improves the level of control-system’s automation, also the precision of temperatural control,save on the resouce, enhance the quantity of product in the storeroom, boost the work-condition and decrease the labor strength of the watch.

The control system of cold-storeroom singlechip, which use singlechip by way of the principal controller in the system, to measure the temperatural feedback signal, after which via A/D converser carry on tackle in singlechip, pass definite arithmetic and compare operation, make the result of singlechip’s export to control the act of the relay, thereby control the execute element to realize the drival control of the resistance valve and compressor, consequently realize the control of the cold-storeroom.

The requirements of technique index of cold-storeroom singlechip are:

The control range of the temperature: during cold store: 5±0.5℃; during cold freeze: -18±0.5℃; the display precision of temperature: ±0.2℃; control capability: eight accesses of refrigeration control, in fact five accesses control; control mode: drop in temperature, quick drop in temperature, constant temperature, spontaneous rise in temperature. The design of software must could carry on person-computer dialog and turn to show the result.

Keywords: singlechip cold-storeroom automation reform

冷库单片机控制系统的设计

系统总体设计

根据所要实现的功能特点,本系统选用了MCS —51系列8031单片机,扩展一片74LS373地址锁存器,扩8kb 的EEPROM2864A 。温度传感器采用对—30~+40℃线性良好的半导体集成温度传感器,将温度转换为电流,长距离传送到两级运算放大器,8路模拟开关4051,经12位模数转换器ADC7153转换成数字信号供单片机处理控制。控制系统采用4键键盘和6位LED 数码显示器进行输入参数和显示库温及状态,6路中间继电器电器作为控制制冷电磁阀的执行元件。

冷库冷藏及冷冻功率为100~350W,电源为交流220V ,调温范围在—19~5℃,升温速度1/min温度控制精度为±0.2℃。

本系统考虑到冷库系统的工作环境对单片机的特殊要求,在此采用了MCS —51系列8031单片机。它具有抗干扰能力强,工作可靠稳定,完全满足高性能的冷库单片机系统的控制要求。

冷库单片机控制系统介绍

1、 冷库单片机控制系统的组成及工作原理

在工业生产中,对温度控制系统的要求,主要是保证库温按一设定温度变化,超调小或无超调,稳定性好,不振荡,对系统的要求不是太高。以下浅析了冷库单片机控制系统设计过程

单片机是一种集CPU 、RAM 、ROM 、I/O接口和中断系统于一体的器件,只需外加电源和晶振就可以实现对数字信号的处理和控制。本设定运用MCS —51系列单片机中的8031单片机为主控制器,对冷库的温度进行自动化控制,最终通过软件设计来实现人机对话功能,实现对冷库温度的控制。

2、电路的特点 ⑴信号放大与滤波

如图所示,传感器为恒流源形式的高精度的半导体温度传感器,在其两端上加上一定的工

常小,如先经过模拟开关再经放大则使测量精度大大降低,故对信号先进行放大,增加电路的成本获得更高的精度。模拟开关后的电平变换采用光电隔离,因为光电隔离抗干扰性好、但反应速度较慢,采用晶体管或COMS-TTL 变换芯片则速度较快。

⑶A/D转换

系统采用双积分型的A/D转换芯片7153,转换精度高,抗干扰能力强。虽然其转换速度慢,但由于冷库库室温度变化是大惯性变化系统,时间常数很大,因此用该芯片能满足系统要求。7153的输出为14位二进制数,其分辨率为温度量程的0.005%,为整个系统的高精度创造了条件,且价格较低。

⑷人机对话系统

控制系统选用4键键盘和6位LED 显示器。4键分别是功能键、增加键、减少键和确认证。采用软件消抖动,键盘输入采用中断方式进行工作,节约CPU 的工作时间提高系统响应速度。6位LED 数码显示器的作用如下:第1位显示库房编号;第2位显示通道工作状态;第3位显示温度正负号;最后3位显示额度值,其中1位小数。

⑸制冷控制执行部件及压缩机控制部件

由于本控制系统控制的是制冷剂的通断和压缩机的启停,启动和关闭的频率不高,故

采用传统的交流接触器控制交流电磁阀的通断和控制压缩机的启停运行。为增加系统的 可靠性,压缩机采用自动和人工强行控制2种模式。制冷有自动和手动2种方式且保留原系统的人工机械闸阀,从而增加系统的灵活性和可靠性。

系统的硬件设计

根据要实现的功能特点,本系统选用了MCS-51系列8031单片机,扩展一片EEPROM 2864A程序存储器、一片RAM6116数据存储器、一片I/O接口8255、一片A/D转换芯片ADC7153和一片8通道模拟开关4051构成基本系统,另外功能键和LED 显示由串行口扩展n 片74LS614实现。还有一些附加电路如:时钟电路、复位电路、温度检测电路等。

1

23⑴

V SS (20脚):接地。

时钟引脚外接晶体时与片内的反相放大器构成一个振荡器,它提供单片机的时钟控制信号。时钟引脚也可以接外晶体振荡器。

XTAL 1(19脚):接外部晶体的一个引脚。在单片机内部,它是一个反相放大器的输入端。当采用外接晶体振荡器时,此引脚应接地。

XTAL 2(18脚):接外部晶体的另一端,在单片机内部接至反相放大器的输出端。若采用外部振荡时,该引脚接收振荡器的信号,即把此信号直接接至内部时钟发生器的输入端。

②控制引脚

包括RESET (即RST )、ALE 、PSEN 、EA ,此类引脚具有复用功能。

RST/VPD(9脚):当振荡运行时,在此引脚加上两个机器周期的高电平将使单位机复位。复位后应使此引脚电平为≤0.5v 的低电平,以保证单片机正常工作。 ALE/PROG(30脚):当单片机访问外部存储器时,ALE 输出脉冲的下降沿用于

锁存16位地址的低8位。即使不访问外部存储器,ALE 端仍有周期性正脉冲输出,其频率为振荡器频率的1/6。但是,每当访问外部数据存储器时,在两个机器周期中ALE 只出现一次,即丢失一个ALE 脉冲。ALE 端可以驱动8个TTL 负载。 PSEN (29脚):此输出为单片机访问外部程序存储器的读选通信号。在从外部程序存储器取指令期间,每个机器周期PSEN 两次有效。但在此期间,每个访问外部数据存储器时,这两次有效的PSEN 信号将不在出现。PSEN 同样可以驱动8个TTL 负载。

EA/VPP(31脚):当EA 端保持到电平时,单片机访问内部程序存储器,但在PC (程序计数器)值超过OFFFH 时,将自动转向执行外部程序存储器内的程序。当EA 端保持低电平时,则只访问外部程序存储器,不管是否有内部程序存储器。 ③输入/输出引脚

输入/输出(I/O)口引脚包括P0口、P1口、P2口和P3口。

P0口:双向8位三态I/O口,此口为地址总线低8位及数据总线分时复用口,可带8个LS TTL负载。

P1口:8位准双向I/O口(作为输入时,口锁存器置1),可带4个LS TTL负载。 P2口:8位准双向I/O口,与地址总线高8位复用,可驱动4个LS TTL负载。 P3口:8位准双向I/O口,为双功能复用口,可带4个LS TTL负载。 ⑶8031具有以下几个特点:

①8位CPU ,工作频率为1~12MHz。

②128BRAM 数据存储器,4KBROM 程序存储器。 ③5V 电源,40

引脚双列直插式封装。

④12MHz 工作频率时机器周期为1μs ,所有指令的执行为1~4

个机器周期。 ⑤外部可分别扩展64KB 数据存储器和程序存储器。 ⑥2级中断,5个中断源。

⑦21

个专用寄存器,有位寻址功能。

⑧两个16位定时/计数器,1个全双工串行通信口。 ⑨4组8位I/O口。

4、芯片74LS373引脚:

的结构和工作方式

8255A 是一种可编程并行输入/输出接口芯片,它具有3个8位的并行I/O口,分别称为A 口、B 口和C 口,其中C 口又分为高4(PC7~PC4)位口和低4(PC3~PC0)位口,它们都可以通过软件编程来改变工作方式。8255A 可以与单片机直接接口。

1、数据端口A 、B 、C

8255A 有三个8位并行口,即A 、B 和C ,都可以选择作为输入或输出工作模式。但在功能和结构上有些差异。

A 口:具有一个8位数据输出锁存器/缓冲器;一个8位数据输入锁存器。

B 口:具有一个8位数据输出锁存器/缓冲器;一个8位数据输入缓冲器(不锁存)。 C 口:具有一个8位数据输出锁存器/缓冲器;一个8位数据输入缓冲器(不锁存)。

通常A 口、B 口作为输入端口或输出端口使用;C 口既可作为输入端口或输出端口使用,又可在软件的控制下,分为两个4位的端口,作为A 口、B 口选通方式操作时的控制信号。

2、A 组和B 组控制电路

这是两组根据CPU 写入的控制字控制8255A 工作方式的控制电路。A 组控制A 口和C 口的高半部;B 组控制B 口和C 口的低半部,并可根据控制字对C 口的每一位实现按置位或复位。

3、双向三态数据总线缓冲器

这是8255A 和CPU 数据总线的接口,CPU 和8255A 之间的命令、数据和状态的传递都是通过这个双向三态数据总线缓冲器传送的,D7~D0接CPU 的数据总线。

4、读/写控制逻辑

对A 组和B 组控制电路实施控制,管理所有的数据、控制字或状态字的传送。

8255A 有三种工作方式:方式0—基本输入输出方式;方式1—选通输入输出方式;方式2—双向传送方式(仅A 口)。

系统的软件设计

系统软件由主程序、定时器T0中断服务程序、键盘识别中断服务程序和显示子程序组成。

1、主程序包括定时器0、定时器1、多位标志位、温度存储器、设定值存储器的初始化、显示缓冲区清零、温度状态显示、时钟计数单元初值、键盘状态值初始化、设定堆栈指针内容。流程图如图所示。

2、 定时器T0中断服务程序

T0中断服务程序是温度控制系统的主体程序,用于启动A/D转换、读入采样数据、数字滤波、温度差值运算、继电器控制及通道和压缩机开关控制、显示定时器的增1及时间判断,如图所示。

在T0中断服务程序中要用到一系列子程序,如温度采样子程序、数字滤波子程序、标度转换子程序、功率判断子程序等。每个通道的状态参数寄存器组:工作方式寄存器、工作状态寄存器、库温寄存器、温度上限寄存器、温度下限寄存器。

3、键盘识别中断服务程序

本系统采用4键键盘结构,即功能键、增键、减键和确认键便可以完成系统参数的设定、开关机等操作,实现人机对话功能。键盘操作过程如下:

4、显示子程序

6位LED 数码管,其中第一位显示制冷的库房号或通道号,第二位显示通道的工作状态,第三位显示温度的正负值,最后3位显示温度值和设定值,其中1位小数。显示子程序由3个模块组成:显示内容更新模块、字形码查表转换模块、字形码送串行口显示模块。显示方式有2种:自动轮流显示各通道工作状态温度方式和功能设定状态显示方式。

; 显示代码函数. 使用方式为 call DisPlay 或者是 jmp DisPlay ;只假设做为子程序, 单独编译不会成功. ;显示数据放于74H,75H,76H,77H,78H,79H 5、软件滤波程序

为使经A/D转换后的波形不含干扰值,特地使用限幅消抖法进行滤波。此方法相当于“限幅滤波法”+“消抖滤波法”,其原理是先限幅, 后消抖。即设置一个滤波计数器,将每次采样值与当前有效值比较:如果采样值=当前有效值,则计数器清零;如果采样值当前有效值,则计数器+1,并判断计数器是否>=上限N(溢出) 如果计数器溢出, 则将本次值替换当前有效值, 并清计数器。它对于变化缓慢的被测参数有较好的滤波效果, 可避免在临界值附近控制器的反复开/关跳动或显示器上数值抖动。

附程序:

DIS5 EQU 79H FLAG EQU 80H V ALUE EQU 81H ENABLE EQU 82H

CUR EQU 83H ; 初始化.

MOV CUR,#74H ; 此函数为子函数. 调用时用jmp 或 call 来处理 ORG 0000H

AJMP MAIN ; 转入主程序

ORG 001BH ; 定时器中断T1口地址

LJMP T_1 ; 转T1中断服务程序

ORG 0030H ; 以下是冷库房测量温度的初始化程序 MAIN: SETB P2.5 ;P2.5 降温控制位,启动制冷降温 CLR P2.6 ;P2.6制冷完控制位,关闭电磁阀 SETB P2.0 ;P2.0控制压缩机位 MOV SP,#30H ; 设置堆栈指针 MOV P3.3,#00H ; 初始化显示为0

MOV TMOD,#16H ;T0计数状态、方式2,T1定时状态、方式1 MOV TL0,#00H ;T0计数初值设定 MOV TH0,#00H

MOV TH1 ,#0BH ;T1定时初值,1S,6MHZ MOV TH0 ,#0DCH MOV R2,#8 ; 设置软计数器

MOV 20H,#EEH ; 初始设置温度-18度,装入20H MOV 21H,#05H ; 初设冷藏温度5度, 装入21H LOOP: SETB IT0 ; 外部中断边沿触发 SETB EX0 ; 外部中断0允许 SETB EA ; 开总中断

SETB ET0 ; 定时器T0中断允许 SETB ET1 ; 定时器T1中断允许

ORL TCON,#01010000B ; 同时启动定时器1和定时器0 SJMP $ ; 等待中断 ; 以下是T_1中断程序启动定时扫描5通道 T_1:

PUSH PSW ; 保护PSW PUSH ACC ; 保护ACC MOV R1,#30H ; 初设指针 MOV DPTR,#07FF8H ; 指向通道0 MOV R5,#05H ; 设通道数 ; 以下是启动ADC0809采集数据程序

LOOP1: MOVX @DPTR,A ; 启动AD 转换

MOVX A,@DPTR ; 转换结束,A 接受数据P0口为转换数据输入端 MOV @R1,A ; 存储于数据区 MOV 22H,R1 ; 寄存数据于22H INC DPTR ; 指向下一个通道 INC R1 ; 修改数据区指针

DJNZ R5,LOOP1 ;5个通道转换完否? RET

; 以下程序是比较采样数据,采样冷库房温度与设置温度比较 MOV A,22H CLR C

SUBB A,20H ; 和-18度比较 JNC SH ; 若大于-18度,转入上限处理程序 LJMP YSJ ; 转向压缩机

; 以下是低于-18度的处理程序 XI: CLR P2.6 ; 停止或是关闭

; 以下是上限处理程序

SH: SETB P2.5 ; 发出制冷信号,打开电磁阀 YSJ: SETB P2.0 ; 开启压缩机, 压缩机自动控制 ; 保护压缩机

BH: MOV A,21H

ANL A,#00001110B ; 屏蔽除1-3位的其他位

JNZ BH ; 判断有无键闭合若没有则继续判断 ; 压缩机自动控制开关

MOV A,21H

JNB ACC.3,BH ; 判断确定设置键是不是断开,若不是则继续判断 LJMP FH ; 若确定设置键断开则返回 ; 中断返回

FH: POP PSW POP ACC RETI

; 以下是调用BCD 码转换和显示程序显示当前温度 MOV R0,22H

LCALL BCD ; 调用BCE 码转换程序

LCALL P3.3 ; 调用显示程序显示, 供工作人员观察和打印 ; 以下是程序循环采样一轮数据后返回 LJMP LOOP ; 键盘初始化程序 KeyCtrl:

MOV VALUE,P3.3

ANL VALUE,#0FH ; 保留低四位, 进行检测 MOV R0,VALUE DJNZ R0,KEYFUN EXIT: RET

KEYFUN: WAIT:

MOV R1,P3.3 ANL R1,#0FH

DJNZ R1,WAIT ; 一次按键有效 CJNE R0,#01H,ACTIVE ; 功能键

CJNE 82H,#01H,EXIT ; 功能键开户前, 不处理其它键 CJNE R0,#02H,KEY_INC ; 增 CJNE R0,#04H,KEY_DEC ; 减 CJNE R0,#08H,KEY_ENTER ;确认

JMP EXIT ; 都不是, 可能出现同时按下多键, 那么, 返回

ACTIVE:

MOV ENABLE,#01H ; 使其它键可处理 JMP EXIT

KEY_INC:

MOV R1,CUR ; 存储需要修改的单元 INC @R1 JMP EXIT

KEY_DEC:

MOV R1,CUR DEC @R1 JMP EXIT

KEY_ENTER: INC CUR

CJNZ CUR,#79H,NEXT MOV CUR,#74H MOV ACTIVE,#00H MOV FLAG ,#01H NEXT:

JMP EXIT DIS5 EQU 79H FLAG EQU 80H V ALUE EQU 81H ENABLE EQU 82H CUR EQU 83H

ORG 0000H AJMP MAIN

ORG 0030H MAIN: INITIAL:

MOV SP,#30H

MOV CUR,#74H CALL DisPlay CALL KeyCtrl END

DisPlay:

DIR:

MOV SCON,#00H MOV R1,#06H

MOV R0,#DIS5 ; 初始化结束 DIR0:

MOV A,@R0

MOV DPTR,#TAB MOVC A,@A+DPTR MOV SBUF,A JNB TI,$ CLR TI DEC R0

DJNZ R1,DIR0 RET

;--------------------------------------- TAB:

DB 0C0H,0F9H,0A4H DB 0B0H,99H,92H DB 82H,0F8H,80H DB 90H,88H,83H DB 0C6H,0A1H,86H DB 8EH,0FFH

;---------------------------------------

KeyCtrl:

MOV VALUE,P3

ANL VALUE,#0FH ; 保留低四位, 进行检测

MOV R0,VALUE DJNZ R0,KEYFUN EXIT: RET KEYFUN: WAIT:

MOV R1,P3 ANL R1,#0FH

DJNZ R1,WAIT ; 一次按键有效 CJNE R0,#01H,ACTIVE ; 功能键

CJNE 82H,#01H,EXIT ; 功能键开户前, 不处理其它键 CJNE R0,#02H,KEY_INC ; 增 CJNE R0,#04H,KEY_DEC ; 减 CJNE R0,#08H,KEY_ENTER ;确认

JMP EXIT ; 都不是, 可能出现同时按下多键, 那么, 返回

ACTIVE:

MOV ENABLE,#01H ; 使其它键可处理 JMP EXIT

KEY_INC:

MOV R1,CUR ; 存储需要修改的单元 INC @R1 JMP EXIT

KEY_DEC:

MOV R1,CUR DEC @R1 JMP EXIT KEY_ENTER: INC CUR

CJNZ CUR,#79H,NEXT MOV CUR,#74H MOV ACTIVE,#00H MOV FLAG ,#01H NEXT:

JMP EXIT DisPlay:

DIR:

MOV SCON,#00H

MOV R1,#06H MOV R0,#DIS5 ; 初始化结束 DIR0:

MOV A,@R0

MOV DPTR,#TAB MOVC A,@A+DPTR MOV SBUF,A JNB TI,$ CLR TI DEC R0

DJNZ R1,DIR0 RET

;--------------------------------------- TAB:

DB 0C0H,0F9H,0A4H DB 0B0H,99H,92H DB 82H,0F8H,80H DB 90H,88H,83H DB 0C6H,0A1H,86H DB 8EH,0FFH

;------------------------------------- 滤波程序如下:

#define A 10 #define N 12 char value; char filter()

{ char count=0; char new_value;

new_value = get_ad();

while (value !=new_value); { count++;

if (count>=N) return new_value; delay();

new_value = get_ad(); } return value; } { char new_value;

new_value = get_ad();

if ( ( new_value - value > A ) || ( value - new_value > A ) return value;

return new_value; }

冷库单片机系统电路原理图


相关文章

  • 全国电子设计大赛题目分析
  • 第6章 全国大学生电子设计竞赛题目与 分析 6.1 全国大学生电子设计竞赛简介 6.1.1 总则 1.指导思想与目的 全国大学生电子设计竞赛是教育部倡导的大学生学科竞赛之一,是面向大学生的群众性科技活动,目的在于推动高等学校促进信息与电子类 ...查看


  • 09级计科专业毕业设计题目
  • 09级计算机科学与技术专业毕业设计题目指南 说明:1. 每个题目的选择人数最多不能超过2名同学,否则将退回重选.(如题目要求可多 人合作,则以题目要求为准),请各班级同学自行协调解决选题冲突问题. 2.学习委员上报题目请用EXCEL 表格, ...查看


  • 可以调控的跑马灯
  • Hebei Normal University of Science & Technology 单片机原理 及应用课程设计 ( 2013 年至2014学年度第 2 学期) 题 目: 可以调控的走马灯 学 生 姓 名: 院(系.部): ...查看


  • 加法器设计
  • 沈 阳 工 程 学 院 课 程 设 计 课程设计题目: 加法器设计 系 别 自动控制工程系 班级 生自专111 学生姓名 佀自勇 学号 2011336120 指导教师 王新颖.王健 职称 副教授.副教授 起止日期: 2013年06月17日起 ...查看


  • 微控器课程设计模板
  • 辽 宁 工 业 大 学 题目: 院(系): 软件学院 专业班级: 学 号: 学生姓名: 指导教师: 葛帅 教师职称: 助教 起止时间: 09.6.15-09.06.26 课程设计(论文)任务及评语 目 录 第1章 课程实训目的与要求 ... ...查看


  • 疫苗冷链温度实时监控系统解决方案v2
  • 疫苗冷链温度实时 监控系统 解决方案 珠海飞企软件有限公司 2013年3月12日 版权声明 本文档版权属珠海飞企软件有限公司所有,任何其他组织单位及个人,未经珠海飞企软件有限公司书面许可,均不得传播.散发.印制给其他单位及个人 目录 1. ...查看


  • 多功能电子秒表
  • <单片机原理及应用> 课程设计 <多功能电子秒表> 学生姓名 郭君君 学 号 所属学院 信息工程学院 专 业 计算机科学与技术 班 级 16-4班 指导教师 孟洪兵 前 言 中国使用单片机的历史只有短短的30年,在初 ...查看


  • 基于单片机彩灯设计报告
  • 西安文理学院机械电子工程系 课程设计任务书 学生姓名 焦银娟 专业班级 电子信息工程 学 号 [1**********] 指导教师 刘 密 歌 职 称 副教授 教研室 电子信息工程 课 程 单片机原理及应用 题目 基于单片机的彩灯设计 任务 ...查看


  • x-y工作台课程设计
  • 课程设计说明书 课程名称: 设计题 专 班 姓 名 学 号: 指导教 设计时间:2016年12月29日-2017年 1 月 日 6 目录 一.课程设计的题目及要求 ...................................... ...查看


热门内容