اطلاعیه

Collapse
No announcement yet.

راهنمایی برای راه انداری PIC16F877A

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

    راهنمایی برای راه انداری PIC16F877A

    سلام
    دوستان کسی با pic16f877aکسی کار کرده؟ من برنامه روشن شدن یک پین (مثلا b0 )رو باکامپایلرccs مینویسم .توی شبیه سازی هم کارمیکنه ولی در عمل اصلا کارنمیکنه.با پروگرمر tnm2000 هم پروگرم میکنم.خیلی عجیبه واسم.کلی هم باهاش ور رفتم اما اصلا نتیجه نگرفتم.لطفا راهنمایی کنید

    #2
    پاسخ : راهنمایی برای راه انداری PIC16F877A

    سلام. میتونید برنامه ای که نوشتید رو اینجا بزارید تا دوستان و بنده بررسی کنیم؟
    اگه از مداری که تو عمل بستید هم یه عکسی بزارید عالی میشه. 100 درصد یه نکته ریز رو فراموش کردید.

    دیدگاه


      #3
      پاسخ : راهنمایی برای راه انداری PIC16F877A

      بله،این برنامه ی روشن کردن پین b0 هست که نوشتم:
      #include <16f877a.h>
      #use delay(clock=8000000)
      #fuses hs,nowdt
      void main(){
      set_tris_b(0x00);
      output_high(pin_b0);
      }مدارم توی آزمایشگاهه،باید اونجا عکس بگیرم.ولی من همه چیزو چندبار با دقت چک کردم.فکر نمی کنم مشکل سخت افزاری داشته باشه.مقاومت ورودی mcrl رو 10k انتخاب کردم.کریستال و ترمینال ها رو هم وصل میکنم.
      خودم احتمال میدم اشتباه ار تنظیمات bit configuration باشه

      دیدگاه


        #4
        پاسخ : راهنمایی برای راه انداری PIC16F877A

        لطفا شما این کد رو کامپایل کنید و نتیجه رو چک کنید.


        #include <16F877A.h> // Device Name PIC16F877A
        //--------------------------- Fuse Bits Sets ----------------------------
        #FUSES NOWDT //No Watch Dog Timer
        #FUSES HS //High speed Osc (> 4mhz for PCM/PCH) (>10mhz for PCD)
        #FUSES NOPUT //No Power Up Timer
        #FUSES NOPROTECT //Code not protected from reading
        #FUSES NODEBUG //No Debug mode for ICD
        #FUSES NOBROWNOUT //No brownout reset
        #FUSES NOLVP //No low voltage prgming, B3(PIC16) or B5(PIC18) used for I/O
        #FUSES NOCPD //No EE protection
        #FUSES NOWRT //Program memory not write protected
        //---------------------------------------------------------------------------------------------------------
        #use delay(clock=8000000) // Oscillator Set 8MHz
        //---------------------------------------------------------------------------------------------------------
        void main()
        {
        SET_TRIS_A(0X00); // Config PORTA to Input
        SET_TRIS_B(0X00); // Config PORTB to Output
        SET_TRIS_C(0X00); // Config PORTC to Output
        SET_TRIS_D(0X00); // Config PORTD to Output
        SET_TRIS_E(0X00); // Config PORTE to Output

        output_high(PIN_B0);
        }

        جدیدترین ویرایش توسط شاهرخ مستقیمی; ۰۹:۳۴ ۱۳۹۵/۱۱/۲۶.

        دیدگاه


          #5
          پاسخ : راهنمایی برای راه انداری PIC16F877A

          نوشته اصلی توسط saeidjabbari نمایش پست ها
          لطفا شما این کد رو کامپایل کنید و نتیجه رو چک کنید.


          #include <16F877A.h> // Device Name PIC16F877A
          //--------------------------- Fuse Bits Sets ----------------------------
          #FUSES NOWDT //No Watch Dog Timer
          #FUSES HS //High speed Osc (> 4mhz for PCM/PCH) (>10mhz for PCD)
          #FUSES NOPUT //No Power Up Timer
          #FUSES NOPROTECT //Code not protected from reading
          #FUSES NODEBUG //No Debug mode for ICD
          #FUSES NOBROWNOUT //No brownout reset
          #FUSES NOLVP //No low voltage prgming, B3(PIC16) or B5(PIC18) used for I/O
          #FUSES NOCPD //No EE protection
          #FUSES NOWRT //Program memory not write protected
          //---------------------------------------------------------------------------------------------------------
          #use delay(clock=8000000) // Oscillator Set 8MHz
          //---------------------------------------------------------------------------------------------------------
          void main()
          {
          SET_TRIS_A(0X00); // Config PORTA to Input
          SET_TRIS_B(0X00); // Config PORTB to Output
          SET_TRIS_C(0X00); // Config PORTC to Output
          SET_TRIS_D(0X00); // Config PORTD to Output
          SET_TRIS_E(0X00); // Config PORTE to Output

          output_high(PIN_B0);
          }

          سلام.
          یه توضیح کوچولو!
          جناب جباری شما استاد من هستین، جسارت شد پستتون رو ویرایش کردم. ایراد استفاده از ابزار داشت
          دوست گرامی شما یه حلقه ی while بینهایت بنویسین و از دستور output_toggle استفاده کنین، یه تاخیر هم بذارین واسش. تست کنین و نتیجه ش رو بفرمایین.
          موفق باشین.
          جدیدترین ویرایش توسط شاهرخ مستقیمی; ۰۹:۵۸ ۱۳۹۵/۱۱/۲۶.

          دیدگاه


            #6
            پاسخ : راهنمایی برای راه انداری PIC16F877A

            اول مقاومت mclr از 10 کیلو به 100 اهم کاهش بده . من توی یک سری از این میکروها این مشکل داشتم که با مقاومت 10 کیلو درست کار نمیکرد . نمیدونم چرا
            بعدش تنظیمات
            bit configuration بزاری ببینیم . احتمال 90 درصد مال این تنظیماته . البته اگه با پروگرامر tnm کار میکنی میتونی از دستی عوض کنی و احتیاجی به دست کاری برنامه نداری

            دیدگاه


              #7
              پاسخ : راهنمایی برای راه انداری PIC16F877A

              نوشته اصلی توسط شاهرخ مستقیمی نمایش پست ها
              سلام.
              یه توضیح کوچولو!
              جناب جباری شما استاد من هستین، جسارت شد پستتون رو ویرایش کردم. ایراد استفاده از ابزار داشت
              دوست گرامی شما یه حلقه ی while بینهایت بنویسین و از دستور output_toggle استفاده کنین، یه تاخیر هم بذارین واسش. تست کنین و نتیجه ش رو بفرمایین.
              موفق باشین.
              دوستان این کد روهم امتحان کردم ،مقاومت رو هم تغییر دادم،با حلقه ی while هم امنحان کردم.توی همه ی حالت ها فقط ولتاژتقریبا 2 ولت رو میندازه روی همه ی پین ها.حتی پین b0.
              ممکنه ایراد از میکرو باشه؟
              ولی موقع پروگرم کردن و وریفای کردن خطا نمیده

              دیدگاه


                #8
                پاسخ : راهنمایی برای راه انداری PIC16F877A

                نوشته اصلی توسط محمد940 نمایش پست ها
                دوستان این کد روهم امتحان کردم ،مقاومت رو هم تغییر دادم،با حلقه ی while هم امنحان کردم.توی همه ی حالت ها فقط ولتاژتقریبا 2 ولت رو میندازه روی همه ی پین ها.حتی پین b0.
                نوشته اصلی توسط محمد940 نمایش پست ها
                ممکنه ایراد از میکرو باشه؟
                ولی موقع پروگرم کردن و وریفای کردن خطا نمیده

                من احساس میکنم مشکل سخت افزاری داشته باشید!!!!! اوسیلاتورتون رو به چه شکلی بستید؟ از دو تا خازن 22 یا 33 پیکوفاراد به همراه کریستال 8 مگ استفاده کردید؟

                نوشته اصلی توسط شاهرخ مستقیمی نمایش پست ها
                سلام.
                یه توضیح کوچولو!
                جناب جباری شما استاد من هستین، جسارت شد پستتون رو ویرایش کردم. ایراد استفاده از ابزار داشت
                دوست گرامی شما یه حلقه ی while بینهایت بنویسین و از دستور output_toggle استفاده کنین، یه تاخیر هم بذارین واسش. تست کنین و نتیجه ش رو بفرمایین.
                موفق باشین.
                ارادت دوست عزیز. استاد شمایید من خیلی باشم یه مهندس سادم. حقیقتش هر کاری کردم نتونستم کدش رو درست کنم و ممنونم از لطفی که انجام دادید

                دیدگاه


                  #9
                  پاسخ : راهنمایی برای راه انداری PIC16F877A


                  از دوتا خازن 39pf استفاده کردم.کریستال 8 مگ رو هم کاملا وصل کردم. اما هیچ نتیجه ای نگرفتم!
                  اگه بخوام از اسیلاتور داخلی استفاده کنم چطور باید این کار رو انجام بدم.شاید اینطوری حل بشه

                  جدیدترین ویرایش توسط محمد940; ۱۶:۴۶ ۱۳۹۵/۱۱/۲۶.

                  دیدگاه


                    #10
                    پاسخ : راهنمایی برای راه انداری PIC16F877A

                    نوشته اصلی توسط sepehr63 نمایش پست ها
                    bit configuration بزاری ببینیم . احتمال 90 درصد مال این تنظیماته . البته اگه با پروگرامر tnm کار میکنی میتونی از دستی عوض کنی و احتیاجی به دست کاری برنامه نداری
                    طبق همون کدی که بالا نوشته شده،bit configuration هم تنظیم میشه .من همین رو امتحان کردم چیزی رو تغیر ندادم

                    دیدگاه

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