الکترونیک مدار شمارنده 2 رقمی

اطلاعات موضوع

درباره موضوع در تاریخ, در دسته الکترونیک دیجیتال ایجاد شده و آغاز کننده آن practicalsoftمی باشد و موضوع آن: مدار شمارنده 2 رقمی است. این موضوع تا کنون 123 بازدید کننده و, 0 پاسخ داشته و 1 بار پسندیده شده...
نام دسته الکترونیک دیجیتال
نام موضوع مدار شمارنده 2 رقمی
آغاز کننده موضوع practicalsoft
تاریخ شروع
پاسخ‌ها
0
بازدیدها
123
پسندها
1
آخرین ارسال توسط PracticalSoft
Jun 6, 2020
11,593
4,508
[H1]مدار شمارنده 2 رقمی بالا/پایین[/H1]


اصل مدار شمارنده 2 رقمی ، افزایش مقادیر در نمایشگرهای سون سگمنت با فشار دادن دکمه است. هنگامی که دکمه 1 فشار داده می شود، مقدار نمایشگر یک عدد افزایش می یابد و با فشار دادن دکمه دیگر، مقدار روی نمایشگر یک عدد کاهش می یابد.
[H4]مدار 1: استفاده از میکروکنترلر 8051[/H4]


اجزای مورد نیاز
AT89C51 (میکروکنترلر 8051)
2 نمایشگر 7 سگمنت (آند مشترک)
2 X 2N2222 ترانزیستور NPN
3 X دکمه فشاری
2 X 10KΩ مقاومت
2 X 470Ω مقاومت
مقاومت 8 x 100Ω
کریستال 11.0592 مگاهرتز
2 X 33pF خازن
خازن 10μF/16V
بسته مقاومت 1KΩ X 8
مینی برد بورد
منبع تغذیه 5 ولت
پروگرامر 8051

[H4]مدار 2: استفاده از میکروکنترلر ATmega8[/H4]




اجزای مورد نیاز
میکروکنترلر ATmega8
2 نمایشگر 7 سگمنت (آند مشترک)
2 X 10KΩ مقاومت
2 مقاومت 330 Ω
2 X دکمه فشاری

چگونه می توان از مدار 2 رقمی بالا و پایین شمارنده استفاده کرد؟
در ابتدا تغذیه مناسب مدار را وصل کنیدکنید.
مقادیر نمایش داده شده در سون سگمنت '00' است.
دکمه 1 را در مدار فشار دهید. مقدار در هفت بخش به '01' افزایش می یابد.
دوباره دکمه 1 را فشار دهید. مقدار روی نمایشگرها '02' است.
حالا دکمه دوم را فشار دهید. می توانید مشاهده کنید که مقدار به 01 کاهش می یابد.
مقدار روی نمایشگرها را می توان تا 99 افزایش داد، پس از 99 اگر دکمه 1 فشار داده شود، از '01' شروع به افزایش می کند. اگر دکمه دوم پس از کاهش به '00' فشار داده شود، '00' نمایش داده می شود. این مقدار تنها پس از افزایش مقدار حداقل به '01' قابل تغییر است.
الگوریتم برنامه نویسی
پورت های مربوط به میکروکنترلرها را به عنوان ورودی یا خروجی اعلام کنید.
آرایه ای را با کدهای هفت بخش اعلام کنید، یعنی اگر شماره یک نمایش داده شود، مقدار باینری که باید ارسال شود به صورت زیر است:
dp g f e d c b a 1 1 1 1 1 0 0 1

این به این دلیل است که بخش های b و c باید با منطق 0 برای نمایش '1' اختصاص داده شوند، ما از نمایشگر آند 7-سگمنت معمولی استفاده می کنم. بنابراین، مقدار باینری 0b11111001 یا مقدار هگزادسیمال 0xf9 به پورت خاصی که '1' در آن نمایش داده می شود، اختصاص داده می شود. آرایه باید از 0-9 مقادیر باینری یا هگزا تشکیل شده باشد.

با استفاده از حلقه if else وضعیت دکمه ها را بررسی کنید.
اگر دکمه 1 برای اولین بار فشار داده شود، هفت قطعه اول (در سمت چپ) باید 0 و دیگری باید 1 را نشان دهد. بنابراین خروجی '01' است.
اگر دکمه 1 برای بار دوم فشار داده شود، مقدار دکمه دوم باید یک افزایش یابد.
اگر دکمه دوم فشار داده شود، مقدار بخش اول باید یک مقدار کاهش یابد.




کد برای میکروکنترلر 8051

محتوای این بلوک پنهان فقط برای کاربر فعال, کاربر ویژه, کاربر ویژه برنزی الکترونیک, کاربر ویژه طلایی الکترونیک, کاربر ویژه نقره ای الکترونیک, کاربر ویژه پلاس الکترونیک قابل مشاهده است.
[H4]کد برای میکروکنترلر ATmega8[/H4]

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

  • Like
واکنش‌ها[ی پسندها]: SONIC
عقب
بالا