1、 中国石油大学(华东)基于单片机的空调温度控制器的设计学生: 史凯峰 班级: 测控 1402 学号: 1405040222 摘要 本控制电路是以 8051 单片机为控制核心。整个系统硬件部分包括温度采样电路,自激式 A/D 转换器,按键电路,驱动电路,时序电路,和 8 段译码器,LED 数码显示器。在配合用汇编语言编制的程序使软件实现,实现空调温度智能转换的基本功能。本控制电路成本低廉,功能实用,操作简便,有一定的实用价值。关键词 8051 单片机 温度控制 LED 数码显示1、引言在现代社会中,温度控制不仅应用在工厂生产方面,其作用也体现到了各个方面,随着人们生活质量的提高,酒店厂房及家庭生
2、活中都会见到温度控制的影子,温度控制将更好的服务于社会.而今,空调等家用电器随着生产技术的发展和生活水平的提高越来越普及,一个简单,稳定的温度控制系统能更好的适应市场。而本次设计就是要通过以 MCS-51 系列单片机为控制核心,实现空调机温度控制器的设计。利用实验仪上的显示电路、键盘、或开关电路、A/D 转换电路,模拟空调恒温控制。可以利用实验仪上的电位器模仿温度变化,制冷可以用发光二极管模拟,也可以控制直流电机模仿压缩机的运行。要求可以用键盘或开关设定恒定温度,当外界温度超过设定温度不一致时,就要启动加热或制冷压缩机,从而对空气温度进行调节,使空气温度与设定温度保持一致。2、原理设计2.1
3、硬件组成按照空调温度控制器的设计要求,系统的硬件应包括以下几部分:(1)电位器:利用电位器模拟空气温度的变化,将空气温度的模拟量送入A/D转换器中。(2)A/D转换器:空气温度的模拟量经过A/D转换器转换为电压输出量,再将输出量送入单片机中。(3)单片机:将空气温度与设定温度相比较,从而驱动空调机的发热或制冷。(4)键盘:用于输入设定的温度值。(5)LED显示:用于显示设定的温度值和空气温度值系统硬件方框图如图 2.1 所示:80518 段译码器8 段译码器数码管数码管 按键电路驱动电路A/D 转换电路时钟图 2.1 硬件方框图2.2 控制模块(1)控制器由于空调温度控制器的核心就是单片机,单
4、片机的选择将直接关系到控制系统的工作是否有效和协调。本设计采用MCS-51 系列的 8051 单片机,因为 8051 单片机应用广泛,性能稳定,抗干扰能力强,性价比高。温度采样电路XTAL218XTAL119ALE30EA31PSEN29RST9P0.0/AD039P0.1/AD138P0.2/AD237P0.3/AD336P0.4/AD435P0.5/AD534P0.6/AD63P0.7/AD732P2.7/A1528P2.0/A821P2.1/A92P2.2/A1023P2.3/A1 24P2.4/A1225P2.5/A1326P2.6/A1427P1.01P1.12P1.23P1.34P
5、1.45P1.56P1.67P1.78P3.0/RXD10P3.1/TXD1P3.2/INT012P3.3/INT113P3.4/T014P3.7/RD17P3.6/WR16P3.5/T115U180C518051 包含了 8 位 CPU,片内振荡器,4K 字节 ROM,128 字节 RAM,2 个 16 位定时器,计数器,中断结构,I/O 接口等。可进行计算,定时等一系列功能。8051芯片内部引脚图如图2.2所示:图 2.2 8051 芯片内部引脚图(2)A/D转换-ADC0801ADC0801是8位全MOS中速A/D 转换器、它是逐次逼近式A/D 转换器,片内有三态数据输出锁存器,可以和单
6、片机直接口接。其主要引脚功能如下:(1)RD,WR:读选通信号和选通信号(低电平有效)。(2)CLK:时钟脉冲输入端,上升有效。(3)DB0DB7是输入信号。(4)CLKR:内部时钟发生器外接电阻端,与CLKIN端配合可由芯片自身产生时钟脉冲,其频率为1/1.1RC。(5)CS:片选信号输入端,低电平有效,一旦CS有效,表明A/D转换器被选中,可启动。(6)WR:写信号输入,接受微机系统或其它数字系统控制芯片的启动输入端,低电平有效,CS、WR同时为低电平时,启动转换。(7)INTR:转换结束输出信号,低电平有效,输出低电平表示本次转换已完成。该信号常作为向微机系统发出的中断请求信号。(8)C
7、LK:为外部时钟输入端,时钟频率高,A/D转换速度快。允许范围为10-1280KHZ,典型值为640KHZ,此时,A/D转换时间为10us。通常由MCS51单片机ALE端直接或分频后与其相连。当MCS单片机与读写外,RAM操作时,ALE信号固定为CPU时钟频率的1/6,若单片外接的晶振为6MHZ,则1/6为1MHZ,A/D转换时间为64us。(3)数码管显示由于数码管显示明显,易于控制,本设计采用数码管显示,数码管的显示原理都是一样的,都是靠点亮内部的发光二极管来发光。数码管内部原理图如图 2.3 所示。abfcgdeDPY1234567abcdefg8 d pd p0LED1图 2.3 数码
8、管内部原理图3 、硬件电路设计3.1 可模拟量输入电路温度是一个非电量物理量,需要将之转化为电信号才能进行后续的测量和控制。由于电位器电路用于产生可变的模拟量,为此,在此课程设计中,利用了实验仪器上的电位器来模拟温度变化,将温度这个非物理量转化为电压信号输出。电位器结构图如图3.1所示:图 3.1 电位器结构图3.2 A/D 转换电路A/D 转换电路如图 3.2 所示。ADC0801 的 A/D 转换结果输出端 DB0DB7 与 8051 的P0.0-P0.7 相连,INTR 与 P2.0 口相连,INTR 端用于给出 A/D 转换完成信号,所以通过查询 P2.0 便可以获知 A/D 转换是否
9、完成。RD 与 8051 RD 相连,WR 也是跟 8051 WR 相连。CS、VIN+接地。 (低电平有效)ADC0801 的两模拟信号输入端,用以接受单极性、双极性和差摸输入信号,与 WR 同时为低电平 A/D 转换器被启动切在 WR 上升沿后 100 模数完成转换,转换结果存入数据锁存器,同时,INTR 自动变为低电平,表示本次转换已结束。如 CS、RD 同时来低电平,则据锁存器三态门打开,数字信号送出,而在 RD 高电平到来后三态门处于高阻状态 。图 3.2 A/D 转换电路图3.3、压缩机驱动电路压缩机驱动控制,8051 的 RXD 的引脚与 7404 的引脚相连接,从 RXD 发出
10、的控制信号经 7404 和 ULN2003 到达压缩机,驱动压缩机的运行和停止。ULN2003 是高压大电流达林顿晶体管阵列系列产品,具有电流增益高、工作电压高、温度范围宽、带负载能力强等特点,适应于各类要求高速大功率驱动的系统。其中 ULN2003 是由 7 个 NPN 具有用共阴二极管夹紧来转换电感负载的高压输出特征的达林顿晶体管组成。当前一对单精度型的额定电流为 500mA,有比较高的电流容量,它的应用软件包括继电器驱动器、显示驱动器,线驱动器和逻辑缓冲器等。在本驱动电路中的作用是增大电流驱动能力。该芯片采用 16 脚的 DIP 封装 ,其中第 9 为公共输出端 COM,有一个输出端为高
11、电平,COM 就为高电平。图 3.3 压缩机驱动电路3.4 单片机控制电路 (1)本设计用 8255 驱动两个发光二极管来表示空调机的发热和制冷,单片机控制电路如图 3.4 所示:图 3.4 单片机控制电路4 系统软件设计系统的软件设计采用模块化设计,采用模块化设计可以简化系统软件的编写,使软件编写思路更加简单明了。系统软件主要由三大模块组成:主程序模块、功能实现模块和运算控制模块。主程序模块用于实现各个子程序间的跳转。功能实现模块主要由 A/D 转换子程序、键盘处理子程序、显示子程序等部分组成。4.1 主程序设计主程序是系统上电或复位后首先要执行的程序,主程序主要完成系统的初始化、扫描显示、
12、扫描键盘等工作。程序开始执行后,空气温度和设定温度进行比较,若空气温度比设定温度高,则驱动空调机制冷,若空气温度比设定值低,则驱动空调机加热,向下键每按一次,设定温度减1,向上键每按一次,设定温度值加1.系统主程序流程图如图4.1所示:开始初始化温度参数显示温度采样当前温度当前温度与设定温度比较不变读键盘键盘值是 ?制冷 加热向下键 向上键设定温度减 1 设定温度加 1图4.1 主程序流程图4.2 子程序设计子程序的设计包括显示子程序、A/D 转换子程序,分别如图 4.2、4.3 所示:开 始关 闭 所 有 显 示 位取 出 显 示 数 据取 出 数 据 一 位 输 出输 出 时 钟 脉 冲显 示 数 据 移 位8 位 数 据 输 出输 出 位 选 通 信 号延 时位 选 通 信 号 位 移6 位 全 显 示 完 ?返 回否否图 4.2 显示子程序开 始启 动 A / D 转 换延 时读 A / D 变 换 值结 束图 4.3 A/D 转换子程序4.3 中断服务程序流程图图 4.4 定时器中断服务子程序4.4 调试调试的过程:(1)在实验系统中输入程序,并对其进行编译修正,直到没有错误。保护现场重装定时初值设定温度测量温度? 令压缩机工作令压缩机停止工作中断返回YN