اطلاعیه

Collapse
No announcement yet.

پول پ مقاومت داخلی میکروی avr

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

    پول پ مقاومت داخلی میکروی avr

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

    #2
    پاسخ : پول پ مقاومت داخلی میکروی avr

    سلام مقدار مقاومت داخلی میکرو بالاست(20تا 50 کیلو اهم) و ممکنه شما نیاز به pullup کوچکتری داشته باشی ولی عموما از همون مقاومت های پول پ داخلی استفاده میکنن . تو میکرو 8051 بود که پورت ها پول پ نداشتن و خارجی پول پ باید می شد!

    دیدگاه


      #3
      پاسخ : پول پ مقاومت داخلی میکروی avr

      ممنون.
      از کجا باید بدونیم مقدار مقاومت پول پ باید چقدر باشد؟

      دیدگاه


        #4
        پاسخ : پول پ مقاومت داخلی میکروی avr

        pull up برای منطقی نگه داشتن خروجیه . مقدارش خیلی مهم نیست ولی کم کردن مقاومتش مصرف تغذیه رو افزایش میده و تلفات بیخودی بالا میره . حدود 10 کیلو برای میکرو کافیه . البته به نظر من همون pull up داخلی خوبه . البته بعضی جا ها استثنا داره....

        دیدگاه


          #5
          پاسخ : پول پ مقاومت داخلی میکروی avr

          در بسکام چطور میشه مقاومت داخلی PULL UP رو فعال و یا غیر فعال کرد؟

          دیدگاه


            #6
            پاسخ : پول پ مقاومت داخلی میکروی avr

            خیلی سادش بخوام بگم اینجوریه که :
            پورت یا ورودی تعریف میشه یا خروجی. برای تعریف پورت به صورت خروجی باید در DDR هر پین عدد یک رو بنویسیم.وقتی پورت به صورت خروجی تعریف شد با نوشتن توی PORT می تونیم پورت رو صفر یا یک کنیم.
            اما اگه بخواسم پورت رو به صورت ورودی تعریف کنیم توی DDR صفر می نویسیم. حالا اگه بخوایم پول پ فعال باشه توی PORT یک و اگه بخوایم غیر فعال باشه صفر رو می نویسیم.

            پورت خروجی - وضعیت یک
            DDRA.0=1
            PORTA.0=1

            پورت خروجی - وضعیت صفر
            DDRA.0=1
            PORTA.0=0


            پورت ورودی - پول پ فعال
            DDRA.0=0
            PORTA.0=1

            پورت ورودی - پول پ غیر فعال
            DDRA.0=0
            PORTA.0=0


            توجه دارین که در حالتی که پورت خروجی تعریف میشه کلا مقاومت پول پ غیر فعال میشه چون فقط مثل یه بار اضافی عمل می کنه که فقط برق میسوزونه!!
            برای خوندن پورتی که بصورت ورودی تعریف شده باید PIN مربوطه رو بخونیم. خوندن PIN در حالتی که پورت به صورت خروجی تعریف شده هم که خوب معلومه بی معنیه.

            دیدگاه


              #7
              پاسخ : پول پ مقاومت داخلی میکروی avr

              سلام.

              آیا میشه اینطوری گفت: وقتیکه پورتی یا پینی را بصورت ورودی تعریف می کنیم، برای اینکه در حالت پیش فرض پین ما مقدار 1 داشته باشه یه مقاومت را پول پ خارجی میکنیم و اگه بخوایم که مقدار صفر داشته باشه رو پول داون خارجی میکنیم؟

              اصلا این حرف درست هست؟؟؟؟
              http://ceworld.ir/images/ads/dornablogcom_ads.gif

              دیدگاه


                #8
                پاسخ : پول پ مقاومت داخلی میکروی avr

                نه زیاد چون این حالت پیش فرض نیست. بلکه اگر مثلا یه ورودی بهش بدیم و بعد ورودی رو جدا کنیم بازم مقاومت وجود داره . بابا خیلی سادس دیگه! یه مقاومت از ورودی به vcc وصله . یعنی شما با فعال کردن پول پ یک کلید رو روشن می کنی که یه مقاومت رو به پین وصل می کنه. در ضمن ما پول دان تو میکرو avr نداریم . پول دان یعنی وصل یک مقاومت بین و رودی و زمین.اگه شما پول پ رو فعال نکنین پایه وضعیت Tri State داره یعنی float ه و هر حالتی می تونه داشته باشه . یعنی چون امپدانس ورودیش بالاس هر نویزی خیلی راحت وضعیت پایه را میتونی صفر و یا یک کنه. از این ساده تر نمی تونستم بگم. :eek:

                دیدگاه


                  #9
                  طریقه tristate کردن پورت در بسکام

                  خیلی ممنون از سعید جان که پاسخ دادن.
                  یه سئوال:
                  اولا که به جای تعیین صفر یا یک بودن رجیستر DDR می توان پورت را کانفیگ کرد.مثلا به جای DDR=0 می توان در بسکام نوشت config pina.0=input. درست میگم saied خان یا نه؟
                  2-می دونیم به محض راه اندازی میکرو avr تمتم پورت ها به حالت tri stste میرنمگر اینکه شما پورت رو کانفیگ کرده باشید.حالا فرض کن من یه پایه رو وروردی یا خروجی تعریف کردم و حالا بنا به دلایلی می خوام اونو tri state کنم.در داخل بسکام چطوری میشه این کارو انجام داد؟

                  دیدگاه


                    #10
                    پاسخ : پول پ مقاومت داخلی میکروی avr

                    برنامه ای که شما توی ****ام مینویسید هم خودش تبدیل میشه به یک برنامه اسمبلی و بعد به یک فایل HEX، وقتی شما توی Bascom یک پورت رو کانفیگ میکنید بیسکام میاد موقع تبدیل به اسمبلی دستورهایی رو مینویسه که دقیقا همون کارهایی رو انجام میده که آقا سعید توضیح داد، منتهی شما دارید با یک زبان دیگه این رو بیان میکنید، این وسط بیسکام فقط یک مترجم هست که دستور Config رو تبدیل میکنه به اون دستورات لازم ( همینکه بیت رو مثلا ورودی کنه بعد یک رو بریزه روش و ... ) شما هرجای برنامه باشید وقتی DDRX رو صفر کنید پورت وردی میشه و بعد اگر دوباره صفر رو بریزید توی پورت حالا میره به حالت امپدانس بالا، من دقیقا نمیدونم توی بیسکام شما چندبار میتونید یک پورت رو کانفیگ کنید اما اگر بیشتر از یکبار نمیتونید ( که احتمالا میتونید ) کافیه هرجای برنامه خواستید پورت رو به حالت امپدانس بالا ببرید بیاید اول رجیستر DDR مربوطه رو صفر کنید و بعد مقدار صفر رو روی اون پورت بریزید، اگر با دستورات بیسیک وسط برنامه این کار رو کردید و باز هم دیدید پورت به حالت امپدانس بالا نرفت ( که احتمالا میره ) بعد بیاید با دستورات اسمبلی در همون قسمت از برنامه این کار رو انجام بدید بعد دیگه مطمئن باشید میره به حالت امپدانس بالا.
                    از آنجا که گاهی فرصت بازخوانی پست نیست، بابت غلط های املایی و نگارشی احتمالی معذرت میخوام.
                    هیچیک از پاسخ هایی که میدم را کاملا تایید نمیکنم و ممکن هست اشتباه کرده باشم، اگر من به نوشته ام مطمئن هستم شما مشکوک باشید.
                    اگر در حل مشکل من کمک کردید و دکمه تشکر رو نزدم حتما فراموش کردم کوچکترین کمک شما برایم ارزشمند است!
                    اگر به هر طریقی از من ناراحت شدید حتما با یک پیام خصوصی تذکر بدهید تا مشکل رو حل کنیم و رابطه ی صمیمانه، پایدار بماند.
                    شاد و موفق باشید

                    دیدگاه


                      #11
                      پاسخ : پول پ مقاومت داخلی میکروی avr

                      سلام
                      موضوع زیر رو هم یک نگاه بنداز.
                      http://www.eca.ir/forum2/index.php?topic=17158.0
                      موفق باشی

                      دیدگاه


                        #12
                        پاسخ : پول پ مقاومت داخلی میکروی avr

                        دوست عزیز محبت می کنید بگید sfior که ذکر شده چی هست و استفاده از اون چه لزومی داره؟
                        من در بسکام می نویسم نمی شناسش !

                        دیدگاه


                          #13
                          پاسخ : پول پ مقاومت داخلی میکروی avr

                          اگر بیت PUD توی رجیستر SFIOR رو یک کنیم پول پ تمام پایه ها disable میشه. به صورت defult این بیت صفره و پول پ پورت فعال میتونه بشه.

                          دیدگاه


                            #14
                            پاسخ : پول پ مقاومت داخلی میکروی avr

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

                            دیدگاه


                              #15
                              پاسخ : پول پ مقاومت داخلی میکروی avr

                              نوشته اصلی توسط hamedhamidi
                              این دستور داخل بسکام که شناخته نمی شه.اما فکر کنم اگه داخل بسکام به اسمبلی بنویسم بشناسه.درسته؟
                              در ضمن در حالت عادی اگر این رجیستر توسط کانفیگ های پورت یا دستگاههای جانبی دستکاری نشده باشه نیازی به اون نیست.
                              تایید می کنید؟
                              بچه ها من می خوام یه تاپیک جدید در مورد یه موضوع جدید ایجاد کنم, چه طور می تونم این کارو تو سایت انجام بدم؟
                              توی انجمن روی گزینه "موضوع جدید" کلیک کن.
                              http://ceworld.ir/images/ads/dornablogcom_ads.gif

                              دیدگاه

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