• مهم : ولأول مرة الآن يمكنك استخدام وتجربة تقنية الذكاء الاصطناعي في ملتقى المهندسين العرب ، كل ماعليك هو كتابة موضوع جديد في أي قسم من أقسام الملتقى ووضع سؤالك أو مناقشتك ، وسوف يجيب عليك المهندس الذكي مباشرة ، كما يمكنك اقتباس رد الذكاء الاصطناعي (المهندس الذكي ) ومناقشته وسؤاله لمزيد من التوضيحات.

طلب مساعدة في برنامج مايكرو سي

Mariam MM

عضو جديد
إنضم
3 مارس 2013
المشاركات
4
مجموع الإعجابات
0
النقاط
0
السلام عليكم و رحمة الله و بركاته

اخواني الكرام انا في حاجه ماسه الى مساعدتكم
في برنامجي الذي بلغة المايكرو سي

حاليا أشتغل على مشروع
فكرته انه لدي 2 switch مربوطين بـ 2 pins على المايكروكونترولر
و كذلك موصل بالميكروكنترولر 7-segment LED تعرض أرقام

الفكره أن احد السويجات لما نضغط عليه يزيد العدد الذي معروض على الدسبلاي
و السويتج الآخر ينقص العدد المعروض

بدأت برنامجي بوضع قيمة ابتدائية تعرض على السقمنت دسبلاي و كانت 9
ربطت البن A4 بالستويج الذي يفترض أنه سينقص العدد
و ربطت البن A5 بالستويج المفترض انه سيزيد العدد

((ملاحظة : السويتج مربوط بـ بول أب ريسيستور pull-up resistor لكي يعطي
ديجيتال input إما 0 او 1))


البرنامج :

>> طبعا فـ البداية عرفت كل البنز
و البن A4 سميته In و هو اللي يجب انه ينقص العدد المعروض
و البن A5 أسميته Exit و هو يجب أن يزيد العدد المعروض
و المتغير int value


void main() {
ANSEL = 0b00000000; // configure All I/O pins as digital
CMCON0=0b00000111 ; // analog comparators OFF = 7
TRISC = 0b00000000; // configure all pins of PORTC to be an Outputs
TRISA = 0b00111000; // configure all pins of PORTA to be an Outputs Except RA3, RA4 and RA5


do {
if(In==0)
{
if(value !=0){
value--;
Display(value);
Delay_ms(1000);

}
}

if(Exit==0)
{
if(value !=9){
value++;
Display(value);
Delay_ms(1000);
}
}

}while(1);
}




^^^^^^^^^^^^^^^^^^^^^^^^^^
طبعا عملت سيميوليشن باستخدام البروتوس
فـ البداية يظهر على السقمنت دسبلاي العدد 9

عندما اضغط على سويتج الذي ينقص .. يصبح العدد المعروض 8
بعد ذلك عندما اضغط على أي من السويجين لا يزيد العدد و لا ينقص
بمعنى أنه يستقبل أمر واحد فـ البداية
و كأن الأوامر فـ البرنامج ليست موضوعه في loop
لكنها موضوعه في لووب

و بخصوص الـ Display
فهو مجرد فنكشن بسيط يستعمل لتوليع السقمنت فـ الدسبلاي
لجعلها تعرض أرقام و مستعمله فيها switch
و صيغته كالتالي :
void Display(int value){

.
.
.

return;
}


أتمنى منكم المساعده في أقرب وقت ممكن​
 

مواضيع مماثلة

Mariam MM

عضو جديد
إنضم
3 مارس 2013
المشاركات
4
مجموع الإعجابات
0
النقاط
0
أتمنى منكم المساعده
 

eng fmk

عضو جديد
إنضم
15 مارس 2013
المشاركات
11
مجموع الإعجابات
0
النقاط
0
متشكرررررررررررررررررررررررررررررين
 

TheTeck

عضو جديد
إنضم
22 سبتمبر 2005
المشاركات
123
مجموع الإعجابات
1
النقاط
0
ممكن وضع ملف الكود أو استخدام خاصية ادراج الأكواد بالمنتدى حيث أن الكلام لا يظهر بشكل مفهوم.

كود:
please add code here or as attached file
المرجو وضع الكود كامل وغير مختصر.
وكذلك شكل الدائرة التي صممتها؟
 
أعلى