ورود به حساب ثبت نام جدید فراموشی کلمه عبور
برای ورود به حساب کاربری خود، نام کاربری و کلمه عبورتان را در زیر وارد کرده و روی «ورود به سایت» کلیک کنید.





اگر فرم ورود برای شما نمایش داده نمیشود، اینجا را کلیک کنید.









اگر فرم ثبت نام برای شما نمایش داده نمی‌شود، اینجا را کلیک کنید.









اگر فرم بازیابی کلمه عبور برای شما نمایش داده نمی‌شود، اینجا را کلیک کنید.





کاربران برچسب زده شده

نمایش نتایج: از 1 به 3 از 3

موضوع: sim800 بسکام

  1. #1
    2009/12/19
    16
    1
    mzr

    sim800 بسکام

    سلام من یه برنامه با زبان بسکام خریدم که وقتی گرما بالاتر از رنج تعریف شده میره sms میده.توی توضیحاتش نوشته به 3 تا سیم کارت پیام میده اما فقط به یکی پیام میده چه جوری میشه کاری کرد که به سه تا سیم کارت پیام بده
    Data_sms:
    Var = 0 : Data_eram = "" : Code = ""
    Incr T2
    If T2 > 3 Then
    T2 = 0
    Gosub Meno
    End If
    If T2 = 1 Then
    Code = Tell1
    Waitms 10
    Var = Asc(code)
    If Var = 255 Or Code = "" Then Gosub Data_sms
    End If
    If T2 = 2 Then
    Code = Tell2
    Waitms 10
    Var = Asc(code)
    If Var = 255 Or Code = "" Then Gosub Data_sms
    End If
    If T2 = 3 Then
    Code = Tell3
    Waitms 10
    Var = Asc(code)
    If Var = 255 Or Code = "" Then Gosub Data_sms
    End If
    Var = 0 : T2 = 5
    Print "AT+CMGS=" ; Chr(34) ; Code ; Chr(34)
    Wait 1
    Print Sms ; " SERVER ROOM" ; Chr(26)
    Gosub Data_sms
    Return
    '************************************************* ************ Sub [Status_Temp]
    Status_temp:
    Sms = ""
    If Error = 2 Then
    Sms = "Temp ERROR!!! / "
    End If
    Code = Fusing(temp , "#.#")
    Sms = Sms + "Temp : " + Code + " C"
    Waitms 20
    Gosub Data_sms
    Return
  2. #2
    2016/05/25
    759
    631

    پاسخ : sim800 بسکام

    کد خودتون و در یک تگ " #" که برای کد هست قرار بدید.تا متن کد تون جهت عوض نکنن.و جابجای اتفاق نیفته.
    در حالت کلی برا اینکه این کد و تحلیل کنی حداقلش باید 15دقیقه وقت گذاشت.15دقیقه وقت بارزشی است که یک کاربر در اینجا برای شما میذاره.شما هم برای وقت عزیان ارزش قایل شوید.بنابراین از شما میخوام که دوباره کدخودتون و در تگ کد قراربدید تا بهتر بشه دید.مطلب بعدی اینه که مقدار کد شما کامل نیست.صلا متغیر هایی که در داخلش اومده و یا توابعی که در بین کد تون فراخوانی شده ولی خد توابع نیست.بنابراین با این قطعه کدتون نمیشه به نتیجه رسید.
    ویرایش توسط Namvar14 : 2020/09/02 در ساعت 07:20
    eshop-hodhod.ir
  3. #3
    2009/12/19
    16
    1
    mzr

    پاسخ : sim800 بسکام

    سلام ببخشید بلد نبودم .کد برنامه رو هم کامل گذاشتم
    کد:
    $regfile = "m8def.dat"
    $crystal = 8000000
    $hwstack = 128
    $swstack = 128
    $framesize = 128
    '************************************************************************** Baud
    $baud = 9600
    '************************************************************************ TIMER2
    Config Timer2 = Timer , Prescale = 1024
    Enable Interrupts
    Enable Ovf2
    On Ovf2 Clock
    Stop Timer2
    '*************************************************************************** ADC
    Config Adc = Single , Prescaler = Auto
    Start Adc
    Enable Adc
    '*************************************************************************** LCD
    Config Lcdpin = Pin , Db4 = Pinb.0 , Db5 = Pind.7 , Db6 = Pind.6 , Db7 = Pind.5 , Rs = Pinb.1 , E = Pinb.2
    Config Lcd = 16 * 2
    Cursor Off
    Cls
    '***************************************************************** Config Output
    Config Portb.4 = Output                                     'LED Temp Error
    Config Portb.5 = Output                                     'LED Temp Normal
    Config Portc.2 = Output                                     'RLY Temp Down
    Config Portc.3 = Output                                     'RLY Temp Up
    '****************************************************************** Alias Output
    Rly_temp_down Alias Portc.2
    Rly_temp_up Alias Portc.3
    Led_temp_error Alias Portb.4
    Led_temp_normal Alias Portb.5
    Rly_temp_down = 0 : Rly_temp_up = 0 : Led_temp_error = 0 : Led_temp_normal = 0
    '****************************************************************** Config Input
    Config Pind.2 = Input                                       'Pin Ring GSM
    '******************************************************************* Alias Input
    Ri Alias Pind.2
    '**************************************************************** Dim Var As ...
    Dim T As Byte
    Dim F0 As Byte
    Dim T2 As Byte
    Dim T3 As Byte
    Dim T7 As Byte
    Dim Show As Bit
    Dim Mic As Byte
    Dim Tik As Byte
    Dim Var As Byte
    Dim Din As Word
    Dim Error As Byte
    Dim Temp As Single
    Dim Time_lcd As Byte
    Dim Var_up As Single
    Dim Var_dn As Single
    Dim Sms As String * 200
    Dim Code As String * 20
    Dim T_dn As Eram Single
    Dim T_up As Eram Single
    Dim T_dn_flash As Single
    Dim T_up_flash As Single
    Dim Data_in As String * 1
    Dim Data_sd As String * 4
    Dim Str_var As String * 1
    Dim _string As String * 3
    Dim Var_eram As String * 4
    Dim Data_eram As String * 4
    Dim Tell1 As Eram String * 14
    Dim Tell2 As Eram String * 14
    Dim Tell3 As Eram String * 14
    Dim Code_charge As String * 30
    Dim Password As Eram String * 4
    Dim Var_epeam As Eram String * 4
    Code = Password
    Waitms 10
    Var_eram = Var_epeam
    Waitms 10
    If Code = Var_eram Then
    Code = "0000"
    Password = Code
    Waitms 10
    T_dn = 20
    Waitms 10
    T_up = 40
    Waitms 10
    End If
    T_dn_flash = T_dn
    Waitms 10
    T_up_flash = T_up
    Waitms 10
    Var_dn = T_dn_flash + 1
    If T_up_flash > 0 Then
    Var_up = T_up_flash - 1
    Else
    Var_up = T_up_flash
    End If
    Start Timer2
    '*******************************************************************************
    Cls
    Locate 1 , 1
    Lcd " Please wait... "
    Locate 2 , 1
    Lcd "    Print AT    "
    Wait 2
    Print "AT"
    Wait 2
    Print "AT"
    Wait 2
    Print "AT"
    Wait 4
    Print "ATE0"
    Locate 2 , 1
    Lcd "   Print ATE0   "
    Wait 4
    Print "AT+CMGF=1"
    Locate 2 , 1
    Lcd "Print AT+CMGF=1 "
    Wait 4
    Print "AT+MORING=1"
    Locate 2 , 1
    Lcd " Print AT+MORING"
    Wait 2
    Print "AT+CSMP=17,167,0,0"
    Locate 2 , 1
    Lcd ">CSMP=17,167,0,0"
    Wait 2
    Gosub Meno
    '******************************************************************** Sub [Meno]
    Meno:
    Show = 0
    Cls
    Locate 1 , 1
    Lcd " Please wait... "
    Locate 2 , 1
    Lcd "Setting up a SIM"
    Wait 10
    Print "AT+CMGD=4,4"
    Show = 1
    Do
    ''''''''''''''''''''''''''''''''''
    If Error = 1 Then
    Error = 2
    Gosub Status_temp
    End If
    ''''''''''''''''''''''''''''''''''
    If Ri = 0 Then
    Waitms 200
    If Ri = 1 Then Gosub Read_sms
    If Ri = 0 And Mic = 1 Then
    Wait 2
    Print "ATA"
    Wait 2
    Print "AT+CMIC=0,15"
    End If
    End If
    ''''''''''''''''''''''''''''''''''
    If T7 >= 129 And Mic = 1 Then
    T7 = 0 : Mic = 0
    Print "ATH"
    Wait 3
    Sms = "MIC [ OFF ]"
    Gosub Data_sms
    End If
    Loop
    Return
    '**************************************************************** Sub [Read_sms]
    Read_sms:
    Show = 0
    Wait 2
    Print "AT+CMGR=1"
    Sms = "" : Data_in = "" : T = 0 : T3 = 0 : F0 = 1
    Do
    Var = Inkey()
    Select Case Var
    Case 0:
    Case 13:
    Case 10:
    Case 34:
    Incr T
    If T = 8 Then F0 = 2
    Case Else
    Data_in = Chr(var)
    If Data_in = "O" And T = 8 Then Exit Do
    If Data_in = "o" And T = 8 Then Exit Do
    If F0 = 2 Then
    Sms = Sms + Chr(var)
    End If
    End Select
    If T3 >= 3 Then Exit Do
    Loop
    F0 = 0 : T = 0 : T3 = 0
    Data_sd = Mid(sms , 1 , 4)
    Waitms 20
    If Len(sms) = 8 Or Len(sms) = 19 Then
    If Data_sd = "temp" Or Data_sd = "Temp" Or Data_sd = "TEMP" Then Gosub Run
    If Data_sd = "mic1" Or Data_sd = "Mic1" Or Data_sd = "MIC1" Then Gosub Run
    _string = Mid(sms , 1 , 2)
    If _string = "dn" Or _string = "DN" Or _string = "Dn" Then Gosub Edit_temp
    If _string = "up" Or _string = "UP" Or _string = "Up" Then Gosub Edit_temp
    _string = Mid(sms , 1 , 3)
    If _string = "tel" Or _string = "Tel" Or _string = "TEL" Then Gosub Edit_tell
    End If
    If Data_sd = "pass" Or Data_sd = "Pass" Or Data_sd = "PASS" And Len(sms) = 12 Then Gosub Edit_password
    Gosub Meno
    Return
    '********************************************************* Sub [Verify_password]
    Verify_password:
    Show = 0
    Code = "" : Data_eram = ""
    Code = Mid(sms , 5 , 4)
    Data_eram = Password
    Waitms 10
    If Code = Data_eram Then
    Code = "OK" : Data_eram = ""
    End If
    Return
    '*********************************************************** Sub [Edit_password]
    Edit_password:
    Gosub Verify_password
    If Code = "OK" Then
    Code = Mid(sms , 9 , 4)
    Password = Code
    Waitms 10
    '''''''''''''''''''''''''Start Show LCD
    Cls
    Locate 1 , 1
    Lcd "OK>Edit Password"
    Locate 2 , 1
    Lcd "<electronics 98>"
    '''''''''''''''''''''''''END Show LCD
    Sms = "OK >>> New Password : " + Code
    Gosub Data_sms
    End If
    Gosub Meno
    Return
    '**************************************************************** Sub [Run_look]
    Run:
    Gosub Verify_password
    If Code = "OK" Then
    Cls
    Locate 1 , 1
    Lcd "OK>Verify SMS..."
    Locate 2 , 1
    Lcd "<electronics 98>"
    If Data_sd = "mic1" Or Data_sd = "Mic1" Or Data_sd = "MIC1" Then
    T7 = 0 : Mic = 1
    Sms = "MIC [ ON ] For [ 120 s ]"
    Gosub Data_sms
    End If
    If Data_sd = "temp" Or Data_sd = "Temp" Or Data_sd = "TEMP" Then
    Gosub Status_temp
    End If
    End If
    Gosub Meno
    Return
    '*************************************************************** Sub [Edit_tell]
    Edit_tell:
    Gosub Verify_password
    If Code = "OK" Then
    Code = Mid(sms , 9 , 11)
    Cls
    Locate 1 , 1
    Lcd "OK>Verify SMS..."
    Locate 2 , 1
    Lcd "<electronics 98>"
    If Data_sd = "tel1" Or Data_sd = "Tel1" Or Data_sd = "TEL1" Then
    Tell1 = Code
    Waitms 10
    Sms = "Phone [ 1 ] Number Saved : [ " + Code + " ]"
    Gosub Data_sms
    End If
    If Data_sd = "tel2" Or Data_sd = "Tel2" Or Data_sd = "TEL2" Then
    Tell2 = Code
    Waitms 10
    Sms = "Phone [ 2 ] Number Saved : [ " + Code + " ]"
    Gosub Data_sms
    End If
    If Data_sd = "tel3" Or Data_sd = "Tel3" Or Data_sd = "TEL3" Then
    Tell3 = Code
    Waitms 10
    Sms = "Phone [ 3 ] Number Saved : [ " + Code + " ]"
    Gosub Data_sms
    End If
    End If
    Gosub Meno
    Return
    '*************************************************************** Sub [Edit_temp]
    Edit_temp:
    Gosub Verify_password
    If Code = "OK" Then
    Code = Mid(sms , 3 , 2)
    Cls
    Locate 1 , 1
    Lcd "OK>Verify SMS..."
    Locate 2 , 1
    Lcd "<electronics 98>"
    '//////////////////////////////////////////////////////////Edit Temp Up
    If _string = "up" Or _string = "UP" Or _string = "Up" Then
    T_up_flash = Val(code)
    T_up = T_up_flash
    Waitms 10
    If T_up_flash > 0 Then
    Var_up = T_up_flash - 1
    Else
    Var_up = T_up_flash
    End If
    Sms = "OK >>> Temp Up : " + Str(t_up_flash) + " C "
    Gosub Data_sms
    End If
    '//////////////////////////////////////////////////////////Edit Temp Down
    If _string = "dn" Or _string = "DN" Or _string = "Dn" Then
    T_dn_flash = Val(code)
    T_dn = T_dn_flash
    Waitms 10
    Var_dn = T_dn_flash + 1
    Sms = "OK >>> Temp Down : " + Str(t_dn_flash) + " C "
    Gosub Data_sms
    End If
    End If
    Gosub Meno
    Return
    '**************************************************************** Sub [Data_sms]
    Data_sms:
    Var = 0 : Data_eram = "" : Code = ""
    Incr T2
    If T2 > 3 Then
    T2 = 0
    Gosub Meno
    End If
    If T2 = 1 Then
    Code = Tell1
    Waitms 10
    Var = Asc(code)
    If Var = 255 Or Code = "" Then Gosub Data_sms
    End If
    If T2 = 2 Then
    Code = Tell2
    Waitms 10
    Var = Asc(code)
    If Var = 255 Or Code = "" Then Gosub Data_sms
    End If
    If T2 = 3 Then
    Code = Tell3
    Waitms 10
    Var = Asc(code)
    If Var = 255 Or Code = "" Then Gosub Data_sms
    End If
    Var = 0 : T2 = 5
    Print "AT+CMGS=" ; Chr(34) ; Code ; Chr(34)
    Wait 1
    Print Sms ; " / www.electronics98.com" ; Chr(26)
    Gosub Data_sms
    Return
    '************************************************************* Sub [Status_Temp]
    Status_temp:
    Sms = ""
    If Error = 2 Then
    Sms = "Temp ERROR!!! / "
    End If
    Code = Fusing(temp , "#.#")
    Sms = Sms + "Temp : " + Code + " C"
    Waitms 20
    Sms = Sms + " | Temp Down : " + Str(t_dn_flash) + " C"
    Waitms 20
    Sms = Sms + " | Temp up : " + Str(t_up_flash) + " C"
    Waitms 20
    Str_var = Str(rly_temp_down)
    Sms = Sms + " | Relay Temp Down : " + Str_var
    Waitms 20
    Str_var = Str(rly_temp_up)
    Sms = Sms + " | Relay Temp Up : " + Str_var
    Waitms 20
    Gosub Data_sms
    Return
    '******************************************************************* Sub [Clock]
    Clock:
    Incr Tik
    Din = Din + Getadc(1)
    If Tik >= 30 Then
    Din = Din / Tik
    Temp = Din / 2.04
    Tik = 0
    Gosub Clock_tik
    End If
    Return
    '*************************************************************** Sub [Clock_tik]
    Clock_tik:
    If Temp <= T_dn_flash Then
    Rly_temp_down = 1
    If Error = 0 Then Error = 1
    End If
    If Temp > Var_dn Then
    Rly_temp_down = 0
    End If
    If Temp >= T_up_flash Then
    Rly_temp_up = 1
    If Error = 0 Then Error = 1
    End If
    If Temp < Var_up Then
    Rly_temp_up = 0
    End If
    ''''''''''''''''''''''''''''''''''''''''''''''''''Status LEDs Temp
    If Temp > Var_dn And Temp < Var_up Then Error = 0
    If Error = 0 Then
    Led_temp_error = 0
    Toggle Led_temp_normal
    Else
    Led_temp_normal = 0
    Toggle Led_temp_error
    End If
    ''''''''''''''''''''''''''''''''''''''''''''''''''
    If F0 <> 0 And T3 < 20 Then Incr T3
    If F0 = 0 And T3 <> 0 Then T3 = 0
    '''''''''''''''''''''''''''''''''''''''''''''''''' MIC
    If Mic = 1 And T7 < 130 Then
    Incr T7
    End If
    If Mic = 0 And T7 <> 0 Then
    T7 = 0
    End If
    ''''''''''''''''''''''''''''''''''''''''''''''''''Temperature Measurement
    Incr Time_lcd
    If Time_lcd > 4 Then Time_lcd = 1
    If Show = 1 Then
    Locate 1 , 1
    Lcd "                "
    Locate 1 , 1
    Lcd "> Temp : " ; Fusing(temp , "#.#") ; " c  "
    If Time_lcd = 1 Or Time_lcd = 2 Then
    Locate 2 , 1
    Lcd "                "
    Locate 2 , 1
    Lcd "Temp Down:" ; Fusing(t_dn_flash , "#.#") ; " c  "
    End If
    If Time_lcd = 3 Or Time_lcd = 4 Then
    Locate 2 , 1
    Lcd "                "
    Locate 2 , 1
    Lcd "Temp Up :" ; Fusing(t_up_flash , "#.#") ; " c  "
    End If
    End If
    Return
    '------------------------------END PROGRAM--------------------------------------
    'Farhad Akbari
    'www.electronics98.com
نمایش نتایج: از 1 به 3 از 3

موضوعات مشابه

  1. سیم کارت sim800
    توسط FeriSali در انجمن ماژول های GPS - GSM - GPRS
    پاسخ: 22
    آخرين نوشته: 2020/01/03, 20:12
  2. a6/a7 یا sim800/900
    توسط an3023 در انجمن ماژول های GPS - GSM - GPRS
    پاسخ: 4
    آخرين نوشته: 2018/02/26, 21:57
  3. ضبط صدا با SIM800
    توسط qwwe در انجمن ماژول های GPS - GSM - GPRS
    پاسخ: 0
    آخرين نوشته: 2017/11/28, 09:52
  4. SIM800
    توسط max400 در انجمن پروژه ها و مقالات تكميل شده AVR
    پاسخ: 0
    آخرين نوشته: 2017/01/16, 12:51
  5. راه اندازی SIM800
    توسط SARA22_ELEC در انجمن میکروکنترلرهای AVR
    پاسخ: 12
    آخرين نوشته: 2017/01/10, 12:40

کلمات کلیدی این موضوع

علاقه مندي ها (Bookmarks)

علاقه مندي ها (Bookmarks)

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •