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

   

mizort1989
:: مهندس متواجد ::
تاريخ التسجيل: Mar 2009
المشاركات: 70
نشاط [ mizort1989 ]
قوة السمعة:
قديم 30-03-2009, 08:17 AM المشاركة 265   
افتراضي



كود:
if (PORTA==0)
{
PORTB=0;
}
if (PORTA==1)
{
PORTB=1;
}
if (PORTA==2)
{
PORTB=2;
}
if (PORTA==3)
{
PORTB=3;
}
if (PORTA==4)
{
PORTB=4;
}
if (PORTA==5)
{
PORTB=5;
}
if (PORTA==6)
{
PORTB=6;
}
if (PORTA==7)
{
PORTB=7;
}
if (PORTA==8)
{
PORTB=8;
}
if (PORTA==9)
{
PORTB=9;
}
و كذلك كل هذا الكود يمكن استبداله بـ :
كود:
PORTB=PORTA;
شكرا زميلي في الكفاح

الأختصار الأول ممكن لاكن التاني مش ممكن علي ما عتقد

انظر الdesign


اعلانات

mizort1989
:: مهندس متواجد ::
تاريخ التسجيل: Mar 2009
المشاركات: 70
نشاط [ mizort1989 ]
قوة السمعة:
قديم 30-03-2009, 08:31 AM المشاركة 266   
افتراضي


هو الأختصار التاني يتم تحت شرط

كود:
if (PORTA==0|PORTA==1|PORTA==2|PORTA==3|PORTA==4|PORTA==5|PORTA==6|PORTA==7|PORTA==8|PORTA==9)
{
PORTB=PORTA;
}
لأن port b متوصل علي 2 7447 و رقم 15 اللي هو 1111 هيخرج في اول 4 بيت

و ال7447 مش هيظهره علي ال7 سيجمنت فأنا عدلت الكود و استفدت من اختصاراتك

شكرا مجدد


الكود بعد التعديل

كود:
void main()
{
int x;
TRISB=0;
TRISA=0;
PORTB=0;
PORTA=0;
LOOP:
if (PORTA==10)
{
PORTB=0b00010000;
}
if (PORTA==11)
{
PORTB=0b00010001;
}
if (PORTA==12)
{
PORTB=0b00010010;
}
if (PORTA==13)
{
PORTB=0b00010011;
}
if (PORTA==14)
{
PORTB=0b00010100;
}
if (PORTA==15)
{
PORTB=0b00010101;
}
if (PORTA==0|PORTA==1|PORTA==2|PORTA==3|PORTA==4|PORTA==5|PORTA==6|PORTA==7|PORTA==8|PORTA==9)
{
PORTB=PORTA;
}
goto loop;
}

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

mizort1989
:: مهندس متواجد ::
تاريخ التسجيل: Mar 2009
المشاركات: 70
نشاط [ mizort1989 ]
قوة السمعة:
قديم 30-03-2009, 08:40 AM المشاركة 267   
افتراضي


ياريت اتعرف عليك

انا اسمي حسن اسامه

2 كهرباء


الصورة الرمزية moi12
moi12
:: مهندس متواجد ::
تاريخ التسجيل: Sep 2008
الدولة: المغرب
المشاركات: 65
نشاط [ moi12 ]
قوة السمعة:
قديم 30-03-2009, 07:13 PM المشاركة 268   
افتراضي


بسم الله الرحمن الرحيم
السلام عليكم

العفو اخي و استاذي احمد

الشكر و التقدير و الاحترام لكم انتم اخي

فشكرا لتجاوبك اخي اجو ان ترسل لي ملاحظاتك حول اجاباتي بعدما يسمح وقتك

----------------------------------------تقبل تحياتي--------------------


mstrhammid
:: مهندس ::
تاريخ التسجيل: Dec 2008
المشاركات: 3
نشاط [ mstrhammid ]
قوة السمعة:
قديم 31-03-2009, 04:18 AM المشاركة 269   
افتراضي Displaying ADC result on port LEDs


السلام عليكم
انا متتبع لهذه الدورة منذ شهر تقريبا
بدات من البداية واكملت برنامجي بفظل الله ثم بجهودك
اشكرك واقدم لك اعز اقتدار
اخي لو سمحت علمني كيفية عمل البرنامج الذي يحول من
Displaying ADC result on port LEDs
واليك البرنامج :
ارجو التوضيح وشكرا واشكر كل الزملاء المشاركين بارائهم
السلام عليكم


mstrhammid
:: مهندس ::
تاريخ التسجيل: Dec 2008
المشاركات: 3
نشاط [ mstrhammid ]
قوة السمعة:
قديم 31-03-2009, 04:21 AM المشاركة 270   
افتراضي


void main() {
ADCON1 = 0x80; // Configure analog inputs and Vref
TRISA = 0xFF; // PORTA is input
TRISB = 0x3F; // Pins RB7, RB6 are outputs
TRISD = 0; // PORTD is output

do {
temp_res = ADC_Read(2); // Get 10-bit results of AD conversion
PORTD = temp_res; // Send lower 8 bits to PORTD
PORTB = temp_res >> 2; // Send 2 most significant bits to RB7, RB6
} while(1);
}


tinatoras
:: مهندس ::
تاريخ التسجيل: Apr 2006
المشاركات: 24
نشاط [ tinatoras ]
قوة السمعة:
قديم 31-03-2009, 06:58 PM المشاركة 271   
افتراضي


هو الأختصار التاني يتم تحت شرط

كود:
if (PORTA==0|PORTA==1|PORTA==2|PORTA==3|PORTA==4|PORTA==5|PORTA==6|PORTA==7|PORTA==8|PORTA==9)
{
PORTB=PORTA;
}
لأن port b متوصل علي 2 7447 و رقم 15 اللي هو 1111 هيخرج في اول 4 بيت

و ال7447 مش هيظهره علي ال7 سيجمنت فأنا عدلت الكود و استفدت من اختصاراتك

شكرا مجدد


الكود بعد التعديل

كود:
void main()
{
int x;
TRISB=0;
TRISA=0;
PORTB=0;
PORTA=0;
LOOP:
if (PORTA==10)
{
PORTB=0b00010000;
}
if (PORTA==11)
{
PORTB=0b00010001;
}
if (PORTA==12)
{
PORTB=0b00010010;
}
if (PORTA==13)
{
PORTB=0b00010011;
}
if (PORTA==14)
{
PORTB=0b00010100;
}
if (PORTA==15)
{
PORTB=0b00010101;
}
if (PORTA==0|PORTA==1|PORTA==2|PORTA==3|PORTA==4|PORTA==5|PORTA==6|PORTA==7|PORTA==8|PORTA==9)
{
PORTB=PORTA;
}
goto loop;
}
أو

كود:
if(PORTA<=9)
PORTB=PORTA;
بالتوفيق


tinatoras
:: مهندس ::
تاريخ التسجيل: Apr 2006
المشاركات: 24
نشاط [ tinatoras ]
قوة السمعة:
قديم 31-03-2009, 07:01 PM المشاركة 272   
افتراضي


بارك الله فيك أخي tinatoras .. عملية اختصار الكود مهمة جداً .. شكراً لتوجيهلك لزملائك ومرحبا بجميع من في هندسة عين شمس .. ومرحبا طبعا بالجميع من أي مكان .
نحن تلاميذك



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