基于单片机的小型智能家居系统.doc

上传人:精*** 文档编号:836515 上传时间:2023-09-07 格式:DOC 页数:32 大小:5.83MB
下载 相关 举报
基于单片机的小型智能家居系统.doc_第1页
第1页 / 共32页
基于单片机的小型智能家居系统.doc_第2页
第2页 / 共32页
基于单片机的小型智能家居系统.doc_第3页
第3页 / 共32页
基于单片机的小型智能家居系统.doc_第4页
第4页 / 共32页
基于单片机的小型智能家居系统.doc_第5页
第5页 / 共32页
点击查看更多>>
资源描述

1、目 录摘要1关键词11 引言11.1 课题研究背景11.2 系统的主要功能12 整体设计22.1 总体介绍22.2 系统设计方案23 硬件系统设计33.1 硬件系统概述33.2 硬件系统的功能模块33.2.1 电源模块33.2.2 串口模块43.2.3 核心板模块83.2.4 LED模块93.2.5 蜂鸣器模块103.2.6 步进电机模块113.2.7 LCD模块123.2.8 热敏&光敏传感器模块144 软件系统设计154.1 keil uVision2简介154.2 keil uVision2新建项目、编辑、编译以及调试运行154.3程序烧写205 系统平台搭建225.1 系统组成225.

2、2 系统硬件连接225.2.1 PC机与单片机的连接225.2.2单片机开发板上的硬件连接226 系统功能介绍226.1 整体功能介绍226.2 详细功能介绍246.2.1 音乐播放246.2.2 花样灯256.2.3 窗帘266.2.4 火灾报警276.2.5 串口通信模块277 系统测试287.1 系统基本性能验证287.2 整体验证288 总结与展望298.1 总结298.2 展望29致谢29参考文献29摘要:智能家居是以住宅为平台,利用综合布线、网络通信、音视频等技术将家居生活有关的设施集成,构建高效的家庭日程事务管理系统,提升家居安全性、便利性、舒适性,实现环保节能的居住环境。基于单

3、片机的小型智能家居系统是以STC12C5A60S2芯片为控制核心,用单片机上不同的器件及PC机与单片机之间的通讯,将智能家居中的相应模块模拟展示出来。系统主要由硬件系统和软件系统两部分组成,其中硬件系统是以STC12C5A60S2芯片为核心的单片机开发板以及单片机外围发光二极管、数码管、蜂鸣器等功能模块。以Keil uVision2为软件开发平台,通过串口实现PC机与单片机之间的通讯,从而达到PC机控制单片机的目的。论文详细阐述了系统的开发及实现过程。关键词:智能家居;Keil uVision2;单片机;STC12C5A60S2;串口通信1 引言1.1 课题研究背景进入21世纪,科学技术与生产

4、力水平进入加速发展阶段,随之而来的是人类物质文化生活的极大提高。随着人们生活水平的不断提高,人们不断的对居住环境提出更高的要求,越来越注重家庭生活中每个成员的舒适、安全与便利。智能家居是利用先进的计算机技术、网络通讯技术、综合布线技术,依照人体工程学原理,融合个性需求,将与家居生活有关的各个子系统,如安防、灯光控制、窗帘控制、煤气阀控制、信息家电、场景联动、地板采暖等有机地结合在一起,通过网络化综合智能控制和管理,实现“以人为本”的全新家居生活体验1。与普通家居相比,智能家居不仅具有传统的居住功能,提供舒适安全、高品位且宜人的家庭生活空间,还将原来被动静止的结构转变为具有能动智慧的工具2,提供

