当前位置:文档之家› 智能家居控制系统课程设计报告

智能家居控制系统课程设计报告

..XXXXXXXXXXXXXX嵌入式系统原理及应用实践—智能家居控制系统(无操作系统)学生姓名XXX学号XXXXXXXXXX所在学院XXXXXXXXXXX专业名称XXXXXXXXXXX班级XXXXXXXXXXXXXXXXX指导教师XXXXXXXXXXXX成绩XXXXXXXXXXXXX二○XX年XX月综合实训任务书学生姓名XXX 学生学号XXX学生专业XXX 学生班级XXX设计题目智能家居控制系统(无操作系统)设计目的:巩固AD转换模块的应用—光照采集掌握PWM驱动蜂鸣器产生不同频率声音的方法巩固SSI 模块控制数码管动态显示的方法掌握定时器控制数码管实现动态扫描的思想掌握DS18B20检测温度的程序设计方法掌握一个完整项目的分析、规划、硬件设计、软件设计、报告撰写的流程方法。

具体任务:1、编写(或改写)发光二极管、按键、继电器、定时器、数码管、ADC、PWM、温度传感器DS18B20等模块的初始化程序及基本操作程序。

2、为保证数码管显示的稳定性,使用定时器定时扫描各个数码管,可避免处理器在执行其他程序时,数码管停止扫描而使得显示不正常。

3、通过ADC模块采集开发板上的光敏电阻(CH3),并在数码管低四位显示采集的值,将光照强度分为 5 级,亮度最亮时开发板上的 4 颗LED全部熄灭,亮度越来越低时,分别点亮 1 颗、2 颗、3 颗,完全黑暗时点亮 4 颗LED。

4、通过DS18B20检测环境温度,并在数码管高三位显示(两位整数、一位小数),当环境温度低于设定的下限温度时,蜂鸣器报警,同时打开空调制热(继电器);当环境温度高于上限温度时,蜂鸣器报警,同时打开空调制热(继电器)。

5、通过开发板上的三个按键KEY1、KEY2、KEY4(KEY3引脚与DS18B20共用,在此项目中不使用)设定上下限温度:KEY1按一次设定上限温度(同时数码管显示上限温度),按两次设定下限温度(同时数码管显示下限温度),按三次,设定完成(同时数码管显示实时温度);KEY2按一次,上限或下限温度加1;KEY3—该引脚被DS18B20占用,不可使用KEY4按一次,上限或下限温度减1。

目录前言 (1)1 硬件设计 (1)1.1 ADC 转换 (3)1.2 SSI 控制数码管显示 (3)1.3 按键和LED模块 (5)1.4 PWM驱动蜂鸣器 (6)2 软件设计 (7)2.1 ADC 模块 (7)2.1.1 ADC 模块原理描述 (7)2.1.2 ADC 模块程序设计流程图 (8)2.2 SSI 模块 (8)2.2.1 SSI 模块原理描述 (9)2.2.2 SSI 模块程序设计流程图 (10)2.3 定时器模块 (10)2.3.1 定时器模块原理描述 (10)2.3.2 定时器模块流程图 (11)2.4 DS18B20 模块 (11)2.4.1 DS18B20 模块原理描述 (11)2.4.2 DS18B20 模块程序设计流程图 (12)2.5 按键模块 (13)2.5.1 按键模块原理描述 (13)2.5.2 按键模块程序设计流程图 (13)2.6 PWM模块 (13)2.6.1 PWM 模块原理描述 (14)2.6.2 PWM 模块程序设计流程图 (14)2.6 主函数模块 (14)2.6.1 主函数模块原理描述 (14)2.6.2 主函数模块程序设计流程图 (15)3.验证结果 (15)操作步骤和结果描述 (15)总结 (16)智能家居控制系统设计前言当前,随着科学技术的发展,计算机、嵌入式系统和网络通信技术逐步深入到各个领域,使得住宅和家用电器设备网络化和智能化,智能家居已经开始出现在人们的生活中。

智能家居控制系统(smarthome control systems, 简称SCS)。

它以住宅为平台,家居电器及家电设备为主要控制对象,利用综合布线技术、网络通信技术、安全防范技术、自动控制技术、音视频技术将家居生活有关的设施进行高效集成,构建高效的住宅设施与家庭日程事务的控制管理系统,提升家居智能、安全、便利、舒适,并实现环保节能的综合智能家居网络控制系统平台。

智能家居控制系统是智能家居核心,是智能家居控制功能实现的基础。

通过家居智能化技术,实现家庭中各种与信息技术相关的通讯设备、家用电器和家庭安防装置网络化,通过嵌入式家庭网关连接到一个家庭智能化系统上进行集中或异地的监控和家庭事务管理,并保持这些家庭设施与住宅环境的和谐与协调。

家居智能化所提供的是一个家居智能化系统的高度安全性、生活舒适性和通讯快捷性的信息化与自动化居住空间,从而满足21 世纪新秀社会中人们追求的便利和快节奏的工作方式,以及与外部世界保持安全开放的舒适生活环境。

本文以智能家居广阔的市场需求为基础,选取智能家居控制系统为研究对象。

1 硬件设计本系统是典型的嵌入式技术应用于测控系统,以嵌入式为开发平台,系统以32 位单片机LM3S8962为主控制器对各传感器数据进行采集,经过分析后去控制各执行设备。

硬件电路部分为:微控制器最小系统电路、数据采集电路(光敏电路、温度传感器、霍尔传感器)、输出控制电路(继电器、蜂鸣器、发光二极管)和八位LED数码管显示组成。

LM3S8962布局如图1-1 所示,LM3S8962核心板外围电路如图1-2 所示。

