《智能家居控制系统课程设计报告(共21页).doc》由会员分享,可在线阅读,更多相关《智能家居控制系统课程设计报告(共21页).doc(21页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、精选优质文档-倾情为你奉上XXXXXXXXXXXXXX嵌入式系统原理及应用实践 智能家居控制系统(无操作系统)学生姓名 XXX学 号 XXXXXXXXXX所在学院 XXXXXXXXXXX专业名称 XXXXXXXXXXX班 级 XXXXXXXXXXXXXXXXX指导教师 XXXXXXXXXXXX成 绩XXXXXXXXXXXXX二XX年 XX月专心-专注-专业四川师范大学成都学院综合实训设计报告综合实训任务书学生姓名 XXX 学生学号 XXX学生专业 XXX 学生班级 XXX设计题目 智能家居控制系统(无操作系统)设计目的:巩固 AD转换模块的应用光照采集掌握 PWM驱动蜂鸣器产生不同频率声音的方
2、法巩固 SSI 模块控制数码管动态显示的方法掌握定时器控制数码管实现动态扫描的思想掌握 DS18B20检测温度的程序设计方法掌握一个完整项目的分析、规划、硬件设计、软件设计、报告撰写的流程方法。具体任务:1、编写(或改写)发光二极管、按键、继电器、定时器、数码管、 ADC、PWM、温度传感器 DS18B20等模块的初始化程序及基本操作程序。2、为保证数码管显示的稳定性,使用定时器定时扫描各个数码管,可避免处理器在执行其他程序时,数码管停止扫描而使得显示不正常。3、通过 ADC模块采集开发板上的光敏电阻( CH3),并在数码管低四位显示采集的值,将光照强度分为 5 级,亮度最亮时开发板上的 4
3、颗 LED全部熄灭,亮度越来越低时,分别点亮 1 颗、2 颗、3 颗,完全黑暗时点亮 4 颗LED。4、通过 DS18B20检测环境温度,并在数码管高三位显示(两位整数、一位小数),当环境温度低于设定的下限温度时, 蜂鸣器报警, 同时打开空调制热 (继电器);当环境温度高于上限温度时, 蜂鸣器报警, 同时打开空调制热 (继电器)。5、通过开发板上的三个按键 KEY1、KEY2、KEY4(KEY3引脚与 DS18B20共用,在此项目中不使用)设定上下限温度:KEY1按一次设定上限温度 (同时数码管显示上限温度) ,按两次设定下限温度(同时数码管显示下限温度) ,按三次,设定完成(同时数码管显示实
4、时温度) ;KEY2按一次,上限或下限温度加 1;KEY3该引脚被 DS18B20占用,不可使用!KEY4按一次,上限或下限温度减 1。I四川师范大学成都学院综合实训设计报告目 录前 言 . 11 硬件设计 . 11.1 ADC 转换 . 31.2 SSI 控制数码管显示 . 31.3 按键和 LED模块 . 51.4 PWM驱动蜂鸣器 . 62 软件设计 . 72.1 ADC 模块 . 72.1.1 ADC 模块原理描述 . 72.1.2 ADC 模块程序设计流程图 . 82.2 SSI 模块 . 82.2.1 SSI 模块原理描述 . 92.2.2 SSI 模块程序设计流程图 . 102.
5、3 定时器模块 . 102.3.1 定时器模块原理描述 . 102.3.2 定时器模块流程图 . 112.4 DS18B20 模块 . 112.4.1 DS18B20 模块原理描述 . 112.4.2 DS18B20 模块程序设计流程图 . 122.5 按键模块 . 132.5.1 按键模块原理描述 . 132.5.2 按键模块程序设计流程图 . 132.6 PWM模块 . 132.6.1 PWM 模块原理描述 . 142.6.2 PWM 模块程序设计流程图 . 142.6 主函数模块 . 142.6.1 主函数模块原理描述 . 142.6.2 主函数模块程序设计流程图 . 15II四川师范大
6、学成都学院综合实训设计报告3验证结果 . 15操作步骤和结果描述 . 15总结 . 16III四川师范大学成都学院综合实训设计报告智能家居控制系统设计前 言当前,随着科学技术的发展,计算机、嵌入式系统和网络通信技术逐步深入到各个领域,使得住宅和家用电器设备网络化和智能化,智能家居已经开始出现在人们的生活中。智能家居控制系统 (smarthome control systems, 简称 SCS)。它以住宅为平台,家居电器及家电设备为主要控制对象,利用综合布线技术、网络通信技术、 安全防范技术、 自动控制技术、 音视频技术将家居生活有关的设施进行高效集成,构建高效的住宅设施与家庭日程事务的控制管理
7、系统,提升家居智能、安全、便利、舒适,并实现环保节能的综合智能家居网络控制系统平台。智能家居控制系统是智能家居核心,是智能家居控制功能实现的基础。通过家居智能化技术,实现家庭中各种与信息技术相关的通讯设备、家用电器和家庭安防装置网络化,通过嵌入式家庭网关连接到一个家庭智能化系统上进行集中或异地的监控和家庭事务管理,并保持这些家庭设施与住宅环境的和谐与协调。家居智能化所提供的是一个家居智能化系统的高度安全性、生活舒适性和通讯快捷性的信息化与自动化居住空间, 从而满足 21 世纪新秀社会中人们追求的便利和快节奏的工作方式,以及与外部世界保持安全开放的舒适生活环境。本文以智能家居广阔的市场需求为基础
8、,选取智能家居控制系统为研究对象。1 硬件设计本系统是典型的嵌入式技术应用于测控系统,以嵌入式为开发平台,系统以32 位单片机 LM3S8962为主控制器对各传感器数据进行采集,经过分析后去控制各执行设备。硬件电路部分为:微控制器最小系统电路、数据采集电路(光敏电路、温度传感器、霍尔传感器) 、输出控制电路(继电器、蜂鸣器、发光二极管)和八位LED数码管显示组成。 LM3S8962布局如图 1-1 所示,LM3S8962核心板外围电路如图 1-2 所示。1四川师范大学成都学院综合实训设计报告图 1.1 LM3S8962 布局图VDD3.3R51KR110KC1 C2 C3OSC0 PG3 XO
9、SC1LEDS1S1SYSRSTC410418PC7Y1Y26M25MHzOSC1 C9 C1218PPG218PY3R21M1.5 MXOSC0VDD3.318P POWER118P 18PVBAT VDD2.5 AVDD3.3R3LDOC8104C10105C111040RC13104C22104 C23104 C19104C5104C6104AGNDVDD3.3 RP1 RP3PG7PH2PH3PF4xPG7xPH2xPH3xPF4R410K C14104 C15104 C161040 0 RP2 RP4VDD3.3PH0PH1PG4PF7xPH0xPH1xPG4xPF7C17104 C
10、18104 C20104 C21104C241040 0GND GND图 1-2 LM3S8962 核心板外围电路2四川师范大学成都学院综合实训设计报告1.6 ADC 转换数模转换 (ADC)外设 用于将 连续 的模 拟电 压转换 成离 散的 数字 量。StellsrisADC 模块的转换分辨率为 10 位,并最多可支持 8 个输入通道以及一个内部温度传感器。 ADC模块含有一个可编程的序列发生器,它可在无需控制器的干扰的情况下对多个模拟输入进行采样。Stellaris 系列 ARM集成有一个 10 位的 ADC模块,支持 8 个输入通道,以及一个内部温度传感器, ADC模块含有一个可编程的序
11、列发生器,可在无需控制器干涉的情况下对多个模拟输入源进行采样。 每个采样序列队完全可配置的输入源、触发事件、中断的产生和序列优先级提供灵活的编程。如输入源和输入模式,采样结束时的中断产生,以及指示序列最后一个采样的指示符。图 1.1-1 为 ADC输入测试电路示意图。 Stellaris 系列 MCU的 ADC模块采用模拟电源 VDDA/GND供A电。RW1是音频电位器,输出电压在 0V3.3V 之间,并带有手动旋钮,便于操作。 R1和C1组成简单的 RC低通滤波电路,能够滤除寄生在由 RW1产生的模拟信号上的扰动。图1.1-1 A/D 转换电路原理图1.7 SSI 控制数码管显示SSI 模块
12、驱动数码管显示,对于 Texas Instruments 同步串行帧格式,在发送每帧之前,每遇到 SSICLK的上升沿开始的串行时钟周期时, SSIFss 管脚就跳动一次。 在这种帧格式中, SSI 和片外从器件在 SSICLK的上升沿驱动各自的输出数据,并在下降沿锁存来自另一个器件的数据。不同于其它两种全双工传输的帧格式,在半双工下工作的 MICROWIR格E 式使3四川师范大学成都学院综合实训设计报告用特殊的主 - 从消息技术。在该模式中,帧开始时向片外从机发送 8 位控制消息。在发送过程中, SSI 没有接收到输入的数据。在消息已发送之后,片外从机对消息进行译码,并在 8 位控制消息的最
13、后一位也已发送出去之后等待一个串行时钟,之后以请求的数据来响应。返回的数据在长度上可以是 416位,使得在任何地方整个帧长度为 1325 位。图1.2-1 显示了一次传输的 Texas Instruments 同步串行帧格式。在该模式中,任何时候当 SSI 空闲时,SSICLK和 SSIFss 被强制为低电平,发送数据线 SSITx 为三态。一旦发送 FIFO 的底部入口包含数据, SSIFss 变为高电平并持续一个 SSICLK周期。即将发送的值也从发送 FIFO传输到发送逻辑的串行移位寄存器中。在 SSICLK的下一个上升沿, 416 位数据帧的 MSB从 SSITx管脚移出。同样地,接收
14、数据的 MSB也通过片外串行从器件移到 SSIRx管脚上。然后,SSI 和片外串行从器件都提供时钟,供每个数据位在每个 SSICLK的下降沿进入各自的串行移位器中。 在已锁存 LSB之后的第一个 SSICLK上升沿上,接收数据从串行移位器传输到接收 FIFO。图1.2- 1 TI同步串行帧格式(单次传输)图1.2-2 TI同步串行帧格式(连续传输)4四川师范大学成都学院综合实训设计报告图 1.2-2 显示了背对背( back-to-back )传输时的 Texas Instruments 同步串行帧格式。图 1.2-3 为 LM3S8962实验板上数码管通过 SSI 端口连接的电路原理图。图1
15、.2-3 SSI 端口的数码管电路原理图1.8 按键和 LED模块图 1.3-1 和图 1.3-2 分别为 LM3S8962实验板上的 LED和 KEY电路原理图,当有按键按下去时,与 KEY对应的端口输出低电平,在程序中,当读取到对应的端口输入低电平时,表示有键被按下了,然后将与之关联的 LED输出高电平。图 1.3-1 为 LED灯模块。此模块中有 4 颗 LED灯,阳极分别通过四个保护电阻连接电源正极, 阴极分别和 PB0PB3相接,当需要点亮某颗发光二极管时, 只需要给相应的引脚写低电平就行了。四颗发光二极管的供电经过了一个跳线帽J3,使用此模块前需要将此跳线帽盖上。图 1.3-2 为
16、按键模块的原理图。 K1K4按键一端与公共地相接,另一端与接有高电平的上拉电阻以及 MCU的 PB4PB7相接。当按键断开时, PB4PB7读取到的是高电平,当有按键闭合时,对应的引脚便会读到低电平,以判断出被按下的键,再有 MCU作出相应的相应。5四川师范大学成都学院综合实训设计报告图1.3-1 KEY 电路原理图 图1.3-2 LED 电路原理图1.9 PWM驱动蜂鸣器PWM,脉冲宽度调制, 是一项功能强大的技术, 它是一种对模拟信号电平进行数字化编码的方法。在脉冲调制中使用高分辨率计数器来产生方波,并且可以通过调整方波的占空比来对模拟信号电平进行编码。PWM发生器模块产生两个 PWM信号
17、,这两个 PWM信号可以是独立的信号,也可以是一对插入了死区延迟的互补信号。 PWM发生器模块的输出信号在传递到器件管脚之前由输出模块管理。LM3S8962实验板驱动直流电机和步进电机的电路原理图如图 1.4-1 所示,在本电路图中,引出了 LM3S8962处理器的六路 PWM输出,其中 PWM0 PWM用3 于驱动四相八拍步进电机, PWM4驱动直流电机, PWM驱5 动无源蜂鸣器。图1.4-1 蜂鸣器电路原理图6四川师范大学成都学院综合实训设计报告2 软件设计软件设计主要控制光敏电阻电压采集处理与控制部分、温度采集处理与控制部分、霍尔传感器报警部分和辅助指示部分。2.1 ADC 模块数模转
18、换 (ADC)外设 用于将 连续 的模 拟电 压转换 成离 散的 数字 量。StellsrisADC 模块的转换分辨率为 10 位,并最多可支持 8 个输入通道以及一个内部温度传感器。 ADC模块含有一个可编程的序列发生器,它可在无需控制器的干扰的情况下对多个模拟输入进行采样。该 StellsrisADC 提供下列特性:最多可支持 8 个模拟输入通道。单端和差分输入配置。内部温度传感器。最高可以达到 1M/秒的采样率。4 个可编程采样序列,入口长度 18,每个序列均带有相应的转换结果 GPIO。灵活的触发方式: 控制器(软件触发)、定时器触发、 模拟比较器触发、GPIO触发、PWM触发。硬件可
19、对多达 64个采样值进行平均计算,以便提高 ADC转换精度。使用内部 3V作为 ADC转换参考电压。模拟电源和模拟地跟数字电源和数字地分开。2.7 ADC 模块原理描述Stellaris 系列 ARM集成有一个 10 位的 ADC模块,支持 48 个输入通道,以及一个内部温度传感器。 ADC模块含有一个可编程的序列发生器,可在无需控制器干涉的情况下对多个模拟输入源进行采样。每个采样序列均对完全可置的输入源、触发事件、中断的产生和序列优先级提供灵活的编程。函数 ADCSequenceEnable()和ADCSequenceDisable()用来使能和禁止一个 ADC采样序列。函数 ADCSequ
20、enceDataGet()用来读取 ADC结果 FIFO里的数据。函数 ADCIntEnable() 和 ADCIntDisable() 用来使能和禁止一个 ADC采7四川师范大学成都学院综合实训设计报告样序列中断。函数 ADCIntStatus() 用来获取一个采样序列的中断状态。程序中通过配置 ADC,采集光传感器的光照强度并转换, ADC采样完成后触发中断,在中断中修改采样结束控制变量 ADC_EndFlag。2.1.2 ADC 模块程序设计流程图开始ADC 初始化ADC 中断服务程序 ADC 采样及分级判断Case1:熄 Case2:点 Case3:点 Case4:点 Case5:点灭
21、所有二 亮一颗 亮二颗 亮三颗 亮四颗极管2.8 SSI 模块SSI 总线系统是一种同步串行接口,它可以使 MCU与各种外围设备以串行方式进行通信以交换信息。外围设置 FLASHRA、M网络控制器、 LCD显示驱动器、A/D转换器和 MCU等。SPI 总线系统可直接与各个厂家生产的多种标准外围器件直接接口,该接口一般使用 4 条线:串行时钟线( SCK)、主机输入 / 从机输出数据线MISO、主机输出 / 从机输入数据线 MOSI和低电平有效的从机选择线 SS(有的 SPI接口芯片带有中断信号线 INT 或 INT、有的 SPI 接口芯片没有主机输出 / 从机输入数据线 MOS)I。SSI 接
22、口主要应用在 EEPROM,FLAS实H,时时钟,AD 转换器, 还有数字信号处理器和数字信号解码器之间。SSI 接口是在 CPU和外围低速器件之间进行同步串行数据传输 , 在主器件的移位脉冲下 , 数据按位传输 , 高位在前 , 低位在后 , 为全双工通信 , 数据传输速度总体8四川师范大学成都学院综合实训设计报告来说比 I2C 总线要快 , 速度可达到几 Mbps。SSI 接口是以主从方式工作的 , 这种模式通常有一个主器件和一个或多个从器件。2.2.1 SSI 模块原理描述Stellaris 系列 ARM的SSI(Synchronous Serial Interface, 同步串行接口)
23、是与具有 Freescale SPI(飞思尔半导体)、MicroWire (美国国家半导体) 、TexasInstruments (德国仪器,TI )同步串行接口的外设器件进行同步串行通信的主机或从机接口。 SSI 具有以下特征:主机或从机操作。时钟位速率和预分频可编程。独立的发送和接收 FIFO,16 位宽,8 个单元深。接口独立可编程,以实现 Freescale SPI 、MicroWire 或 TI 的串行接口。数据帧大小可编程,范围 416位。内部回环测试模式,可进行诊断 / 调试测试。SSI 模块的配置由 SSIConfigSetExpClk() 函数来管理,它主要设置 SSI 协议
24、、工作模式、位速率和数据宽度。但为了实际的方便,常用函数 SSIConfig() 代替。函数 SSIDataPut() 将把提供的数据放置到特定的 SSI 模块发送 FIFO中。函数 SSIDataGet() 将指定 SSI 模块的接受 FIFO获取接收到的数据。函数 SSIIntEnable() 使能单独的一个或多个 SSI 中断源。函数 SSIIntStatus() 获取 SSI 当前的中断状态。在使用 SSI 可通过置位 RCGC寄1 存器的 SSI 位来使能 SSI 外设时钟。针对不同的帧格式, SSI 可通过以下步骤进行配置:确保在对任何配置进行更改之前先将 SSICR1寄存器中的
25、SSE位禁止。SSI 引脚配置。确定 SSI 为主机还是从机。通过写 SSICR0寄存器来配置时钟预分频除数。写 SSICR0寄存器,实现串行时钟率、协议模式、数据长度配置。通过置位 SSICR1寄存器的 SSE位来使能 SSI。9四川师范大学成都学院综合实训设计报告通过 SSIDR进行读写操作。1.10 SSI 模块程序设计流程图开始SSI 总线初始化接口模块的编写光下 上 照 温限 限 强 度显 显 度 显示 示 显 示模 模 示 模块 块 模 块块2.9 定时器模块2.1.3 定时器模块原理描述定时器的工作原理都是对某一特定的时钟进行计数。如系统时钟为 6MHz,则定时器每计一次数则为
26、6M分之一秒, 如果定时一秒钟, 则定时器需要计数 6M次。定时器 API 分成 3 组函数,分别执行以下功能:处理定时器配置和控制、处理定时器内容和执行中断处理。Timer 模块的功能在总体上可以分为 32 位模式和 16 位模式两大类。 在 32位模式下,TimerA 和 TimerB 被连在一起形成一个完整的 32 位计数器,对于 Timer的各项操作,如装载初值、运行控制、中断控制等。在 32 位模式下,对 TimerA的操作作为整体上的 32 位控制,而对 TimerB 的操作无任何效果。 在 16 位模式下,对 TimerA 的操作仅对 TimerA 有效,对 TimerB 的操作
27、仅对 TimerB 有效,即对两者的操控是完全独立进行的。函数 TimerConfig() 用于配置 Timer 模块的工作模式,即 32 位或 16 位工作模式。函数 TimerIntEnable() 使能 Timer 中断。函数 TimerLoadSet() 设置装载值。10四川师范大学成都学院综合实训设计报告函数 TimerEnable() 使能 Timer 计数。函数 TimerIntStatus() 获取当前 Timer 的中断状态。程序中使用定时器模块,设置为 32 位周期定时器,每隔 10ms扫描一次数码管:TimerConfigure(TIMER0_BASE,TIMER_CFG
28、_32_BIT_PER);TimerLoadSet(TIMER0_BASE, TIMER_A, 60000);TimerIntEnable(TIMER0_BASE, TIMER_TIMA_TIMEOUT); / 超时中断对数码管的动态显示,是通过定时器中断的方式来扫描的。因此,涉及到中断服务例程和定时器中断的设置。2.3.2 定时器模块流程图开始设置系统时钟使能定时器调用定时器中断结束2.10 DS18B20 模块运用 DS18B20检测温度。若指令成功地使 DS18B20完成温度测量,数据存储在 DS18B20的存储器。一个控制功能指挥指示 DS18B20的演出测温。测量结果将被放置在 DS
29、18B20内存中,并可以让阅读发出记忆功能的指挥,阅读内容的片上存储器。温度报警触发器 TH和 TL 都有一字节 EEPROM的数据。如果 DS18B20不使用报警检查指令,这些寄存器可作为一般的用户记忆用途。在片上还载有配置字节以理想的解决温度数字转换。写 TH,TL指令以及配置字节利用一个记忆功能的指令完成。通过缓存器读寄存器。所有数据的读,写都是从最低位开始。2.1.4 DS18B20 模块原理描述DS18B20的 1、2、3 引脚分别是 Vcc(电源正)、DQ(数据输出)和 GND(电11四川师范大学成都学院综合实训设计报告源地)。DS18B20通过引脚 2 将采集到的数据传输给 MC
30、U的 PB6引脚,交由 MCU处理。如图 2.4.1-1 所示:图 2.4.1-1 DS18B20 原理图1.11 DS18B20 模块程序设计流程图开始初始化 DS18B20复位 DS18B20启动 DS18B20读取温度结束12四川师范大学成都学院综合实训设计报告1.12 按键模块当有按键按下去时,与 KEY对应的端口输出低电平,在程序中,当读取到对应的端口输入低电平时, 表示有键被按下了, 然后将与之关联的 LED输出高电平,即可达到实验内容的要求。2.11 按键模块原理描述按键可用于调控温度上下限的数值。按一下 key1 键,再按 key2,完成了对上限温度的加操作,按 key4,完成
31、对下限温度的减操作。按两下 key1 键,再按key2,完成对上限的减操作,按 key4,完成对下限的减操作。当处于上下限温度调节时,数码管前三位显示的不是当前温度,而是上下限温度的数值。2.12 按键模块程序设计流程图开始按键模块初始化获取中断状态判断Case 0x10: Case 0x20: Case 0x80:设定温度 温度加一 温度减一1.13 PWM 模块Stellsris 系列 ARM提供 4 个 PWM发生器模块和一个控制块。每个 PWM发生器模块包含 1 个定时器(16 位递减或先递增后递减计数器) 、2 个比较器、1 个 PWM信号发生器、 1 个死区发生器,以及一个中断 /
32、ADC触发选择器。而控制模块决定了 PWM信号的极性,以及将哪个信号传递到管脚。PWM发生器模块产生两个 PWM信号,这两个信号可以是独立的信号,也可以是一对插入了死区延迟的互补信号。 PWM发生器模块的输出信号在传输到器件管13四川师范大学成都学院综合实训设计报告脚之前由输出控制模块管理。Stellsris 系列 ARM的PWM特性:4 个 PWM发生器,产生 8 路 PWM信号。灵活的 PWM产生方法。自带死区发生器。灵活可控的输出控制模块。安全可靠的错误保护功能。丰富的中断机制和 ADC触发。1.14 PWM 模块原理描述脉冲宽度调制( PWM,Pulse-Width Modulatio
33、n ),也简称为脉宽调制,是一项功能强大的技术,它是一种对模拟信号电平进行数字化编码的方法。在脉宽调制中使用高分辨率计数器来产生方波,并且可以通过调整方波的占空比来对模拟信号电平进行编码。 PWM通常使用在开关电源和电机控制中。1.15 PWM 模块程序设计流程图开始模块初始化上下限判断如果高于上限 如果低于下限蜂鸣器发出响声 蜂鸣器发出另一频继电器工作 率的响声继电器工2.13 主函数模块2.1.5 主函数模块原理描述每一个程序里面都必须要有一个主函数的存在。开始从主函数开始,结束也在主函数结束。主函数主要功能是可以调用各个模块的函数从而进行程序的运行,14四川师范大学成都学院综合实训设计报
34、告当完成各个模块的程序后,从主函数中结束。2.6.2 主函数模块程序设计流程图开始所有模块初始化ADC 模块调用PWM 模块调用If 判断Count=1|count 其他按键显示调用 温度显示调用3验证结果操作步骤和结果描述编写完源程序后,编译源文件,并修改,直至编译通过。用 D型 USB线连接TF-LM3S8962开发板,按下电源开关,并在 Keil 软件中点击 download 按钮,将编译通过后的可执行文件烧写到开发板中,按一下核心板上的复位按键,程序开始运行。程序运行后,数码管低三位显示当前室内温度,显示位数为 3 位,并带一位小数位。当我们用手捏住 DS18B20后,我们发现,当前显
35、示的温度快速增长,但是达到一定值时,温度将维持一定的幅度,基本不再发生变化;松开手后,温度直线下降,最后将保持在室内温度的水平,而基本不再发生变化。当温度达到 28度时,蜂鸣器报警,继电器开始工作,以模拟空调制热;当温度达到 31 度时,蜂鸣器也开始报警,但是发出的声音与之前的声音不同,同时,继电器开始工作,以模拟空调制冷。通过 ADC模块采集开发板上的光敏电阻( CH3),并在数码管低四位显示采集15四川师范大学成都学院综合实训设计报告的值,将光照强度分为 5 级,当光照强度小于 300时,四颗发光二极管同时点亮;光照强度小于 500时,点亮了三颗发光二极管;光照强度小于 700 时,点亮了
36、两颗发光二极管;光照强度小于 900时,点亮一颗发光二极管;大于 900时,四颗发光二极管都处于熄灭状态。即亮度最亮时开发板上的 4 颗 LED全部熄灭,亮度越来越低时,分别点亮 1 颗、2 颗、3 颗,完全黑暗时点亮 4颗 LED。通过开发板上的三个按键 KEY1、KEY2、KEY4(KEY3引脚与 DS1820共用,在此项目中不使用)设定上下限温度: KEY1按一次设定上限温度(同时数码管显示上限温度),按两次设定下限温度(同时数码管显示下限温度) ,按三次,设定完成(同时数码管显示实时温度) ;KEY2按一次,上限或下限温度加 1;KEY3该引脚被 DS18B20占用,不可使用! KEY
37、4按一次,上限或下限温度减 1。同时,数码管显示当前的实时温度。总结通过本次综合实训,我发现了自己存在很多不足,虽然以前也做过这样的设计,但这次设计真的让我长进了很多,我对智能家居控制系统有了深入的了解,通过这次设计,我将本学期所学的嵌入式知识贯穿起来,我不仅仅只学到了嵌入式的理论知识,我还将它运用到了实际中,我真真正正的意识到,在以后的学习中,要理论联系实际,把我们所学的理论知识用到实际当中,学习嵌入式更是如此,技术只有在经常的实际运用过程中才能提高,这就是我在这次课程设计中的最大收获。当然,这次智能家居控制系统设计能够圆满完成,首先要感谢老师的细心指导, 为我们指引方向; 其次感谢我的同学们在我迷茫时, 帮助我理清思路。16