5、全方位的信息交换功能,帮助家庭与外部保持信息交换畅通,优化人们的生活方式,帮助人们有效安排时间,增强家居生活的安全性,甚至为各种能源费用节约资金3。智能家居的目标是用各种方法或设备使家居生活实现自动化、智能化,使家居变得更加舒适、安全和有效,从而提高人们的生活质量4。1.2 系统的主要功能本系统以STC12C5A60S2芯片为核心,利用单片机的外围设备及串口通信开发、实现了以下几个功能模块:(1)花样灯的控制,利用单片机上的二极管模拟电灯,根据不同的指令,按照预先设计好的程序,变换出不同的花样。(2)音乐播放,利用单片机上的蜂鸣器模拟音箱,根据指令,按照预先设计好的程序,播放音乐。(3)电机模

6、拟窗帘,利用单片机上的步进电机模拟窗帘的开关,根据指令,按照预先设计好的程序,步进电机模拟完成窗帘的拉开、关闭。(4)火灾报警,利用单片机上的热敏、光敏传感器,实时采集周围的温度以及光的强度,按照预先设计好的程序,若周围的温度升高且同时光强下降,则认为发生火灾,发出警报。2 整体设计2.1 总体介绍本系统以STC12C5A60S2芯片为控制核心,温度,湿度等传感器为环境信息采集源,以串口通信控制为辅助,模拟了一个小型的智能家居系统。在原有的机械式按键开关的基础上,采用串口通信,来控制各功能模块,实现了远距离实时控制。此外在本次系统设计中,采用了多种传感器相结合,根据各传感器采集的数值进行火灾报

7、警自动化控制。2.2 系统设计方案根据设计要求,系统提供了包括了核心控制模块,串口通信模块,花样灯模块等等。系统的整体框图如图1所示。环境信息用户输入信息设备状态信息控制界面返回用户输入信息用户控制信息串口窗帘(步进电机)核心控制设备(以STC12C5A60S2为核心)音乐播放(蜂鸣器)花样灯(LED显示)温度,湿度信息LCD显示火灾报警(温度,湿度)图1 系统整体框图3 硬件系统设计3.1 硬件系统概述小型智能家居系统的核心是单片机的主芯片,因此首先要确定单片机及所用主芯片的类型。单片机具有高集成度、体积小、高可靠性、控制功能强、低功耗、易扩展、优异的性价比等特点,在机电一体化、实时过程控制

8、、办公自动化设备、计算机网络和通信、航空航天系统和国防军事、尖端武器等领域得到了广泛的应用5。小型智能家居系统要求能够实时控制并通过串口传输数据,根据上述的要求,系统选用STC公司的以STC12C5A60S2芯片为主芯片的51核心板单片机,该核心板支持DIP40封装的STC系列单片机、AT89S5X系列单片机,带USB转串口模块,能为STC系列单片机编程,能与PC进行串口通信。本系统硬件原理图如图2所示:LED51核心板(以STC12C5A60S2为核心)蜂鸣器USB转串口PC机步进电机LCD火灾报警热敏传感器光敏传感器图2 硬件系统图3.2 硬件系统的功能模块3.2.1 电源模块电源部分是整

9、个系统的基础,这部分的稳定工作对整个单片机硬件系统的稳定工作起着至关重要的作用,单片机带有先进的系统控制及电源管理模块6。单片机开发板支持以下两种供电方式: (1) 通过PC机的USB口提供的+5V电源,如图3所示,即为通过USB为系统供电。 (2) 外部7-12V(最好使用9V)直流稳压电源适配器供电,通过电源接口JP1输入电源。 通过手动控制开发板上的K1开关来打开和断开系统供电,当K1开关拨至“ON”位置,发光二极管点亮指示系统上电。图3 主板供电系统原理图3.2.2 串口模块u 串行通讯基本概念计算机与外界的信息交换称为通信7。常用通信方式有两种:并行通信与串行通信,简称并行传送和串行

