فهرست مطالب:

آموزش AVR Assembler 8: 4 مرحله
آموزش AVR Assembler 8: 4 مرحله

تصویری: آموزش AVR Assembler 8: 4 مرحله

تصویری: آموزش AVR Assembler 8: 4 مرحله
تصویری: برنامه نویسی avr گام اول | Programming For AVR microcontroler 2024, جولای
Anonim
آموزش AVR Assembler 8
آموزش AVR Assembler 8

به آموزش 8 خوش آمدید!

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

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

احتمالاً می توانید از این طریق پیش بینی کنید که هدف نهایی ما این است که این کار را با هر یک از اجزای ساخته شده در طول مسیر انجام دهیم تا هنگامی که کارمان تمام شد بتوانیم همه آنها را در یک بسته زیبا و پنهان نگه داریم که از طریق فشار دادن دکمه ها بدون مشاهده همه موارد عمل می کند. سیمها و عملکرد داخلی

ما بیشتر این آموزش را صرف انجام کارهای فیزیکی مانند طراحی یک مدار ، نقشه برداری از یک تخته نمونه سازی و لحیم کاری وسایل با هم می کنیم ، اما کمی برنامه نویسی باید در پایان بعد از جابجایی کارها انجام دهیم. دلیل این است که ما در نهایت از رابط سریال 2 سیم برای برقراری ارتباط بین کنترلر اصلی "اصلی" ما و همه کنترلرهای "برده" که اجزای پروژه کلی ما را در این سری آموزش ها تشکیل می دهند ، استفاده می کنیم و ، همانطور که به خاطر می آورید ، در آموزش 6 ما نوعی روش کد مورس را ابداع کردیم تا تاس های خود را از رول تاس (آموزش 4) به تجزیه و تحلیل ثبت (آموزش 5) منتقل کنیم که نتیجه پرتاب تاس را به صورت دودویی روی 8 LED نشان می داد. به خوب ، این فقط یک روش ارتباط "خودت بود" بود که من تصمیم گرفتم از آن استفاده کنم زیرا ، در آن زمان ، برای وارد شدن به ارتباط سریال دو سیمه خیلی زود بود. ما در حال حاضر تقریباً آماده ایم تا در انتهای عمیق ارتباطات سری بزنیم و این کار را در آموزش 10 انجام خواهیم داد ، اما در حال حاضر ما باید پیشرفت آینده را پیش بینی کنیم و LED های تاس خود را دوباره وصل کنیم تا این دو را آزاد کنیم. پین هایی که برای ارتباط سریال به آنها نیاز داریم.

اینها پین های SCL و SDA در ATmega328P هستند. در نمودار pinout مشاهده می کنید که هنگام تبدیل آنالوگ به دیجیتال به آنها ADC5 و ADC4 نیز گفته می شود ، هنگامی که به عنوان پین "وقفه در تغییر پین" استفاده می شود PCINT13 و PCINT12 نامیده می شود و در نهایت ما آنها را به طور کلی PC5 و PC4 می نامیم. وقتی به سادگی به عنوان پین در PortC در نظر گرفته می شود. از آنجا که ما به دلایل مختلف از این دو پین به عنوان بخشی از تاس چرخ خود استفاده کردیم (مهمترین آنها این است که کدگذاری را آسان تر کرده و سیم های LED را روی برد آسان تر کرده است) اکنون باید کد خود را تغییر دهیم و کمی آن را دوباره سیم کشی کنیم. این پین ها را برای ارتباطات بعدی آزاد کنید.

بنابراین ما با طراحی ، برش ، سیم کشی و لحیم کاری شروع می کنیم. سپس ما تاس را دوباره می نویسیم تا با مجموعه جدید ما کار کند و در نهایت آن را آزمایش می کنیم تا مطمئن شویم هنوز کار می کند.

