10M+ قطعات الکترونیکی در انبار
تاییدیه ISO
ضمانتنامه شامل است
تحویل سریع
قطعات سخت پیدا شدنی؟
ما منبع آنها هستیم
درخواست قیمت

ATtiny85: پیکربندی پین، نمودار بلوک و برنامه نویسی

Jan 07 2026
منبع: Michael Chen
مرور: 2881

ATtiny85 یک میکروکنترلر کوچک ۸ بیتی است که برای وظایف کنترلی ساده ای طراحی شده است که در آن ها فضا و مصرف انرژی اهمیت دارد. این نرم افزار حافظه، تایمرها، ورودی آنالوگ و ارتباطات سریال را در یک بسته ۸ پین ترکیب می کند. این مقاله اطلاعات دقیقی درباره مشخصات، پین آوت، ساختار داخلی، تنظیمات توان و ساعت، برنامه نویسی، مدارها و مسائل رایج ارائه می دهد.

Figure 1. ATtiny85

۱. مروری بر ATtiny85 

ATtiny85 یک میکروکنترلر جمع وجور ۸ بیتی است که برای وظایف کنترلی ساده طراحی شده است، جایی که فضا، مصرف انرژی و تعداد قطعات باید پایین نگه داشته شوند. فرم فاکتور ۸ پین آن به کاهش اندازه مدار، پیچیدگی سیم کشی و هزینه سیستم کمک می کند و در عین حال عملکرد کنترل پایه را نیز فراهم می کند.

با وجود حضور طولانی مدت در بازار، ATtiny85 به دلیل پایداری، مستندات قوی و سازگاری با ابزارهای توسعه رایج، همچنان به طور گسترده مورد استفاده قرار می گیرد. این سیستم در دامنه ولتاژ وسیعی کار می کند و از گزینه های متعدد کلاک پشتیبانی می کند، که آن را برای طراحی های جمع وجور و کم مصرف که نیازمند رفتار قابل اعتماد و قابل پیش بینی هستند، مناسب می سازد.

۲. مشخصات فنی ATtiny85 

نه. از پین ها۸
CPUAVR ۸ بیتی RISC
ولتاژ عملیاتی۱.۸ تا ۵.۵ ولت
حافظه برنامه8K
نوع حافظه برنامهفلش
رم۵۱۲ بایت
EEPROM۵۱۲ بایت
تعداد کانال های ADC۱۰ بیت ۴
مقایسه گر۱
بسته هاPDIP (۸ پین) SOIC (۸ پین) TSSOP (۸ پین) QFN/MLF (۲۰ پین)
اسیلاتورتا ۲۰ مگاهرتز
تایمر (۲)تایمرهای ۸ بیتی
قدرت تقویت شده هنگام ریستبله
تایمر افزایش قدرتبله
پین های ورودی/خروجی۶
سازندهمیکروچیپ
SPIبله
I2Cبله
تایمر واچ داگبله
تشخیص خروجی قهوه ای (BOD)بله
بازنشانیبله
USI (رابط سریال جهانی)بله
حداقل دمای عملیاتی-۴۰ درجه سانتی گراد
حداکثر دمای عملیاتی۱۲۵ درجه سانتی گراد

۳. پیکربندی پین اوت ATtiny85

Figure 2. ATtiny85 Pinout Configuration

پینناموظایف اصلی
۱PB5بازنشانی، GPIO (اگر فیوز تغییر کرده باشد)
۲PB3GPIO، ADC
۳PB4GPIO، ADC
۴GNDزمین
۵PB0GPIO، PWM، MOSI
۶PB1GPIO، PWM، MISO
۷PB2GPIO، ADC، SCK
۸VCCمنبع تغذیه

ATtiny85 در بسته های PDIP-8 و QFN/MLF-20 عرضه می شود. هر دو مدار داخلی یکسانی دارند، اما آرایش پین ها متفاوت است. بسته PDIP-8 فقط پین های پایه را در معرض دید قرار می دهد و استفاده از آن در مدارهای پایه آسان تر است، در حالی که بسته QFN/MLF-20 شامل پین های اضافی است که به عنوان متصل نشده علامت گذاری شده اند.

بیشتر پین ها از چندین عملکرد پشتیبانی می کنند. یک پین منفرد می تواند به عنوان ورودی یا خروجی دیجیتال عمل کند، سیگنال های آنالوگ را بخواند، خروجی PWM تولید کند یا از ارتباط سریال پشتیبانی کند. این طراحی چندمنظوره باعث می شود ATtiny85 کوچک باقی بماند و در عین حال انعطاف پذیری بیشتری ارائه دهد. پین RESET همچنین می تواند با تغییر تنظیمات فیوز به عنوان پین پیکربندی شود، هرچند این قابلیت بازنشانی خارجی را حذف می کند.

۴. نمودار بلوکی ATtiny85

Figure 3. ATtiny85 Block Diagram

ATtiny85 بر پایه یک هسته پردازشی AVR ساخته شده که دستورات ذخیره شده در حافظه فلش را اجرا می کند. SRAM برای داده های موقت در حین بهره برداری استفاده می شود، در حالی که EEPROM داده های غیر فرار را ذخیره می کند که باید هنگام قطع برق حفظ شوند. شمارنده برنامه، اشاره گر پشته و ثبات ها جریان دستورالعمل و پردازش داده ها را مدیریت می کنند.

عملکردهای زمان بندی توسط دو تایمر داخلی ۸ بیتی و یک تایمر واچ داگ انجام می شود. واچ داگ با ریست کردن دستگاه در صورت توقف اجرای عادی برنامه، قابلیت اطمینان را افزایش می دهد. یک نوسان ساز داخلی سیگنال کلاک را فراهم می کند و کنترل زمان بندی متمرکز همه ماژول های داخلی را همگام سازی می کند.

عملیات ورودی و خروجی از طریق ثبات های پورت که مستقیما به پایه های خارجی متصل هستند، مدیریت می شوند. این دستگاه همچنین مدارهای آنالوگ مانند ADC و مقایسه گر را یکپارچه می کند. تمام بلوک های داخلی از طریق مسیرهای داده مشترک به هم متصل می شوند که ارتباط کارآمد بین حافظه، منطق پردازش و ورودی/خروجی را ممکن می سازد.

۵. تنظیمات برق، کلاک و فیوز ATtiny85

• ATtiny85 دارای نوسان ساز RC داخلی است که امکان عملکرد بدون قطعات کلاک خارجی را فراهم می کند.

• منابع یا کریستال های کلاک خارجی ممکن است زمانی که دقت زمان بندی بالاتری مورد نیاز باشد، استفاده شوند.

• تنظیمات فیوز منبع ساعت، تأخیر راه اندازی، سطح تشخیص براون اوت و رفتار پین ریست را کنترل می کند.

• کار با سرعت کلاک پایین مصرف برق و نویز الکتریکی را کاهش می دهد.

• تشخیص براون اوت پایداری را در ولتاژهای تغذیه پایین بهبود می بخشد اما کمی مصرف جریان را افزایش می دهد.

۶. محدودیت های GPIO ATtiny85 و عملکرد ایمن

• پین های GPIO برای کنترل سیگنال طراحی شده اند و نباید به بارهای خارجی برق بدهند.

• LEDهایی که به پایه های GPIO متصل می شوند به مقاومت های محدودکننده جریان برای جلوگیری از آسیب نیاز دارند.

• موتورها، رله ها و سایر دستگاه های با جریان بالا باید با استفاده از ترانزیستورهای خارجی یا MOSFETها کنترل شوند.

• مقاومت های پول آپ داخلی می توانند برای ساده سازی اتصالات دکمه و کلید فعال شوند.

• تمام ولتاژهای GPIO باید در محدوده های مشخص باقی بمانند تا از آسیب دائمی جلوگیری شود.

۷. قابلیت های ADC و آنالوگ ATtiny85

ویژگیتوضیحات
رزولوشن ADC۱۰ بیتی
کانال های ورودیتا ۴
گزینه های مرجعVCC یا مرجع داخلی
حالت ویژهخواب ADC با کاهش نویز

ATtiny85 دارای مبدل آنالوگ به دیجیتال داخلی است که تغییرات سطح ولتاژ را اندازه گیری کرده و آن ها را به مقادیر دیجیتال تبدیل می کند. کیفیت اندازه گیری به ولتاژ مرجع پایدار، اتصالات برق تمیز و مسیر یابی صحیح سیگنال بستگی دارد. استفاده از حالت خواب ADC Noise Reduction به کاهش نویز داخلی در هنگام تبدیل کمک می کند که این امر ثبات خواندن و قابلیت اطمینان کلی را بهبود می بخشد.

۸. ارتباط سریال ATtiny85 با USI

ATtiny85 از ارتباط سریال از طریق رابط سریال جهانی (USI) پشتیبانی می کند. این رابط انعطاف پذیر می تواند از طریق فریمور پیکربندی شود تا در حالت SPI کار کند یا از ارتباطات سبک I²C پشتیبانی کند. با استفاده از یک بلوک سخت افزاری مشترک، دستگاه اندازه جمع وجور را حفظ می کند و در عین حال تبادل داده های پایه را ممکن می سازد.

از آنجا که USI به شدت به کنترل نرم افزاری وابسته است، مدیریت زمان بندی دقیق لازم است. این نرم افزار برای کارهای ارتباطی ساده و کم سرعت مناسب است اما ویژگی های اتوماسیون کمتری نسبت به تجهیزات اختصاصی SPI یا I²C که در میکروکنترلرهای بزرگ تر یافت می شوند، ارائه می دهد.