10、传送。并行传送具有传送速度快,效率高等优点,但传送多少数据位就需要多少根数据线,传送成本高;串行传送是按位顺序进行数据传送,最少仅需要一根传输线即可完成,传送距离远,但传送速度慢8。串行通信又分同步和异步两种方式。这两种通信方式的区别在于发送设备时钟与接收设备时钟是否严格一致。同步通信中,在数据传送开始时先用同步字符来指示(常约定1-2个),并由同时传送的时钟信号来实现发送端和接收端同步,即检测到规定的同步字符后,接着就连续按顺序传送数据。这种传送方式对硬件结构要求较高。异步通信中,接收器和发送器有各自的时钟,它们的工作是非同步的,异步通信用一帧来表示一个字符,其内容如下:一个起始位,仅接着是

11、若干个数据位,图4中传输45H的数据格式。图4 串口通信传输45H的数据格式另外一个字符应包括以下信息: (1) 起始位:对应逻辑0(space)状态。发送器通过发送起始位开始一帧字符的传送。 (2) 数据位:起始位之后传送数据位。数据位中低位在前,高位在后。数据位可以是5、6、7、8位。 (3) 奇偶校验位:奇偶校验位实际上是传送的附加位,若该位用于奇偶校验,可校检串行传送的正确性。奇偶校验位的设置与否及校验方式(奇校验还是偶校验)由用户需要确定。 (4) 停止位:用逻辑1(mark)表示。停止位标志一个字符传送的结束。停止位可以是1、1.5或2位。u MCS-51单片机的串行接口MCS-5

12、1单片机串行口寄存器结构如5图所示。SBUF为串行口的收发缓冲器,它是一个可寻址的专用寄存器,其中包含了接收器和发送器寄存器,可以实现全双工通信。但这两个寄存器具有同一地址(99H)。MCS-51的串行数据传输很简单,只要向发送缓冲器写入数据即可发送数据,而从接收缓冲器读出数据即可接收数据。图5 MCS-51单片机串行口寄存器结构图u 串行通信标准RS232和RS485是两种典型的串行通信标准,两种标准的主要区别有: (1)传输距离。RS485传输距离要比RS232大很多。 (2)接口电平。RS485的接口电平比RS232电平降低了。 (3)传输速率。RS485最高传输速率可达到10Mbps。

13、图6 RS485原理及实物图对于软件编程方面, RS485和RS232完全一致,但是由于485数据传输为差分方式,需要同样具有485接口的硬件,才能实现数据收发,所以在本系统中选用操作起来相对简单的RS232。u RS232硬件电路51单片机有一个以上全双工的串行通讯口,所以单片机和计算机之间可以方便地进行串口通讯。进行串行通讯时要满足一定的条件,两者之间必须有一个电平转换电路,本系统采用了专用芯片MAX3232进行转换。MAX232芯片是美信公司专门为电脑的RS-232标准串口设计的单电源电平转换芯片,使用+5v单电源供电。主要特点有:(1)符合所有的RS-232C技术标准(2)只需要单一

14、+5V电源供电 (3)片载电荷泵具有升压、电压极性反转能力,能够产生+10V和-10V电压V+、V- (4)功耗低,典型供电电流5mA (5)内部集成2个RS-232C驱动器 (6)内部集成2个RS-232C接收器9图7 MAX3232的原理图本系统采用了三线制连接串口,也就是说计算机的9针串口只连接其中的3根线:第5脚的GND、第2脚的RXD、第3脚的TXD,这是最简单的连接方法,但是对本系统来说已经足够了。电路如图8所示。图8 串口原理图图9 串口模块实物图3.2.3 核心板模块图10 核心板结构图u 功能描述:(1)51核心板支持DIP40封装的STC系列单片机、AT89S5X系列单片机