برای تکمیل این آموزش به موارد زیر نیاز دارید:

  1. موارد استانداردی که همیشه به آنها احتیاج دارید ، من دائماً از تکرار آنها خودداری می کنم: تابلوی نمونه اولیه ، کپی برگه اطلاعات و مجموعه دستورالعمل ها و مغز شما.
  2. نمونه اولیه برد مدار چاپی PCB مانند این: https://www.ebay.com/itm/191416297627 من قصد دارم از نسخه Measure Explorer 103RAWD این برد استفاده کنم: https://www.ebay.com/itm/103RAT -circuit-proto-proto … از آنجا که من تعدادی از آنها را در دست دارم ، اما نسخه 103RAW-0 که من در بالا به آن پیوند می دهم نیز به خوبی کار می کند.
  3. دستگاه های برش ، سیم ، لحیم ، آهن لحیم کاری ، "دست های کمک کننده" یا هر چیزی برای نگه داشتن وسایل و غیره و غیره و غیره دوباره ، از اینجا به بعد ، من لیست این موارد را نیز متوقف می کنم. اگر واقعاً در این آموزش ها تا اینجا پیش رفته اید ، احتمالاً همه این موارد را قبلاً در اختیار دارید.

در اینجا پیوندی به مجموعه کامل آموزش های مونتاژ AVR من آمده است:

مرحله 1: طراحی نمودار سیم کشی

طراحی نمودار سیم کشی
طراحی نمودار سیم کشی
طراحی نمودار سیم کشی
طراحی نمودار سیم کشی
طراحی نمودار سیم کشی
طراحی نمودار سیم کشی

نکته جالب در مورد تابلوهای Measure Explorer این است که اگر کمی وقت بگذارید و موارد را در ابتدا ترسیم کنید ، می توانید در انتها از سیم کشی زیادی صرفه جویی کنید. بنابراین ما قبل از شروع لحیم کاری هر چیزی ، مدتی را برای طراحی طرح خود اختصاص می دهیم. با استفاده از این نوع تخته ، شما باید دسته ای از سیم های متصل را قطع کنید ، که به این سادگی ها نیست ، اما نتیجه یک تخته جمع و جور بسیار زیبا با حداقل خرابی سیم های درهم پیچیده است. اولین کاری که ما باید انجام دهیم طراحی ماست مدار را طوری قرار دهید که روی برد قرار گیرد. یک راه خوب برای انجام این کار این است که نقشه صفحه را بارگیری کرده و سپس از آن برای بازی با طرح های مختلف استفاده کنید تا زمانی که یک طرح مناسب را پیدا کنید. در اینجا طرح ME-PB-103RAWD https://www.bluemelon.com/photo/3483513-T800600-j.webp

مرحله 2: مدار را روی صفحه قطع کنید

قطع کردن مدار روی برد
قطع کردن مدار روی برد
قطع کردن مدار روی برد
قطع کردن مدار روی برد
قطع کردن مدار روی برد
قطع کردن مدار روی برد

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

در مرحله بعد باید اتصالات اطراف خطوط را قطع کنید. اگر به تخته دقت کنید ، می بینید که هر سوراخ پین به 4 سوراخ مجاور در دو طرف تخته وصل شده است به طوری که در شروع کار همه سوراخ های روی تخته به یکدیگر متصل می شوند. بنابراین شما باید هر دو طرف سیم خود را جدا کنید تا آنها را جدا کنید. متداول ترین روش انجام این برش با چاقوی Exacto است. اما من چاقوهای Exacto را می خورم و احتمالاً خودم را می برم. بنابراین من از Dremel با ضمیمه ابزار برش نازک استفاده می کنم. ای کاش یک نوع ضمیمه سنگ زنی داشتم که به نقطه تیزتری رسید زیرا بهترین کار را می کرد - اما من چنین چیزی ندارم ، بنابراین از ضمیمه اره برش استفاده کردم. (توجه اضافه شد: پس از اتمام این پروژه متوجه شدم که سرهای کوچکتر "چرخ برش سنگین" برای Dremels بهترین کار را می کنند ، آنها شبیه حلقه های کوچک کاغذ سنباده هستند و مانند ابزار برش نشان داده شده در اینجا عمل می کنند به جز قطر کوچکتر و غیره مشاهده و کنترل مکان برش بسیار آسان تر است)

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

