Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

program for 8870 dtmf interfacing with 8051

Status
Not open for further replies.

niranjan23

Member level 5
Member level 5
Joined
Jan 22, 2012
Messages
94
Helped
3
Reputation
6
Reaction score
2
Trophy points
1,288
Activity points
2,109
I want to interface 8870 dtmf ic with 8051

what is the program for ....this when we press 1, 2... like this


thankyou
 

I want to interface 8870 dtmf ic with 8051

what is the program for ....this when we press 1, 2... like this


thankyou


Can be more specific ?

You need to decode DTMF using 8051 and show number on 7-seg LED or LCD ?




Interfacing 8870 DTMF decoder with 8051
https://www.dnatechindia.com/Tutorial/8051-Tutorial/INTERFACING-8870-DTMF-DECODER.html


8870 with 89S51/52 decode DTMF on 7-seg
**broken link removed**

This section describes how to interface an DTMF decoder to the microcontroller AT89C51/52
and to display the digits over the seven segment display. The circuit also has an Ring sensor which is not used in the program.

thumb351734.GIF


Code:
INCLUDE reg_52.pdf

       STD   EQU   P3.0    ;DTMF OUTPUT
       Q3                EQU        P3.1
       Q2                EQU        P3.2
       Q1                EQU        P3.3
       Q0                EQU        P3.4
       
       RING        EQU        P3.5

       DIS_A        EQU        P0.0        
       DIS_B        EQU        P0.1
       DIS_C        EQU        P0.2
       DIS_D        EQU        P0.3
       DIS_E        EQU        P0.4
       DIS_F        EQU        P0.5
       DIS_G        EQU        P0.6
                                   
DSEG            ; This is internal data memory
ORG     20H     ; Bit adressable memory

       DTMF:  DS  1
       D0 BIT   DTMF.0
       D1        BIT        DTMF.1
       D2        BIT        DTMF.2
       D3        BIT        DTMF.3        
CSEG            ; Code begins here
;---------==========----------==========---------=========---------
;              PROCESSOR INTERRUPT AND RESET VECTORS 
;---------==========----------==========---------=========---------
                ORG     00H    ; Reset
          MOV SP,#60H
          MOV R2,#15H
       CALL DISP        ;Display - symbol on display
          SETB STD        ;Make STD pin as input
                 
TOP:        JNB STD,$        ;wait for new data
       CALL READ        ;Read Data
       MOV R2,DTMF                                
       CALL DISP        ;Display Dialled Data
       JB STD,$                ;Wait until the key is released
       AJMP TOP        ;Repeat the function                                        
;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
;                READ DTMF TONES
;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%                
READ:
       MOV DTMF,#00H
       SETB Q0
       SETB Q1
       SETB Q2
       SETB Q3
       JNB Q0,VB1
       SETB D0
VB1:        JNB Q1,VB2
       SETB D1                
VB2:        JNB Q2,VB3
       SETB D2
VB3:        JNB Q3,VB4
       SETB D3
VB4:        RET                
;&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
;        7 SEGMENT DISPLAY ROUTINE
;&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
DISP:
       CJNE R2,#00H,AAS1
       CLR DIS_A
       CLR DIS_B
       CLR DIS_C
       CLR DIS_D
       CLR DIS_E
       CLR DIS_F
       SETB DIS_G
       RET
AAS1:        CJNE R2,#01H,AS2
       CLR DIS_B
       CLR DIS_C
       SETB DIS_A
       SETB DIS_D
       SETB DIS_E
       SETB DIS_F
       SETB DIS_G
       RET
AS2:        CJNE R2,#02H,AS3
       CLR DIS_A
       CLR DIS_B
       CLR DIS_D
       CLR DIS_E
       CLR DIS_G
       SETB DIS_C
       SETB DIS_F
       RET
AS3:        CJNE R2,#03H,AS4
       CLR DIS_A   
       CLR DIS_B
       CLR DIS_C
       CLR DIS_D
       CLR DIS_G
       SETB DIS_E
       SETB DIS_F
       RET
AS4:        CJNE R2,#04H,AS5
       CLR DIS_B
       CLR DIS_C
       CLR DIS_F
       CLR DIS_G
       SETB DIS_A
       SETB DIS_D
       SETB DIS_E
       RET
AS5:        CJNE R2,#05H,AS6
       CLR DIS_A
       CLR DIS_C
       CLR DIS_D
       CLR DIS_F
       CLR DIS_G
       SETB  DIS_B
       SETB DIS_E
       RET
AS6:        CJNE R2,#06H,AS7
       CLR DIS_A
       CLR DIS_C
       CLR DIS_D
       CLR DIS_E
       CLR DIS_F
       CLR DIS_G
       SETB DIS_B
       RET
AS7:        CJNE R2,#07H,AS8
       CLR DIS_A
       CLR DIS_B
       CLR DIS_C
       SETB DIS_D
       SETB DIS_E
       SETB DIS_F
       SETB DIS_G
       RET
AS8:        CJNE R2,#08H,AS9
       CLR DIS_A
       CLR DIS_B
       CLR DIS_C
       CLR DIS_D
       CLR DIS_E
       CLR DIS_F
       CLR DIS_G
       RET
AS9:        CJNE R2,#09H,AS10
       CLR DIS_A
       CLR DIS_B
       CLR DIS_C
       CLR DIS_D
       CLR DIS_F
       CLR DIS_G
       SETB DIS_E
       RET
AS10:        CJNE R2,#15H,AS11                ;symbol for -
       SETB DIS_A
       SETB DIS_B
       SETB DIS_C
       SETB DIS_D
       SETB DIS_E
       SETB DIS_F
       CLR DIS_G
       RET
AS11:        
       CJNE R2,#16H,AS12                ;switch off all disp
       SETB DIS_A
       SETB DIS_B
       SETB DIS_C
       SETB DIS_D
       SETB DIS_E
       SETB DIS_F
       SETB DIS_G
       RET
AS12:        
       RET
;**********************************************************        
       END
 
Last edited:

Status
Not open for further replies.

Similar threads

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top