15、。 (2)带USB转串口模块,能为STC系列单片机编程,能与PC机进行串口通信。 (3)通过P0口的“5V”管脚供电(作为主板的核心板使用时),无需重复在核心板上对USB供电。 (4)提供ISP 下载接口,为AT89S5X系列单片机编程。图11 核心板电路原理图3.2.4 LED模块LED(Light Emitting Diode),发光二极管,是一种固态的半导体器件,它可以直接把电转化为光。LED的心脏是一个半导体的晶片,晶片的一端附在一个支架上,是负极,另一端连接电源的正极,使整个晶片被环氧树脂封装起来。半导体晶片由两部分组成,一部分是P型半导体,在它里面空穴占主导地位,另一端是N型半导体

16、,在这边主要是电子,但这两种半导体连接起来的时候,它们之间就形成一个“P-N结”。当电流通过导线作用于这个晶片的时候,电子就会被推向P区,在P区里电子跟空穴复合,然后就会以光子的形式发出能量,这就是LED发光的原理。而光的波长也就是光的颜色,是由形成P-N结的材料决定的。LED的特点非常明显,寿命长、光效高、无辐射与低功耗。 LED耗电非常低,一般来说LED的工作电压是2-3.6V。工作电流是2mA-30mA。对于贴片LED,参考压降如下:红色的压降为1.82-1.88V,绿色的压降为1.75-1.82V,橙色的压降为1.7-1.8V,蓝色的压降为3.1-3.3V,而压降是通过电阻获得的,电阻

17、大小由图12中的公式来决定。本系统所用的NBC61-V2.0开发板上的电阻为470欧。图12 LED电阻计算公式图13 LED模块电路原理图根据原理图分析可知,当由IO 口控制的J13被置低(即连接到LED负极)时,发光二极管导通,被点亮。3.2.5 蜂鸣器模块蜂鸣器是一种一体化结构的电子讯响器,广泛应用于计算机、打印机、复印机、报警器、电话机等电子产品中,作发声器件。蜂鸣器发声原理是电流通过电磁线圈,使电磁线圈产生磁场来驱动振动膜震动发声的,因此需要一定的电流才能驱动它。单片机IO 引脚输出的电流较小,单片机输出的TTL电平基本上驱动不了蜂鸣器,因此需要增加一个电流放大的电路,图14为蜂鸣器

18、驱动电路,使用的是ULN2003芯片来放大电流,驱动蜂鸣器。图14 蜂鸣器驱动电路图15 ULN2003内部结构图16 ULN2003等效电路如图14所示,蜂鸣器的正极接到VCC电源上面,蜂鸣器的负极接到图16等效电路的OUTPUT端,单片机IO 通过控制图16电路的INPUT 端,当IO 输出低电平时,三极管截止,没有电流流过线圈,蜂鸣器不发声;当IO 输出高电平时,三极管导通,这样蜂鸣器的电流形成回路,发出声音。因此,我们可以通过程序控制INPUT的电平来使蜂鸣器发出声音和关闭。 程序中改变单片机的输出波形的频率,就可以调整控制蜂鸣器音调。另外,改变IO 口输出电平的高低电平占空比,则可以

19、控制蜂鸣器的声音大小。3.2.6 步进电机模块步进电机是数字控制电机,它将脉冲信号转变成角位移,即给一个脉冲信号,步进电机就转动一个角度,电机的总转动角度由输入脉冲数决定,而电机的转速由脉冲信号频率决定,因此非常适合于单片机控制。单片机上设计的步进电机是减速比1/64的5线4相电机,采用单极性直流电源供电。只要对步进电机的各相绕组按合适的时序通电,就能使步进电机步进转动。图17是该四相反应式步进电机工作原理示意图。图17 四相步进电机步进示意图开始时,开关SB接通电源,SA、SC、SD断开,B相磁极和转子0、3号齿对齐,同时,转子的1、4号齿就和C、D相绕组磁极产生错齿,2、5号齿就和D、A相