图1.1 LM3S8962 布局图VDD3.3R5 1K R110KC1 C2 C3OSC0 PG3 XOSC1LEDS1 S1SYSRSTC410418PC7Y16MOSC1C9C1218PPG218PY3R21M1.5MXOSC0VDD3.318P POWER118P 18PVBAT VDD2.5 AVDD3.3R3LDOC8 104 C10105C111040RC13104C22104C23104C19104C5104C6104AGNDVDD3.3 RP1 RP3PG7 PH2 PH3 PF4xPG7xPH2xPH3xPF4R410K C14104C15104C161040 0 RP2RP4VDD3.3PH0 xPH00 0GND GND 图1-2 LM3S8962 核心板外围电路21.6 ADC 转换数模转换(ADC)外设用于将连续的模拟电压转换成离散的数字量。

StellsrisADC 模块的转换分辨率为10 位,并最多可支持8 个输入通道以及一个内部温度传感器。

ADC模块含有一个可编程的序列发生器,它可在无需控制器的干扰的情况下对多个模拟输入进行采样。

Stellaris 系列ARM集成有一个10 位的ADC模块,支持8 个输入通道,以及一个内部温度传感器,ADC模块含有一个可编程的序列发生器,可在无需控制器干涉的情况下对多个模拟输入源进行采样。

每个采样序列队完全可配置的输入源、触发事件、中断的产生和序列优先级提供灵活的编程。

如输入源和输入模式,采样结束时的中断产生,以及指示序列最后一个采样的指示符。

图1.1-1 为ADC输入测试电路示意图。

Stellaris 系列MCU的ADC模块采用模拟电源VDDA/GND供A电。

RW1是音频电位器,输出电压在0V~3.3V 之间,并带有手动旋钮,便于操作。

R1和C1组成简单的RC低通滤波电路,能够滤除寄生在由RW1产生的模拟信号上的扰动。

图1.1-1 A/D 转换电路原理图1.7 SSI 控制数码管显示SSI 模块驱动数码管显示,对于Texas Instruments 同步串行帧格式,在发送每帧之前,每遇到SSICLK的上升沿开始的串行时钟周期时,SSIFss 管脚就跳动一次。

在这种帧格式中,SSI 和片外从器件在SSICLK的上升沿驱动各自的输出数据,并在下降沿锁存来自另一个器件的数据。

不同于其它两种全双工传输的帧格式,在半双工下工作的MICROWIR格E 式使用特殊的主- 从消息技术。

在该模式中,帧开始时向片外从机发送8 位控制消息。

在发送过程中,SSI 没有接收到输入的数据。

在消息已发送之后,片外从机对消息进行译码,并在8 位控制消息的最后一位也已发送出去之后等待一个串行时钟,之后以请求的数据来响应。

返回的数据在长度上可以是4~16位,使得在任何地方整个帧长度为13~25 位。

图1.2-1 显示了一次传输的Texas Instruments 同步串行帧格式。

在该模式中,任何时候当SSI 空闲时,SSICLK和SSIFss 被强制为低电平,发送数据线SSITx 为三态。

一旦发送FIFO 的底部入口包含数据,SSIFss 变为高电平并持续一个SSICLK周期。

即将发送的值也从发送FIFO传输到发送逻辑的串行移位寄存器中。

在SSICLK的下一个上升沿,4~16 位数据帧的MSB从SSITx管脚移出。

同样地,接收数据的MSB也通过片外串行从器件移到SSIRx管脚上。

然后,SSI 和片外串行从器件都提供时钟,供每个数据位在每个SSICLK的下降沿进入各自的串行移位器中。

在已锁存LSB之后的第一个SSICLK上升沿上,接收数据从串行移位器传输到接收FIFO。

图1.2- 1 TI同步串行帧格式(单次传输)图 1.2-2 TI同步串行帧格式(连续传输)图1.2-2 显示了背对背(back-to-back )传输时的Texas Instruments 同步串行帧格式。

图1.2-3 为LM3S8962实验板上数码管通过SSI 端口连接的电路原理图。

图1.2-3 SSI 端口的数码管电路原理图1.8 按键和LED模块图1.3-1 和图1.3-2 分别为LM3S8962实验板上的LED和KEY电路原理图,当有按键按下去时,与KEY对应的端口输出低电平,在程序中,当读取到对应的端口输入低电平时,表示有键被按下了,然后将与之关联的LED输出高电平。

图1.3-1 为LED灯模块。

此模块中有 4 颗LED灯,阳极分别通过四个保护电阻连接电源正极,阴极分别和PB0~PB3相接,当需要点亮某颗发光二极管时,只需要给相应的引脚写低电平就行了。

四颗发光二极管的供电经过了一个跳线帽J3,使用此模块前需要将此跳线帽盖上。

图1.3-2 为按键模块的原理图。

K1~K4按键一端与公共地相接,另一端与接有高电平的上拉电阻以及MCU的PB4~PB7相接。

当按键断开时,PB4~PB7读取到的是高电平,当有按键闭合时,对应的引脚便会读到低电平,以判断出被按下的键,再有MCU作出相应的相应。

图 1.3-1 KEY 电路原理图图 1.3-2 LED 电路原理图1.9 PWM驱动蜂鸣器PWM,脉冲宽度调制,是一项功能强大的技术,它是一种对模拟信号电平进行数字化编码的方法。

在脉冲调制中使用高分辨率计数器来产生方波,并且可以通过调整方波的占空比来对模拟信号电平进行编码。

PWM发生器模块产生两个PWM信号,这两个PWM信号可以是独立的信号,也可以是一对插入了死区延迟的互补信号。

相关主题