اطلاعیه

Collapse
No announcement yet.

مشکل در عمل

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

    مشکل در عمل

    با عرض سلام خدمت اساتید محترم
    بنده تازه کار با avr هارو شروع کردم . برنامه ای که نوشتم به زبان basic هستش . برنامه شامل ساعت و دماسنج میشه که قراره روی یک lcd 16*2
    نمایش داده بشه . شبیه سازی برنامه تو proteus جواب میده اما در عمل ..... دیگه نمیدونم باید چیکار کنم :twisted: . تاپیک های قبلیم خوندم اما جواب نگرفتم . از اساتید خواهش میکنم راهنماییم کنم . فایل bascom و proteus و به صورت کامل میذارم ....اینم قسمتی از برنامم :
    [code=vb]$regfile = "m16adef.dat"
    $crystal = 1000000
    Config Portb.5 = Input
    Config Portb.6 = Input
    Config Portb.7 = InputConfig Lcdpin = Pin , Db4 = Portd.4 , Db5 = Portd.5 , Db6 = Portd.6 , Db7 = Portd.7 , Rs = Portd.3 , E = Portd.2
    Config Lcd = 16 * 2
    Config Portc.0 = Output
    Config Porta.5 = Output
    Config Porta.6 = Output
    Config Porta.7 = Output
    Config Timer2 = Timer , Async = On , Prescale = 128
    Config Adc = Single , Prescaler = Auto
    Dim San As Byte , Dagh As Byte , Saat As Byte
    Dim A As Word , B As Byte

    Locate 1 , 3
    Lcd "Amin Assadi"
    Wait 2
    Cls
    Start Adc
    B = 1
    Enable Interrupts
    Enable Timer2
    On Timer2 K
    Start Timer2
    Cls
    Cursor Off
    Do
    Loop
    K:
    Locate 1 , 1
    Lcd "Time ="

    Locate 2 , 16

    Incr B
    If B > 6 Then B = 1
    Incr San
    If San > 59 Then
    Incr Dagh
    San = 0
    If Dagh > 59 Then
    Incr Saat
    Dagh = 0
    San = 0
    If Saat > 23 Then
    Saat = 0
    San = 0
    Dagh = 0
    End If
    End If
    End If
    If Pinb.5 = 1 Then
    San = 0
    Elseif Pinb.6 = 1 Then
    Incr Dagh
    Elseif Pinb.7 = 1 Then
    Incr Saat
    If Saat > 23 Then
    Saat = 0
    Dagh = 0
    San = 0
    End If
    End If

    Locate 1 , 7
    If Saat < 10 Then
    Lcd "0" ; Saat ; ":"
    Else
    Lcd Saat ; ":"
    End If
    If Dagh < 10 Then
    Lcd "0" ; Dagh ; ":"
    Else
    Lcd Dagh ; ":"
    End If
    If San < 10 Then
    Lcd "0" ; San
    Else
    Lcd San
    End If[/code]

    #2
    پاسخ : مشکل در عمل

    سلام دوست عزیز
    مشکل دقیقا چیه؟؟
    درعمل...
    ما که نفهمیدیم...
    ال سی دی روشن نمیشه؟ :question:...مقادیر رو اشتباه نمایش میده؟ :question:...دقیقا کاش مشکله؟ :question:
    از چه سنسور دمایی داری استفاده میکنی؟ :question:
    در ضمن برای قرار دادن کد برنامه از قسمت قرار دادن کد استفاده کن(راهنمای استفاده از انجمن رو هم مطاله کنی بد نیست :redface
    موفق باشی

    اضافه شده در تاریخ :
    در ضمن سعی کن نقشه مدار رو هم بذاری تا بهتر بتونیم مشکل رو بررسی کنیم...
    شاید یه جاهایی از سخت افزارو بد بسته باشی...یا غلط بسته باشی
    اصلشم نشد عکسشو بذار
    من آن گلبرگ مغرورم که میمیرم ز بی آبی
    ولی با منت و خواری پی شبنم نمی گردم

    دیدگاه


      #3
      پاسخ : مشکل در عمل

      نوشته اصلی توسط RAMONA
      با عرض سلام خدمت اساتید محترم
      بنده تازه کار با avr هارو شروع کردم . برنامه ای که نوشتم به زبان basic هستش . برنامه شامل ساعت و دماسنج میشه که قراره روی یک lcd 16*2
      نمایش داده بشه . شبیه سازی برنامه تو proteus جواب میده اما در عمل ..... دیگه نمیدونم باید چیکار کنم :twisted: . تاپیک های قبلیم خوندم اما جواب نگرفتم . از اساتید خواهش میکنم راهنماییم کنم . فایل bascom و proteus و به صورت کامل میذارم ....اینم قسمتی از برنامم :
      $regfile = "m16adef.dat"
      $crystal = 1000000
      Config Portb.5 = Input
      Config Portb.6 = Input
      Config Portb.7 = InputConfig Lcdpin = Pin , Db4 = Portd.4 , Db5 = Portd.5 , Db6 = Portd.6 , Db7 = Portd.7 , Rs = Portd.3 , E = Portd.2
      Config Lcd = 16 * 2
      Config Portc.0 = Output
      Config Porta.5 = Output
      Config Porta.6 = Output
      Config Porta.7 = Output
      Config Timer2 = Timer , Async = On , Prescale = 128
      Config Adc = Single , Prescaler = Auto
      Dim San As Byte , Dagh As Byte , Saat As Byte
      Dim A As Word , B As Byte

      Locate 1 , 3
      Lcd "Amin Assadi"
      Wait 2
      Cls
      Start Adc
      B = 1
      Enable Interrupts
      Enable Timer2
      On Timer2 K
      Start Timer2
      Cls
      Cursor Off
      Do
      Loop
      K:
      Locate 1 , 1
      Lcd "Time ="

      Locate 2 , 16

      Incr B
      If B > 6 Then B = 1
      Incr San
      If San > 59 Then
      Incr Dagh
      San = 0
      If Dagh > 59 Then
      Incr Saat
      Dagh = 0
      San = 0
      If Saat > 23 Then
      Saat = 0
      San = 0
      Dagh = 0
      End If
      End If
      End If
      If Pinb.5 = 1 Then
      San = 0
      Elseif Pinb.6 = 1 Then
      Incr Dagh
      Elseif Pinb.7 = 1 Then
      Incr Saat
      If Saat > 23 Then
      Saat = 0
      Dagh = 0
      San = 0
      End If
      End If

      Locate 1 , 7
      If Saat < 10 Then
      Lcd "0" ; Saat ; ":"
      Else
      Lcd Saat ; ":"
      End If
      If Dagh < 10 Then
      Lcd "0" ; Dagh ; ":"
      Else
      Lcd Dagh ; ":"
      End If
      If San < 10 Then
      Lcd "0" ; San
      Else
      Lcd San
      End If
      مهندس بهتره بری سراغ زبان c . چون گفتی تازه شروع کردم دارم اینو بهت توصیه می کنم.
      در هرصورت هرطور که خودت صلاح میدونی
      یاعلی
      در کشور های غربی انتقال تجربیات و دانش به افراد مبتدی یک پیشرفت محسوب شده و به آن مدیریت دانش می گویند. ولی متاسفانه این فرهنگ هنوز در کشور ایران رایج نشده است !!!

      دیدگاه


        #4
        پاسخ : مشکل در عمل

        سلام برنامه برای کامپایل ارور نمیده؟؟؟؟
        به جای $regfile = "m16adef.dat
        همون regfile = "m16def.dat رو بنویس یعنی a رو قرار نده
        بعدشم شما تو خط پنجم این یه تیکه Config Portb.7 = InputConfig رو از بقی جدا کن یعنی بقیه رو بیار خط بعدی
        مگه این دستور Enable Interrupts نیاز به return نداره؟
        [آموزشی] کنترل رله با پیامک توسط sim800l
        [آموزشی] راه اندازی سنسورهای DHT11 و DHT22 با کدویژن
        [آموزشی] مدار عملی اتصال میکروفن خازنی به میکروکنترلر
        [آموزشی] آموزش نحوه راه اندازی میکروهای fmd
        صفحه اینستاگرام : ecdco_ir

        دیدگاه


          #5
          مشکل در عمل

          دوستان سخت افزارو چندین بار چک کردم ، درست بستم . LCDروشن میشه ولی یه سری حروف و کارکترهای نا مربوط نشون میده .
          فایلامو چطوری میتونم تو سایت اپلود کنم .؟


          اضافه شده در تاریخ :
          هم با a امتحان کردم هم بدون a ، تو proteus کار میکنه . نمیدونم چیکار باید کنم !! :sad:

          دیدگاه


            #6
            پاسخ : مشکل در عمل

            اگه مربع پررنگ میاد روی صحفه از بتانسیومتر هست

            دیدگاه


              #7
              پاسخ : مشکل در عمل

              تو پروتئوس کاملآ درست نشون میده؟
              فیوز بیت ها رو که دست نزدی
              کلاکش روی internal 1mhz هست دیگه؟
              [آموزشی] کنترل رله با پیامک توسط sim800l
              [آموزشی] راه اندازی سنسورهای DHT11 و DHT22 با کدویژن
              [آموزشی] مدار عملی اتصال میکروفن خازنی به میکروکنترلر
              [آموزشی] آموزش نحوه راه اندازی میکروهای fmd
              صفحه اینستاگرام : ecdco_ir

              دیدگاه


                #8
                پاسخ : مشکل در عمل

                فیوز بیتها رو چند بار تغییر دادم به خاطر اینکه فرکانس کاریمو تغییر دادم ولی بازم نشد ، من از پروگرمر eca استفاده میکنم . کار پروگرمم با برنامه progiso انجام میدم ، ممکنه مشکل از پروگرمر باشه ، چه پروگرمی خوبه ؟
                اگه میتونستم یه عکس بذارم خیلی خوب میشد . :angry:

                دیدگاه


                  #9
                  پاسخ : مشکل در عمل

                  نوشته اصلی توسط RAMONA
                  فیوز بیتها رو چند بار تغییر دادم به خاطر اینکه فرکانس کاریمو تغییر دادم ولی بازم نشد ، من از پروگرمر eca استفاده میکنم . کار پروگرمم با برنامه progiso انجام میدم ، ممکنه مشکل از پروگرمر باشه ، چه پروگرمی خوبه ؟
                  اگه میتونستم یه عکس بذارم خیلی خوب میشد . :angry:
                  راستش تا الان من با این برنامه کار پروگرم رو انجام ندادم
                  با خود بسکام چرا پروگرم نمیکنی
                  حواست باشه هر فرکانسی که برا میکرو تعیین میکنی(من پیشنهاد میدم همون یک مگاهرتز باشه) باید کلاک فیوز بیت هم همون فرکانس تعیین بشه
                  شما با بسکام خیلی راحت از قسمت فیوز بیت ها کلاک رو یک مگاهرتز اینترنال قرار بده
                  [آموزشی] کنترل رله با پیامک توسط sim800l
                  [آموزشی] راه اندازی سنسورهای DHT11 و DHT22 با کدویژن
                  [آموزشی] مدار عملی اتصال میکروفن خازنی به میکروکنترلر
                  [آموزشی] آموزش نحوه راه اندازی میکروهای fmd
                  صفحه اینستاگرام : ecdco_ir

                  دیدگاه


                    #10
                    پاسخ : مشکل در عمل

                    دوستان من کریستال ساعت رو روی پایه های toc1وtoc2 گذاشتم ..، فیوز بیتها تنظیمی برای این کریستال دارن ؟ برای قسمت های دیگه برنامم از کریستال داخلی 1M استفاده کردم ، ممکنه مشکل از این باشه ..؟ ممنون میشم اگه جواب بدید ، . :cry2:

                    دیدگاه

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