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

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

ahmmasry
:: مهندس ::
تاريخ التسجيل: Jul 2012
المشاركات: 1
نشاط [ ahmmasry ]
قوة السمعة:0
قديم 05-07-2012, 02:38 PM المشاركة 1   
افتراضي المساعدة فى كتابة الكود الخاص بدائرة stop watch Twitter FaceBook Google+



السلام عليكم و رحمة الله و بركاتة
ارثد المساعدة فى كتابة الكود الخاص بدائرة stop watch
بها زر واحد للبدء و الايقاف و الاستمرار مرة اخرى عن طريق pic 16f877a
و 3 seven segmentو يكون ساعة ودقيقة و ثانية بأستخدامال micro c

اعلانات

الصورة الرمزية funky112233
funky112233
:: عضو ذهبي ::
تاريخ التسجيل: Aug 2009
المشاركات: 666
نشاط [ funky112233 ]
قوة السمعة:92
قديم 05-07-2012, 04:04 PM المشاركة 2   
افتراضي


بسم الله الرحمن الرحيم
اخى هناك خطا فى الطلب
كيف اظهر الساعات والدقائق والثوانى على 3 7سيجمنت
انت تحتاج الى 6 عوارض وليس ثلاثة او على الاقل 4 2 للدقائق و 2 للساعات

اعلانات اضافية ( قم بتسجيل الدخول لاخفائها )
  

namir.albayati
:: مهندس ::
تاريخ التسجيل: Mar 2012
المشاركات: 10
نشاط [ namir.albayati ]
قوة السمعة:0
قديم 06-07-2012, 09:00 AM المشاركة 3   
Post


#define inc_dir trisa.f7
#define inc porta.f7
#define dec_dir trisa.f6
#define dec porta.f6
#define ok_dir trisa.f0
#define ok porta.f0
#define seg1_en_dir trisa.f1
#define seg1_en porta.f1
#define seg2_en_dir trisa.f2
#define seg2_en porta.f2
#define seg3_en_dir trisa.f3
#define seg3_en porta.f3
#define seg4_en_dir trisa.f4
#define seg4_en porta.f4
#define pressed 0
#define is ==
#define seg_data_dir trisb
#define seg_data portb
#define input 1
#define output 0
#define select_dir trisa.f5
#define select porta.f5

char segment[]={63,6,91,79,102,109,125 ,7 ,127, 111};
char min1=0,sec=0,q,e=0;


void show_time()
{ seg1_en=0 ;
seg2_en=1 ;
seg3_en=1 ;
seg4_en=1 ;
seg_data=segment[min1/10];
delay_ms(2);
seg_data=0;

seg2_en=0 ;
seg1_en=1 ;
seg3_en=1 ;
seg4_en=1 ;
seg_data=segment[min1%10];
delay_ms(2);
seg_data=0;



seg3_en=0 ;
seg2_en=1 ;
seg1_en=1 ;
seg4_en=1 ;
seg_data=segment[sec/10];
delay_ms(2);
seg_data=0;


seg4_en=0 ;
seg2_en=1 ;
seg3_en=1 ;
seg1_en=1 ;
seg_data=segment[sec%10];
delay_ms(2);
seg_data=0;
}

void setting()
{
while(1)
{
show_time();
if (select is pressed)
{
delay_ms(250);
e++;
if(e is 2)
e=0;

}
if(inc is pressed)
{ delay_ms(250);
if(e is 0){sec++; if(sec is 60)sec=0;}
if(e is 1){min1++;if(min1 is 60)min1=0; }

}
if(dec is pressed)
{ delay_ms(250);
if(e is 0){sec--; if(sec is 255)sec=59;}
if(e is 1){min1--;if(min1 is 255)min1=59; }

}
if(ok is pressed)
{delay_ms(250);
return;
}

}
}

void init()
{
adcon1=7 ;
seg_data_dir = output ;
seg1_en_dir = output ;
seg2_en_dir = output ;
seg3_en_dir = output ;
seg4_en_dir = output ;
inc_dir=input ;
dec_dir=input ;
ok_dir=input ;
select_dir =input;
seg_data=0;
}


void main()
{

init();
while(1)
{
for(min1=0;min1<60;min1++)
{
for(sec=0;sec<60;sec++)
{
for(q=0;q<50;q++)
{
show_time();
if(ok is pressed)
{ delay_ms(250);
setting();

}
}
}
}








}
}
اخي العزيز اسف الكود غير مرتب ولكن واضح مكان # وهكذا انشاء الله تكون واضحه بالنسبة لك وقم بنسخها وحفضها يمكن تطلع مضبوطه

اخي العزيز هذا الكود كامل لساعه مكونه من دقائق وثواني فقط ولاكن الفكره واحدهوباستخدام الخداع البصري تستطيع ان تفعل اي شي
وهنا في هذا المشروع يوجد اربعة ازرار
الزر الاول زيادة الرقم الموجود على السفين سكمنت
الزر الثاني ينقص الرقم الموجود على السفن سيكمنت
الزر الثالث ok
وهو يقوم بايقاف عمل الساعه في حالة الضغط عليه وفي الضغطه الثانيه يرجعها الى العمل
الزر الرابع select
بعد انت توقف الساعه بزر ok
تقوم بالضغط عليه للاختيار بين الثواني والدقائق
وايهما تريد التعديل عليها من حيث زيادتها او نقصانها
لان هنا في حالة الضبط في هذا المشروع عندما تريد ضبط الثواني تكون مفصوله عن الدقائق ولكن بالعمل مرتبطه معها

واتمنى ان تستفاد
namir.albayati


Tico
:: عضو ذهبي ::
تاريخ التسجيل: May 2012
المشاركات: 1,426
نشاط [ Tico ]
قوة السمعة:114
قديم 06-07-2012, 11:52 AM المشاركة 4   
افتراضي





اسف الكود غير مرتب ولكن واضح مكان # وهكذا انشاء الله تكون واضحه بالنسبة لك وقم بنسخها وحفضها يمكن تطلع مضبوطه


namir.albayati

ممكن تستخدم خاصية :
إدراج [code]
بالضغط على هذا الزر:
#
في صفحة الرد.


النعمي
:: مهندس جيد ::
تاريخ التسجيل: Apr 2007
المشاركات: 207
نشاط [ النعمي ]
قوة السمعة:0
قديم 08-07-2012, 06:41 AM المشاركة 5   
افتراضي


يآليت لو تضع مثل ما قال الأخ Tico .. انت تضعه دآخل كود ..

ويآليت لو ملف البروتوس لو تكرمت ..

وبآرك الله فيك ..

إضافة رد

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

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

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


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

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