قسم الميكروكنترولر والروبوت ودوائر الاتصال بالحاسب الالي قسم المتحكمات الـ microcontroller و المعالجات microprocessor و التحكم الرقمي بالكمبيوتر CNC والانظمة الآلية والروبوت Robots

مشاهدة نتائج الإستفتاء: يا ريت احد يساعدنى
يا ريت احد يساعدنى 0 0%
16f675 1 100.00%
المصوتون: 1. أنت لم تصوت في هذا الإستفتاء

أدوات الموضوع

حمد سيد
:: مهندس ::
تاريخ التسجيل: Jan 2015
المشاركات: 44
نشاط [ حمد سيد ]
قوة السمعة:0
قديم 16-02-2016, 01:13 PM المشاركة 1   
ha مساعدتى فى 12f675 Twitter FaceBook Google+



نا جديد فى عالم الميكرو كنترولر واريد عمل مشروع مكنة فلشر بها اربع خطوط لاضائة 4لدات على انا محتاج ملف hex لحرقه على 12f675 لانى ما بعرفش اكتب على البروتس ويكون اضائة 4لدات باشكال مختلفه ارجو من احد ان يساعدنى او يقولى الاقيه فىن لو وجد وكم جزيل الشكر

اعلانات

MedTronic
:: مهندس ::
تاريخ التسجيل: Apr 2005
الدولة: مصر - القاهرة
المشاركات: 43
نشاط [ MedTronic ]
قوة السمعة:0
قديم 05-03-2016, 11:13 AM المشاركة 2   
افتراضي


انا م مدحت صابر صاحب البرنامج الاصلى ... والايسى موجود متبرمج بسعر زهيد جدا

********************


التعديل الأخير تم بواسطة : ماجد عباس محمد بتاريخ 06-03-2016 الساعة 06:45 PM السبب: تم حذف وسائل الإتصال - مخالف للقواعد
اعلانات اضافية ( قم بتسجيل الدخول لاخفائها )
  

الصورة الرمزية حيدر علاج حسن
حيدر علاج حسن
:: مشرف منتدى الهندسة الكهربائية ::
تاريخ التسجيل: Mar 2005
الدولة: IRAQ
المشاركات: 10,061
نشاط [ حيدر علاج حسن ]
قوة السمعة:394
قديم 05-03-2016, 10:12 PM المشاركة 3   
افتراضي


وضح طريقة عمل الليدات وانا اصنع لك ملف الهيكس

حيدر علاج حسن

الصورة الرمزية F.Abdelaziz
F.Abdelaziz
:: استاذ و مشرف قسم الالكترونيات ::
تاريخ التسجيل: May 2007
المشاركات: 6,894
نشاط [ F.Abdelaziz ]
قوة السمعة:332
قديم 06-03-2016, 01:27 AM المشاركة 4   
افتراضي


بعد أن تناولنا البيانات وأنواعها والمتغيرات وكذلك الحلقات يمكننا متابعة التدريبات .

التدريب رقم 2 : خطوة إلى الامام : الأضواء المتحركة البسيطة :


الدائرة الكهربية :



الغرض :
استخدام جميع أطراف الخرج للميكروكونترولر PIC12F675 .
سوف يتم استخدام المذبذب الداخلى ووقف تمكين MCLR .
ملحوظة :
الطرف "4" عند عدم تمكين MCLR يمكن استخدامه كمدخل فقط ولا يمكن استخدامه كمخرج .
تتبع الخطوات التالية :
1- نبدأ بتعريف المنفذ GPIO بالأسم السهل المستعار OUTPUT . وإعلان متغير عمومى "i" يستخدم كعداد لحلقات for .


كود:
#define   OUTPUT GPIO
char i;

2- تحديد إعدادات سجلات ومنافذ الميكروكونترولر . يفضل إنشاء دالة تضم هذه الإعدادات بحيث يسهل تعديلها عند الرغبة , علاوة على تنظيم البرنامج بما يسهل تتبعه .


كود:

void init_port(void) 
{
ANSEL = 0x00;	//set port as digital I/O , not analog input
CMCON = 0x07;	//shut off the comparator
TRISIO = 0x00;	//all output
GPIO = 0x00;	//make all pins low "0"
}

3- الأضاء المتحركة يمكن أن تاخذ نماذج متعددة مثل:
أ‌- الحركة جهة اليسار ، أى إضاءة الليد بأقصى اليمين ثم الذى يليه جهة اليسار وهكذا . بالطبع يفضل وضع النموذج بدالة مستقلة كما يلى :