کمی طول می کشد و صبر می شود که مدار را روی برد بچرخانید ، اما وقتی به آن مسلط شوید بسیار سرگرم کننده است.

مرحله 3: اجزا را لحیم کرده و آزمایش کنید

قطعات را لحیم کنید و آزمایش کنید
قطعات را لحیم کنید و آزمایش کنید
قطعات را لحیم کنید و آزمایش کنید
قطعات را لحیم کنید و آزمایش کنید
قطعات را لحیم کنید و آزمایش کنید
قطعات را لحیم کنید و آزمایش کنید

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

من ابتدا LED ها را برای یکی از تاس ها لحیم کردم ، سپس از تخته نان بردارهای مثبت و منفی را بیرون آوردم و اتصالات هر LED را آزمایش کردم تا مطمئن شوم که از یکدیگر جدا شده اند و کار می کنند.

به طور مشابه با قالب دیگر.

سپس مقاومت را به هر قالب و مقاومت 10K را در پشت تخته وصل کنید.

سپس نوسان ساز کریستالی ، درپوش 22pf ، دکمه های فشار و ATmega328P را وصل کنید. ممکن است بخواهید یک سوکت تراشه را لحیم کرده و سپس ATmega328P خود را در آن قرار دهید تا در صورت تمایل بتوانید آن را برداشته و در موارد دیگر مجدداً از آن استفاده کنید. من فقط تراشه خود را به تخته چسباندم زیرا می دانم که در نهایت با همه این آموزش ها چه چیزی را می سازیم و می دانم که آنقدر دوست دارم که نمی خواهم تراشه را بیرون بیاورم.

توجه داشته باشید ، با نگاه کردن به پشت تخته ، روشی را که سرصفحه ها را ضمیمه کرده ایم. من از سربرگ های بلند پین استفاده کردم و آنها را به صورت افقی خم کردم تا از تخته خارج نشوند. این به این دلیل است که من می توانم در نهایت تخته را تا سطح دکمه های فشار و LED ها با یک ظرف بپوشانم و هدرها مانع نشوند. ما یک سرصفحه برای Tx ، Rx داریم تا بتوانیم تراشه را برنامه ریزی کنیم ، یک سرصفحه برای SDA ، SCL داریم تا بعداً بتوانیم از ارتباط 2 سیم استفاده کنیم. و ما یک سربرگ 3 پین برای AVCC ، AREF ، GND در طرف دیگر برد داریم. من تمام پایه های پایه و پایه های VCC را روی تراشه به هم متصل کرده ام ، بنابراین ما فقط به یک ورودی برق نیاز داریم.

سرانجام هنگامی که همه چیز وصل شد ، ما همانطور که روی تخته نورد انجام می دادیم 1 تا 2 می کوبیم تا بتوانیم هر دو تاس را فقط با 9 پین کنترل کنیم.

اکنون ما باید کد خود را تغییر دهیم تا این تنظیمات جدید را کنترل کند.

مرحله 4: کد مونتاژ و فیلم

من کد مونتاژ و ویدئویی از تاس در حال ضمیمه کردن را ضمیمه کرده ام. تنها کاری که من انجام دادم این بود که کد قطعه قطعه را از آموزش 6 برداشتم ، پین ها را برای مطابقت با طرح جدید تغییر دادم و زیر روال ارتباطات را حذف کردم ، زیرا ما در حال نوشتن خواهیم بود یک مورد جدید در آموزش 10. دفعه بعد ما دوباره صفحه کلید خود را باز کرده و نحوه کنترل نمایشگرهای 7 قسمتی را یاد می گیریم. پس شما را می بینیم!

توصیه شده: