نمایش ساعت و دقیقه روی سون سگمنت با قابلیت تنظیم 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. سلام دوست عزیز
    به احتمال زیاد مشکل از عدم اتصال و تعریف صحیح کریستال ساعت در برنامه شبیه ساز باشد.

  2. من با زبان c برنامه ساعت نوشتم حجمش 2 کیلوبایت شد برنامه شما 90کیلو بایت!!!

  3. سلام خیلی عالیه فقط هر 24ساعت حدود 6ثانیه عقب میوفته دلیلش چی میتونه باشه کریستالم چند بار عوض کردم

  4. سلام دوست عزیز
    نباید این اتفاق رخ دهد، چراکه کریستال ساعت بسیار دقیق است، این مشکل به احتمال بسیار زیاد مربوط به نویزهای منابع تغذیه و یا محیط است لطفا بدنه کریستال را به منفی تغذیه متصل کنید و اگر مشکل برطرف نشد منبع تغذیه ای که از آن استفاده می کنید را تعویض کنید و یا از باتری استفاده کنید.

  5. سلام خسته نباشین
    من مدار رو روی بردبرد پیاده کردم ولی فقط 8888 رو نمایش میده
    میتونه مشکل از کریستال باشه
    اخه من از کریستال سر در نمیارم منظورتون از کریستال خارجی و داخلی چه چجوری باید تنظیمشون کنم

  6. و اینکه من در حال حاضر روی برد برد از کریستال استفاده نکردم
    میشه مشکل از اینجا باشه

  7. سلام دوست عزیز
    عملکرد این پروژه کاملا وابسته به کریستال ساعت است و اگر از کریستال استفاده نکنید به هیچ عنوان پروژه شما عمل نخواهد کرد و زمان محاسبه نخواهد شد، شما باید یک کریستال با مقدار 32768Hz تهیه کنید و مطابق نقشه شماتیک به پروژه متصل کنید.
    همچنین در هنگام پروگرام کردن میکروکنترلر باید وضعیت فیوزبیت های مربوط به کریستال را بر روی مقدار 8 مگاهرتز داخلی تنظیم و سپس فیوزبیت ها را پروگرام کنید.

  8. سلام خسته نباشین
    من مدار رو بستم روی بردبرد و از کریستال ساعت ا ستفاده کردم
    ساعت رو دقیق نمایش میده ولی 7segmet ها خاموش روشن میشن
    Wait ms رو تغییر دادم گذاشتم روی 1 بهتر شد ولی هنوزم مشکل خاموش روشن شدن 7segmant برطرف نشده

  9. سلام دوست عزیز
    این مشکل به این علت رخ داده است که شما در هنگام پروگرام کردن میکروکنترلر، مقدار فیوزبیت های مربوط به کریستال را بر روی 8 مگاهرتز داخلی تنظیم و پروگرام نکرده اید.

  10. واینکه ممنون از سایت خوبتون

  11. با سپاس از لطف و محبت شما دوست عزیز

  12. ممنون از پاسخ سریع شما فکر نمیکردم به این سرعت پیامم رو جواب بدین

  13. و اینکه طبق فرمایش شما در هنگام پروگرام کردن فیوز بیت ها رو
    CKSEL0=0 : CKSEL1=0 : CKSEL2=1 : CKSEL3=0 گذاشتم اما تغییر نکرده

  14. لطفا زمانی که در برنامه تغییر داده بودید را به حالت اول خود بازگردانید و اینبار فیوزبیت ها را بر روی یک مگاهرتز داخلی تنظیم نمائید و دوباره این موضوع را آزمایش کنید.

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

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

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

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

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