20、绕组磁极产生错齿。 当开关SC接通电源,SB、SA、SD断开时,由于C相绕组的磁力线和1、4号齿之间磁力线的作用,使转子转动,1、4号齿和C相绕组的磁极对齐。而0、3号齿和A、B相绕组产生错齿,2、5号齿就和A、D相绕组磁极产生错齿。依次类推,A、B、C、D四相绕组轮流供电,则转子会沿着A、B、C、D方向转动。 四相步进电机驱动方式可以采用双四拍(ABBCCDDAAB)方式,也可以采用单四拍(ABCDA)方式,或单、双八拍(AABBBCCCDDDAA)方式。单四拍、双四拍与八拍工作方式的电源通电时序与波形分别如图18中a、b、c所示:图18 步进电机工作时序波形图图19 步进电机电路原理图3.

21、2.7 LCD模块LED 数码管显示器内部由七个条形发光二极管和一个小圆点发光二极管组成,每个发光二极管称为一个字段,因而它的控制原理和发光二极管的控制原理是相同的。根据各管的接线形式,它可分为两种,一是共阳极(发光二极管的阳极都接在一个公共点上),如图20,另一是共阴极(发光二极管的阴极都接在一个公共点上),如图21。给LED 数码管的七个条形发光二极管加不同的电平,二极管显示不同亮灭的组合就可以形成不同的字形,这种组合称之为字形码。下面以1为高电平,0 为低电平,给出字形码表,见图22。图20 共阳极电路图图21 共阴极电路图图22 字形码表图23 LCD电路原理图原理图23中用到两片74

22、HC573,一片用于位选,选择8位共阴数码管中的某位或某几位,另一片74HC573用于段选,输入以上表格中的编码来控制要显示的内容。举个例子,如果我们要使数码管的最低位显示“A”,那么,首先通过控制DS1,选中位选控制的74HC573,控制DSD7为“0”(共阴,如果是共阳的数码管就置“1”),然后通过控制 DS2,选中段选选控制的74HC573,在DSD0DSD7输入0x77,即可实现“A”在第3位显示。图24 LCD实物图3.2.8 热敏&光敏传感器模块u 热敏传感器热敏电阻器是敏感元件的一类,按照温度系数不同分为正温度系数热敏电阻器(PTC)和负温度系数热敏电阻器(NTC)10。热敏电阻

23、器的典型特点是对温度敏感,不同的温度下表现出不同的电阻值。正温度系数热敏电阻器(PTC)在温度越高时电阻值越大,负温度系数热敏电阻器(NTC)在温度越高时电阻值越低,它们同属于半导体器件。NTC热敏电阻与普通电阻不同,它具有负的电阻温度特性,当温度升高时,电阻值减少,其特性曲线如图25所示。图25 热敏电阻特性曲线图热敏电阻的阻值温度特性曲线是一条指数曲线,线性度差,因此,在使用时要进行线性化处理。线性化处理虽然能改善热敏电阻的特性曲线,但比较复杂。因此,在要求不高的应用系统中,在一定的温度范围内,常常把温度与阻值看成是线性的关系,以简计算和系统设计。使用热敏电阻是为了感知温度,给热敏电阻通以

24、恒定的电流,电阻两端就可以测到一个电压,通过下面的公式就可以计算出温度值: T=T0-KXVT其中T-被测温度T0-与热敏电阻特性有关的温度参数KX-与热敏电阻特性有关的系数VT-热敏电阻两端的电压根据这一公式,如果测得热敏电阻两端的电压,再知道参数T0和系数KX,则可计算出热敏电阻的环境温度,也就是被测的温度。这样就把电阻随温度的变化关系转化为电压随温度变化的关系了。数字式电阻温度计设计工作的主要内容就是把热敏电阻两端的电压值经A/D(模拟量转化为数字量)转换为数字量,然后通过软件方法计算得到温度值,再进行显示等处理。图26 热敏&光敏传感器电路原理图如图26所示为开发板上的原理图,R39为

