微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > PIC单片机降低电池供电系统功耗问题解析方案

PIC单片机降低电池供电系统功耗问题解析方案

时间:07-02 来源:互联网 点击:

机)处于摘机时,电话线输入电压发生变化,引起CD40106的2脚输出电平变化,输入到CPU的RB0端口产生中断信号,唤醒CPU,控制器进入工作状态。通过本地机的拔号盘对控制器的各种功能进行控制。如控制电视、音响、照明灯等电器电源的开关。

*当控制器接收到振铃信号时,CD40106的4脚输出电平变化,输入CPU的RB6端口产生中断信号,唤醒CPU进入工作状态,并对振铃信号进行计数;达到设定铃声数后,使控制器进入电话接收状态,开始接收远程传输DTMF信号,经MT8880解调得到的信号通过IRQ向单片机发出中断信号,将数据存入寄存器,经CPU运行,对控制器的各种功能进行控制。

*当控制器作为报警器,并处于警备状态时,报警探头时刻检测防范区域的情况;当探头向控制器发出警情信息,输入CPU的RB5中断产生信号,控制器进入工作状态,从EEPROM芯片读出预先设置的报警电话号码,经MT8880转换为DTMF信号,自动拨号,以语音形式将信息传送给用户或直接报警。

2.3 应用电路

(1)电话接口电路

电话机与控制器采用控制器在前,电话机在后的串联方式,可实现电话机对控制器各种功能的控制。接口电路由过压保护电路、极性转换电路和中断请求电路组成,如图4所示。

①过压保护电路。在电话线回路上加入了一个压敏电阻R,它的作用是当它两端的电压大于其工作电压时呈短路状态,从而保护后级电路免受高压危害。当加到它的两端的电压小于其工作电压,压敏电阻呈开路状态,对后级电路的工作没有任何影响。在本设计中,压敏电阻的工作电压为220V。

②极性转换电路。由于在电话线上传输的是交流信号,为了使信号的极性固定,在电路中加入电桥,进行全波整流。

③中断请求电路。为延长电池工作时间,CPU在待机时处于休眠的省电状态,在实现远程电话机和本地机对控制器功能控制时,由中断请求电路将CPU唤醒。

(2)语音电路

语音电路如图5所示。它以ISD4000语音芯片为核心,主要是存储报警语音,输出经功率放大后传送到电话线上。

(3)MT8880与PIC单片机的接口电路

MT8880是Mitel公司的DTMF收发器,具有功能强、功耗低、工作稳定、可靠等性高优点,因此在DTMF信号调制的场合得到了广泛的应用。MT8880与PIC单片机的接口电路如图6所示。

①MT8880与单片机的接口电路。D0~D3为4根数据线,MT8880对经过前置处理的DTMF信号进行解调,将解调得的信号存入片内寄存器中,并通过IRQ向单片机发出中断信号。单片机相应中断请求后,在R、W、RS0、RD的控制下,通过D0~D3读出解调出的数据。

②DTMF信号放大电路。当微处理器将要发送的DTMF数据写入MT8880相应的寄存器时,MT8880从TONE引脚发出DTMF信号,信号经过放大电路放大后,送往变压器进行电压变化。

3 程序设计

程序在运行时:①为电器控制器,若是远程电话机对控制器进行操作,是根据电话的振铃声数来判断;若本地电话机对控制器进行操作,是根据本地电话机的摘机情况来判断。②为报警器,报警探头随时检测到警情并发出信号给控制器,而控制器则是根据用户的设置情况,是处于警备与否来判断是否拔出报警电话。图7是程序流程图。

下面主要介绍初始化程序、MT8880设置子程序和DTMF信号发送以及接收子程序。

;初始化寄存器

F0 EQU 0H

RTCC EQU 01H

PC EQU 02H

STATUS EQU 03H

FSR EQU 04H

RA EQU 05H

RB EQU 06H

RC EQU 07H

RD EQU 08H

RE EQU 09H

TRISA EQU 85H

TRISB EQU 86H

TRISC EQU 87H

TRISD EQU 88H

TRISE EQU 89H

DAIFS EQU 0X50;待发送的数据放在50开始的区域

RECE EQU 0X21

SEND EQU 0X22

DAIJS EQU 0X40 ;数据暂存在从40H开始的区域

;MT8880设置子程序

;置MT8880为DTMF接收状态

R8880:MOVLW0X0D

MOVWF REVE ;写控制寄存器A(接收模式)

MOVLW 0X00

MOVWF REVE ;写控制寄存器B(突发模式)

REIURN

;置MT8880为DTMF接收状态

T8880:MOVLW 0X0F

MOVWF SEND;写控制寄存器A(发送模式)

MOVLW 0X00

MOVWF SEND;写控制寄存器B(突发模式)

RETURN

;DTMF发送子程序

TELEPHON:CALL T8880 ;设置为发送模式

LOOP:MOVF DAIFS,0 ;拔号

MOVLW SEND

INCF DAIFS,1 ;检查是否发送结束

LL1:BTFSS SEND,1

GOTO LL1 ;已经发送完毕

CALL DELAY200 ;延时200ms

DECF DATALENGTH

GOTO LOOP ;发送完毕

RETURN

;DTMF接收子程序

RECEIVE:CALL R8880 ;设置为接收模式

RWT:MOVF DJIJS,0

MOVLW REVE

BTFSS REVE,2

GOTO RWT ;查询是否收到数据

MOVLW REVE

ANDLW 0XOF

MOVF REVE

INCF DAIJS,1

DECE DATALENGTH

RETURN

结语

利用PIC单片机低功耗方式设计电话远程控制器,待机时由电池供电,工作时由电话网供电,系统用4节5号电池可供控制器工作一年,产品可实现对家

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top