اطلاعیه

Collapse
No announcement yet.

شماره گیری تلفن توسط هی سی mt8888

Collapse
X
 
  • فیلتر
  • زمان
  • Show
Clear All
new posts

    شماره گیری تلفن توسط هی سی mt8888

    با سلام و خسته نباشید من تقریبا 3 ماه که می خوام با آی سی mt8888 می خوام شماره گیری کنم ولی نمی تونم با میکرو 89s52 با زبان بیسیک کسی می تونه با این آی سی به من کمک کنه خیلی عصابم رو خورد کرد ممنون از همه
    من آن گلبرگ مغرورم که می میرم ز بی آبی ولی با خفت و خواری پی شبنم نمی گردم.

    #2
    پاسخ : شماره گیری تلفن توسط هی سی mt8888

    $regfile = "8052.dat"
    $crystal = 12000000
    Config Lcd = 16 * 2
    Config Lcdpin = Pin , Db4 = P2.4 , Db5 = P2.5 , Db6 = P2.6 , Db7 = P2.7 , E = P2.3 , Rs = P2.2

    Dim A As Byte
    Declare Sub Dtmf_out_off
    Declare Sub Dtmf_out_on
    Declare Sub Int_mt
    Declare Sub Data_rd
    Declare Sub Data_rw
    Declare Sub Command_rw
    Declare Sub Command_rd
    Declare Sub Send_data_dtmf
    Declare Sub Receive_data_dtmf
    Declare Sub Dial_up
    Declare Sub Out_dtmf(a As Byte)


    '******************************************** *
    'connect pin 14,15,16,17 of mt8888 to p1.0--p1.3

    Irq Alias P1.4 'pin 13 mt8888 to p1.4
    Rd Alias P1.7 'pin 12 mt8888 to p1.7
    Rs Alias P1.6 'pin 11 mt8888 to p1.6
    Rw Alias P1.5 'pin 9 mt8888 to p1.5
    Relay Alias P2.0
    Ring Alias P2.1
    Sw Alias P3.0


    Declare Sub Showlcd
    Dim Ringcount As Byte
    Dim Ringrec As Byte
    Dim Endcall As Byte
    Dim X As Byte
    Dim Send_en_bit As Bit
    Dim Tel As String * 15
    Dim Telx As String * 1
    Dim Len_tel As Byte
    Dim I As Byte
    Dim Receive_byte As Byte
    Dim Busy_cuont As Word
    Dim Status As Byte
    Tel = "0123456789"


    Call Int_mt
    Lcd "Initializing"
    Wait 2


    Do
    If Sw = 0 Then
    Cls
    Lcd "Dialing"
    Wait 2

    Cls
    Call Dial_up


    End If

    Loop
    End

    '///////////////////
    Receive_ring:
    If Ring = 1 Then
    Do
    Loop Until Ring = 0
    Incr Ringcount
    End If
    Return
    '////////////////////
    Sub Showlcd

    Locate 1 , 1
    Lcd 11 ; "RING"

    End Sub
    '////////////////////////////
    Sub Dial_up
    Relay = 0
    Waitms 500
    Relay = 1
    P1 = &B11110100
    Call Command_rw
    Len_tel = Len(tel)
    For I = 1 To Len_tel
    Telx = Mid(tel , I , 1)
    X = Val(telx)
    If X = 0 Then
    X = 10
    End If
    Call Out_dtmf(x)
    Lcd X
    Next
    End Sub
    '/////////////////////////
    Sub Receive_data_dtmf
    Receive_byte = 0
    P1.0 = 0
    P1.1 = 0
    P1.2 = 0
    P1.3 = 0
    Call Command_rd
    Status = P1 And &H0F
    If P1.2 = 1 Then
    Call Data_rd
    Receive_byte = P1
    Receive_byte = Receive_byte And &B00001111
    End If
    If Receive_byte > 0 Then
    Lcd Receive_byte
    End If
    End Sub
    '/////////////////////////////////
    Sub Out_dtmf(a As Byte)
    P1 = &B11111100
    Call Command_rw
    P1 = &B11110001
    Call Command_rw
    Call Dtmf_out_on
    P1 = A
    Call Data_rw
    Call Dtmf_out_off
    End Sub
    '//////////////////////
    Sub Dtmf_out_off
    Waitms 400
    P1 = &B00000100
    Call Command_rw
    Waitms 100
    End Sub
    '////////////////////////////
    Sub Dtmf_out_on
    P1 = &B00000101
    Call Command_rw
    End Sub
    '////////////////////////////
    Sub Int_mt
    Call Command_rd
    Waitms 100
    P1 = &B00000000
    Call Command_rw
    Waitms 100
    P1 = 0
    Call Command_rw
    Waitms 100
    P1 = &B00001000
    Call Command_rw
    Waitms 100
    P1 = 0
    Call Command_rw
    Waitms 100
    Call Command_rd
    End Sub
    '/////////////////////////////////
    Sub Command_rw
    Rs = 1
    Rd = 1
    Rw = 0
    Waitms 10
    Rw = 1
    End Sub
    '//////////////////////
    Sub Command_rd
    Rs = 1
    Rd = 0
    Rw = 1
    Waitms 10
    Rd = 1
    End Sub
    '////////////////////////
    Sub Data_rw
    Rs = 0
    Rd = 1
    Rw = 0
    Waitms 10
    Rw = 1
    End Sub
    '//////////////////////////
    Sub Data_rd
    Rs = 0
    Rd = 0
    Rw = 1
    Waitms 10
    End Sub
    '////////////////////

    دیدگاه


      #3
      پاسخ : شماره گیری تلفن توسط هی سی mt8888

      سلام
      من بعد 2 سال برگشتم (رفته بودم سربازی)

      من با MT8888 کار کردم ولی میکرو 8051 بود آخه مال سال 84 هست. البته چند دفعه در این مورد از من سوال شد که من نتونستم بنابر بعضی مشکلات جواب بدم که ازشون معضرت می خوام.
      حالا اگه فکر می کنین برنامه بدرد می خوره برنامه رو بزرام

      دیدگاه

      لطفا صبر کنید...
      X