1. You can now buy finished microcontroller project from us, Check out the Store for the complete list of projects.
  2. Need a custom project, Send us some details about your project. So that we can quote the price for it.

Circuit and Program to Interface MT8870 with AT89S51 1.0

Decoding the DTMF signals from the telephone line with circuit diagram.

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

    Program
    Code (Text):
    1. INCLUDE reg_52.pdf
    2.  
    3.       STD  EQU  P3.0    ;DTMF OUTPUT
    4.       Q3                EQU        P3.1
    5.       Q2                EQU        P3.2
    6.       Q1                EQU        P3.3
    7.       Q0                EQU        P3.4
    8.      
    9.       RING        EQU        P3.5
    10.  
    11.       DIS_A        EQU        P0.0      
    12.       DIS_B        EQU        P0.1
    13.       DIS_C        EQU        P0.2
    14.       DIS_D        EQU        P0.3
    15.       DIS_E        EQU        P0.4
    16.       DIS_F        EQU        P0.5
    17.       DIS_G        EQU        P0.6
    18.                                  
    19. DSEG            ; This is internal data memory
    20. ORG    20H    ; Bit adressable memory
    21.  
    22.       DTMF:  DS  1
    23.       D0 BIT  DTMF.0
    24.       D1        BIT        DTMF.1
    25.       D2        BIT        DTMF.2
    26.       D3        BIT        DTMF.3      
    27. CSEG            ; Code begins here
    28. ;---------==========----------==========---------=========---------
    29. ;              PROCESSOR INTERRUPT AND RESET VECTORS
    30. ;---------==========----------==========---------=========---------
    31.                 ORG    00H    ; Reset
    32.           MOV SP,#60H
    33.           MOV R2,#15H
    34.       CALL DISP        ;Display - symbol on display
    35.           SETB STD        ;Make STD pin as input
    36.                
    37. TOP:        JNB STD,$        ;wait for new data
    38.       CALL READ        ;Read Data
    39.       MOV R2,DTMF                              
    40.       CALL DISP        ;Display Dialled Data
    41.       JB STD,$                ;Wait until the key is released
    42.       AJMP TOP        ;Repeat the function                                      
    43. ;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    44. ;                READ DTMF TONES
    45. ;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%              
    46. READ:
    47.       MOV DTMF,#00H
    48.       SETB Q0
    49.       SETB Q1
    50.       SETB Q2
    51.       SETB Q3
    52.       JNB Q0,VB1
    53.       SETB D0
    54. VB1:        JNB Q1,VB2
    55.       SETB D1              
    56. VB2:        JNB Q2,VB3
    57.       SETB D2
    58. VB3:        JNB Q3,VB4
    59.       SETB D3
    60. VB4:        RET              
    61. ;&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
    62. ;        7 SEGMENT DISPLAY ROUTINE
    63. ;&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
    64. DISP:
    65.       CJNE R2,#00H,AAS1
    66.       CLR DIS_A
    67.       CLR DIS_B
    68.       CLR DIS_C
    69.       CLR DIS_D
    70.       CLR DIS_E
    71.       CLR DIS_F
    72.       SETB DIS_G
    73.       RET
    74. AAS1:        CJNE R2,#01H,AS2
    75.       CLR DIS_B
    76.       CLR DIS_C
    77.       SETB DIS_A
    78.       SETB DIS_D
    79.       SETB DIS_E
    80.       SETB DIS_F
    81.       SETB DIS_G
    82.       RET
    83. AS2:        CJNE R2,#02H,AS3
    84.       CLR DIS_A
    85.       CLR DIS_B
    86.       CLR DIS_D
    87.       CLR DIS_E
    88.       CLR DIS_G
    89.       SETB DIS_C
    90.       SETB DIS_F
    91.       RET
    92. AS3:        CJNE R2,#03H,AS4
    93.       CLR DIS_A
    94.       CLR DIS_B
    95.       CLR DIS_C
    96.       CLR DIS_D
    97.       CLR DIS_G
    98.       SETB DIS_E
    99.       SETB DIS_F
    100.       RET
    101. AS4:        CJNE R2,#04H,AS5
    102.       CLR DIS_B
    103.       CLR DIS_C
    104.       CLR DIS_F
    105.       CLR DIS_G
    106.       SETB DIS_A
    107.       SETB DIS_D
    108.       SETB DIS_E
    109.       RET
    110. AS5:        CJNE R2,#05H,AS6
    111.       CLR DIS_A
    112.       CLR DIS_C
    113.       CLR DIS_D
    114.       CLR DIS_F
    115.       CLR DIS_G
    116.       SETB  DIS_B
    117.       SETB DIS_E
    118.       RET
    119. AS6:        CJNE R2,#06H,AS7
    120.       CLR DIS_A
    121.       CLR DIS_C
    122.       CLR DIS_D
    123.       CLR DIS_E
    124.       CLR DIS_F
    125.       CLR DIS_G
    126.       SETB DIS_B
    127.       RET
    128. AS7:        CJNE R2,#07H,AS8
    129.       CLR DIS_A
    130.       CLR DIS_B
    131.       CLR DIS_C
    132.       SETB DIS_D
    133.       SETB DIS_E
    134.       SETB DIS_F
    135.       SETB DIS_G
    136.       RET
    137. AS8:        CJNE R2,#08H,AS9
    138.       CLR DIS_A
    139.       CLR DIS_B
    140.       CLR DIS_C
    141.       CLR DIS_D
    142.       CLR DIS_E
    143.       CLR DIS_F
    144.       CLR DIS_G
    145.       RET
    146. AS9:        CJNE R2,#09H,AS10
    147.       CLR DIS_A
    148.       CLR DIS_B
    149.       CLR DIS_C
    150.       CLR DIS_D
    151.       CLR DIS_F
    152.       CLR DIS_G
    153.       SETB DIS_E
    154.       RET
    155. AS10:        CJNE R2,#15H,AS11                ;symbol for -
    156.       SETB DIS_A
    157.       SETB DIS_B
    158.       SETB DIS_C
    159.       SETB DIS_D
    160.       SETB DIS_E
    161.       SETB DIS_F
    162.       CLR DIS_G
    163.       RET
    164. AS11:      
    165.       CJNE R2,#16H,AS12                ;switch off all disp
    166.       SETB DIS_A
    167.       SETB DIS_B
    168.       SETB DIS_C
    169.       SETB DIS_D
    170.       SETB DIS_E
    171.       SETB DIS_F
    172.       SETB DIS_G
    173.       RET
    174. AS12:      
    175.       RET
    176. ;**********************************************************      
    177.       END
    Emin and ggcamie like this.
Loading...