25、热敏电阻,AD转换器采集RT处的电压值,再通过软件处理得到温度值。u 光敏敏传感器光敏电阻又称光导管,常用的制作材料为硫化镉,另外还有硒、硫化铝、硫化铅和硫化铋等材料8。这些制作材料具有在特定波长的光照射下,其阻值迅速减小的特性。这是由于光照产生的载流子都参与导电,在外加电场的作用下作漂移运动,电子奔向电源的正极,空穴奔向电源的负极,从而使光敏电阻器的阻值迅速下降。光敏电阻器是利用半导体的光电效应制成的一种电阻值随入射光的强弱而改变的电阻器,入射光强,电阻减小,入射光弱,电阻增大。光敏电阻器一般用于光的测量、光的控制和光电转换(将光的变化转换为电的变化)。常用的光敏电阻器硫化镉光敏电阻器,它是

26、由半导体材料制成的。光敏电阻器的阻值随入射光线(可见光)的强弱变化而变化,在黑暗条件下,它的阻值(暗阻)可达110M欧,在强光条件(100LX)下,它阻值(亮阻)仅有几百至数千欧姆。光敏电阻器对光的敏感性(即光谱特性)与人眼对可见光(0.4m 0.76m)的响应很接近,只要是人眼可感受的光,都会引起它的阻值变化。由此可以看出,通过光敏电阻测量光强的原理基本和热敏电阻测量温度一致。上面图26中的R38即为光敏电阻,AD转换器采集DT处的电压值,再通过软件处理得到光强度。4 软件系统设计4.1 keil uVision2简介keil uVision2是德国Keil Software公司出品的51系

27、列兼容单片机C语言软件开发系统,使用接近于传统C语言的语法来开发。与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用,而且大大的提高了工作效率和项目开发周期。它还能嵌入汇编,您可以在关键的位置嵌入,使程序达到接近于汇编的工作效率。KEILC51标准C编译器为8051微控制器的软件开发提供了C语言环境,同时保留了汇编代码高效,快速的特点。C51编译器的功能不断增强, 使用户可以更加贴近CPU本身,及其它的衍生产品。C51已被完全集成到uVision2的集成开发环境中,这个集成开发环境包含:编译器、汇编器、实时操作系统、项目管理器和调试器,uVision2 IDE可为

28、它们提供单一而灵活的开发环境。4.2 keil uVision2新建项目、编辑、编译以及调试运行(1)安装好Keil软件以后,打开它。打开以后界面如下:图27 Keil软件打开界面(2)先新建一个工程文件。点击“Project-New Project”菜单,如下图:图28 新建工程页面(3)选择工程文件要存放的路径,输入工程文件名,如LED, 最后单击保存:图29 保存工程页面(4)在弹出的对话框中选择CPU 厂商及型号:图30 CPU型号选择页面(5)选择好选择CPU 厂商及型号,如Atmel公司的89c51,之后,单击确定:图31 选定CPU型号(6)接着弹除一个对话框,问“将标准的805

29、1启动代码复制到项目文件夹并将文件添加到项目中?”,选择“是”:图32 询问页面(7)新建一个C51文件。点击file菜单下的NEW,或单击左上角的New File快捷键,如下图:图33 新建C51文件页面(8)保存新建的文件。单击SAVE,如下图:图34 点击保存C51文件(9)在出现的对话框中输入保存文件名(注意:后缀名必须为.C),如MAIN.C,再单击“保存”,如下图:图35保存C51文件页面(10)保存好此文件后,将其加入到工程中方法如下:在Source Group1上鼠标右击,然后再单击Add Files to Group Source Group 1如下图:图36 将C51文件添

30、加到工程(11)选择要加入的文件。找到后缀名.C的文件后,单击Add,然后单击Close:图37 添加到工程中的事.c文件(12)在编辑框里输入所需代码,至此完成了工程项目的建立以及文件加入工程,现在开始编译工程。单击快捷键或单击Project-Rebuild all the files,如果在错误与警告栏看到 “0 Error(s)” 表示编译通过:图38 添加代码后编译(13)生成 .hex 烧写文件。先单击Options for Target,在弹出的窗口中单击 Output, 选中 Create HEX Fi,再单击“确定”,然后再次编译才能产生HEX文件:图39 项目选项图40 设置

31、文件输出格式为HEX编译完成后,打开工程存放目录,可以看到增加了“led.hex”文件:图41 编译完成后的文件4.3程序烧写使用烧写软件STC_ISP_V483进行程序烧写。打开烧写软件,界面如下:图42 烧写软件界面烧写、下载程序过程分为以下几个步骤: 步骤(1)选择单片机的型号。 本系统所用的单片机型号是STC12C5A60S2。 步骤(2)打开后缀为.HEX 的文件,即为程序文件。 在相应工程下找到需要下载的.HEX文件,点击打开。 步骤(3)选择串口号、设置最高波特率。 打开PC机的设备管理器,确定生成的串口号(若为COM2,则在上图COM下拉中选择COM2)。步骤(4)用USB线将

32、PC机和主板连接起来,检查核心板上的J1 口是否用跳帽短接(TXD与P30短接,RXD与P31短接),将开发板上的电源都关闭,点击“Download/下载”,打开核心板上的电源开关(注意不是主板上的电源开关),等待下载完成。图43 烧写控制接口5 系统平台搭建5.1 系统组成本系统是由一台PC机,一块51单片机开发板及一条USB转串口线组成。其中,PC机负责系统程序的编写以及显示通信界面,51单片机通过其自带的外围设备将系统所要求的各个模块模拟表现出来,而USB转串口线则负责将PC机与单片机连接起来,实现PC机与单片机之间的串口通信。5.2 系统硬件连接5.2.1 PC机与单片机的连接通过US

33、B转串口线将PC机的USB接口与单片机板上的串口1连接起来即可。5.2.2单片机开发板上的硬件连接(1)串口模块的硬件连接用2位杜邦线分别将J9_0与J5_R1及J9_1与J5_D1连接(下载完程序后),用串口线将PC和开发板上的串口1连接。(接收PC机发来的数据,并向PC机返回接收到的数据)。(2)花样灯模块的硬件连接用8位杜邦线将J9与J6连接,用8位排线将J8与J13连接。(3)音乐播放模块的硬件连接用1位杜邦线将J10_0与J18_bz连接。(4)窗帘模块的硬件连接用4位杜邦线将J11_0,J11_1,J11_2,J11_3和J18_A,J18_B,J18_C,J18_D连接,将步进电

34、机连接到JP8。(5)火灾报警模块的硬件连接用8位杜邦线将J8与J12连接,2位杜邦线分别将J11_0与J15_DS1、J11_1与J15_DS2连接,1位杜邦线将J19_AIN0与J15_RT连接,2位杜邦线分别将J11_7与J17_SDA、J11_6与J17_SCL连接。6 系统功能介绍6.1 整体功能介绍将整个单片机开发板按照系统要求连接起来,如图44所示,再将单片机通过USB转串口线与PC机相连,这样,硬件连接完成。打开串口通信控制界面,如图45所示,通过串口通信控制界面,向单片机发送指令。当发送数字1-3时,花样灯据不同数字,运行出不同效果,同时将数字1-3返回在界面上显示出来。当发

35、送数字4时,蜂鸣器运行,播放音乐,同时将数字4返回在界面上显示出来。当发送数字5-9时,步进电机运行,据不同的数字,改变转动的方向与转速,同时将数字5-9返回在界面上显示出来。而火灾报警模块,通过热敏&光敏传感器,实时采集周围的温度、光强,一旦超过预先设计好的限制,则触发蜂鸣器报警!图44 硬件系统实物图图45 串口通信控制界面6.2 详细功能介绍6.2.1 音乐播放图46 单片机上的电路实物图 如图所示,蜂鸣器的正极接到VCC电源上面,蜂鸣器的负极接到上面图16 ULN2003等效电路的OUTPUT端,单片机IO 通过控制图16电路的INPUT 端,当IO 输出低电平时,三极管截止,没有电流

