اطلاعیه

Collapse
No announcement yet.

رجیسترهای avr

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

    رجیسترهای avr

    سلام
    یکی پیدا میشه درباره ی رجیستر های avr توضیح بده بهم؟
    ی سری رجیستر داریم که از R0 تا R31 اند اینا کارشون چیه ؟
    ی سری هم که رجیستر های ورودی خروجی هستند که مثلا یکی شون همون رجیستر پورته (PORTA.5 OR DDRD.2) اینا فرقشون با بالایی چیه ؟
    رجیستر مثلا SFIOR جزو کدوم رجستر ها هست؟
    چرا مثالا میشه نوشت portA.1=0 ولی به رجیستر های مثلابه رجیستر SFIOR نیمشه مقدار داد؟
    هر کی میتونه جواب بده خیلی ممنونش میشم

    #2
    پاسخ : رجیسترهای avr

    ریجیستر avr با ریجستر یک cpu فرق اساسی داره و تنها شباهتشون فقز اسمشونه
    ریجستر در avr فقط 32 تا حافظه 8 بیتی رم میکرو کنترلر است دقیقا از آدرس 0 تا 31
    تنها موردي كه همه آدما يقين دارن خدا در حقش زیاد لطف کرده
    داشتن عقله زيادتر از دیگر آدم ها است

    دیدگاه


      #3
      پاسخ : رجیسترهای avr

      یه سری رجیسترها کارشون خاصه مثلا تنظیمات یه وسیله جانبی مثل ADC توسط اونا انجام میشه (عموما بدرد کار دیگه ای نمیخورن)و اگه کاری با اون وسیله جانبی نداری بهتره در یک وضعیت غیر فعال قرار بگیرن حداقل برای کاهش توان مصرفی. به اینا SFR یا Specia Function Registre میگن

      یه سری رجیستر داریم مخصوص CPU که خیلی از کارهاشو با اونا انجام میده مثلا وقتی عمل جمع نیاز داریم CPU تنها میتونه محتویات آکومولاتور رو با یه رجیستر خاص مثلا R10 انجام بده (طراحی سخت افزاری اینجوری بوده)

      یه سری رجیستر داریم بعنوان حافظه ازشون استفاده میشه و برای اینکه سریعتر کارها انجام بشه میان اونها رو داخل CPU کار میذارن (نوع کد رو در اینحالت حافظه cash میگن ) فکر میکنم تعداد زیادی از این R ها از این نوعند
      یه سری هم حافظه عمومی داریم از نوع RAM که معمولا در انتهای SFR ها آدرس دهی میشن و کاربرد عمومی برای ذخیره کردن متغیرها و داده های برنامه دارن

      دیدگاه


        #4
        پاسخ : رجیسترهای avr

        نوشته اصلی توسط miladzizo
        سلام
        یکی پیدا میشه درباره ی رجیستر های avr توضیح بده بهم؟
        ی سری رجیستر داریم که از R0 تا R31 اند اینا کارشون چیه ؟
        ی سری هم که رجیستر های ورودی خروجی هستند که مثلا یکی شون همون رجیستر پورته (PORTA.5 OR DDRD.2) اینا فرقشون با بالایی چیه ؟
        رجیستر مثلا SFIOR جزو کدوم رجستر ها هست؟
        چرا مثالا میشه نوشت portA.1=0 ولی به رجیستر های مثلابه رجیستر SFIOR نیمشه مقدار داد؟
        هر کی میتونه جواب بده خیلی ممنونش میشم
        سلام.
        ریجیستر های R0 تا R31آ‌ ریجیسترهای همه کاره هستن.برای انجام تمام عملیات در میکرو با استفاده از این ریجیسترها صورت میگیره.مثلا برای ضرب دو عدد یک عدد در یه R و عدد بعدی در Rآ‌دیگر قرار میگیره سپس در هم ضرب میشوند.البته دانستن کار این ریجیسترها در اسمبلی مهم خواهد بود در C خیلی مهم نیست.
        همچنین برای انکه شما پایه های خاصی از یه پورت رو صفرو یک کنید عدد مورد نظر را نمیتوان مستقیم به پورت بدهید اول عدد وارد یکی از R ها میکنیم سپس عدد وارد پورت میشود.

        دیدگاه

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