اطلاعیه

Collapse
No announcement yet.

سوال در مورد دستور dtmfout در bascom

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

    سوال در مورد دستور dtmfout در bascom

    من می خوام با دستور dtmfout شماره گیری کنم . برای این کار اعداد رو از خونه اول تا 11 EEprom ذخیره کردم. می خوام بدونم میشه اعداد رو تکی تکی از EEPROM خوند و شماره گیری کرد یا باید حتما به صورت پشت سر هم و به صورت رشته باشه؟
    For I = 0 To 11
    Readeeprom A , I
    Waitms 20
    Dtmfout A , 50
    این درسته یا نه؟
    :cry2:
    behi

    #2
    پاسخ : سوال در مورد دستور dtmfout در bascom

    لازم نیست حتما پشت سر هم باشن
    فقط تاخیرشون نباید زیاد باشه

    شما اول اعدادی رو که میخونی روی LCD پشت سر هم نشون بده ببین درسته یا نه

    دیدگاه


      #3
      پاسخ : سوال در مورد دستور dtmfout در bascom

      من اعدادی رو که از E2prom می خونمو رو lcd نشون میدم و درسته :agree:
      با پروتئوس هم شبیه سازی کردم و پایه OCA1 رو به یک speaker وصل کردم ولی موقع شماره گیری speaker صدا نمیکنه و فقط پایه OCA1 یک میشه و همین طور یک میمونه :angry:
      behi

      دیدگاه


        #4
        پاسخ : سوال در مورد دستور dtmfout در bascom

        خب معلومه دیگه. تایمر را درست تنظیم نکردی. برنامتو بزار اینجا تا ایراد پیدا بشه.
        با عرض پوزش خدمت دایی های عزیزم تا اطلاع ثانوی به اینترنت دسترسی ندارم.

        دیدگاه


          #5
          پاسخ : سوال در مورد دستور dtmfout در bascom

          اینم برنامه
          l$regfile = "m8def.dat
          crystal = 4000000$
          Config Lcdpin = Pin , Db4 = Pind.4 , Db5 = Pind.5 , Db6 = Pind.6 , Db7 = Pind.7 , Rs = Pind.2 , E = Pind.3
          Config Lcd = 16 * 2
          Dim A As String * 15
          Dim B As String * 15
          Dim C As String * 15
          Dim Number As String * 15
          Dim E As Long
          Dim F As Byte
          Dim I As Byte

          '*********************** adadhaye 0 ta 10 ro az khane 0 ta 10 EEPROM write mikone *************
          E = 0
          For I = 0 To 10
          Writeeeprom E , I
          Waitms 20
          Incr E
          Next

          '************************* adade khane 0 ro az EEPROM mikhoone va LCD mikone **************

          Readeeprom F , 0
          Waitms 20
          (B = Str(f
          Cls
          Lcd B
          Waitms 500
          Cls

          '*************** adadhaye khane 1 ta 6 ro az EEPROM mikhoone ba ham jam mikone va LCD mikone **********

          For I = 1 To 6
          Readeeprom F , I
          Waitms 20
          (A = Str(f
          B = B + A

          Lcd B
          Waitms 500
          Cls
          Next

          '*************** adadhaye khane 7 ta 8 ro az EEPROM mikhoone ba ham jam mikone va LCD mikone **********

          For I = 7 To 8
          Readeeprom F , I
          Waitms 20
          (A = Str(f
          B = B + A
          Lcd B
          Waitms 500
          Cls
          Next
          Number = B

          '********************** shomare giri *****************
          Lcd Number
          Waitms 500
          Dtmfout Number , 50
          Waitms 100

          End
          اول اعداد رو به صورت رشته در آوردم ، بعد همه رو تو یه رشته گذاشتم و بعد شماره گیری .
          اگه برنامه دیگه ای سراغ دارید برام بنویسید ، لطفا
          توی برنامه ی اصلیم می خوام اعداد رو از keypad بگیرم ، بعد توی EEPROMذخیره کنم و بعد همونارو شماره گیری کنم
          behi

          دیدگاه


            #6
            پاسخ : سوال در مورد دستور dtmfout در bascom

            سلام
            شما برای این کار حتما باید از کریستال خارجی 8 مگا استفاده کنید من نقشه و برنامه اونو براتون می زارم می تونید دانلود کنید:
            فایل های پیوست شده

            دیدگاه


              #7
              پاسخ : سوال در مورد دستور dtmfout در bascom

              از برنامه ای که گذاشتی ممنون ، ولی من برنامم به زبان basic هستش.
              اگه می شه برنامه رو به زبان بیسیک bascom برام بزارید.
              behi

              دیدگاه


                #8
                پاسخ : سوال در مورد دستور dtmfout در bascom

                behi

                دیدگاه


                  #9
                  پاسخ : سوال در مورد دستور dtmfout در bascom

                  شماره گیری به روش پالس رو جواب گرفتم :wow:
                  اگه کسی می خواد تا برنامه و شماتیک مدارو واسش بزارم
                  behi

                  دیدگاه


                    #10
                    پاسخ : سوال در مورد دستور dtmfout در bascom

                    سلام
                    لطفا برنامه و شماتیک مدار شماره گیر
                    را در سایت قرار دهید :icon_razz:

                    دیدگاه


                      #11
                      پاسخ : سوال در مورد دستور dtmfout در bascom

                      اینم برنامه و مدار :

                      این برنامه عددها رو از خونه 50 تا 61 EEPROM میخونه و شماره گیری می کنه
                      باید از قبل عددها رو تو EEPROM ذخیره کرده باشید

                      $regfile = "m32def.dat"
                      $crystal = 8000000

                      Config Pinb.0 = Output
                      Config Pinb.1 = Input
                      Dim A As Byte , B As Byte , C As Byte , D As Byte

                      Portb.0 = 1

                      Do
                      If Pinb.1 = 0 Then
                      Portb.0 = 0
                      Waitms 1000
                      For C = 51 To 61
                      Readeeprom D , C
                      Waitms 30
                      If D = 0 Then D = 10
                      For A = 1 To D
                      Portb.0 = 1
                      Waitms 65
                      Portb.0 = 0
                      Waitms 40
                      Next A
                      Waitms 1000
                      Next C
                      Portb.0 = 0
                      Wait 50
                      Portb.0 = 1
                      Wait 4
                      End If
                      Loop
                      End

                      http://www.ecapic.ir/image/ECA-090522002839.jpg
                      behi

                      دیدگاه

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