اطلاعیه

Collapse
No announcement yet.

روشن کردن led

Collapse
این موضوع بسته شده است.
X
X
 
  • فیلتر
  • زمان
  • Show
Clear All
new posts

    روشن کردن led

    سلام دوستان من همین 5دقیقه ییش عضو این سایت شدم و این اولین ارسالم هست.البته سالهاست eca رو میشناسم.ولی هیچ وقت این قدر کارم فرس نبوده.من یه پروژه با PIC می خواستم انجام بدم که 2 قسمتی بود قسمت اول با 18f2550 و قسمت دوم با 16f877a برنامه رو هم تو CCS نوشتم ولی میکرو که پروگرم میکنم جواب نمبده.راستشو بخواهید حتی نتونستم باهاش یه LED روشن کنم.ضمنن اینم اضافه کنم بعد از مدتها بی کاری تونستم یه کار نسبتا خوب توی یه شرکت پیدا کنم که شرط قرار داد بستنشون همین پروژه هست.حالا پروژه پیشکش یکی لطف کنه بگه من چطوری میتونم با 16f877a یه LED روشن کنم.لطفا کمک کنید فقط 4 روزه دیگه وقت دارم و چون تا حالا با PIC کار نکرده بودم این چند روز صرف یادگیری PIC و کشیدن PCB مدار با Protel کردم.تر خدا نزارید این کار از دستم بره مرسی.برنامهای که واسه روشن کردن LED نوشتم رو در ادامه میزارم.خوئم فکر نمیکنم اشکال از برناامه باشه.اساتید راهنمایی کنید



    #include <16F877A.h>
    #device adc=8

    #FUSES NOWDT //No Watch Dog Timer
    #FUSES HS //Resistor/Capacitor Osc with CLKOUT
    #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
    #FUSES RESERVED //Used to set the reserved FUSE bits

    #use delay(clock=8000000)


    void main()
    {

    output_high(PIN_A0);

    // TODO: USER CODE!!

    }

    #2
    پاسخ : روشن کردن led

    مهندس! شما چرا اول پرت مورد نظرت رو پیکربندی نکردی!؟
    شما اول با استفاده از دستور set_tris_b(0xff)‏ باید پورت ها رو پیکر بندی کنی
    به عنوان مثال به پیکر بندی برنامه ی زیر توجه کن! در برنامه ی زیر 8 تا led به ترتیب با فاصله زمانی 1 ثانیه روشن میشه.
    #include <16f877a.h>//micro name
    #use delay(Clock=4000000)// oscillator frequency
    #fuses XT,NOPROTECT,NOWDT
    Main(){
    set_tris_b(0xff);//set all pin as output
    while(true){
    OUTPUT_B(0x01);//portb=00000001 bin
    delay_ms( 1000 );//wait 1 sec
    OUTPUT_B(0x02);//portb=00000010 bin
    delay_ms( 1000 ) ;//wait 1 sec
    OUTPUT_B(0x04);//portb=00000100 bin
    delay_ms( 1000 );//wait 1 sec
    OUTPUT_B(0x08);//portb=00001000 bin
    delay_ms( 1000 );//wait 1 sec
    OUTPUT_B(0x10);//portb=00010000 bin
    delay_ms( 1000 );//wait 1 sec
    OUTPUT_B(0x20);//portb=00100000 bin
    delay_ms( 1000 );//wait 1 sec
    OUTPUT_B(0x40);//portb=01000000 bin
    delay_ms( 1000 );//wait 1 sec
    OUTPUT_B(0x80);//portb=10000000 bin
    delay_ms( 1000 );///wait 1 sec
    }
    }

    دیدگاه


      #3
      پاسخ : روشن کردن led

      سلام
      شاید یه ایراد ساده تو سخت افزارت داری !
      پایه ریست رو به +5 وصل کردی ؟
      میکروت و وقتی روشن کردی ببنین کریستالت نوسان داره !
      زمان تنها واحد حقیقی اندازه گیریه
      زمان وجود ماده رو اثبات میکنه
      بدون زمان هیچکدوم ما وجود نخواهیم داشت
      زمان یکتاست

      دیدگاه


        #4
        پاسخ : روشن کردن led

        با تشکر از شما دوستان عزیز که وقت گزاشتین و جواب دادین.
        پایه Reset رو که بلللههه با یه مقاومت K4.7 دادم به تغذیه کریستال رو هم چک کردم نوسان داشت.پورت رو هم به صورت خروجی تعریف کردم ولی بازم جواب نمیده.امروز اوضاع بدترم شد چون تا میخوام میکرو پروگرام کنم کلن Erorr میده.هر چقدم تو Help Mplab جستجو کردم چیزی پیدا نکردم.Erorr اینه
        Programming...
        The following memory regions failed to program correctly:
        Program Memory
        Address: 00000000 Expected Value: 00003000 Received Value: 00002000
        Programming failed


        ترو خدا بگین چیکار کنم کار از دستم رفففتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتت

        دیدگاه


          #5
          پاسخ : روشن کردن led

          پروگرامرت سالمه؟

          دیدگاه


            #6
            پاسخ : روشن کردن led

            اره علی جان احتمالا سالمه چون که یه 18F2550 باهاش پروگرم کردم و جواب داد.(همون برنامه LED)
            احتمالا مشکلم سخت افزاری باشه نطرت چیه؟

            دیدگاه


              #7
              پاسخ : روشن کردن led

              با یه 16f877 دیگه چک کن

              دیدگاه


                #8
                پاسخ : روشن کردن led

                علی اقا ok شد.مشکل از چیپ بود.دست درد نکنه.
                فقط حالا که نا اینجاش امدیم یه سوال دارم ازت.PIC به این راحتیا چیزیش نمیشه احتمالش هست که من بار اولی که پروگرمش کردم فیوز بیت ها رو اشتباهی پروگرم کرده باشم؟چون من بار اول با RC پروگرم کردم جواب نداد رفتم سراغ کریستال خارجی.
                تو AVR یادمه اگه مثلا با کریستال 4M پروگرم میکردی تا وقتی همون کریستال 4M رو نمیزاشتی دیگه حتی پروگرم هم نمیشد شاید من چون اول با RC پروگرم کردم بعد کع خواستم با کریستال خارجی پروگرم کنم به همین دلیل پروگرم نمیشده

                دیدگاه

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