单片机软件实现是单片机系统应用的重点,他是在硬件设计基础上实现程序设计的重要环节。单片机程序设计一般包括以下几个步骤:软件规划、流程图编制、代码编写。由于单片机系统具有软硬件紧密结合的特点,因此在基于某种单片机系统的软件开发时,应充分了解该系统实现的硬件环境,同时也应该在系统设计与硬件设计阶段,对软件设计有一个大体的规划。因此,本文在介绍室内机控制器功能的基础上,重点讨论如何用软件实现该室内机的功能。
1 室内机控制器的功能
室内机控制器主要是驱动风门步进电机,接收来自红外遥控器设计的指令,进入到相应的工作状态,并显示运行状态。
室内机控制器包括以下几个硬件电路模块:室内机处理器,室内机驱动电路,风门步进电机,显示板电路(LED),红外遥控接收/发送电路,室内机外装置串行通信电路,温度传感器电路。室内机控制电路框图如图1所示。
1.1 室内机CPU
从以上室内机控制器包含的硬件电路模块来看,要设计家用空调控制器在功能上要求具有2路温度传感器,1个步进电机控制接口,1组PG调速风机控制,10 个发光二极管温度指示,红外遥控接收接口和室外机组控制接口。选择Microchip公司的PIC16C74单片机,可以满足以上条件,该单片机具有以下特点:
(1) 独立分离的数据总线和14 b指令总线的“哈佛”结构,采用33条精简指令集,指令执行速度快,效率高。内含4 kB程序存储器和192 B数据存储器,满足设计要求。
(2) 内置具有8路10 b A/D转换,简化电路设计。
(3) 3个硬件定时器,便于控制器复杂的延时保护。
1.2 PG电机
PG电机内的霍尔传感器主要是检测电机的转速并反馈到CPU中,最终达到调节风速的目的。在设计闭环风机调速部分,可以采用简单的二阶伺服环路控制模式,在速度闭环的基础上增加加速度闭环控制算法,解决风机控制的风速抖动问题,使得PG电机运转平稳性得到大幅度提高。
2 空调室内机控制器软件规划
2.1 软件的总体设计
在进行室内机控制器软件实现时,首先要进行软件设计,软件设计主要基于模块化设计思想,将软件分解成若干功能,通过主程序将各软件设计模块有机地组织起来。该室内机控制器的软件设计模块主要包括:主程序、红外接收模块、运行模块、风门步进电机控制模块、PG风机调速模块、运行模式模块、A/D转换处理模块。同时在设计时应考虑以下几类中断:
自动按键中断、风机速度中断,除此之外应规划设计2个定时器中断:设置定时器0产生250ms定时中断,定时器1产生125 μs定时中断。
2.2 软件的详细设计
对室内机控制器在总体上进行了模块功能的设计后,应对每一个模块的实现进行详细设计,在这里以运行模式模块为例来讨论该模块的详细设计过程。
空调室内机运行模式主要包括:自动运行模式、制冷运行模式、抽湿运行模式、通风运行模式和制热运行模式。以下主要从各运行模式特点、各模式与主程序的流程图规划和运行模式编程语言的选择与编程实现等3个方面介绍如何开发一个复杂工程。
2.2.1空调室内机各运行模式的特点
(1) 自动运行模式进入自动模式,LED显示屏上自动标志常亮,5 s后选定工作模式,5 s期间风门、风速、温度可调,空调根据最终设定温度(默认初始设定值24 ℃)与当前室温的差别,自动进入制冷或制热模式,以维持设定温度,令室内温度为T,设定温度为T0,当T≥T0时,进入制冷运行;当T0时,进入制热运行。
(2) 制冷运行模式制冷运行模式温度设定范围为16"30 ℃(初始值24 ℃),当T≥T0时,压缩机、外风机运转;当T0时,压缩机、外风机停止运转;当室内温度回升到高于设定温度1.0 ℃时,压缩机、室外风机运转,室内机始终运转,可选 择自动、高、中、低任意一档风速。在自动风速时:Δt≥2 ℃,高风;Δt≤0 ℃,低风(其中Δt=|T-T0|);当选择制冷方式运转后,空调可按图2所示运行。在制冷状态下,同时要考虑空调器自我保护的设计。例如,防止换向阀误动作引起的异常升温和防止冻结等。
(3) 制热运行模式制热运行模式下温度设定范围为16"30 ℃(初始值24 ℃),当选定制热运行方式后,可按图3所示运行,在制热过程中风速可任意选择,并在制 热过程中考虑防冷风控制、超负荷、吹余热等保护功能的设置。
(4) 抽湿运行模式当选择抽湿方式运转,空调器将以制冷方式运转到室内温度达到遥控器设定的温度为止,然后转入抽湿方式,开3 min再停3 min,如此循环进行。停机时,内风机延时30 s停止。在抽湿运转时,温度可调,温度范围设定在16"30 ℃。
(5) 通风运行模式在通风运行模式下,室外机组停止运转,室内风机可选择自动、高、中、低任意一档风速。当Δt>4 ℃时,运行高风,当Δt<0 ℃时,运行低风。
2.2.2空调各运行模式的流程图设计
面对复杂系统的实现,在程序实现之前,应依赖于流程图使复杂的问题变得清晰易于理解,因此在分析了各运行模式的特点后,利用结构化分析方法将各运行模式模块化,然后再在模块化的基础上具体绘制各模块的流程图,将各功能模块的功能进行进一步明确。以下给出了主程序的流程图和制冷运行模式的流程图,如图4、图5所示。
2.2.3运行模式编程实现
各模块的流程图画好后,下一步的工作就是要用某种编程语言实现各功能模块。在用编程语言实现时,选择了Microchip公司提供的MPLAB(4.00)集成开发环境。该开发环境是Microchip公司为其PIC系列单片机专门设计的开发环境,该平台包括编辑器、编译环境、软件仿真、硬件仿真,同时该环境采用Windows界面,开发设计非常方便。由于篇幅的原因这里只给出制冷运行模块的编程实现。
3 结语
在基于PIC16C74单片机空调室内机软件的实现时,对该系统的系统设计与硬件设计进行了充分的了解,并在此基础上运用结构化程序设计的方法进行功能分解与模块设计,使得在编程时能达到事半功倍的效果,且有利于日后对程序的仿真和调试。