اطلاعیه

Collapse
No announcement yet.

کار نکردن پورت های PIC16F877A

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

    #16
    پاسخ : کار نکردن پورت های PIC16F877A

    برنامه :
    #include <htc.h>
    #define _XTAL_FREQ 1000000

    #include <pic.h>

    void main(void){

    ADCON0&=(~(0x01))<<0;
    TRISA=0x00;
    while(1){

    __delay_ms(500);
    PORTA=0xFF;

    __delay_ms(500);
    PORTA=0x00;



    }
    }

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

    دیدگاه


      #17
      پاسخ : کار نکردن پورت های PIC16F877A

      پورت رو تغییر بدید ببینید با پورت های دیگه هم این مشکل رو دارید؟ اگر نداشتید و فقط مشکل از پورت A بود یعنی اینکه پایه های این پورت در حالت ورودی خروجی دیجیتال نیستند باید اول توسط رجیستر ADCON1 اونها رو از حالت آنالوگ خارج کنید و به عنوان ورودی خروجی دیجیتال تعریف کنید، اگر هم همه پورت ها این مشکل رو داشت باید موراد دیگه رو هم بررسی کرد.
      از آنجا که گاهی فرصت بازخوانی پست نیست، بابت غلط های املایی و نگارشی احتمالی معذرت میخوام.
      هیچیک از پاسخ هایی که میدم را کاملا تایید نمیکنم و ممکن هست اشتباه کرده باشم، اگر من به نوشته ام مطمئن هستم شما مشکوک باشید.
      اگر در حل مشکل من کمک کردید و دکمه تشکر رو نزدم حتما فراموش کردم کوچکترین کمک شما برایم ارزشمند است!
      اگر به هر طریقی از من ناراحت شدید حتما با یک پیام خصوصی تذکر بدهید تا مشکل رو حل کنیم و رابطه ی صمیمانه، پایدار بماند.
      شاد و موفق باشید

      دیدگاه


        #18
        پاسخ : کار نکردن پورت های PIC16F877A

        نوشته اصلی توسط Study
        پورت رو تغییر بدید ببینید با پورت های دیگه هم این مشکل رو دارید؟ اگر نداشتید و فقط مشکل از پورت A بود یعنی اینکه پایه های این پورت در حالت ورودی خروجی دیجیتال نیستند باید اول توسط رجیستر ADCON1 اونها رو از حالت آنالوگ خارج کنید و به عنوان ورودی خروجی دیجیتال تعریف کنید، اگر هم همه پورت ها این مشکل رو داشت باید موراد دیگه رو هم بررسی کرد.
        اصلا یه بار کلا همه پورت هارو فعال کردم . اما بازم جواب نداد .
        بگذارعشق خاصیت تو باشد نه رابطه خاص تو باکسی
        موفقيت پيش رفتن است نه به نقطه ي پايان رسيدن
        نلسون ماندلا

        دیدگاه


          #19
          پاسخ : کار نکردن پورت های PIC16F877A

          یه میکرو دیگه داری؟ با یکی دیگه آزمایش کن. اصلا شاید این میکروت خراب باشه.

          دیدگاه


            #20
            پاسخ : کار نکردن پورت های PIC16F877A

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

            دیدگاه


              #21
              پاسخ : کار نکردن پورت های PIC16F877A

              سوال آخرت رو درست متوجه نشدم. واضح تر بگو. واسه کریستال دوتا خازن گذاشتی؟ مقدارشون چقدره؟

              دیدگاه


                #22
                پاسخ : کار نکردن پورت های PIC16F877A

                اقا بالاخره راه افتاد . اما خیلی اولش ناپایدار به نظر میاد . دو تا 10 پیکو گذاشتم اما اونی که به پایه OSC1 وصل هستش رو در میارم بهتر کار مکنه ؟؟؟؟
                راستی سوال اخرم در مورد این بود که موقع پروگرام کردن میکرو کلاکشو از کجا میاره ولی فکر کنم پرورامر مستقیم به میکرو و سی پی یو وصل میشه . درست میگم اقا محمد ؟ سوال بعدیم اینه که مگه در ابتدای کار میکرو به طور پیش فرض روی اسیلاتور داخلی نباید باشه ؟
                بگذارعشق خاصیت تو باشد نه رابطه خاص تو باکسی
                موفقيت پيش رفتن است نه به نقطه ي پايان رسيدن
                نلسون ماندلا

                دیدگاه


                  #23
                  پاسخ : کار نکردن پورت های PIC16F877A

                  خوب پس مشکل کارت اینجاست. برای PIC ها اون دوتا خازن کریستال باید بین 22pF و 33pF باشه. خازن با مقدار 10pF نامناست هستش.
                  در زمان پروگرم کردن نیازی نیست که مدار اسیلاتور به میکرو وصل باشه (ولی اگر هم وصل باشه مشکلی نیست)
                  درضمن PIC16F877A دارای اسیلاتور داخلی نیست.

                  دیدگاه


                    #24
                    پاسخ : کار نکردن پورت های PIC16F877A

                    نوشته اصلی توسط محمد ایجی
                    خوب پس مشکل کارت اینجاست. برای PIC ها اون دوتا خازن کریستال باید بین 22pF و 33pF باشه. خازن با مقدار 10pF نامناست هستش.
                    در زمان پروگرم کردن نیازی نیست که مدار اسیلاتور به میکرو وصل باشه (ولی اگر هم وصل باشه مشکلی نیست)
                    درضمن PIC16F877A دارای اسیلاتور داخلی نیست.
                    اوکی . عالی . دمت گرم . پس به خاطر همینه تو دیتا شیتش همچین گزینه ای قید نشده.
                    بگذارعشق خاصیت تو باشد نه رابطه خاص تو باکسی
                    موفقيت پيش رفتن است نه به نقطه ي پايان رسيدن
                    نلسون ماندلا

                    دیدگاه


                      #25
                      پاسخ : کار نکردن پورت های PIC16F877A

                      راستی یه سوال دیگه برا کریستال همیشه باید بیت هارو روی LP بزاریم ؟ چرا ؟
                      بگذارعشق خاصیت تو باشد نه رابطه خاص تو باکسی
                      موفقيت پيش رفتن است نه به نقطه ي پايان رسيدن
                      نلسون ماندلا

                      دیدگاه


                        #26
                        پاسخ : کار نکردن پورت های PIC16F877A

                        اتفاقا LP نباید بزاری!!
                        اگه فرکانس کریستالت کمتر یا مساوی 4MHz بود باید XT بزاری. اگه بیشتر از 4MHz بود باید HS بزاری.

                        دیدگاه


                          #27
                          پاسخ : کار نکردن پورت های PIC16F877A

                          راستی چند تا سوال :
                          1 - فرکانس اصلی که باید delay هارو بر اساس اون اندازه بگیرم همین کریستال هست ؟ اخه من جایی دیده بودم که PIC ها داخلشون یه PLL دارن که فرکانس رو 4 برابر میکنه ؟
                          2 - تو برنامه میکرو سی و CCS از چه پروگرام هایی پشتیبانی می کنند ؟ این پارالل نمیشه ؟
                          ممنون .
                          بگذارعشق خاصیت تو باشد نه رابطه خاص تو باکسی
                          موفقيت پيش رفتن است نه به نقطه ي پايان رسيدن
                          نلسون ماندلا

                          دیدگاه


                            #28
                            پاسخ : کار نکردن پورت های PIC16F877A

                            خیر. فرکانسی که باید برای دستورات تاخیر در نظر بگیرید ، یک چهارم فرکانس کریستال هستش.
                            سری 18F به بعد بله دارای PLL داخلی هستن که فرکانس کریستال رو در 4 ، 8 و 16 ضرب میکن . ولی سری 16F فاقد PLL میباشد.
                            نرم افزارهای MICROC و CCS هرکدوم واسه خودشون یه پروگرمر جدا دارن. ولی نرم افزارهایی هستن مثل ICPROG ، WINPICPROG و ... که پروگرمر های متنوعی رو ساپورت میکنن. شما بهشون فایل هگز رو میدید و اون هاهم میریزن تو میکرو.

                            دیدگاه

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