1、 房间电器综合控制系统Control system of the electrisic in the room摘 要本设计的目的是寻找一种方法来实现房间内多种电器的综合控制,采用了单片机与红外遥控相结合的方式,制作出一种房间电器综合控制系统。系统的核心由 AT89S52 单片机和红外收发装置构成,整个系统包括发射部分和接收部分。发射部分以 AT89S52 单片机为中心控制芯片,外围扩展了矩阵键盘,红外发射电路以及电源电路;接收部分则以 AT89S52 单片机为核心,外围扩展了红外接收电路,按键显示电路,电源电路以及与按键相应的继电器控制家用电器电路。红外信号的发射采用脉冲个数编码的方式,根据不
2、同的按键设定不同的编码,通过软件实现解码,从而控制相应电器的开和关。通过硬件和软件相结合的方式,此设计实现了手持遥控器,按下一个按键,相应的电器接通电源开始工作,并显示按键号码,再按一下,该电器切断电源停止工作。此设计具有操作码个数可随意设定,编程灵活多样等优点。关键词:单片机;红外;编码解码ABSTRACTThe aid of this ariticle is to search a way to Key Words:MCU;Inframed;目 录1 引言 .11.1 智能家居的发展 .11.2 微处理器的功能及其应用 .11.3 通信技术的发展及其前景 .12 系统原理和部分方案比较 .
3、32.1 系统原理综述 .32.2 课题总体要求 .52.3 系统各部分方案比较 .62.3.1 控制方式比较 .62.3.2 信号处理方案 .72.3.3 微处理器的选择 .83 系统硬件设计方案 .93.1 系统工作原理流程 .93.2 系统主控制器选择 -123.2.1 单片机(MCU)概述 -123.2.2 MCU 芯片简介及器件选择 -143.2.3 AT89S52 简单介绍说明 -153.3 信号的发射接收电路 .93.3.1 红外发射电路设计 .93.3.2 红外接收电路设计 .93.4 遥控键盘电路 .103.4.1 按键安装方法 .93.4.2 矩阵扫描 .93.4.3 健功
4、能 .93.5 数码显示电路 .103.5.1 驱动电路 .93.5.2 数字显示电路 .93.6 继电器控制家电输出电路 .93.6.1 继电器原理 .93.6.2 控制电路 .94 程序控制 .114.1 系统软件介绍 .114.2 总程序流程 .114.3 程序 .114.4 系统整体电路图 .115 开发环境及程序下载 .35.1 开发环境 .35.2 程序下载 .55.2.1 系统下载 .65.2.2 外加软件下载 .76 系统测试及数据记录 .96.1 软件测试 .96.1.1 功能仿真 -126.2.2 -146.2 硬件测试及仿真 -126.3 系统数据记录 -127 课题相关
5、技术发展前景 .3结 论 .12参考文献 .13附录 1: 程序 .14附录 2: 系统电路图 .14附录 3: 系统 PCB 图 .14致 谢 .151 引言当今社会是数字化的社会,也是数字集成电路广泛应用的社会。而数字集成电路本身也在不断地进行更新换代,不断的进步创新。它由早期的电子管、晶体管、小中规模集成电路,发展到超大规模集成电路(VLSIC,几万门以上)以及具有许多特定功能的专用集成电路(ASIC) 。并且在现代高新电子产品的设计和生产中,数字集成电路技术和现代电子设计技术是相互促进、相互推动又相互制约的两个技术环节。前者的进步就表现在大规模集成电路加工技术,即半导体工艺技术的发展上
6、;而后者的核心则是 EDA(电子设计自动化)技术,它使得设计者的工作仅限于软件的方式,即利用硬件描述语言(本文只涉及到VHDL 硬件描述语言)和 EDA 软件来完成对系统硬件功能的实现,避免了硬件电路在搭接时所出现的问题。1.1 ASIC 技术促使可编程逻辑器件发展随着微电子技术的发展,设计与制造集成电路的任务已经不再由某个大规模的生产厂商来独自承担了,更甚至于系统设计师们都愿意自己设计专用集成电路(ASIC)芯片,而且希望 ASIC 的设计周期尽可能短,最好是在实验室里就能设计出合适的 ASIC 芯片,并且立即投入实际应用之中。也就是这种现场可用的思想促成了现场可编程逻辑器件(FPLD)的出
7、现,其中应用最广泛的当属现场可编程门阵列(FPGA)和复杂可编程逻辑器件(CPLD)了 。对于电子系统设计来说,在以前的很长一段时间里,设计某个电子控制系统大多数情况下是用指令少、功能单一的单片机,但是用其开发出来的硬件系统及其电路结构庞大而复杂、成本高、经常容易发生电路方面的故障,并且由于系统是针对某一个特定的功能而设计的,对今后系统的升级和功能扩展都非常困难。显然这样的单片机在某种程度上已经不能再满足设计要求了。而CPLD(或 FPGA)芯片作为一种新兴的设计器件,在技术上与单片机相比有很多优势,光说其实现的工艺就有反熔丝技术、EPROM 技术和 EEPROM 技术等。实现了电可擦除、电可
8、改写和紫外线擦除,其输出结构是可编程的逻辑宏单元,因而它的设计具有很强的灵活性。这些 PLD 器件的一个共同特点,就是可以实现速度特性较好的逻辑功能,可见用这种 CPLD 芯片进行开发设计时,只需要增加少量的外围电路,并结合可控制它的丰富的指令集合,就可以获得功能强大的控制系统。又由于这种芯片内含有可下载程序固定接口和 EEPROM、Flash。因此,开发出来的系统具有可升级性(内部程序可擦除,进行重新烧写),用户可以根据需要对其进行功能扩展,既可以缩短系统开发周期,又可以减少开资。利用 EDA 技术(CPLD/FPGA)进行电子系统设计的最终目标,是完成专用集成电路 ASIC 的设计和实现,
9、而在电子科技高速发展的当今,再加上上述CPLD/FPGA(复杂可编程逻辑器件/现场可编程门阵列)的各种优点,它以成为实现这一途径的主流器件。其特点是直接面向用户,具有极大的灵活性和通用性,使用方便,硬件测试和实现快捷,开发效率高,成本低,上市时间短,技术维护简单,工作可靠性能好。例如 Altera 公司最新生产的 MAXII 系列 PLD ,这是一种基于 FPGA(LUT)结构,集成配置芯片的 PLD,在本质上它就是一种在内部集成了配置芯片的 FPGA,但由于配置时间极短,上电就可以工作,所以对用户来说,感觉不到配置过程,可以与传统的 PLD 一样使用,加上容量和传统 PLD 类似,所以 Al
10、tera 公司把它归作 PLD。 还有像 Lattice 公司的 XP 系列FPGA,也是使用了同样的原理,将外部配置芯片集成到内部,在使用方法上和PLD 类似,但是因为容量大,性能和传统与 FPGA 相同,也是 LUT 架构,所以Lattice 仍把它归为 FPGA 之列。总之,由于以上的各种突出优点,CPLD 或FPGA 芯片已成为大多数电子设计工程师进行电子设计的首选器件。1.2 CPLD(FPGA)实现系统控制把以 CPLD(或 FPGA)芯片为核心,作为主控制器开发出来的各种测量及控制系统,作为家用电子产品的一个组成部分嵌入某个系统中,使其更具智能化、拥有更多功能,便于人们操作和使用
11、,从而更具时代感,这也是家用电子产品的发展方向和趋势所在。有的家用电器领域要求增加显示、报警和自动诊断等功能。这就要求我们生产的产品具有自动控制系统。而所谓的自动控制功能的实现主要是由计算机来完成的,可用的方法主要有两种:离线控制和在线控制。离线控制包括利用计算机实现对控制系统总体的分析、设计、仿真及建模等工作;在线控制就是以计算机代替常规的模拟或数字控制电路,使控制系统“软化” ,让计算机位于其中,并成为控制系统、测试系统及信号处理系统的一个组成部分。这类控制由于需要有像计算机一样的智能控制系统身处其中,因此对控制系统有体积小、功耗低、价格低廉以及控制功能强大等要求,而为了满足这些要求,就应
12、当使用可编程逻辑器件的具体芯片来实现。例如:本文所研究的课题就是利用 CPLD 器件(EP1K100QC208-3)为主控芯片,来实现系统的整体功能的。然而,由于 CPLD 与控制对象联系密切,所以设计一个系统,不但对 CPLD芯片的性能要求高,而且对设计者的要求也很高。他们不但要熟练掌握 CPLD 知识,而且还要了解控制对象,懂得传感器技术,具有一定的控制理论知识等。还拿本文所研究的课题为例,除了利用 CPLD 具体芯片外,还用到了传感器,A/D 转换器以及放大显示电路等,才实现完成了系统总体功能检测室温显示,并实现报警。2 系统原理和部分方案比较一个完整的系统,必须经过系统整体原理分析和各
13、部分的方案比较,选择最佳最优的实现方法,才能完美而立于不败之地。2.1 系统原理概述当今社会,随着现代测量、控制和自动化技术的发展,信息采集的方法越来越多,而在所有信息的采集途径中,用的最普遍、最基础的,就是传感器。如果把电子计算机比作人的“大脑”,那么传感器则酷似人的“五官” (视觉、嗅觉、味觉、听觉和触觉)了。其重要性则可一目了然,不过对传感器的要求可要比人的五官的要求高得多,并且传感器的种类也在日益增多,涉及到的范围也日益变广。如AD公司生产的模拟电压输出型的温度传感器TMP35/36/37,它主要应用于环境控制系统、过热保护、工业过程控制、火灾报警系统、电源系统监控以及仪器散热风扇的控
14、制等。还有NATIONAL SEMICONDUCTOR生产的与微处理器相结合的测温及温度控制、管理的温度测量控制器LM80,它主要应用于个人计算机及服务器的硬件及系统的温度监控、办公室设备、电子测试设备等。以及MAXIN公司生产的主要应用于CPU冷却控制的PWM风扇控制器及遥控温度传感器MAX1669。因此,测量外界温度的方法有很多种,然而,由于热敏电阻及其放大电路受到环境的影响,在不同的条件下会出现不同的测温偏差,而TMP35/36/37,LM80,MAX1669这些传感器的造价又太高,在相同条件下,由于测温精度、处理精度等多方面的因素,不同的通道也会出现不同的偏差,因此必须采用一种灵活的修
15、正方式,这便用到了电压型的温度传感器LM35D。它的线性好(10mV/) ,宽量程(0-100) ,精度高(+0.4 ) ,低成本,而且采集到的是电压型信号,易于处理,使得电路简单实用 3 。如上所述,本课题的设计就是利用温度传感器 LM35D 来采集温度信号的,随后将采集到的微弱模拟电压信号经过放大器 OP07 放大十倍后送入 A/D 转换器(ADC0804) ,将其转换为数字信号后,再传给 CPLD 芯片(这里用到的型号是EP1K100QC208-3) ,即该系统的核心部件,通过硬件描述语言(VHDL)编程进行信号处理,然后经过预先设置好的端口将数字信号传送给 74LS138 译码器以及驱
16、动器 CD4511 和报警器,使 LED 八段数码管动态显示室温和实现报警。经实验调试,用该方法对 0-100范围的温度测量时,测量误差为+0.4,可靠性好、抗干扰性能强。采用 CPLD 芯片作为核心监控器对外界温度进行测量,这样,既可以降低对温度传感器和放大电路的要求,从而降低成本,又可以针对不同外部环境或不同通道对温度显示的显示监控设定进行灵活修改,实现系统的升级。2.2 课题总体要求(1) 利用电压型温度传感器 LM35D 作为信息采集器件采集室温并产生 10mv/的电压信号;(2) 利用 OP07 放大器将微弱的电压信号放大预先设置好的倍数,以驱动后面电路;(3) 利用 A/D 转换器
17、将放大后的模拟信号转换为数字信号,供系统处理;(4) 将数字信号送入 CPLD 芯片进行处理;(5) 时时显示转换后的室温,进行监控;(6) 温度超过警戒温度时,进行报警。2.3 系统各部分方案比较2.3.1 信号采集方案比较在目前,信号采集有多种方法,而可用于本系统的温度的信号采集大致有三种方法,下面分别介绍各种方法的优缺点,讨论它们的可行性。方案一:采用热敏电阻采集室内温度信号。用此方法可满足 40-90的测量范围,但热敏电阻的精度、重复性及其可靠性都比较差,并且对于检测小于 1的温度信号时,误差大、不可靠,所以此方法不可取。方案二:利用电流型温度传感器 AD590 采集室内温度信号。AD
18、590 具有较高精度和重复性(重复性优于 0.1) ,其良好的非线性可以保证优于+0.2的测量精度,利用其重复性较好的特点,通过非线性补偿,可以达到+0.2测量精度。电流型温度传感器 AD590 是二端器件,它采用了一种独特的电路结构,利用最新的薄膜激光微调技术作最后的定标,因而具有很高的精度。且其灵敏度为 1uA/K,具有很宽的工作电源电压范围和很高的输入阻抗。作为一种高阻电流源,我们不需要考虑其传输线上的电压信号损失和噪声干扰的问题,因此特别适合做远距离测量或控制应用。出于同样的道理,AD590 也特别适用于多点温度测量系统,而不必考虑选择开关或 CMOS 多路转换开关所引入的附加电阻造成
19、的误差。但是,由于AD590采集到的信号是电流信号,所以在将数据传给ADC0804模数转换器之前,必须先把电流信号转变成电压信号,在此期间不但造成了一定的信号损失,又影响了精度,这就要求我们在A/D转换器前设计一个信号保持电路。这样一来,用AD590来检测、采集室温的电路就显得很复杂。而且,在高精度测温电路中,还必须考虑AD590的输出电流不被分流影响,因此也放弃使用本方案。方案三:采用电压型温度传感器 LM35D 采集温度信号。LM35D 是精密集成电路温度传感器,它的输出电压与摄氏温度线性成比例,比例关系是 10mV/。并且,LM35D 无需外部校准或微调来提供0.4的常用的室温精度,就把
20、信号损失减少到了最小。而又因为它的线性性极好,所以编程时很容易实现。因此,对于本课题来说,选用此方案。2.3.2 模拟信号数字化处理方案由于整个系统主要是处理数字信号而进行工作的,所以当由传感器采集到模拟信号后,必须先进行模数转换才能够使整个系统运行工作。而对于模数转换器件的选择,本课题用的是 ADC0804,即系统采用 ADC0804 模数转换器作为模拟信号数字化的器件,进行数字化处理,为系统提供数字信号量的。2.3.3 信号处理方案本系统利用 CPLD 芯片进行信号处理。将经过 A/D 转换器转换后的数字信号送入 CPLD 芯片,进而根据已经编好的程序(程序见附录)处理温度的数字信息,进一
21、步时时显示室内温度和报警,达到时时监控的目的。也就是说采用 CPLD 芯片作为系统信号处理主控制器。2.3.4 显示部分方案比较方案一:以前的电子工程师们进行电子设计时,大部分都使用单片机通过串口通信线TXD、RXD(P3.0、P3.1),再加移位寄存器74LS164来实现LED的显示功能,如图2-1所示。这样一来,使得每一个LED数码管都需要一片74LS164,使得电路比较麻烦,并且与单片机接口的编程程序不易实现,所以本课题放弃使用次方案。RXDTXD图 2-1 通过串口通信线 TXO 、RXD 实现 LED 显示功能方案二:近年来,国内外有许多基于串行总线方式的 LED 显示器接口芯片不断
22、出现,这些芯片与另一种功能更强、速度更快的控制芯片连接,可实现以往单片机不能实现的多种功能,并且具有占用 I/O 口线少,进行功能扩展方便,使用起来十分容易等特点,这就是用 EDA 技术来开发的 CPLD 芯片,因此本系统选用此方案。在选用 CPLD 芯片后,再选用 3 个共阴极的 8 段数码显示管(TOD5201AE)来实现动态显示,用 CPLD 已经编好的程序来驱动一片 CD4511 和一片 74LS138就可以控制段码和位选,以实现温度显示的功能。LED LED74LS164 74LS1642.3.5 系统报警方案设计在设计开始时,想要的系统功能之一,是想让在室温达到并超过警戒温度时,系
23、统可实现报警,给人以提示。在此,可用一个风鸣器和一个三极管放大电路来实现报警功能。具体的电路分析,详述见下文中。3 系统整体硬件设计方案3.1 系统工作原理流程根据课题设计要求可知,该系统需要利用电压型温度传感器采集室内温度,产生 10mV/的电压信号,随后,将该信号送入放大器进行放大,再把此放大后的信号送给 A/D 转换器进行模数转换,之后由 CPLD 芯片编程处理,即通过CPLD 芯片编程设定上下限报警温度,并显示转换后的室温。具体流程图如图 3-1 所示。图 3-1 系统流程图在温度信号采集电路中采用方案三,使用线性成比例(10mV/)的电压型温度传感器采集信号,之后,将微弱电压信号经过
24、整个硬件与软件系统放大100 倍后的电压信号使其显示就是室温。首先,使采集到的电压信号经过放大电路放大十倍后送入 A/D 转换器(ADC0804) 。在此,将 ADC0804 的基准电压设为 2.5V,由于它为 8 位转换器,其内部转换关系将输入信号扩大 50 倍后,才将模拟信号转换为数字信号。之后,将转换后的数字信号传给 CPLD 芯片(EP1K100QC208-3) ,通过 VHDL 编程将扩大了 500 倍的信号缩小 5 倍,即可将输入的微弱电压信号最终放大 100 倍,现在的电压值便是室温值。然后经过设置的 I/O 口将数字信号传送给 74LS138 译码器以及驱动器 CD4511 和报警器,使LED 八段数码管动态显示室温和实现报警,从而实现整个系统的设计功能。3.2 传感器及放大电路CPU 控制电路 A/D 转换电路放大电路传感器控制电路译码驱动电路显示电路报警电路