خانه / پروژه های میکروکنترلر AVR / پروژه با سون سگمنت و LED / راه اندازی سون سگمنت با میکروکنترلر avr

راه اندازی سون سگمنت با میکروکنترلر avr

سون سگمنت (seven segment) یکی از پرکاربرد ترین قطعات در الکترونیک میباشد که از ان برای نمایش اعداد و مقادیر استفاده می شود. این قطعه از 8 عدد led تشکیل شده که 7 تای ان برای نمایش اعداد 0 تا 9 و برخی حروف و یک led برای نمایش نقطه ( ممیز ) استفاده می شود. هفت led که برای نمایش اعداد و برخی حروف استفاده می شوند, مانند تصویز زیر با حروف A تا G نامگذاری می شوند و نقطه با DP مشخص می شود :

همانطور که می دانید یک LED دارای دو پایه به نام های اند و کاتد می باشد, که برای روشن شدن led باید پایه ی اند به مثبت و کاتد به منفی وصل شود. به همین منظور بر اساس نحوه اتصال این led ها به هم, دو نوع سون سگمنت وجود دارد :

اند مشترک : در صورتی که پایه مشترک led ها پایه اند باشد به ان سون سگمنت اند مشترک می گویند, که پایه مشترک باید به مثبت وصل شود و برای روشن شدن هر کدام از led های A تا G ( و DP ) پایه led مورد نظر باید به منفی وصل شود

کاتد مشترک : در صورتی که پایه مشترک led ها پایه کاتد باشد به ان سون سگمنت کاتد مشترک می گویند, که پایه مشترک باید به منفی وصل شود و برای روشن شدن هر کدام از led های A تا G ( و DP ) پایه led مورد نظر باید به مثبت وصل شود

در تصویر زیر نحوه اتصال led های این دو نوع سون سگمنت مشخص شده است

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

همانطور که گفته شد یک سون سگمنت تکی می تواند اعداد 0 تا 9 و برخی حروف را نمایش بدهد, در تصویر زیر مشخص شده که برای روشن شدن هرکدام از اعداد و یا حروف کدام led ها باید روشن شوند

در برنامه ای که در ادامه قرار داده می شود بجای هر کدام از اعداد و حروف قابل نمایش روی سون سگمنت کد هگز ان استفاده می شود, که باتوجه به اینکه برای هر کدام از اعداد و حروف چه led هایی باید روشن شوند کد هگز ان بدست می اید. در جدول زیر کد هگز هر کدام از اعداد و حروف نوشته شده است :

این جدول مربوط به سون سگمنت کاتد مشترک است. برای سون سگمنت آند مشترک کافی است همه ی صفرها را به یک و همه ی یک ها را به صفر تغییر دهیم و کد هگز جدید را بدست بیاوریم.

 

پروژه شمارنده با سون سگمنت :

در این پروژه هدف نمایش اعداد 0 تا 9 می باشد و زمانی که به عدد 9 رسید دوباره از اول شروع کند و … که به این پروژه ساده شمارنده با سون سگمنت تکی می گویند. در زیر شماتیک قرار داده شده است :

توجه : در پروتئوس, سون سگمنت به صورت بالا می باشد که پایه های ان از سمت چپ به ترتیب a تا g می باشند و پایه اخر که بجایی وصل نشده همان DP می باشد که در این پروژه استفاده نشده است .

 

برنامه کدویژن :

ما در این پروژه از سون سگمنت کاتد مشترک استفاده کردیم, بنابراین باید از کدهای هگزی که در جدول بالا گفته شد بجای اعداد 0 تا 9 استفاده کنیم . در صورتی که از سون سگمنت اند مشترک می خواهید استفاده کنید کافی است که پین مشترک که در بالا به زمین وصل است را به مثبت وصل کنید و کدهای هگز اند مشترک را بجای کدهای هگز زیر در ارایه قرار دهید (برای بدست اوردن کد هگز اند مشترک همانطور که گفته شد در جدول بالا صفرها را به یک و یک ها را به صفر تبدیل کنید و کد باینری بدست امده را تبدیل به هگز کنید)

در برنامه بالا یک متغیر به نام i معرفی شده است که در ابتدا صفر است و با هربار اجرای برنامه با توجه به دستور ++i یک واحد به ان اضافه می شود و زمانی که i از 9 بیشتر شد دستور شرطی if ان را دوباره صفر می کند و این روند ادامه دارد . زمانی که متغیر i صفر است ارایه سون سگمنت که در while فراخوانی شده به صورت زیر است:

دستور بالا به ارایه معرفی شده در ابتدای برنامه رفته و عنصر 0 ارایه را روی پورت c می ریزد. بنابراین پورت c برابر با 0x3F می شود که اگر در جدول بالا نگاه کنید, این کد هگز معادل 0 می باشد. 

در اجرای دوم برنامه i برابر با یک میشود , بنابراین عنصر 1 ارایه که 0x06 می باشد و معادل 1 است روی پورت c ریخته می شود و… 

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

کلیپ شبیه سازی در پروتئوس :

 

دانلود فایل ها

پسورد فایل زیپ : www.emic.ir

نظر یادتون نره …

درباره ی عابد رازانی

فارغ التحصیل کارشناسی الکترونیک از دانشکده باهنر شیراز و علاقمند به برنامه نویسی و طراحی مدارات الکترونیکی, در حال حاضر به تولید محتوای اموزشی و طراحی و انجام پروژه مشغول هستم و همچنین درحال اماده شدن برای ارشد

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *