二、软件编制
图6为程序流程图。下面给出初始化程序和密码接收子程序。
;初始化程序
MAINBSFSTATUS,RP0
MOVLWB11111001’
MOVWFTRISA
MOVLWB00001111;定义RB口
MOVWFTRISB
MOVLWB10000111’
MOVWF81H
BCFSTATUS,5
MOVLWB00100000;定义中断
MOVWFINTCON
MOVLW0xOC;置时间初值
MOVWFRTCC
CLRFFLAG
CLRFPORTB
CLRFPORTA
BCFEEADR,6;为了节能而设
BCFEEADR,7
;密码接收子程序
CLRFFLAG
REMOVLW0x8
;接收8个DTMF信号
MOVWFCOUNT
MOVLWBUFlMOVWFFSR
;采用间接寻址
BSFFLAG,1;置超时标志
CLRFPP
CLRFSS
MOVLW0x30
MOVWFXS
BSFINTCON,7LOOP4BTFSSPORTA,4
;检测STD有效信号
GOTONEXTl
MOVFWPORTB
ANDLWB00001111’;屏敝
MOVWFINDF
XORLWB00001101’
;判断是否为“*”
BTFSSSTATUS,2
GOTOPASS;不是跳过
GOTORE;是“*”,重新输入PASSINCFFSR,l;下一缓冲区地址
DECFSZCOUNT,1
GOTOLOOP5
GOTOLOOP6L0OP5BTFSCPORTA,4
GOTOLOOP5
GOTOLOOP4NEXTlBTFSCFLAG,1;判是否超时
GOTOLOOP4;没有超时
BCFPORTB,4
RETURN;返回
三、电话远程遥控器的使用方法
拨打该电路板所接电话线路的号码,听到回铃声,经过一定的时间,电路自动摘机,发出“嘀、
嘀、嘀”声响,使用者输入8位密码(说明:在输入第8位密码前,若输错可按*键重新输入8位密
码,若输完8位并且输错了,控制器会自动关机),若密码正确则允许进行下一步操作(“嘀、嘀、
嘀”声提示):
1.按“1”键接通K1继电器(常闭断开,常开闭合),“嘀、嘀、嘀”声提示成功。
2.按“2”键断开K1继电器(常闭恢复闭合,常开恢复断开),“嘀、嘀、嘀”声提示成功。
3.按“3”键接通K2继电器,“嘀、嘀、嘀”声提示成功。
4.按“4”键断开K2继电器,“嘀、嘀、嘀”声提示成功。
5.输入“7”修改电话遥控器延时为15s钟左右摘机,“嘀、嘀、嘀”声提示成功。
6.输入“8”修改电话遥控器延时为22s钟左右摘机,“嘀、嘀、嘀”声提示成功。
7.输入“9”修改电话遥控器延时为30s钟左右摘机,“嘀、嘀、嘀”声提示成功。
8.按“0”键“嘀、嘀、嘀”声,提示输入8位新密码。
9.按“#”键挂断电话。若忘了按“#”键,控制板在空闲时会等待1分钟后自动断开电话线
路。
10.若忘记密码,只要先断开机器电源,然后按住板上的复位键不放,再接通电源,机器会初
始化密码及其他参数。初始密码为12345678。
四、结束语
此电路遥控板笔者已制作成功并使用,从未出过问题。有兴趣的读者可对其进行改造,增加控制路数或加入语音芯片实现语音提示功能,令系统更加完善。