پرش به محتوا

شمارنده تک رقمی سون سگمنت با بسکام

دراین پروژه میخواهیم شمارنده سون سگمنت با کلید درمحیط بسکام درست کنیم که با فشردن کلید up بالاوبافشردن کلید down پایین رود . وهرگاه به 9 برسد با زدن کلید به 0 برگردد.
شمارنده تک رقمی با کلید افزایش و کاهش عدد

در ابتدای آموزش شمارنده، به معرفی مختصری در مورد سون سگمنت می‌پردازیم.

سون سگمنت چیست؟

 سون سگمنت قطعه‌ای است که معمولاً به عنوان نمایشگر اعداد (از 0 تا 9) و برخی حروف انگلیسی به کار می‌رود. همچنین قابلیت نمایش برخی نمادها مانند مساوی، سه خط  موازی و نقطه را دارد. معمولا از نقطه که در پایین قطعه در کنار سگمنت هشتم قرار دارد به عنوان ممیز استفاده می‌­شود. هم‌چنین مواردی مانند چشمک زدن، چرخش سگمنت ها و … امکان نشان دادن اطلاعات بسیاری را از طریق این قطعه‌ فراهم می‌کند.

رمزگذاری شمارنده‌ سون سگمنت

انواع سون سگمنت؟

در واقع ساختمان داخلی سون سگمنت از LED هایی تشکیل شده‌ است که یا به صورت آند مشترک و یا به صورت کاتد مشترک به یکدیگر متصل هستند، از همین رو سون‌ سگمنت ها به دو دسته‌­ کاتد مشترک و آند مشترک تقسیم بندی می‌­شوند.

در کاتد مشترک سیگنال HIGH و در آند مشترک سیگنال LOW سبب روشن شدن سگمنت ها می­‌شود. برای اتصال سون سگمنت به میکروکنترلر از مقاومت برای محدود کردن جریان استفاده‌ می‌شود. برای محاسبه این مقاومت باید مقدار افت ولتاژ روی سون سگمنت را بدانیم، که این مقدار در هر سون سگمنت متفاوت می­‌باشد.

(ولتاژ پورت – ولتاژ سگمنت) / مقاومت = جریان هر سگمنت

مقدار جریان مورد نیاز سگمنت به نوع ساخت و اندازه آن بستگی دارد. مثلا یک سون سگمنت نور بیشتر و دیگری نور کمتری دارد. به صورت معمول برای سون سگمنت های کوچک مقاومتی در حد چند صد اهم کفایت می­‌کند.

مدارپروتوس زیر را ببندید.

ما در مدار شمارنده‌ بالا آمده‌ایم پورت d0 تا d7 برای سون سگمنت گذاشتیم وپورت b1 وb2 کلید up و down میگذاریم

در خط بعدی کد های سون سگمنت نوشته‌ شده‌ است. که‌ با توجه‌ به جدول زیر می­توان روش بدست آوردن این کد ها را پیدا کرد.

 

در ابتدا به وسیله دستور ”regfile”m16.def.dat$ نوع میکروکنترلر را مشخص می­کنیم.

در ادامه نوع فرکانس کریستال مشخص می‌شود. $crystal=8000000

باید به وسلیه دستور config PORTD=output پورت B را خروجی قرار دهیم و سپس حلقه DO LOOP ایجاد شود.

بادستور Alias کلید هارا نام گذاری میکنیم.

سپس بادستور Debounce کلید هارا کنترل میکنیم.

کد های برنامه دربسکام مینویسیم و کامپایل میکنیم.

$regfile = "m16def.dat"
$crystal = 8000000

Config Portd = Output

Config Portb.1 = Input
Plas Alias Pinb.1
Config Portb.2 = Input
Lowd Alias Pinb.2

Dim Porya As Byte

Do

Portd = Lookup(porya , Tomani)

If Porya > 9 Then Porya = 0
If Porya < 0 Then Porya = 9

Debounce Plas , 0 , Plas_at , Sub
Debounce Lowd , 0 , Lowd_by , Sub

Loop

Plas_at:

Porya = Porya + 1
Return

Lowd_by:

Porya = Porya - 1

Return

End
Tomani:

Data &B00111111
Data &B00000110
Data &B01011011
Data &B01001111
Data &B01100110
Data &B01101101
Data &B01111101
Data &B00000111
Data &B01111111
Data &B01101111
Data &B01110111
Data &B01111100
Data &B00111001
Data &B01011110
Data &B01111001
Data &B01110001

حال برنامه را درپروتئوس روی میکرو میریزیم و نحوه کار را در ویدئو زیر ببینید.

برای دانلود کلیک کنید

اشتراک گذاری این نوشته

شیرازی دانشجوالکترونیک📖 طراح وساخت مدارات وپروژه🧰🔌🕹 برنامه نویس💻😎 تلگرام=@poryatomani.اینستا=tomaporya473

شاید این مطالب براتون جذاب باشه!

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

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

تماس با ما

عضویت

عضو سایت هستید؟ برای ورود کلیک کنید

ورود به حساب کاربری