基于MSP430单片机的手表门铃设计

2015-05-05 06:00李建勇刘雪梅
机械与电子 2015年7期
关键词:门铃子程序低功耗

李建勇,李 洋,刘雪梅

(1.西北工业大学明德学院,陕西 西安710124;2.杭州娃哈哈集团有限公司,浙江 杭州310020)

0 引言

目前,电子门铃系统基本上普及现代化的居住小区,成为现代家庭生活不可或缺的一部分。然而很多门铃都是直接装在门上,声音覆盖范围小,常造成经常听不见门铃声的情况。鉴于这些情况,设计了一种带在人的手腕上将手表和无线门铃合二为一的手表门铃,不仅可以当普通手表来使用,还能以多种方式来提示门外有客。

1 系统总体设计

系统结构如图1所示。该系统以MSP430G2553单片机为控制核心,一方面采用DS1302时钟芯片提供准确的时间,可使用按键修改时间和设置闹铃,并通过OLED12832来显示以实现手表功能;另一方面当客人按下门铃按钮时通过PT2262的无线发射模块发射无线信号,由PT2272的无线接收模块接收到无线信号解码后送到单片机,根据由按键设定的门铃提示方式,分别通过扬声器、LED和小型直流电机进行相应的声音、闪光和振动等门铃提示,以实现无线门铃功能。该手表门铃带在人的手腕上,不仅可以像普通的电子表一样使用,还能在家里随时随地知道门外有客人求见。

图1 系统结构

2 系统硬件设计

该手表门铃要带在人的手腕上,电池采用3V纽扣电池供电,就需要系统选用具有超低功耗、低电压、高性能等特点的器件来设计硬件电路。

2.1 控制器模块

系统采用TI公司的MSP430G2553单片机作为控制器。MSP430G2553单片机是16位超低功耗混合信号微控制器,低电源电压范围为1.8~3.6V,5种低功耗工作模式,具有内置的16位定时器、多达24个支持触摸感测的I/O引脚、1个多用途模拟比较器以及采用通用串行通信接口的内置通信能力[1-3]。此外,MSP430G2553还具有一个10位模数(A/D)转换器。基于这些资源,满足整个系统对处理器的要求。

2.2 无线收发模块

无线收发模块采用台湾普城公司生产的PT2272/2262芯片进行设计。PT2262/PT2272是一种CMOS工艺制造的低功耗低价位通用编解码电路,工作电压范围为2.6~15V,最多可有12位(A0~A11)三态地址端管脚(悬空,接高电平,接低电平),任意组合可提供531441地址码,同一个系统地址码必须一致,不同的系统可以依靠不同的地址码加以区分[4]。

无线发射模块如图2所示。门铃按钮接在PT2262的数据码输入端D0,当没有被按下时,PT2262不接通电源,其第17脚为低电平,微功率RF无线发射模块F05V不工作,当有客人按下时,PT2262得电工作,其第17脚输出由地址码、数据码和同步码组成的串行数据信号,经RF无线发射模块F05V以315MHz的高频信号向周围空间发射。

图2 无线发射模块

无线接收模块如图3所示。解码芯片PT2272的解码有效确认脚VT接MSP430G2533的P1.3引脚。PT2272通过超外差无线接收模块J05V接收到信号后,其地址码经过2次比较核对后,VT脚才输出高电平,使P1.3引脚的状态由低电平变成高电平产生中断信号,引起单片机进入门铃中断服务程序。

图3 无线接收模块

2.3 DS1302时钟模块

系统选用DS1302时钟芯片来提供准确的时间。DS1302是美国DALLAS公司推出的一种高性能、低功耗和带RAM的实时时钟电路,可以对年、月、日、周日、时、分、秒计时,具有闰年补偿功能,工作电压为2.5~5.5V[5]。采用三线接口与 CPU 进行同步通信,并可采用突发方式一次传送多个字节的时钟信号或RAM数据。DS1302内部有一个31×8的用于临时性存放数据的RAM寄存器,本系统利用这些寄存器来实现对时间的调整。

2.4 OLED显示模块

显示模块采用0.96寸OLED12832显示屏模块,通过SPI接口与MSP430G2553单片机进行通信。OLED12832显示屏具有高分辨率、大于160°的可视角度、超低功耗、3~5V的宽供电范围、体积小、操作方便和功能丰富等特点[6]。

2.5 门铃提示模块

系统采用声音、闪光和振动组合4种门铃提示方式,其电路如图4所示。分别采用3V扬声器、LED和手机振动马达来实现。

图4 门铃提示模块

3 系统软件设计

3.1 主程序设计

系统程序由时间读取子程序、显示子程序、门铃提示中断子程序和按键处理中断子程序等组成,主程序流程如图5所示。

图5 主程序流程

3.2 按键处理中断子程序

系统采用3个独立按键通过中断触发方式,来实现调整时间、设置闹铃和关闭门铃等功能,所以每个按键都是一键多义,按键处理中断子程序流程如图6所示。当K1按键被按下时,根据Flag3的值是不是0来选择是通过Flag来设置调整时间对象(年、月、日、周日、小时、分钟和秒)还是调整闹铃对象的值加1,都是通过多次按压变换数值来实习的;当K2被按下时,根据Flag的值是不是0选择通过Flag2来设置门铃提示方式还是所调整时间对象的值加1;当K3被按下时,根据Flag的值是不是0选择所调整时间对象的值减1还是关闭门铃及通过Flag3来设置闹铃对象。

图6 按键处理中断子程序流程

4 结束语

经过不同户型的现场测试,该手表门铃已达到设计要求,不仅能准确显示时间、修改时间、设置闹铃和设置门铃提示方式,还能准确地按照设置方式进行门铃提示和关闭门铃,实现了将手表和无线门铃合二为一的功能。此外,具有操作简单、可靠实用、成本低廉和广阔的市场前景。

[1] 洪利,章扬,李世宝.MSP430单片机原理及应用实例详解[M].北京:北京航空航天大学出版社,2010.

[2] 沈建华,杨艳琴.MSP430系列16位超低功耗单片机原理与实践[M].北京:北京航空航天大学出版社,2008.

[3] Texes Instuments Incorporated.MSP430x2xx Family User's Guide [EB/OL].http:// www.ti.com.cn.2014-12-30.

[4] Princeton Technology Corporation.PT2262/PT2272Data Sheet[EB/OL].http://www.princeton.com.tw/.2014-11-25.

[5] Maxim Integrated.DS1302Trickle-Charge Timekeeping Chip[EB/OL].http://datasheets.maximintegrated.com/en/ds/DS1302.pdf.2015-01-05.

[6] 信意电子.0.96寸 OLED模块说明书[EB/OL].http://www.xyoled.com/pd.jsp?id=25&_pp=0_304_13_-1.2015-01-06.

猜你喜欢
门铃子程序低功耗
一种高速低功耗比较器设计
锤子门铃
门铃前的守候
给小松鼠家安门铃
门铃
浅谈子程序在数控车编程中的应用
子程序在数控车加工槽中的应用探索
西门子840D系统JOG模式下PLC调用并执行NC程序
ADI推出三款超低功耗多通道ADC
IDT针对下一代无线通信推出低功耗IQ调制器