36、流过线圈,蜂鸣器不发声;当IO 输出高电平时,三极管导通,这样蜂鸣器的电流形成回路,发出声音。因此,我们可以通过程序控制INPUT的电平来使蜂鸣器发出声音和关闭。程序中改变单片机的输出波形的频率,就可以调整控制蜂鸣器音调。另外,改变IO 口输出电平的高低电平占空比,则可以控制蜂鸣器的声音大小。 表1 蜂鸣器模拟歌曲原理音调改变IO输出频率来实现节拍(音长)单片机延时实现音量输出波形占空比通过控制蜂鸣器震动频率的大小、震动时间的长短,模拟出不同的音调。将一首歌相对应的震动频率的大小、震动时间的长短数字化,再分别存放在两个数组中,当控制芯片接收到播放音乐的指令后,已经设计好的程序,便会将两数组中的

37、值按照一定的规律赋给蜂鸣器的输出端口,这样,我们便会听到美妙的歌曲了。本系统中,采用上述方法,用蜂鸣器模拟音箱,通过控制蜂鸣器震动频率的大小、震动时间的长短,模拟出不同的音调。将一首歌相对应的震动频率的大小、震动时间的长短数字化,以这种方式等价成两个数组,再将数组赋给相应的歌曲处理函数,当主板接收到相应指令后,调用歌曲处理函数,将歌曲演奏出来,主要代码容下:void Play_music() uint Tone,Long; /定义音调变量 uint i,j,k; /定义变量 for(i=0;i25;i+) /生日快乐的25种音调 Tone=SOUNDTONEi; /读取音调 Long=30*S

38、OUNDLONGi; /读取节拍 for(j=0;jLong;j+) /输出不同节拍 BZ=0; /关闭蜂鸣器 for(k=0;kTone;k+); /利用Tone的不同来区分7种音调 BZ=1; /打开蜂鸣器 for(k=0;ktemp)&(i60);i+);/查表得到温度对应参数if(i10) /如果是负温度,符号标志置1,表示为负value=10-i;flag=1;else /如果为正,去掉10个负数value=i-10;show_NTC(value); /显示温度值if(gq28) /光强减弱且高温-火灾,蜂鸣器报警BZ=1;else /正常时,强行关闭蜂鸣器BZ=0;该段程序不仅火灾

39、报警,它还将从周围采集到的实时数据,通过发光二极管LCD显示出来,供人随时读取。而当火灾发生时,温度升高,大火产生的烟雾使得周围的光强下降时,该段程序才会触发蜂鸣器报警。6.2.5 串口通信模块本系统中,利用串口将单片机与PC机连接起来,进行通信。MCS-51单片机串口控制寄存器有三个:特殊功能寄存器SCON、PCON和中断允许寄存器IE。SCON、PCON的地址分别为98H和87H,SCON用于控制和监视串口的工作状态,可以位寻址,PCON不具备位寻址功能11。串行通信控制寄存器SCON是与串行通信有关的主要控制寄存器。SCON是8051系列芯片的一个可以位寻址的专用寄存器,用于控制串行数据通信。SCON的单元地址9

展开阅读全文
相关资源
相关搜索
资源标签

当前位置:首页 > 学术论文 > 毕业设计

版权声明:以上文章中所选用的图片及文字来源于网络以及用户投稿,由于未联系到知识产权人或未发现有关知识产权的登记,如有知识产权人并不愿意我们使用,如有侵权请立即联系:2622162128@qq.com ,我们立即下架或删除。

Copyright© 2022-2024 www.wodocx.com ,All Rights Reserved |陕ICP备19002583号-1 

陕公网安备 61072602000132号     违法和不良信息举报:0916-4228922