 |
:: عضو ذهبي ::
تاريخ التسجيل: Jul 2009
الدولة: EGYPT
المشاركات: 1,315
|
|
نشاط [ ناصراحمد2 ]
قوة السمعة:
|
|
27-08-2010, 10:59 PM
المشاركة 269
|
|
الدرس رقم (((( الثامن ))))
بسم الله الرحمن الرحيم
السلام عليكم ورحمة الله وبركاتة
كل عام وانتم جميعا بكل خير وصحة وعافية ان شاء الله
بمناسبة الشهر الكريم اعادة الله على الامة الاسلامية جمعا بكل خير
اليوم سوف نقوم بقفزة سويا الى الامام ان شاء الله
وسوف نتقدم الى بعض الدروس الجديدة
التى نعتبرها متقدما نسبيا عن الدروس السابقة
قد يكون البعض منا يعلمها فيعتقد انها غير متقدمة
ولكننى ااكد لهم بانها تعتبر متقدمة لبعض الاخوة وخصوصا المبتدئين ((من امثالى ))
 
قبل دخولنا للدرس الجديد
سوف نضع هنا بعض التفسيرات للاكواد الصغيرة جدا
بالمقارنة باكوادنا السابقة ((طبعا اكوادنا كانت طويلة جدا حتى يسهل لنا فهم مايدور خطوة بخطوة))
 
سوف اعود اليوم الى الدروس الاولى
ونقوم باستخدامها بطرق اخرى ان شاء الله

سوف استخدم اليوم درس اظهار حرف على الماتركس
وهو حرف ال (((N)))
فى الدرس الثالث ((كتابة حرف على ماتركس ))8x8
سوف نجد هذا الكود
كود:
void main()
{
TRISB=0;
PORTB=0;
TRISd=0;
PORTd=0;
loop:
PORTd=0B11111110;
PORTB=0B11111111; delay_us(300);
///////////
PORTd=0B11111101;
PORTB=0B11111111; delay_us(300);
/////////////
PORTd=0B11111011;
PORTB=0B00000110; delay_us(300);
////////////
PORTd=0B11110111;
PORTB=0B00001000; delay_us(300);
///////////
PORTd=0B11101111;
PORTB=0B00010000; delay_us(300);
///////////////////
PORTd=0B11011111;
PORTB=0B00110000; delay_us(300);
////////////
PORTd=0B10111111;
PORTB=0B11111111; delay_us(300);
///////////
PORTd=0B01111111;
PORTB=0B11111111; delay_us(300);
goto loop;
}
نشاهد سويا الكود
ونفهم منة انة يوجد 8خطوات
وكل خطوة نجعل بها البورت d يقوم بمهمة
وفى نفس الوقت البورت b يقوم بمهمة اخرى
ونركز جيدا انة يتم ذلك فى توقيت واحد
ار يو اوك ؟؟؟؟؟؟؟؟
اوك جو ناووووووو
سوف نقوم الان بفصل هذة الاوامر
وهاهى الاوامر الخاصة ببورت d
PORTd=0B11111110;
///////////
PORTd=0B11111101;
/////////////
PORTd=0B11111011;
////////////
PORTd=0B11110111;
///////////
PORTd=0B11101111;
///////////////////
PORTd=0B11011111;
////////////
PORTd=0B10111111;
///////////
PORTd=0B01111111;
هذة هى اوامر البورت دى
سوف نقوم الان باستخدامها داخل امر واحد بشكل جديد
نحتاج الى استخدام متغييرين جديدين فليكن k&s
وحتى لايحدث اى لخبطة سوف نستخدم المتغيرات من نوع char
كود:
char k[8]={
0B11111110,
0B11111101,
0B11111011,
0B11110111,
0B11101111,
0B11011111,
0B10111111,
0B01111111,
};
اما الاوامر الخاصة ببورت b هى
كود:
char n[8]={
0B11111111,
0B11111111,
0B00000110,
0B00001000,
0B00010000,
0B00110000,
0B11111111,
0B11111111,
};
نلاحظ فقط التغيرات بين الكودين مثل العلامات
واضافة الاقواس
نروح نشرب شاى ونرجع وبعدها نقوم بوضع كود جديد مممممممممم
بروقااااااان شديد  
الحمد لله عدنا بعد شرب الشاى والذى منة ههههههههههههههه
اليكم الان هذا الكود الجديد
كود:
char k[8]={
0B01111111,
0B10111111,
0B11011111,
0B11101111,
0B11110111,
0B11111011,
0B11111101,
0B11111110,
};
////////////////////////////////////////////////
char n[8]={
0B11111111,
0B11111111,
0B00000110,
0B00001000,
0B00010000,
0B00110000,
0B11111111,
0B11111111,};
char x;
void main()
{
TRISB=0;
PORTB=0;
TRISd=0;
PORTd=0;
loop:
for(x=0;x<25;x++){
PORTd= n[x];
PORTB= k[x];
delay_us(400);
}
goto loop;
}
الان ننسخ هذا الكود
ونقوم بتحويلة ثم نعود الى الدرس الثالث
ونستخدم برنامج البريتوس بنفس الاعدادات السابقة (كما كانت فى الدرس الثالث )
ونشاهد مايحدث

سوف نشاهد باذن الله
اننا قمنا بعمل نفس ماتم بالدرس الثالث وهو اظهار الحرف N
بالتوفيق ان شاء الله
قد يعتقد البعض ان الدرس بسيط جدا جدا
وانا معهم ولكنى ااوكد للجميع ان الدرس هام جدا
ويحتاج الى تركيز
وفهم التغييرات فى العلامات واضافات الاقواس وموقعها

التعديل الأخير تم بواسطة : ناصراحمد2 بتاريخ 28-08-2010 الساعة 01:10 AM
|