اطلاعیه

Collapse
No announcement yet.

مشکل در راه اندازی Atmega8

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

    مشکل در راه اندازی Atmega8

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

    برنامه :

    کد:
    $regfile = "m8def.dat"
    $crystal = 8000000
    $baud = 19200
    Config Lcdpin = Pin , Rs = Pinc.0 , E = Pinc.1 , Db4 = Pinc.2 , Db5 = Pinc.3 , Db6 = Pinc.4 , Db7 = Pinc.5
    Config Lcd = 16 * 2
    Config Portb.1 = Output
    Dim I As Integer
    Cursor Off
    Cls
    
    Do
    Set Portb.1
    Locate 1 , 1
    Lcd "on "
    Waitms 200
    Reset Portb.1
    Locate 1 , 1
    Lcd "off"
    Waitms 200
    Loop
    
    End
    پروتئوس




    مدار رو به شکل زیر می بندم :



    کل پروژه :

    http://islamicculture.persiangig.com/other/temp.rar

    اینم مدار :


    #2
    پاسخ : مشکل در راه اندازی Atmega8

    به نام خدا
    سلام
    عکس مداری که گذاشته بودین، نشانگر این بود که شما ال-سی-دی رو در عمل نبستین :eek: . از اونجایی که در برنامه تون از ال سی دی استفاده کردین و در یکی از خطوط برنامه، ال سی دی فراخونی شده، بنابراین ابتدا باید ال-سی-دی توسط زیر برنامه ای که ما نمیبینیمش ولی در کتابخونه ی بسکام وجود داره و شما فراخونیش کردی، راه اندازی بشه :read: . در زمان راه اندازی ال سی دی، بعد از ارسال چند بایت به ال-سی-دی، میکرو منتظر میمونه تا ببینه ال-سی-دی چه جوابی میده . از اونجا که شما در عمل، ال-سی-دی رو نذاشتین، بنابراین، در یک خط از زیربرنامه های راه اندازی ال-سی-دی، برنامه منتظر میمونه تا پاسخی از ال-سی-دی دریافت بکنه و چون شما نبستینش، پاسخی نمیشنوه و همینطور منتظره oo: !
    گناه داره حیوونی :cry2: اون ال سی دی رو هم ببند، :applause: بذار میکرو از این حالت کما بیاد بیرون :rolleyes:
    1: اللهم صل علي محمد و آل محمد و عجل فرجهم و ...
    2: دانش بهتره يا ثروت؟ بدون شعور هيچکدوم!
    3: دلا معاش چنان کن که گر بلغزد پاي *** فرشته‌ات به دو دست دعا نگه دارد (حافظ)

    دیدگاه


      #3
      پاسخ : مشکل در راه اندازی Atmega8

      نوشته اصلی توسط محمدصادق رستمی
      به نام خدا
      سلام
      عکس مداری که گذاشته بودین، نشانگر این بود که شما ال-سی-دی رو در عمل نبستین :eek: . از اونجایی که در برنامه تون از ال سی دی استفاده کردین و در یکی از خطوط برنامه، ال سی دی فراخونی شده، بنابراین ابتدا باید ال-سی-دی توسط زیر برنامه ای که ما نمیبینیمش ولی در کتابخونه ی بسکام وجود داره و شما فراخونیش کردی، راه اندازی بشه :read: . در زمان راه اندازی ال سی دی، بعد از ارسال چند بایت به ال-سی-دی، میکرو منتظر میمونه تا ببینه ال-سی-دی چه جوابی میده . از اونجا که شما در عمل، ال-سی-دی رو نذاشتین، بنابراین، در یک خط از زیربرنامه های راه اندازی ال-سی-دی، برنامه منتظر میمونه تا پاسخی از ال-سی-دی دریافت بکنه و چون شما نبستینش، پاسخی نمیشنوه و همینطور منتظره oo: !
      گناه داره حیوونی :cry2: اون ال سی دی رو هم ببند، :applause: بذار میکرو از این حالت کما بیاد بیرون :rolleyes:
      خیلی ممنون
      آخه بستم بازم کار نکرد.
      میشه گفت ال سی دی خرابه؟

      دیدگاه


        #4
        پاسخ : مشکل در راه اندازی Atmega8

        نکته ی دیگه ای که باید توجه کنین اینه که پایه ی ریست میکرو رو اگر ازش استفاده نکردین (که ظاهرا نکردین در اینجا) به منبع تغذیه وصل کنین. در اتمگا 8 پایه ی شماره 1 میکرو میشه. در غیر اینصورت با چون به جایی وصل نیست، احتمالا مدام ریست میشه مدار شما.
        ..............
        نکته : همیشه قبل از اینکه کار به جاهای باریک بکشه، میکروتون رو با یک برنامه ی ساده تست بکنین. مقلا یک چشمک زن ساده.
        ..............
        نکته : در زمان پروگرم کردن میکرو، JTAG رو غیر فعال کنین.
        ..............
        نکته : در زمان پروگرم کردن میکرو اتمگا 8، به گزینه ای که پایه ی ریست میکرو رو به عنوان پایه ی ریست یا به عنوان ورودی خروجی تعریف میکنه دقت کنین
        ..............
        موفق باشید
        1: اللهم صل علي محمد و آل محمد و عجل فرجهم و ...
        2: دانش بهتره يا ثروت؟ بدون شعور هيچکدوم!
        3: دلا معاش چنان کن که گر بلغزد پاي *** فرشته‌ات به دو دست دعا نگه دارد (حافظ)

        دیدگاه


          #5
          پاسخ : مشکل در راه اندازی Atmega8

          نوشته اصلی توسط محمدصادق رستمی
          نکته ی دیگه ای که باید توجه کنین اینه که پایه ی ریست میکرو رو اگر ازش استفاده نکردین (که ظاهرا نکردین در اینجا) به منبع تغذیه وصل کنین. در اتمگا 8 پایه ی شماره 1 میکرو میشه. در غیر اینصورت با چون به جایی وصل نیست، احتمالا مدام ریست میشه مدار شما.........
          lcd رو حذف کردم با configش
          resetرو به 5 ولت وصل کردم
          jtagرو غیر فعال کردم

          بازم کار نکرد.

          دیدگاه


            #6
            پاسخ : مشکل در راه اندازی Atmega8

            سلام دوست عزیز
            ببین شما که روی برد برد بستی کارت راحت تره
            یه زحمت بکش یه ال ای دی با یه مقاومت وصل کن به پایه ی 2 یعنی (rxd)
            بعد این برنامه رو پروگرام کن

            $regfile="m8def.dat"
            $crystal=1000000
            portd.0=output
            set portd.0
            waitms 200
            end

            بعد ببین ال ای دی روشن میشه؟ با اهم متر تست بگیر ببین روی این پایه ولتاژ داری؟
            با این کار مشخص میشه که مشکلت از کجاست
            جوابو بگو تا بریم سر مرحله بعد
            موفق باشی
            به اميد ظهور مولامون که صد البته نزديک است

            دیدگاه


              #7
              پاسخ : مشکل در راه اندازی Atmega8

              مشکل شما دوست عزیز از میکرو هست نه از برنامه .. شما همون جوری که دوستمون گفتن یه LED اگه چشمک زد یعنی درسته کاره برنامت ...
              مشکل شما در اصل به درایو رله بر میگرده .. نویزی که سیم پیچ رله به مدار شما وارد میکنه باعث هنگ کردن و ریست میکرو میشه . خودم هم همین مشکل رو اوایل داشتم ..
              شما فقط دو تا IN4007 بگیر و از کلکتور به زمین و VCC به صورت معکوس اتصال بده .. مشکلت حل میشه ..
              اگرم دیدی داره اذیت مینه که مطمئنا نمی کنه .. طبق همین نقشه ای که کشیدی .... بیا IRF640 بزار ...

              دیدگاه


                #8
                پاسخ : مشکل در راه اندازی Atmega8

                [quote author=hossein110110 link=topic=70957.msg419991#msg419991 date=1356207195]
                برنامه :

                کد:
                $regfile = "m8def.dat"
                $crystal = 8000000
                $baud = 19200
                Config Lcdpin = Pin , Rs = Pinc.0 , E = Pinc.1 , Db4 = Pinc.2 , Db5 = Pinc.3 , Db6 = Pinc.4 , Db7 = Pinc.5
                Config Lcd = 16 * 2
                Config Portb.1 = Output
                Dim I As Integer
                Cursor Off
                Cls
                
                Do
                Set Portb.1
                Locate 1 , 1
                Lcd "on "
                Waitms 200
                Reset Portb.1
                Locate 1 , 1
                Lcd "off"
                Waitms 200
                Loop
                
                End
                سلام دوست عزیزم.
                من سوادم دراون حد نیست که بتونم نظر استادانی که بالاخره یه پیرهن بیشتر از من پاره کردن را رد کنم. ولی با اجازه خود شما و استادان من یه ویرایشی تو برنامت انجام میدم

                کد:
                $regfile = "m8def.dat"
                'کریستال را روی یک مگا تنظیم کردم$crystal = 1000000
                این خط را پاک کن.چون تو به ارتباط سریال کاری نداری   $baud = 19200
                Config Lcd = 16 * 2
                Config Lcdpin = Pin , Rs = Pinc.0 , E = Pinc.1 , Db4 = Pinc.2 , Db5 = Pinc.3 , Db6 = Pinc.4 , Db7 = Pinc.5
                
                Config Portb.1 = Output
                این خطم پاک کن چون کاریش نداری  Dim I As Integer
                Cursor Off
                Cls
                
                Do
                Set Portb.1
                Locate 1 , 1
                Lcd "on "
                Waitms 200
                Reset Portb.1
                
                بعد از اینکه ریست کردی یا توخط دوم بنویس آف یا دوباره ال سی دی را پاک کن بعد تو خط اول بنویس
                Locate 1 , 1
                Lcd "off"
                Waitms 200
                Loop
                
                End
                این برنامم خودش چشمک زنه با این تفاوت که lcd بهش اضافه شده.بعدم پورت ریست ، c.6 هست که تو توی برنامت استفاده نکردی.کاریم به فیوزبیت و پین کاری نداشته باش

                دیدگاه


                  #9
                  پاسخ : مشکل در راه اندازی Atmega8

                  نوشته اصلی توسط majidrt27
                  سلام دوست عزیز
                  ببین شما که روی برد برد بستی کارت راحت تره
                  یه زحمت بکش یه ال ای دی با یه مقاومت وصل کن به پایه ی 2 یعنی (rxd)
                  بعد این برنامه رو پروگرام کن

                  $regfile="m8def.dat"
                  $crystal=1000000
                  portd.0=output
                  set portd.0
                  waitms 200
                  end

                  بعد ببین ال ای دی روشن میشه؟ با اهم متر تست بگیر ببین روی این پایه ولتاژ داری؟
                  با این کار مشخص میشه که مشکلت از کجاست
                  جوابو بگو تا بریم سر مرحله بعد
                  موفق باشی
                  configش افتاده بود.
                  با تشکر ولی جواب نداد.
                  ولتاژ پایه 0.10 ولته.

                  دیدگاه


                    #10
                    پاسخ : مشکل در راه اندازی Atmega8

                    نوشته اصلی توسط sina_mehraban
                    مشکل شما دوست عزیز از میکرو هست نه از برنامه .. شما همون جوری که دوستمون گفتن یه LED اگه چشمک زد یعنی درسته کاره برنامت ...
                    مشکل شما در اصل به درایو رله بر میگرده .. نویزی که سیم پیچ رله به مدار شما وارد میکنه باعث هنگ کردن و ریست میکرو میشه . خودم هم همین مشکل رو اوایل داشتم ..
                    شما فقط دو تا IN4007 بگیر و از کلکتور به زمین و VCC به صورت معکوس اتصال بده .. مشکلت حل میشه ..
                    اگرم دیدی داره اذیت مینه که مطمئنا نمی کنه .. طبق همین نقشه ای که کشیدی .... بیا IRF640 بزار ...
                    منظورتون دیود هرزگرده؟
                    گذاشتم ولی باز کار نکرد.
                    الانم ال ای دی رو بستم بازم کار نمیکنه.

                    دیدگاه


                      #11
                      پاسخ : مشکل در راه اندازی Atmega8

                      کسی نیست راهنماییم کنه؟ :cry2:

                      دیدگاه


                        #12
                        پاسخ : مشکل در راه اندازی Atmega8

                        احتمالات زیر رو بررسی کن :
                        1 : پایه ی ریست میکروت هنوز رو هواست
                        2 : جهت ال-ای-دی رو درست گذاشتی؟
                        3 : شاید میکروت مشکل داره؟
                        4 : ال-ای-دی سالمه؟
                        5 : برنامه به درستی پروگرم شده؟
                        6 : فرکانس چشمک زدن ال-ای-دی چقدره؟
                        7 : ببین برنامه ای که نوشتی توی پروتئوس جواب میده؟
                        8 : موفع پروگرم کردن، فرکانس میکروت با فرکانس برنامه ای که نوشتی یکیه؟
                        9 : ...
                        1: اللهم صل علي محمد و آل محمد و عجل فرجهم و ...
                        2: دانش بهتره يا ثروت؟ بدون شعور هيچکدوم!
                        3: دلا معاش چنان کن که گر بلغزد پاي *** فرشته‌ات به دو دست دعا نگه دارد (حافظ)

                        دیدگاه


                          #13
                          پاسخ : مشکل در راه اندازی Atmega8

                          نوشته اصلی توسط محمدصادق رستمی
                          احتمالات زیر رو بررسی کن :
                          1 : پایه ی ریست میکروت هنوز رو هواست
                          2 : جهت ال-ای-دی رو درست گذاشتی؟
                          3 : شاید میکروت مشکل داره؟
                          4 : ال-ای-دی سالمه؟
                          5 : برنامه به درستی پروگرم شده؟
                          6 : فرکانس چشمک زدن ال-ای-دی چقدره؟
                          7 : ببین برنامه ای که نوشتی توی پروتئوس جواب میده؟
                          8 : موفع پروگرم کردن، فرکانس میکروت با فرکانس برنامه ای که نوشتی یکیه؟
                          9 : ...
                          با سلام و تشکر فراوان
                          1 : پایه ریست تست شده
                          2 : جهت ال ای دی تست شده
                          3 : با سه تا mega16 تست کردم هیش کدوم کار نکردن حتی یکی رو از بازار تازه گرفتم بازم کار نکرد
                          4 : ال ای دی روشن میشه
                          5 : چندبن بار پروگرم کردم
                          6 : ***************منظورتونو از فرکانس نمی دونم*****************
                          7 : تو پروتئوس بطور کامل کار می کنه
                          8 : ***************منظورتونو از فرکانس نمی دونم*****************

                          دیدگاه


                            #14
                            پاسخ : مشکل در راه اندازی Atmega8

                            نوشته اصلی توسط محمدصادق رستمی
                            به نام خدا
                            سلام
                            عکس مداری که گذاشته بودین، نشانگر این بود که شما ال-سی-دی رو در عمل نبستین :eek: . از اونجایی که در برنامه تون از ال سی دی استفاده کردین و در یکی از خطوط برنامه، ال سی دی فراخونی شده، بنابراین ابتدا باید ال-سی-دی توسط زیر برنامه ای که ما نمیبینیمش ولی در کتابخونه ی بسکام وجود داره و شما فراخونیش کردی، راه اندازی بشه :read: . در زمان راه اندازی ال سی دی، بعد از ارسال چند بایت به ال-سی-دی، میکرو منتظر میمونه تا ببینه ال-سی-دی چه جوابی میده . از اونجا که شما در عمل، ال-سی-دی رو نذاشتین، بنابراین، در یک خط از زیربرنامه های راه اندازی ال-سی-دی، برنامه منتظر میمونه تا پاسخی از ال-سی-دی دریافت بکنه و چون شما نبستینش، پاسخی نمیشنوه و همینطور منتظره oo: !
                            گناه داره حیوونی :cry2: اون ال سی دی رو هم ببند، :applause: بذار میکرو از این حالت کما بیاد بیرون :rolleyes:
                            شرمنده یه نگاهی به نقشه میکردی می دیدی پایه RW به زمین وصله. پس میکرو چطوری میخواد از LCD بخونه؟؟؟
                            [glow=red,2,300]تاپيک هاي ايجاد شده[/glow]

                            دیدگاه


                              #15
                              پاسخ : مشکل در راه اندازی Atmega8

                              نوشته اصلی توسط hossein110110
                              با سلام و تشکر فراوان
                              1 : پایه ریست تست شده
                              2 : جهت ال ای دی تست شده
                              3 : با سه تا mega16 تست کردم هیش کدوم کار نکردن حتی یکی رو از بازار تازه گرفتم بازم کار نکرد
                              4 : ال ای دی روشن میشه
                              5 : چندبن بار پروگرم کردم
                              6 : ***************منظورتونو از فرکانس نمی دونم*****************
                              7 : تو پروتئوس بطور کامل کار می کنه
                              8 : ***************منظورتونو از فرکانس نمی دونم*****************
                              احتمال داره مشکل از پروگرمر یا حتی منبع تغذیه باشه
                              [glow=red,2,300]تاپيک هاي ايجاد شده[/glow]

                              دیدگاه

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