1.5 信号提示音检测
本单元可以在系统初始化的时候,在单片机的内存中开辟一块空间放置密码。当用户输入密码的时候,单片机把输入的密码写入另外的一块空间,然后利用减法运算比较两者是否相等。这样就可以实现密码检测的功能。信号音的规范以及其对应含义如表1所示。
2 软件设计
软件流程图如图5所示。
密码检测部分程序代码如下:
…
LCALL RING10 ;input password
IN: CLR 7EH ;7EH=0
DTMF: MOV R7,#5H ;PASSWORD:5 R7
MOV R1,#38H ;sign
SETB P1.4
SETB P1.5
SETB P1.6
SETB P1.7
WAIT: JBC 7EH,CC ;wait INT0
LJMP WAIT
CC: MOV R7,#5H ;password 5***
MOV R0,#30H ;password top
MOV R1,#38H ;sign
CMP: MOV A,@R1
MOV R4,A
CLR C
MOV A,@R1
SUBB A,@R0 ;test
INC R0
INC R1
JZ AAA ;OK,pass one
LJMP QQ
AAA: DJNZ R7,CMP ;R7-1!=0
LJMP LL ;pass
QQ: DJNZ R2,IN1 ;password wrong&R2!=0
LCALL RING20
LJMP STOP
IN1:LCALL RING20 ;password wrong,try!
LJMP IN
经过硬件安装与软件调试,测试结果表明本文设计的系统完全能够利用电话实现对空调、电视、电灯等8种家用电器的远程智能控制。本文提出的设计方案充分利用了电话网络的特点,为远程家电的控制提供了一种灵活、方便的方法,不但不会破坏家庭已有的装修,且方案成本低、性能高,具有灵活可靠的特点,对家电的控制变得更容易、更快捷、更方便、更安全。