الآن نأتي الى البرمجة:-
استخدمت لغة الاسيمبلي لبرمجة المايكرو,,,
وكما نعلم فان اي صورة مكونة من عدد من البكسلات ذات دقة معينة"صف*عمود" مثل 1024*720
و يجب ان نعلم اننا سنرسم صورة عدد البكسلات لكل عمود هو 28 ليد اي ثابت"عدد الليدات",,,
لكننا نستطيع ان نحدد عدد البكسلات في كل صف ,, وقد اخترنا أن تكون 60 بكسل
بالتالي فاننا سنستخدم صورة دقة 28*60 أي 60 عمود و 28 صف من البكسلات...
يعني اننا نستطيع ان نرسم اي صورة كانت شرط ان تكون 28*60 و ان تكون من نوع binary اي ابيض و اسود "ليست رمادية" و طبعا عند عرض الصورة سنستخدم اللون الاحمر فقط"لون الليدات" و هذه هي الصورة المستخدمة في المشروع:-
هي صغيرة جدا
نقوم بتحويل هذه الصورة الى مصفوفة رقمية أي كل بكسل لون اسود يكون صفر و كل بكسل ابيض يكون واحد,,, بالتالي ستتكون مصفوفة رقمية للصورة ابعادها
60 * 28 " و طبعا نفس ابعاد الصورة" هذه المصفوفة نخزنها على ملف TXT مثلا,,
فكل عمود في هذه المصفوفة هو سيشتغل لفترة ما
" نقسم العمود الى اربع اجزاء"عدد البورتات" وثم ننقله الى بورتات المايكرو" و من ثم نشغل العمود الذي يليه و هكذا,,,,
كود الاسيمبلي لكل عامود
mov p0,#No
mov p1,#No
mov p2,#No
mov p3,#No
طبعا هذا يتطلب ان اقوم يدويا بتقسيم كل عمود الى الاربع اقسام"كل قسم بايت" و من ثم احوله الى ال "Hexa decimal" سداسي عشر,,, و ان اكرر العملية 4 مرات لكل عامود و 60 مرة للمصفوفة ككل ,,, و ان اكتب كود الاسيمبلي لكل عمود"اربع بوتات"
لكن بدلا من اكتب كود الاسيمبلي لكل عمود يدويا ,, فقد استخدمت برنامج الماتلاب فبمجرد ان اعطيه الموصفوفة الرقمية للصورة فهو سيعطيني كود الاسيمبلي لكل عامود دفعة واحد ,,, فبالتالي تخلصت م ذلك العناء
البرنامج اريد ان اضعه لكنه سيكون طويل جداً