نمایش ساعت و دقیقه روی سون سگمنت با قابلیت تنظیم RTC

ساخت ساعت دیجیتال

در این بخش تیم الکترونیک و برنامه نویسی الکترونیک ۹۸, اقدام به طراحی و انتشار پروژه ای کاربردی و جذاب با عنوان, نمایش ساعت و دقیقه روی سون سگمنت با قابلیت تنظیم RTC, برای شما علاقه مندان به پروژه های میکروکنترلر AVR کرده است. در این پروژه بر روی یک سون سگمنت مالتی پلکس چهار رقمی ساعت و دقیقه نمایش داده می شود، و هر ثانیه LED نقطه (DP) روشن و خاموش می گردد. همچنین توسط دو شستی می توان زمان را تغییر داد.

نقشه شماتیک پروژه

نمایش ساعت و دقیقه روی سون سگمنت با قابلیت تنظیم RTC

برای آنکه ساعت دیجیتالی با دقت بالایی داشته باشیم از کریستال 32768Hz یا همان کریستال ساعت برای فعال سازی واحد RTC استفاده می کنیم. دقت این تایمر به مراتب بالاتر از دستورات تاخیری است.

پس از پیکربندی RTC با دستور Config Clock = Soft, Gosub = Sectic و Timer$، ساعت داخلی میکروکنترلر ATmega8 با زمان اولیه 23:22 شروع به کار می کند. افزایش زمان با تابع Sub Keyscan انجام می شود. تابع Sub Send مربوط به ارسال معادل باینری زمان روی سون سگمنت (7-Segment) می باشد.

همچنین فایل شبیه ساز این پروژه نیز که با نرم افزار Proteus 8 Professional طراحی شده، پیوست فایل پروژه جهت دانلود قرار داده شده است، که می تواند شما را در یادگیری هر چه بهتر مدار و نحوه عملکرد آن یاری نماید.

برنامه میکروکنترلر به زبان بیسیک BASIC در نرم افزار BASCOM-AVR

 اطلاعات پروژه

 رمز فایل : www.electronics98.com

 حجم فایل : 90 کیلوبایت

 محیط برنامه نویسی : Bascom-AVR

 برنامه نویسی شده به زبان : Basic

 نویسنده : فرهاد اکبری

 تاریخ انتشار : 11 مارس 2018

44 دیدگاه

  1. سلام ممنون خیلی مفید بود
    فقط میشه فایل C رو هم بذارین؟؟؟؟

  2. سلام دوست عزیز
    خوشحالیم که پروژه مورد رضایت شما بوده، به امید خدا در آینده نزدیک پروژه های از این قبیل به زبان C نیز در سایت منتشر خواهد شد.

  3. خیلی ممنون از شما
    ولی من امشب لازم دارم کد C این برنامه رو
    براتون مقدور نیست امشب کدش رو بمن بدین؟؟؟

  4. سلام خیلی ممنون .عالی بود . یه سوال داشتم چرا ساعتی که با این برنامه نوشتم هر دو ساعت حدود بیست ثانیه جلو میوفته ؟ برنامه رو با usb isp ,وبا برنامه extreme burner ریختم توی m8 کریستالو هم 32768 گزاشتم

  5. سلام دوست عزیز
    ساعت هایی که با کریستال ساعت توسط میکروکنترلر طراحی می شوند بسیار بسیار دقیق می باشند، معمولا مشکلات این چنینی می تواند به دلیل وجود نویز در مدار رخ دهد، که معمولا منبع این نویزها در مدار، استفاده از منابع تغذیه بی کیفیت است. برای اطمینان از کیفیت منبع تغذیه استفاده شده می توانید یکبار مدار را با باتری راه اندازی کنید و بررسی کنید که با استفاده از باتری نیز ساعت جلو می افتد یا خیر.

  6. سلام جناب اکبری ممنون که وقت گزاشتید..من با باتری هم تست کردم .یه m8 دیگه هم خریدم تست کردم با کریستال جدید ولی بازم دقیقا همون طوره . منظور از قابلیت rtcقابل تنظیم چیه؟ نمیشه چیزی رو داخل برنامه کمو زیاد کنیم که این مشکل حل شه.

  7. سلام دوست عزیز
    تنها دلیل جلو یا عقب ماندن ثانیه می تواند به دلیل وجود نویز در مدار باشد، آیا در نرم افزار شبیه ساز نیز زمان عقب یا جلو می افتد؟
    منظور از RTC قابل تنظیم، همان تنظیم Prescale می باشد که در تایمرهای میکروکنترلرهای avr در دسترس است و برای کریستال ساعت در برنامه باید بر روی 128 باشد.
    البته برای رفع این مشکل می توانید در برنامه تغییراتی ایجاد کنید که مثلا هر دو ساعت 20 ثانیه از مقدار زمان کم کند.

  8. سلام جناب اکبری در مورد این برنامه که جلو میوفته تحقیق کردم سایت picpars چند نفر مثل من همین مشکلو داشتن .الان برا حلش دقیقا باس چکار کرد.؟

  9. سلام دوست عزیز
    آیا این مشکل در شبیه ساز نیز وجود دارد؟

  10. سلام .داخل نرم افزار 72ثانیه یک دقیقه رویه سونسگمنت ثبت میشه

  11. سلام دوست عزیز
    دقیقا متوجه موضوع نشدم لطفا کمی کاملتر توضیح دهید

  12. یه مساله دیگه هم اینکه فرکانس میکرو تویه برنامه 8000000 هستش و داخل برنامه سونسگمنتا درست کار میکنن.ولی در عمل چشمک میزنن. وزمان بازم جلو میفته . من گزاشتمش 1000000 درست شد ولی مشکل زمان حل نشد.

  13. لطفا توجه داشته باشید در برنامه مقدار فرکانس کریستال هر مقدار است باید هنگام پروگرام کردن میکروکنترلر و یا نرم افزارهای شبیه ساز نیز همان مقدار را در تنظیمات فیوزهای مربوط به کریستال تنظیم کنید، در صورت عدم تنظیم صحیح این موضوع ممکن است با مشکل پرش سون سگمنت ها و عقب و یا جلو افتادن زمان مواجه خواهید شد.

  14. سلام اقای اکبری.. خیلی ممنون .مشکل حل شد.ایراد در فیوز بیت ها بود.من هر جور که تنظیمشون میکردم هیچ تغییری در عملکرد ساعت مشاهده نمیشد.تا بلاخره بعداز اخرین راهنمایی شما. همه فیوز بیتها رو default کردم بعد دوباره تنظیمشون کردم . یک دنیا ممنونم . میشه ثانیه شمارشم راه بیفته؟

  15. سلام دوست عزیز
    بسیار خوشحالم که مشکلتان برطرف شد
    بله به راحتی می توانید ثانیه شمار نیز به برنامه اضافه کنید، برای این منظور کافی است از یک سون سگمنت 6 رقمه استفاده کنید و همانند برنامه نمایش دقیقه و یا ساعت چند خط برنامه نیز برای اضافه کردن ثانیه نیز بنویسید.

 شرایط و قوانین ثبت دیدگاه

 فارسی بنویسید و از کیبورد فارسی استفاده کنید.

 لطفاً بیش‌از‌حدِ معمول، شکلک یا ایموجی استفاده نکنید و از کشیدن حروف یا کلمات با صفحه‌کلید بپرهیزید.

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

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