دوره آموزشی میکرو کنترلرهای STM32 _ راه اندازی DS1307 (بخش پنجم)
2019-01-10 20:55:03
جلسه پنجاه و دوم _ راه اندازی DS1307 در نرم افزار Keil با استفاده از کتابخانه مربوط به آن و افزودن آن به برنامه
در این برنامه قصد داریم تا کتابخانه مربوط به DS1307 را به برنامه اضافه کنیم و توابع آن را بررسی نماییم و در انتها با استفاده از این توابع بتوانیم DS1307 را راه اندازی نماییم و زمان و تاریخ را روی یک ال سی دی نمایش دهیم.
در ابتدا مطابق آموزش های قبلی کتابخانه های مربوط به LCD 2x16 و DS1307 را در پوشه Src مربوط به پروژه اضافه می کنیم و با اضافه کردن New Group در نرم افزار Keil و انتخاب نام مناسب برای آن کتابخانه مورد نظر را Add می کنیم.
پس از آن به سراغ فایل main.c می رویم و مسیر کتابخانه های مربوط به LCD و DS1307 را اینکلود می کنیم.
در ادامه متغیرهای مربوط به LCD و DS1307 را هم به برنامه اضافه می کنیم.
در ادامه برنامه DS1307 را پیکربندی می کنیم
پس از آن به پیکربندی LCD 2x16 می پردازیم و متن های مورد نظر را روی نمایشگر نمایش می دهیم.
در ادامه با استفاده از توابع Set_Time و Set_Date ساعت و تاریخ مورد نظر را وارد می کنیم.
لازم به ذکر است با هر بار اجرا این دستورات ساعت و تاریخ بر اساس اطلاعات وارد شده بر روی آی سی تنظیم می شود در نتیجه فقط یک بار از این دستورات برای تنظیم ساعت و تاریخ استفاده نمایید.بعدا می توانید با اضافه کردن چند کلید به پروژه ساعت و تاریخ توسط کاربر تنظیم شود.
در ادامه به حلقه while می رسیم که درون این حلقه هر یک ثانیه یک بار اطلاعات مربوط به ساعت و تاریخ از آی سی خوانده می شود و پس از آن بر روی ال سی دی نمایش داده می شود.
با توجه به اینکه متغیرهای مربوط به DS1307 بصورت عمومی تبدیل شده است پس باید extern آنها نیز در فایل ds13.h قرار گیردکه برای اینکار فایل مورد نظر را باز می کنیم و extern متغیرها را به آن اضافه می کنیم.
همچنین توابع مربو ط به کتابخانه I2C نیز در کتابخانه مربوط به DS1307 استفاده شده است که برای استفاده از این توابع استراکچر مربوط به I2C را در بصورت extern به فایل ds13.c اضافه می کنیم.
در انتها می توانید شماتیک مربوط به این جلسه و برنامه (keil , STM32CubeMX) آنرا دانلود نمایید.