جدول المحتويات:

رسم متحرك على شاشة LCD مقاس 16 × 2 I2c باستخدام Nucleo STM32: 4 خطوات
رسم متحرك على شاشة LCD مقاس 16 × 2 I2c باستخدام Nucleo STM32: 4 خطوات

فيديو: رسم متحرك على شاشة LCD مقاس 16 × 2 I2c باستخدام Nucleo STM32: 4 خطوات

فيديو: رسم متحرك على شاشة LCD مقاس 16 × 2 I2c باستخدام Nucleo STM32: 4 خطوات
فيديو: creating animations on 16*2 LCD display 2024, يوليو
Anonim
Image
Image

مرحبًا أيها الأصدقاء ، هذا برنامج تعليمي يوضح كيفية عمل رسوم متحركة مخصصة على شاشة LCD مقاس 16 × 2 i2c. هناك عدد قليل جدًا من الأشياء اللازمة للمشروع ، لذلك إذا كان لديك وصول إلى الكود ، يمكنك الانتهاء منه في غضون ساعة واحدة.

بعد اتباع هذا البرنامج التعليمي ، ستتمكن من تصميم الرسوم المتحركة المخصصة الخاصة بك على متحكم دقيق.

الالكترونيات اللازمة للمشروع: -

1) STM32L476RG Nucelo Board

2) شاشة 16x2 i2c LCD

3) أسلاك توصيل

البرنامج المطلوب: -

1) STM32cubemx

2) Keil uVision5

التوصيلات: قم بتوصيل PB6 بـ I2C-SCK و I2C-SDA بدبوس PB7 من لوحة النواة.

الخطوة 1: افتح STM32Cubemx وقم بإجراء الإعدادات المقابلة للصور المرفقة

افتح STM32Cubemx وقم بإجراء الإعدادات المقابلة للصور المرفقة
افتح STM32Cubemx وقم بإجراء الإعدادات المقابلة للصور المرفقة
افتح STM32Cubemx وقم بإجراء الإعدادات المقابلة للصور المرفقة
افتح STM32Cubemx وقم بإجراء الإعدادات المقابلة للصور المرفقة

1) بعد تحديد STM32L476RG كمتحكم دقيق في STM32CUBE ، حدد واجهة I2C1 كـ i2c.

2) اضبط قيمة الساعة على قيمة قصوى (80 ميجا هرتز)

3) بعد ذلك حدد Timer1 و Timer2 ثم قم بتهيئة قيمه لاحقًا كما هو موضح في الجزء التالي من البرنامج التعليمي.

4) حدد مقاطعة التحديث Timer1 والمقاطعة العامة Timer2 في إعدادات NVIC.

5) توليد الكود الخاص بالمشروع في كيل 5.

الخطوة 2: قم بعمل صور مخصصة ضرورية وأضف رموزها في ملف Custom_char.h

قم بعمل صور مخصصة ضرورية وأضف رموزها في ملف Custom_char.h
قم بعمل صور مخصصة ضرورية وأضف رموزها في ملف Custom_char.h
قم بعمل صور مخصصة ضرورية وأضف رموزها في ملف Custom_char.h
قم بعمل صور مخصصة ضرورية وأضف رموزها في ملف Custom_char.h

1) يمكن تقسيم كل موضع في شاشة LCD مقاس 16 × 2 إلى 32 مقطعًا ، ويتكون كل جزء من 5 × 8 بكسل.

2) يمكنك تصور الصورة وحدودها على المقطع وتمثيل كل جزء من المقطع بالقيمة 1 إذا كان الموضع على المقطع جزءًا من الصورة وإلا قم بتعيينه كقيمة 0 والتي تعطي قيمًا لكل صف كما هو موضح في المرفق صورة.

3) ضع هذه القيمة من الخطوة 2 في ملف custom_char.h الوارد في الكود المرفق.

الخطوة 3: إضافة التعليمات البرمجية ذات الصلة في Keil 5

إضافة الكود ذي الصلة في Keil 5
إضافة الكود ذي الصلة في Keil 5
إضافة الكود ذي الصلة في Keil 5
إضافة الكود ذي الصلة في Keil 5
إضافة الكود ذي الصلة في Keil 5
إضافة الكود ذي الصلة في Keil 5

1) اكتب الأمر لبدء Timer1 و Timer2 في ملف main.c. يستخدم Timer 1 لمسح شاشة LCD ويستخدم Timer2 لعرض الصور.

2) اكتب قيم Prescalar و Autoreload لـ Timer1 و Timer2 في ملف main.c وهو نفسه لكلا المؤقتين.

3) إضافة التعليمات البرمجية ذات الصلة في روتين مقاطعة Timer1 ولروتين مقاطعة Timer2 في ملف stm32l4_it.c.

موصى به: