این برنامه تاریخ میلادی را به تارخ شمسی تبدیل کرده و به زبان اسمبلی 8051 نوشته شده است.
این برنامه تاریخ میلادی را به تارخ شمسی تبدیل کرده و به زبان اسمبلی 8051 نوشته شده است (سال 1378) و حدود 850 بایت حافظه FLASH میکرو را اشغال میکند ضمنا 8 بایت از حافظه RAM و 2 بیت از آن را بعنوان چرکنویس اختیار میکند. برای وارد کردن اطلاعات تاریخ میلادی کافیست اطلاعات مورد نظر شامل روز و ماه و 2 رقم اول سال میلادی را به فرمت BCD در خانه های مورد نظر و با همان اسامی یعنی DAY,MONTH,YEAR در RAM وارد نمائید که در ابتدای برنامه اسمبلی مورد نظر نیز تاریخ 2007/12/13 بعنوان مثال و برای تست بصورت زیر وارد شده است: mov YEAR,#07h mov MONTH,#12h mov DAY,#13h سه خط دستور فوق میبایست در برنامه اصلی کاربر حذف شده وبجای آن بعنوان مثال خروجی قرائت تاریخ از RTC قرار گیرد که تقریبا تمامی آی سی های RTC اعداد تاریخ وزمان را به فرمت (Binary-Coded Decimal(BCD ارائه میدهندونیازی به نوشتن روتین های تبدیل فرمت نیست. سابروتین تبدیل تاریخ میلادی به شمسی در برنامه اسمبلی با نام CONVERT_DATE بوده و اطلاعات تبدیل شده را در همان آدرسهای ورودی مینویسد ضمن آنکه این اطلاعات در رجیسترهای R5,R6,R7 نیز کپی شده است. کاربر میتواند آدرس های اختصاص یافته در این برنامه را مطابق برنامه اصلی خود تغییر دهد. همچنین اطلااعات تاریخ شمسی به فرمت BCD بوده و به راحتی قابل نمایش بر روی LCD یا نمایشگر طرحتان میباشد در صورتیکه نیاز به تبدیل فرمت این اطلاعات باشید میتوانید از سابروتین (BTOH (BCD TO HEX که درانتهای برنامه اسمبلی موجود است استفاده نمائید(این سابروتین در برنامه تبدیل مورد نیاز نیست). برنامه فوق تا سال 1399 شمسی را محاسبه کرده و برای سالهای 1400 شمسی به بالاتر اگر دو رقم قرن یعنی 14 مد نظر نباشد بازهم بدرستی محاسبه میکند که میتوان عدد قرن رادر زمان نمایش اطلاعات شمسی روی صفحه نمایش به انتهای آن صوری اضافه نمود.(چند خط اضافه اسمبلی میخواهد)[بیشتر آی سی های RTC همظاهرا فقط 2 رقم اول یعنی سال را نگهداری و ارائه میدهند) برنامه با نام MILADY TO SHAMSY در فایل ارسالی موجود است ضمنا یک برنامه ویژوال هم از یک سایت برای تبدیل تاریخ هابه یکدیگر اخذ کردم که برای تست و چک مثالهای دلخواه برنامه اسمبلی خیلی مناسب است که آدرس سایت متأسفانه یادم نیست (که حواله بدهم) از نویسنده آن اقای مهرداد حقیقی تشکر میکنم. ضمنا در نوشته دیگری برخی از موارد ونکات تبدیل تاریخ ها به یکدیگر را ارسال خواهم نمود. موفق باشید سید مصطفی موسوی ویری - مهندس - فارغ التحصیل سال 1372 از دانشکده الکترونیک دانشگاه پلی تکنیک تهرآن