ImageVerifierCode 换一换
格式:DOCX , 页数:22 ,大小:318.17KB ,
资源ID:3792563      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/3792563.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(智能家居控制系统课程设计报告分析.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

智能家居控制系统课程设计报告分析.docx

1、智能家居控制系统课程设计报告分析xxxxxxxxxxxxxxxxx嵌入式系统原理及应用实践智能家居控制系统(无操作系统)学生姓名xxxxxxxxxxxxxxxxxxxxxxxxxxx指导教师xxxxxxxxxxxxxxxxxxxxxxxxx二 O xx年xx月综合实训任务书设计目的:巩固AD转换模块的应用一光照采集 掌握PWMK动蜂鸣器产生不同频率声音的方法 巩固SSI模块控制数码管动态显示的方法 掌握定时器控制数码管实现动态扫描的思想 掌握DS18B20佥测温度的程序设计方法 掌握一个完整项目的分析、规划、硬件设计、软件设计、报告撰写的流程方法。具体任务:1、编写(或改写)发光二极管、按键、

2、继电器、定时器、数码管、 ADCPWM温度传感器DS18B20等模块的初始化程序及基本操作程序。2、为保证数码管显示的稳定性,使用定时器定时扫描各个数码管,可避免处理器在执行其他程序时,数码管停止扫描而使得显示不正常。3、通过ADC莫块采集开发板上的光敏电阻(CH3,并在数码管低四位显示采集的值,将光照强度分为 5级,亮度最亮时开发板上的4颗LED全部熄灭,亮度越来越低时,分别点亮1颗、2颗、3颗,完全黑暗时点亮4颗LED4、通过DS18B20佥测环境温度,并在数码管高三位显示(两位整数、一位小数),当环境温度低于设定的下限温度时,蜂鸣器报警,同时打开空调制热(继 电器);当环境温度高于上限温

3、度时,蜂鸣器报警,同时打开空调制热(继电器)。5、通过开发板上的三个按键 KEY1 KEY2 KEY4( KEY3引脚与DS18B2C共用,在此项目中不使用)设定上下限温度:KEY1按一次设定上限温度(同时数码管显示上限温度),按两次设定下限温度(同时数码管显示下限温度),按三次,设定完成(同时数码管显示实时温度);KEY2按 一次,上限或下限温度加1;KEY3-该引脚被DS18B2C占用,不可使用! !!KEY4按一次,上限或下限温度减1。硬件设计1.1ADC转换1.2SSI控制数码管显示1.3按键和LED模块1.4PWM驱动蜂鸣器软件设计2.1ADC模块2.1.1ADC模块原理描述2.1.

4、2ADC模块程序设计流程图2.2SSI 模块2.2.1SSI模块原理描述2.2.2 SSI模块程序设计流程图10102.3定时器模块2.3.1 定时器模块原理描述102.3.2 定时器模块流程图11112.4DS18B20 模块2.4.1 DS18B20模块原理描述112.4.2 DS18B20模块程序设计流程图12132.5按键模块2.5.1 按键模块原理描述132.5.2 按键模块程序设计流程图13132.6 PWM模块2.6.1 PWM模块原理描述142.6.2 PWM模块程序设计流程图14142.6 主函数模块2.6.1 主函数模块原理描述142.6.2 主函数模块程序设计流程图153

5、 验证结果15操作步骤和结果描述15总结16智能家居控制系统设计当前,随着科学技术的发展,计算机、嵌入式系统和网络通信技术逐步深入 到各个领域,使得住宅和家用电器设备网络化和智能化,智能家居已经开始出现在人们的生活中。智能家居控制系统 (smarthome control systems, 简称SCS它以住宅为平台,家居电器及家电设备为主要控制对象,利用综合布线技术、网络通信技术、安全防范技术、自动控制技术、音视频技术将家居生活有关的设施进行高效集成,构建高效的住宅设施与家庭日程事务的控制管理系统,提升家居智能、安全、便利、舒适,并实现环保节能的综合智能家居网络控制系统平台。智能家居控制系统是

6、智能家居核心,是智能家居控制功能实现的基础。通过家居智能化技术,实现家庭中各种与信息技术相关的通讯设备、家用电器和家庭安防装置网络化,通过嵌入式家庭网关连接到一个家庭智能化系统上进行集中或异地的监控和家庭事务管理,并保持这些家庭设施与住宅环境的和谐与协调。家居智能化所提供的是一个家居智能化系统的高度安全性、生活舒适性和通讯快捷性的信息化与自动化居住空间,从而满足21世纪新秀社会中人们追求的便利和快节奏的工作方式,以及与外部世界保持安全开放的舒适生活环境。本文以智能家居广阔的市场需求为基础,选取智能家居控制系统为研究对象。1硬件设计本系统是典型的嵌入式技术应用于测控系统,以嵌入式为开发平台,系统

7、以32位单片机LM3S8962为主控制器对各传感器数据进行采集,经过分析后去控制各执行设备。硬件电路部分为:微控制器最小系统电路、数据采集电路(光敏电路、温度传感器、霍尔传感器)、输出控制电路(继电器、蜂鸣器、发光二极管)和八位LED数码管显示组成。LM3S8962布局如图1-1所示,LM3S896孩心板外围电路如图1-2所示。zv:I I i iL 严Lent *02叩m*CZSmiC|4 Ba CEI *i?;jrI伽誉T*EDJ= :F 巴四_|g 9HacM S n河r =*:-X* *=呻s=I=-K1-= rh二 士MM. +I弗LCw 旳nua VjaIVDD3.3R51KLED

8、S1PO WER1R110KVBATLDOv- MB l*Wh . IW 1 (SYSRSTC4104R3 - :*?M3=l * QUHmTFrL-n3Sa362K -u图 1.1 LM3S8962布局图C1C218PC7OSCO18PY16MOSC1VDD2.5C9joH=-18P*3” mi*审 叶刚wKCVl-C3PG3Y225MHzPG2XOSC1卩硏C1218PR21M4.智304MxoscJVDD3.3C10105C11 0R104C23104C13 C22104 104C19104AVDD3.3丁C5 -104AGNDC6104VDD3.30C161040PH0xPH0PH11

9、 1xPH11 1PG41 1xPG41 1PF7xPF7I 1RP200RP4GNDC24GND图1-2 LM3S8962核心板外围电路1.1ADC转换数模转换(ADC外设用于将连续的模拟电压转换成离散的数字量0StellsrisADC 模块的转换分辨率为10位,并最多可支持8个输入通道以及一个 内部温度传感器。ADC模块含有一个可编程的序列发生器,它可在无需控制器的 干扰的情况下对多个模拟输入进行采样。Stellaris 系列ARM集成有一个10位的ADC模块,支持8个输入通道,以及 一个内部温度传感器,ADC模块含有一个可编程的序列发生器,可在无需控制器 干涉的情况下对多个模拟输入源进行

10、采样。每个采样序列队完全可配置的输入源、 触发事件、中断的产生和序列优先级提供灵活的编程。如输入源和输入模式,采 样结束时的中断产生,以及指示序列最后一个采样的指示符。图1.1-1为ADC输入测试电路示意图。Stellaris 系列MCU勺ADC模块采用 模拟电源VDDA/GND供电。RW1是音频电位器,输出电压在0V3.3V之间,并带 有手动旋钮,便于操作。R1和C1组成简单的RC低通滤波电路,能够滤除寄生在 由RW产生的模拟信号上的扰动。VDDA1 RW1R1VDDAADCGNEM1胁TGNDA图1.1-1 A/D转换电路原理图1.2SSI控制数码管显示SSI模块驱动数码管显示,对于 Te

11、xas Instruments 同步串行帧格式,在发 送每帧之前,每遇到SSICLK的上升沿开始的串行时钟周期时,SSIFss管脚就跳 动一次。在这种帧格式中,SSI和片外从器件在SSICLK的上升沿驱动各自的输出 数据,并在下降沿锁存来自另一个器件的数据。不同于其它两种全双工传输的帧格式,在半双工下工作的 MICROWIR格式使用特殊的主-从消息技术。在该模式中,帧开始时向片外从机发送 8位控制消息。在发送过程中,SSI没有接收到输入的数据。在消息已发送之后,片外从机对消 息进行译码,并在8位控制消息的最后一位也已发送出去之后等待一个串行时钟,之后以请求的数据来响应。返回的数据在长度上可以是

12、 416位,使得在任何地方整个帧长度为1325位。图1.2-1显示了一次传输的Texas Instruments同步串行帧格式。在该模式中,任何时候当 SSI空闲时,SSICLK和 SSIFss被强制为低电平,发送数据线SSITx为三态。一旦发送FIFO的底部入口包含数据,SSIFss变为高 电平并持续一个SSICLK周期。即将发送的值也从发送 FIFO传输到发送逻辑的串行移位寄存器中。在SSICLK的下一个上升沿,416位数据帧的MSB从SSITx管 脚移出。同样地,接收数据的 MSB也通过片外串行从器件移到 SSIRx管脚上。然后,SSI和片外串行从器件都提供时钟, 供每个数据位在每个SS

13、ICLK的下 降沿进入各自的串行移位器中。在已锁存LSB之后的第一个SSICLK上升沿上,接收数据从串行移位器传输到接收 FIFO。图1.2- 1 TI同步串行帧格式(单次传输)SSIFs4-1615图1.2-2 TI同步串行帧格式(连续传输)图1.2-2显示了背对背(back-to-back )传输时的Texas Instruments 同步 串行帧格式。图1.2-3为LM3S8962实验板上数码管通过SSI端口连接的电路原理图。1.3按键和LED模块图1.3-1和图1.3-2分别为LM3S8962实验板上的LED和 KEY电路原理图,当有按键按下去时,与KEY对应的端口输出低电平,在程序中

14、,当读取到对应的端口输入低电平时,表示有键被按下了,然后将与之关联的 LED输出高电平。图1.3-1为LED灯模块。此模块中有4颗LED灯,阳极分别通过四个保护电 阻连接电源正极,阴极分别和PB0-PB3相接,当需要点亮某颗发光二极管时,只 需要给相应的引脚写低电平就行了。四颗发光二极管的供电经过了一个跳线帽J3,使用此模块前需要将此跳线帽盖上。图1.3-2为按键模块的原理图。K1K4按键一端与公共地相接,另一端与接 有高电平的上拉电阻以及 MCU勺PB4-PB7相接。当按键断开时,PB4-PB7读取到的是高电平,当有按键闭合时,对应的引脚便会读到低电平,以判断出被按下 的键,再有MCI作出相

15、应的相应。1.4PWM驱动蜂鸣器PWM脉冲宽度调制,是一项功能强大的技术,它是一种对模拟信号电平进行数字化编码的方法。在脉冲调制中使用高分辨率计数器来产生方波,并且可以通 过调整方波的占空比来对模拟信号电平进行编码。PWM发生器模块产生两个PWMS号,这两个PWMI号可以是独立的信号,也可以是一对插入了死区延迟的互补信号。 PWM发生器模块的输出信号在传递到器件管脚之前由输出模块管理。LM3S8962实验板驱动直流电机和步进电机的电路原理图如图 1.4-1所示,在本电路图中,引出了 LM3S8962处理器的六路PW输出,其中PWMPWM用于驱动四相八拍步进电机,PWM驱动直流电机,PWM驱动无

16、源蜂鸣器。图1.4-1 蜂鸣器电路原理图2软件设计软件设计主要控制光敏电阻电压采集处理与控制部分、温度采集处理与控制 部分、霍尔传感器报警部分和辅助指示部分。2.1ADC模块数模转换(ADC外设用于将连续的模拟电压转换成离散的数字量0StellsrisADC 模块的转换分辨率为10位,并最多可支持8个输入通道以及一个 内部温度传感器。ADC模块含有一个可编程的序列发生器,它可在无需控制器的 干扰的情况下对多个模拟输入进行采样。该StellsrisADC提供下列特性:最多可支持8个模拟输入通道。单端和差分输入配置。内部温度传感器。最高可以达到1M/秒的采样率。 4个可编程采样序列,入口长度18,

17、每个序列均带有相应的转换结果 GPIQ灵活的触发方式:控制器(软件触发)、定时器触发、模拟比较器触发、GPI0触发、PW触发。硬件可对多达64个采样值进行平均计算,以便提高 ADC专换精度。使用内部3V作为ADC转换参考电压。模拟电源和模拟地跟数字电源和数字地分开。2.1.1ADC模块原理描述Stellaris 系列ARM集成有一个10位的ADC模块,支持4 8个输入通道,以及一个内部温度传感器。ADC模块含有一个可编程的序列发生器,可在无需控 制器干涉的情况下对多个模拟输入源进行采样。每个采样序列均对完全可置的输 入源、触发事件、中断的产生和序列优先级提供灵活的编程。函数 ADCSequen

18、ceEnableQ和 ADCSequenceDisable()用来使能和禁止一个ADC采样序列。函数ADCSequenceDataGet(用来读取ADC结果FIFO里的数据。函数 ADCIntEnable()和 ADCIntDisable()用来使能和禁止一个 ADC采样序列中断。函数ADCIntStatusO用来获取一个采样序列的中断状态。程序中通过配置ADC采集光传感器的光照强度并转换,ADC采样完成后触发 中断,在中断中修改采样结束控制变量 ADC_E ndFlag2.1.2ADC模块程序设计流程图2.2 SSI 模块式进行通信以交换信息。外围设置 FLASHRAM网络控制器、LCD显示

19、驱动器、A/D转换器和MCI等。SPI总线系统可直接与各个厂家生产的多种标准外围器件直接 接口,该接口一般使用 4条线:串行时钟线(SCK、主机输入/从机输出数据线MISO主机输出/从机输入数据线MOSI和低电平有效的从机选择线 SS(有的SPI接口芯片带有中断信号线INT或INT、有的SPI接口芯片没有主机输出/从机输入 数据线MOS、。SSI接口主要应用在EEPROM,FLAS实,时时钟,AD转换器,还有数字信号处理器和数字信号解码器之间。SSI接口是在CPU和外围低速器件之间进行同步串行数据传输,在主器件的移位脉冲下,数据按位传输,高位在前,低位在后,为全双工通信,数据传输速度总体来说比

20、I2C总线要快,速度可达到几MbpsSSI接口是以主从方式工作的,这种模式通常有一个主器件和一个或多个从器件。2.2.1SSI模块原理描述Stellaris 系列 ARM勺 SSI( Synchron ous Serial In terface, 同步串行接口) 是与具有Freescale SP 1(飞思尔半导体)、MicroWire (美国国家半导体)、TexasInstruments (德国仪器,TI)同步串行接口的外设器件进行同步串行通信的主机 或从机接口。SSI具有以下特征:主机或从机操作。时钟位速率和预分频可编程。口。内部回环测试模式,可进行诊断/调试测试。SSI模块的配置由SSIC

21、onfigSetExpClk()函数来管理,它主要设置SSI协议、中。在使用SSI可通过置位RCGC寄存器的SSI位来使能SSI外设时钟。针对不同的帧格式,SSI可通过以下步骤进行配置:确保在对任何配置进行更改之前先将 SSICR1寄存器中的SSE位禁止。 SSI引脚配置。确定SSI为主机还是从机。通过写SSICR0寄存器来配置时钟预分频除数。写SSICR0寄存器,实现串行时钟率、协议模式、数据长度配置。通过置位SSICR1寄存器的SSE位来使能SSI。通过SSIDR进行读写操作。222 SSI模块程序设计流程图2.3定时器模块2.3.1定时器模块原理描述定时器的工作原理都是对某一特定的时钟进

22、行计数。 如系统时钟为6MHz则 定时器每计一次数则为6M分之一秒,如果定时一秒钟,则定时器需要计数6M次。定时器API分成3组函数,分别执行以下功能:处理定时器配置和控制、处理定时器内容和执行中断处理。的操作作为整体上的32位控制,而对TimerB的操作无任何效果。在16位模式下, 对TimerA的操作仅对TimerA有效,对TimerB的操作仅对TimerB有效,即对两 者的操控是完全独立进行的。函数TimerConfig()用于配置Timer模块的工作模式,即32位或16位工作 模式。函数TimerIntEnable() 使能Timer中断。函数TimerLoadSet()设置装载值。函

23、数 TimerEnable()使能 Timer 计数。函数 TimerlntStatus() 获取当前 Timer 的 中断状态。程序中使用定时器模块,设置为 32位周期定时器,每隔10ms扫描一次数码管:TimerCo nfigure(TIMER0_BASE,TIMER_CFG_32_BIT_ PER);TimerLoadSet(TIMER0_BASE, TIMER_A, 60000);TimerI ntEn able(TIMER0_BASE, TIMER_TIMA_TIMEOUT); / 超时中断对数码管的动态显示,是通过定时器中断的方式来扫描的。因此,涉及到中 断服务例程和定时器中断的设

24、置。2.3.2定时器模块流程图2.4 DS18B20 模块运用DS18B20佥测温度。若指令成功地使 DS18B20完成温度测量,数据存储在DS18B20勺存储器。一个控制功能指挥指示 DS18B20勺演出测温。测量结果将被放置在DS18B2呐存中,并可以让阅读发出记忆功能的指挥,阅读内容的片上 存储器。温度报警触发器 TH和TL都有一字节EEPRO啲数据。如果DS18B20不使用报警检查指令,这些寄存器可作为一般的用户记忆用途。在片上还载有配置字节以理想的解决温度数字转换。写 TH,TL指令以及配置字节利用一个记忆功能的指令完成。通过缓存器读寄存器。所有数据的读,写都是从最低位开始。2.4.

25、1DS18B20模块原理描述DS18B20的1、2、3引脚分别是Vcc (电源正)、DQ(数据输出)和 GND(电源地)。DS18B201过引脚2将采集到的数据传输给 MCU勺PB6引脚,交由MCI处理。如图241-1所示:图 2.4.1-1 DS18B20 原理图2.4.2 DS18B20模块程序设计流程图2.5按键模块当有按键按下去时,与KEY对应的端口输出低电平,在程序中,当读取到对 应的端口输入低电平时,表示有键被按下了,然后将与之关联的LED俞出高电平, 即可达到实验内容的要求。2.5.1按键模块原理描述按键可用于调控温度上下限的数值。按一下 key1键,再按key2,完成了对上限温

26、度的加操作,按key4,完成对下限温度的减操作。按两下 key1键,再按 key2,完成对上限的减操作,按key4,完成对下限的减操作。当处于上下限温度 调节时,数码管前三位显示的不是当前温度,而是上下限温度的数值。2.5.2按键模块程序设计流程图2.6 PWM模块Stellsris 系列ARM提供4个PWM生器模块和一个控制块。每个 PWM生器模块包含1个定时器(16位递减或先递增后递减计数器)、2个比较器、1个PWM 信号发生器、1个死区发生器,以及一个中断/ADC触发选择器。而控制模块决定 了 PWMI号的极性,以及将哪个信号传递到管脚。PWM发生器模块产生两个PWM&号,这两个信号可以

27、是独立的信号,也可以是一对插入了死区延迟的互补信号。 PWM发生器模块的输出信号在传输到器件管脚之前由输出控制模块管理。Stellsris 系列 ARM的 PWM特性: 4个卩0发生器,产生8路PWM&号。灵活的PW产生方法。自带死区发生器。灵活可控的输出控制模块。安全可靠的错误保护功能。丰富的中断机制和ADC触发。2.6.1PWM模块原理描述脉冲宽度调制(PWMPulse-Width Modulation ),也简称为脉宽调制,是 项功能强大的技术,它是一种对模拟信号电平进行数字化编码的方法。在脉宽调 制中使用高分辨率计数器来产生方波,并且可以通过调整方波的占空比来对模拟 信号电平进行编码。

28、PWMS常使用在开关电源和电机控制中。2.6.2PWM模块程序设计流程图2.6 主函数模块2.6.1主函数模块原理描述每一个程序里面都必须要有一个主函数的存在。开始从主函数开始,结束也 在主函数结束。主函数主要功能是可以调用各个模块的函数从而进行程序的运行,当完成各个模块的程序后,从主函数中结束。2.6.2主函数模块程序设计流程图3.验证结果操作步骤和结果描述TF-LM3S8962开发板,按下电源开关,并在 Keil软件中点击downioad按钮,将编译通过后的可执行文件烧写到开发板中,按一下核心板上的复位按键,程序开 始运行。程序运行后,数码管低三位显示当前室内温度,显示位数为 3位,并带一

29、位小数位。当我们用手捏住 DS18B2(后,我们发现,当前显示的温度快速增长,但 是达到一定值时,温度将维持一定的幅度,基本不再发生变化;松开手后,温度 直线下降,最后将保持在室内温度的水平,而基本不再发生变化。当温度达到 28 度时,蜂鸣器报警,继电器开始工作,以模拟空调制热;当温度达到 31度时,蜂鸣器也开始报警,但是发出的声音与之前的声音不同,同时,继电器开始工作, 以模拟空调制冷。通过ADC莫块采集开发板上的光敏电阻(CH3,并在数码管低四位显示采集 的值,将光照强度分为5级,当光照强度小于300时,四颗发光二极管同时点亮; 光照强度小于500时,点亮了三颗发光二极管;光照强度小于 700时,点亮了两颗发光二极管;光照强度小于 900时,点亮一颗发光二极管;大于 900时,四颗发光二极管都处于熄灭状态。即亮度最亮时开发板上的 4颗LED全部熄灭,亮度越来越低时,分别点亮1颗、2颗、3颗,完全黑暗时点亮4颗LED通过开发板上的三个按键 KEY1 KEY2 KEY4( KEY3引脚与DS182

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1