۹. برنامه نویسی ATtiny85 از طریق IDE آردوینو

Figure 4. ATtiny85 Programming Through the Arduino IDE

• ATtiny85 پس از نصب هسته سازگار با ATtiny می تواند در محیط توسعه آردوینو برنامه ریزی شود.

• برنامه نویسی با استفاده از برنامه نویس USB یا آردوینو که به عنوان ISP تنظیم شده انجام می شود.

• تنظیمات برد در IDE آردوینو باید با سرعت کلاک انتخاب شده و ولتاژ عملیاتی ATtiny85 مطابقت داشته باشد.

• پین های استفاده شده در کد با طرح پین فیزیکی متفاوت هستند، بنابراین باید قبل از سیم کشی به دقت بررسی شوند.

۱۰. مدار ATtiny85 با حداقل قابل اعتماد

Figure 5. Minimal Reliable ATtiny85 Circuit

این مدار تنها از اجزای پایه مورد نیاز برای عملکرد پایدار استفاده می کند. پین های VCC و GND برق را تأمین می کنند و اجازه می دهند منطق داخلی به درستی کار کند. نوسان ساز داخلی زمان بندی را کنترل می کند، بنابراین نیازی به قطعات کلاک خارجی نیست.

یک LED که از طریق مقاومت ۴۷ Ω متصل است، کنترل خروجی را نشان می دهد و در عین حال هم LED و هم پین GPIO را محافظت می کند. پین RESET همچنان برای برنامه ریزی مجدد یا راه اندازی مجدد دستگاه قابل دسترسی است. با وجود قطعات خارجی بسیار محدود، این ساختار پایه ای ساده و قابل اعتماد برای کاربردهای پایه فراهم می کند.

۱۱. مشکلات رایج ATtiny85 و بررسی های سریع

مشکلچه چیزهایی را باید بررسی یا اصلاح کرد؟
بارگذاری کد ناموفق استسیم کشی ISP را بررسی کنید و تنظیم فیوز RESET را تأیید کنید
زمان بندی نادرستمنبع کلاک انتخاب شده و پیکربندی فیوز را تأیید کنید
خوانش های ناپایدار ADCبهبود اتصال زمین و افزودن خازن های جداکننده مناسب
خطاهای ارتباطیبررسی تنظیمات و تنظیمات زمان بندی USI
پین های بیش از حد گرم شدهکاهش جریان بار و استفاده از قطعات درایور خارجی

۱۲. نتیجه گیری

ATtiny85 ویژگی های کنترل هسته ای را در قالبی بسیار جمع وجور ترکیب می کند. مشخصات، عملکرد پین، بلوک های داخلی و تنظیمات توان آن توضیح می دهد که چگونه در مدارهای واقعی کار می کند. با مدیریت صحیح GPIO، استفاده از ADC، تنظیمات سریال و مدار حداقلی، ATtiny85 را می توان به وضوح فهمید و در طراحی های پایدار و کم مصرف به کار برد.

۱۳. پرسش های متداول [پرسش های متداول]

۱۳.۱ ATtiny85 چقدر برق مصرف می کند؟

مصرف برق به ولتاژ تغذیه، سرعت کلاک و ویژگی های فعال بستگی دارد. کاهش سرعت کلاک و غیرفعال کردن تجهیزات جانبی استفاده نشده، مصرف جریان را کاهش می دهد.

۱۳.۲ آیا ATtiny85 به ساعت خارجی نیاز دارد؟

نه. ATtiny85 دارای نوسان ساز RC داخلی است و می تواند بدون قطعات کلاک خارجی کار کند. کلاک خارجی فقط برای دقت زمان بندی بالاتر لازم است.

۱۳.۳ آیا پین RESET می تواند به عنوان یک پین ورودی/خروجی معمولی استفاده شود؟

بله. پین RESET را می توان با تنظیمات فیوز به عنوان GPIO پیکربندی کرد. این کار برنامه نویسی استاندارد ISP را غیرفعال می کند و برای برنامه ریزی مجدد دستگاه نیاز به برنامه نویسی ولتاژ بالا دارد.

۱۳.۴ آیا ATtiny85 می تواند مستقیما موتور یا رله ها را هدایت کند؟

نه. پین های GPIO ATtiny85 فقط برای کنترل سیگنال هستند. موتورها و رله ها باید با استفاده از ترانزیستورهای خارجی یا MOSFETها راه اندازی شوند.

۱۳.۵ چرا خوانش های ADC ATtiny85 ناپایدار هستند؟

خوانش های ناپایدار ADC معمولا به دلیل نویز برق یا زمین ضعیف ایجاد می شوند. افزودن خازن های جداکننده مناسب و استفاده از حالت کاهش نویز ADC پایداری را افزایش می دهد.