بازدیدها: 4135
این شمارنده دو رقمی به زبان سی برای میکرو کنترولر AVR نوشته شده و بعد از اجرا کردن آن میکرو از صفر تا 99 شروع به شمارش می کند و بعد اینکه به 99 رسید مجددا این عملیات تکرار می شود.
توضیحات مربوط به طریقه بدست آوردن کدهای هگز مربوط به سون سگمنت ها (آند و کاتد مشترک) در شمارنده تک رقمی توضیح داده شده. و در اینجا از توضیح آن صرف نظر می کنیم.
این شمارنده با استفاده از سون سگمنت های دوتایی طراحی شده که در این نوع سون سگمنت ها برای اینکه اطلاعات مربوط به دو رقم را همزمان نشان دهیم باید به صورت مداوم این اطلاعات روی سون سگمنت تازه کنیم Refresh تا همزمان دو رقم را مشاهد کنیم.
برای این کار من از یک تابع به نام ref_seg استفاده کردم که این تابع یک بار پایه 1 را یک می کند و 2 را صفر و عدد را روی سون سگمنت اولی ثبت میکند و بعد پایه 1 را صفر و پایه 2 را یک می کند و عدد مربوط به سون سگمنت دومی را ثبت می کند.
باید یک تاخیری بین این دو حالت صورت بگیرد تا ما اعداد را با چشم مشاهده کنیم که اگر تاخیر زیاد باشد به صورت چشمک زن یکی یکی روشن و خاموش می شوند و اگر تاخیر هم کم باشد چشم ما قادر به مشاهده آن نخواهد بود. که در اینجا من مقدار 50 میلی ثانیه را انتخاب کردم.
و برنامه اصلی هم که در تابع main است یک حلقه بی نهایت می باشد که در آن از دو حلقه for تو در تو برای شمارش استفاده شده که حلقه دومی که متغیر t را کنترل می کند برای ایجاد 1 ثانیه تاخیر برای هر شمارش است.
همانطور که گفتیم تاخیر بین هر بار تازه کردن سون سگمنت باید 50 میلی ثانیه باشد که در تابع ref_seg دوباره استفاده شده و در مجموع 100 میلی ثانیه می شود و متغیر t هم 10 بار 100ms را اجرا می کند و در نهایت 1000ms تاخیر ایجاد می شود.
در اینجا ما هم یک تاخیر 1 ثانیه ایجاد کردیم و این مدت زمان را به ریز ریز کردیم تا 10 بار سون سگمنت را تازه کنیم.
امیدوارم که این مقاله مورد رضایت شما واقع شده باشد.
این مقاله توسط سایت برنامه نویسی میکروکنترولرها ارائه شده کپی برداری تنها با ذکر منبع مجاز می باشد.
3 Comments
سلام این فایل که گذاشتین پسورد داره ؟
www.picpars.com
سلام وقت بخیر
ببخشین لطفا برنامه ای که اعداد ۲۰ الی ۶۰ را در سون سگمنت نمایش بده را قرار بدین با کدویژن
تشکر از شما