اطلاعیه

Collapse
No announcement yet.

ATtiny15

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

    ATtiny15

    با سلام

    لطفا یکی بگه تو این برنامه ساده چه مشکلی هست که اجرا نمیشه .من قبلا با M8,M16,M32 کار کردم و هیچ مشکلی نداشتم و این اولین باریه که با

    ATtiny15 کار میکنم .

    من برنامه هایی برای M16 نوشتم که به زور سر و تهش رو زدم تا اندازش کوچیکتر بشه و تو m16 رایت شه اونوقت تو این فسقلی گیر افتادم .

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

    البته من از کریستال خارجی استفاده نکردم و از اوسیلاتور داخلی میکرو استفاده کردم

    b.0 = ورودی
    b.1 = خروجی
    b.2 = خروجی

    شروع :

    با یک شدن ورودی یعنی b.0 شروع به شمردن ثانیه ها بکنه و همزمان خروجی b.1 به طور متناوب یک ثانیه یک و یک ثانیه صفر بشود تا وقتی ثانیه به 20

    برسه . موقعی که ثانیه به 20 رسید خروجی b.2 یک بشه . در ضمن در طول کل برنامه و در هر ثانیه ورودی تست بشه تا در صورت صفر بودن برنامه

    برگرده به خط شروع


    $regfile = "at15def.dat"
    $crystal = 1600000
    $tiny
    Dim A As Iram Byte


    Config Pinb.0 = Input
    Config Pinb.1 = Output
    Config Pinb.2 = Output

    Mainstart:
    A = 0
    Bitwait Portb.0 , Set




    Startline:
    Do
    Wait 1
    A = A + 1
    Portb.1 = 1
    If A = 20 Then Goto Soundline
    Wait 1
    Portb. = 0
    Loop Until Pinb.0 = 0
    Goto Mainstart



    Soundline:
    Do
    Portb.2 = 1
    Wait 1
    Loop Until Pinb.0 = 0
    portb.2=0
    Goto Mainstart

    End



    #2
    پاسخ : ATtiny15

    من برنامه رو کامپایل کردم خطایی ندیدم.

    یه چیز دیگه. مگه اسیلاتور داخلی میکرو از 8 مگا هم بیشتر میشه؟

    دیدگاه


      #3
      پاسخ : ATtiny15

      سلام.
      تا اونجایی که ما اطلاع داربم
      کلاک داخلی ATINY15 بیشتر از 1.6 مگا هرتز نمیشه.
      این دوستمون هم از همون فرکانس استفاده کرده.

      hamed_online62 جان فکر کنم شما 16 مگ دیدی؟
      www.icesi.ir

      دیدگاه


        #4
        پاسخ : ATtiny15

        :icon_razz:
        آره اشتباهی 16 مگ دیدم

        دیدگاه


          #5
          پاسخ : ATtiny15

          آقا حامد , برنامه موقع کامپایل شدن مشکلی نداره و به راحتی رایت میشه , مشکل اینه که رو میکرو اجرا نمیشه

          چند تا نمونه برنامه نوشتم , فقط خط اول اجرا میشه ؟

          lمثلا برنامه زیر رو ببینید , خروجی به LED وصله و باید به صورت چشمک زدن عمل کنه

          $regfile = "at15def.dat"
          $crystal = 1600000
          $tiny

          Config Pinb.0 = Input
          Config Pinb.1 = Output
          Config Pinb.2 = Output

          Portb.1 = 1
          Wait 1
          Portb.1 = 0
          Wait 1
          Portb.1 = 1
          Wait 1
          Portb.1 = 0
          Wait 1
          Portb.1 = 1

          End

          ولی LED روشن میشه و روشن میمونه

          حالا تو برنامه دوم که خط اول اون PORTb.1=0 هست LED خاموش میمونه و روشن نمیشه


          $regfile = "at15def.dat"
          $crystal = 1600000
          $tiny

          Config Pinb.0 = Input
          Config Pinb.1 = Output
          Config Pinb.2 = Output

          Portb.1 = 0
          Wait 1
          Portb.1 = 1
          Wait 1
          Portb.1 = 0
          Wait 1
          Portb.1 = 1
          Wait 1
          Portb.1 = 0

          End


          پس نتیجه میگیریم فقط خط اول اجرا میشه , حالا چرا نمیدونم ؟ در ضمن رو سه تا ATtiny15 تست کردم فرقی نکرد .

          دیدگاه


            #6
            پاسخ : ATtiny15

            والا به نظر من هم برنامه مشکلی نداره. چون منم با این میکرو کار نکردم دقیق نمی تونم نظر بدم. حتما دوستایی که با این میکرو کار کردن کمک می کنن.

            ببینم چیزی می تونم پیدا کنم؟؟

            دیدگاه


              #7
              پاسخ : ATtiny15

              سلام.

              من که خودم ic رو ندارم تست کنم ولی موقع پروگرام کردن یه سری هم به قسمت فیوز بیت ها بزن ببین چه خبره.

              فرکانس و تنظیم کن نکنه اسیلاتور خارجی تعریف شده باشه.

              این نظر من بود امتحانش مجانیه .حتما یه نگاهی بکن.
              www.icesi.ir

              دیدگاه


                #8
                پاسخ : ATtiny15

                راستش من از فیوزبیتها سر در نمیارم ولی رو کتاب کاهه مقایسه کردم به نظرم درست باشه :


                http://i31.tinypic.com/2s85itz.jpg

                دیدگاه


                  #9
                  پاسخ : ATtiny15

                  راستش من تا حالا با tiny کار نکردم.

                  دوستانی که کار کردند لطفا کمک کنند.
                  www.icesi.ir

                  دیدگاه


                    #10
                    پاسخ : ATtiny15

                    دوباره سلام.

                    راستی sisco جان یه کاری بهت میگم بکن ببین برنامت جواب میگیره یا نه.

                    برنامه رو اصلاح کن به بجای دستور wait 1 از دستور waitms 1000 استفاده کن.

                    فکر کنم به احتمال 98% جواب بگیری ...

                    جواب گرفتی منو بی خبر نذار.


                    -----------------------------------------------------------------------------------
                    برای تشکر از پست های ارسالی از + استفاده کنید.
                    www.icesi.ir

                    دیدگاه


                      #11
                      پاسخ : ATtiny15

                      فیوز بیت کلاک داخلی رو چک کنید!
                      باید مشکل از اون باشه! چون پالس کلاک نمیاد که دستور بعدی اجرا بشه!

                      دیدگاه


                        #12
                        پاسخ : ATtiny15

                        سلام.

                        از فیوز بیتش نیست.

                        همون کاری که من در بالا گفتم رو بکن فکر کنم درست بشه.

                        تو برنامه wait به کار نبر از waitms استفاده کن.درست میشه.
                        www.icesi.ir

                        دیدگاه


                          #13
                          پاسخ : ATtiny15

                          جناب موسوی:
                          ممکنه همین که شما میگین باشه!
                          ولی از کجا میونین که از فیوز بیت نیست؟

                          دیدگاه


                            #14
                            پاسخ : ATtiny15

                            بالا تر رو نگاه کن یه عکس هستش اون وضعیت فیوز بیت ها هستش.

                            میتونی نگاه کنی.

                            www.icesi.ir

                            دیدگاه


                              #15
                              پاسخ : ATtiny15

                              نه آقا میلاد فرقی نکرد . waitms و waitus رو تست کردم مثل قبل بود . تو خط اول هنگ میکنه .

                              اول یه نگاه به مدار بنداز ببین درسته :

                              http://i26.tinypic.com/29vyrua.jpg

                              دیدگاه

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