Visits: 2479
این شمارنده تک رقمی به زبان سی برای میکرو کنترولر AVR نوشته شده و بعد از اجرا کردن آن میکرو از صفر تا نه شروع به شمارش می کند و بعد اینکه به 9 رسید مجددا این عملیات تکرار می شود.
unsigned char seg[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
از متغیر آرایه ای seg برای نگهداری کدهای مربوط به اعداد 0 تا 9 استفاده شده، طریقه پیدا کردن این کدها هم به این صورت می باشد.
البته شکل بالا مربوط به سون سگمنت کاتد مشترک می باشد که طریقه پیدا کردن کدها مشابه هم هستند با این تفاوت که در آند مشترک برعکس کاتد مشترک می باشد.
در کاتد مشترک کاتد همه LED ها به زمین وصل می شود و حالا اگر ما مثلا به LED A یک منطقی بدهیم روشن می شود و اگر صفر منطقی بدهیم خاموش می شود (چون کاتد هم صفر بود) و به همین روش وضعیت 7 تا LED را تا آخر مشخص می کنیم و در نهایت یک کد هگز بدست می آید.
به مثال زیر برای پیدا کردن کد عدد 1 برای کاتد مشترک و آند مشترک توجه کنید:
کاتد مشترک:
C7 C6 C5 C4 C3 C2 C1 C0 FREE G F E D C B A 0 1 1 0 0 0 0 0 = 60H
آند مشترک:
C7 C6 C5 C4 C3 C2 C1 C0 FREE G F E D C B A 1 0 0 1 1 1 1 1 = 9FH
در این مثال ما از سون سگمنت آند مشترک استفاده کردیم که اگه بقیه اعداد را به روش بالا کد کنیم در نهایت به آرایه بالایی می رسیم. حالا باید این آرایه را به خروجی بفرستیم که باید اول پورت c را خروجی تعریف کنیم و بعد هم تابع main و بعد یک حلقه بینهایت و بعد به کمک حلقه for اعضای آرایه را یکی یکی به خروجی بفرستیم و یک تاخیر 1 ثانیه هم بین هر شمارش گذاشتیم.
نرم افزار PicPars tools می تواند شما را در تولید کدها کمک کند.
امیدوارم که این مقاله مورد رضایت شما واقع شده باشد.
این مقاله توسط سایت برنامه نویسی میکروکنترولرها ارائه شده کپی برداری تنها با ذکر منبع مجاز می باشد.