كود:
void move_left(void)
{
		OUTPUT=1;      delay_ms(250);        	//GP0 ON
		OUTPUT=(1<<1); delay_ms(250);		// GP1 ON
		OUTPUT=(1<<2); delay_ms(250);		// GP2 ON
		//Note : GP3 : Input only
		OUTPUT=(1<<4); delay_ms(250);		// GP4 ON
		OUTPUT=(1<<5); delay_ms(250);		// GP5 ON
		OUTPUT=0;      delay_ms(250);		// All OFF
}

العبارات الرئيسية المستخدمة مثل ((1<<4 ، هذه العبارة هى مجرد أخد قيمة الواحد "1" إزاحة البتات جهة اليسار أربع مرات بحيث يكون الرقم "4" هو نفسه موقع البت الرابعة . يتم ترقيم البتات فى البايت من "7" إلى "0" من جهة اليسار إلى جهة اليمين وحيث أن (1<<0)=1, (1<<1)=2, (1<<2)=4, (1<<3)=8 وهكذا ، لذلك فإن ذلك يعطى طريقة سهلة لتحديد البت بشكل "منفرد" فى البايت كما أن ذلك سهل القراءة أيضا . إذا أردت تحديد البت الخامسة "5" يمكنك كتابة GPIO = 32; ( أو 0x20 بالسداسى عشر) ، ولكن GPIO = (1<<5) أسهل بكثير فى القراءة .
4- نكرر الخطوة السابقة لنموذج آخر , وليكن الحركة جهة اليمين كما يلى :


كود:
void move_right(void)
{
		OUTPUT=(1<<5); delay_ms(250);		// GP5 ON
		OUTPUT=(1<<4); delay_ms(250);		// GP4 ON
		//Note : GP3 : Input only
		OUTPUT=(1<<2); delay_ms(250);		// GP2 ON
		OUTPUT=(1<<1); delay_ms(250);		// GP1 ON
		OUTPUT=1;      delay_ms(250);		//GP0 ON
		OUTPUT=0;      delay_ms(250);		// All OFF
}
وكذلك لنموذج وميض جميع الليدات : 

void blink_all()
{
		OUTPUT=0x37;	delay_ms(250);	//ALL ON
		OUTPUT=0x00;	delay_ms(250);	//ALL OFF
}

5- الآن انتهت جميع المكونات الرئيسية للبرنامج وجاء وقت الدخول إلى الدالة الرئيسية وتحديد الشكل المطلوب وعدد مرات تكرارة عن طريق اختيار الدوال المناسبة ، وهنا مثال لذلك ولكن يمكنك إجراء التعديلات المناسبة :


كود:
void main()
{
init_port();

	while(1)
	{
	for(i=0;i<5;i++)
	{
		 
	move_left();
	move_right();
	}
	for(i=0;i<5;i++)
	{
	blink_all();
	}
		
	}
}

البرنامج :


كود:
//EX2:Moving light using PIC12F675
//4MHz internal clock
//Master Clear  : Disable
//Eng:F.Abdelaziz
//Date :05-03-2016*/

//define Output port
#define   OUTPUT GPIO
char i;

void init_port(void) 
{
ANSEL = 0x00;	//set port as digital I/O , not analog input
CMCON = 0x07;	//shut off the comparator
TRISIO = 0x00;	//all output
GPIO = 0x00;	//make all pins low "0"
}

void move_left(void)
{
		OUTPUT=1;      delay_ms(250);		//GP0 ON
		OUTPUT=(1<<1); delay_ms(250);		// GP1 ON
		OUTPUT=(1<<2); delay_ms(250);		// GP2 ON
		//Note : GP3 : Input only
		OUTPUT=(1<<4); delay_ms(250);		// GP4 ON
		OUTPUT=(1<<5); delay_ms(250);		// GP5 ON
		OUTPUT=0;      delay_ms(250);		// All OFF
} 

void move_right(void)
{
		OUTPUT=(1<<5); delay_ms(250);		// GP5 ON
		OUTPUT=(1<<4); delay_ms(250);		// GP4 ON
		//Note : GP3 : Input only
		OUTPUT=(1<<2); delay_ms(250);		// GP2 ON
		OUTPUT=(1<<1); delay_ms(250);		// GP1 ON
		OUTPUT=1;      delay_ms(250);		//GP0 ON
		OUTPUT=0;      delay_ms(250);		// All OFF
}

void blink_all()
{
		OUTPUT=0x37;	delay_ms(250);		//ALL ON
		OUTPUT=0x00;	delay_ms(250);		//ALL OFF
}
 
//main function
void main()
{
init_port();

	while(1)
	{
	for(i=0;i<5;i++)
	{
		move_left();
		move_right();
	}

	for(i=0;i<5;i++)
	{
		blink_all();
	}
		
	}
}


حمد سيد
:: مهندس ::
تاريخ التسجيل: Jan 2015
المشاركات: 44
نشاط [ حمد سيد ]
قوة السمعة:0
قديم 06-03-2016, 12:25 PM المشاركة 5   
افتراضي


وضح طريقة عمل الليدات وانا اصنع لك ملف الهيكس
الصور للدائره اه
[IMG][/IMG]
[IMG][/IMG]
[IMG][/IMG]
[IMG][/IMG]
وده فديو للبرنامج الى انا عيزو
https://youtu.be/5G6XG0r-J0c
الدائره بها مفتاح للتحكم فى عدد البرجرام ان كان كامل او اقل عدد ولو فى اشكال جديده يا ريت ولك جزيل الشكر على ردك واهتمامك بلموضوع


الصورة الرمزية F.Abdelaziz
F.Abdelaziz
:: استاذ و مشرف قسم الالكترونيات ::
تاريخ التسجيل: May 2007
المشاركات: 6,894
نشاط [ F.Abdelaziz ]
قوة السمعة:332
قديم 06-03-2016, 11:29 PM المشاركة 6   
افتراضي


الصور للدائره اه
[IMG][/IMG]
[IMG][/IMG]
[IMG][/IMG]
[IMG][/IMG]
وده فديو للبرنامج الى انا عيزو
https://youtu.be/5G6XG0r-J0c
الدائره بها مفتاح للتحكم فى عدد البرجرام ان كان كامل او اقل عدد ولو فى اشكال جديده يا ريت ولك جزيل الشكر على ردك واهتمامك بلموضوع

البرنامج بالموقع المذكور بلغة ميكرو باسكال ويمكنك أخذ الملف hex وتحميله والعمل علية بدون مشكلة
ومع ذلك سوف أبدأ فى ترجمة وشرح البرنامج كما جاء فى الموقع الفرنسى ثم تحويل البرنامج إلى لغة السى برو حتى يمكن تعديله وتحسينه والإضافة إليه وذلك فى موضوع مستقل إن شاء الله .

فى البداية :
الفكرة :
أربعة ليدات تومض بطرق مختلفة اعتمادا على وضع مقاومة متغيرة ، والتى تستخدم نفس المقاومة لتحديد السرعة ، عندما يتم تفعيل المفتاح . ويستند كل شيء على الميكروكونترولر الصغير نوع PIC12F675 ويمكن أن يعمل على جهد من 3 إلى 5 فولت ( 2 بطارية 1.5 فولت أو 3 بطارية 4.5 فولت ) .
الميكروكونترولر PIC12F675 لديه العديد من المداخل التناظرية ، يستخدم إحداها لقراءة الجهد على الطرف المتحرك للمقاومة المتغيرة (RV1) والتى تعمل كمقسم جهد والتي يمكن أن تعطى جهد بين 0 و 5V . وفقا لقراءة الجهد بواسطة
الميكروكونترولر PIC12F675 لديه العديد من المداخل التناظرية ، يستخدم إحداها لقراءة الجهد على الطرف المتحرك للمقاومة المتغيرة (RV1) والتى تعمل كمقسم جهد والتي يمكن أن تعطى جهد بين 0 و 5V . وفقا لقراءة الجهد بواسطة الميكروكونترول يتم تقسيم نماذج الإضاءة إلى العديد من النماذج . يتم تقسيم جهد الدخل الكلى إلى 10 مناطق تقابل 10 نماذج إضاءة مختلفة . وهذا يعني أن النموذج الأول يقابل جهد دخل من 0V إلى 0.5V ، والنموذج الثانى يقابل جهد دخل من 0.5V إلى 1.0V وهلم جرا .


حمد سيد
:: مهندس ::
تاريخ التسجيل: Jan 2015
المشاركات: 44
نشاط [ حمد سيد ]
قوة السمعة:0
قديم 07-03-2016, 03:18 AM المشاركة 7   
افتراضي



البرنامج بالموقع المذكور بلغة ميكرو باسكال ويمكنك أخذ الملف hex وتحميله والعمل علية بدون مشكلة
ومع ذلك سوف أبدأ فى ترجمة وشرح البرنامج كما جاء فى الموقع الفرنسى ثم تحويل البرنامج إلى لغة السى برو حتى يمكن تعديله وتحسينه والإضافة إليه وذلك فى موضوع مستقل إن شاء الله .

فى البداية :
الفكرة :
أربعة ليدات تومض بطرق مختلفة اعتمادا على وضع مقاومة متغيرة ، والتى تستخدم نفس المقاومة لتحديد السرعة ، عندما يتم تفعيل المفتاح . ويستند كل شيء على الميكروكونترولر الصغير نوع PIC12F675 ويمكن أن يعمل على جهد من 3 إلى 5 فولت ( 2 بطارية 1.5 فولت أو 3 بطارية 4.5 فولت ) .
الميكروكونترولر PIC12F675 لديه العديد من المداخل التناظرية ، يستخدم إحداها لقراءة الجهد على الطرف المتحرك للمقاومة المتغيرة (RV1) والتى تعمل كمقسم جهد والتي يمكن أن تعطى جهد بين 0 و 5V . وفقا لقراءة الجهد بواسطة
الميكروكونترولر PIC12F675 لديه العديد من المداخل التناظرية ، يستخدم إحداها لقراءة الجهد على الطرف المتحرك للمقاومة المتغيرة (RV1) والتى تعمل كمقسم جهد والتي يمكن أن تعطى جهد بين 0 و 5V . وفقا لقراءة الجهد بواسطة الميكروكونترول يتم تقسيم نماذج الإضاءة إلى العديد من النماذج . يتم تقسيم جهد الدخل الكلى إلى 10 مناطق تقابل 10 نماذج إضاءة مختلفة . وهذا يعني أن النموذج الأول يقابل جهد دخل من 0V إلى 0.5V ، والنموذج الثانى يقابل جهد دخل من 0.5V إلى 1.0V وهلم جرا .
السلام عليكم
انا جربت ملف hex عندى على الدائره وهوه يعمل بكفائه عاليه لا يوجد به اى عيب لاكن البرنامج المعمول ان مفتاح السرعات هوه الى يغير البرنامج بمعنى ان كل ما احرك المفتاح يغير شكل وانا عايز البرنامج يعمل كلو بشكل تلقائى وبنفس اشكال الفديو الى انا ارسلته اليك فى الرد السابق والمفتاح on of يعمل على تقليل البرنامج والاخ عبدالله حجازى عمل لى كزا ملف هكس لاكن مفتاح الفوليم لا يعمل بكفائه مش زى الى فى الموقع الاجنبى له منى كل الشكر والاحترام على مجهوده الزى ابزله معى والكل هنا فى موقع تالقريه الالكترونيه بيساعد بعضيه لانه موقع عظيم بمعنى الكلمه ارجو ان تكون فهمتنى


الصورة الرمزية حيدر علاج حسن
حيدر علاج حسن
:: مشرف منتدى الهندسة الكهربائية ::
تاريخ التسجيل: Mar 2005
الدولة: IRAQ
المشاركات: 10,061
نشاط [ حيدر علاج حسن ]
قوة السمعة:394
قديم 07-03-2016, 03:29 AM المشاركة 8   
افتراضي


لم اتمكن من مشاهدة الفديو لانه خاص ...
ثم لم افهم شرحك للمفتاح و المقاومة المتغيرة .

حيدر علاج حسن
إضافة رد

العلامات المرجعية

«     الموضوع السابق       الموضوع التالي    »
أدوات الموضوع

الانتقال السريع إلى


الساعة معتمدة بتوقيت جرينتش +3 الساعة الآن: 04:20 PM
موقع القرية الالكترونية غير مسؤول عن أي اتفاق تجاري أو تعاوني بين الأعضاء
فعلى كل شخص تحمل مسئولية نفسه إتجاه مايقوم به من بيع وشراء وإتفاق وأعطاء معلومات موقعه
التعليقات المنشورة لا تعبر عن رأي موقع القرية الالكترونية ولايتحمل الموقع أي مسؤولية قانونية حيال ذلك (ويتحمل كاتبها مسؤولية النشر)

Powered by vBulletin® Version 3.8.6, Copyright ©2000 - 2025