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

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

الصورة الرمزية حسن هادي محمود
حسن هادي محمود
:: عضو ذهبي ::
تاريخ التسجيل: Sep 2012
الدولة: العراق /البصره
المشاركات: 2,688
نشاط [ حسن هادي محمود ]
قوة السمعة:135
قديم 28-07-2014, 05:50 AM المشاركة 1   
افتراضي مكتبه جديده لـــــ LCD Twitter FaceBook Google+



السلام عليكم
وجدت مكتبه جديده لتشغيل LCD حيث يمكنك تشغيل أكثر من شاشه LCD في وقت واحد
صراحه انا أحاول بمساعدتكم فهم مكتبه
حاليا لاأملك أي معلومات عنها ولكنها تبدو أفضل من مكتبه الموجوده في مايكروسي برو لان هذه مكتبه تبين مشاكلها عند استخدام شاشه 4x16

لتحميلها من مصدرها
http://www.libstock.com/projects/vie...cd-library-set

موضوع سنحاول نقاش فيه للوصول الى فهم أكثر لمكتبه جديده

تحياتي

احصائية الشكر والاعجاب - 2 شكراً, 0 عدم اعجاب, 2 اعجاب
شكراً mourad3d, مـحمـد الـجندى ( شكر العضو على هذه المشاركة )
اعجاب المخترع01, mourad3d ( أعجبته المشاركة )
اعلانات

الصورة الرمزية حسن هادي محمود
حسن هادي محمود
:: عضو ذهبي ::
تاريخ التسجيل: Sep 2012
الدولة: العراق /البصره
المشاركات: 2,688
نشاط [ حسن هادي محمود ]
قوة السمعة:135
قديم 28-07-2014, 08:32 AM المشاركة 2   
افتراضي مشروع بسيط يستخدم مكتبه جديده


السلام عليكم
وجدت مكتبه جديده لتشغيل LCD حيث يمكنك تشغيل أكثر من شاشه LCD في وقت واحد
صراحه انا أحاول بمساعدتكم فهم مكتبه
حاليا لاأملك أي معلومات عنها ولكنها تبدو أفضل من مكتبه الموجوده في مايكروسي برو لان هذه مكتبه تبين مشاكلها عند استخدام شاشه 4x16

لتحميلها من مصدرها
http://www.libstock.com/projects/vie...cd-library-set

موضوع سنحاول نقاش فيه للوصول الى فهم أكثر لمكتبه جديده

تحياتي
السلام عليكم
هذا مثال بسيط لتوضيح عمل مكتبه
http://up.top4top.net/downloadf-top4...159e1-rar.html

الكود
كود:
//w3Lcd0 pin definitions:
sbit w3Lcd0_EN    at RA0_bit;
sbit w3Lcd0_DATA  at RB4_bit;
sbit w3Lcd0_CLOCK at RB5_bit;
sbit w3Lcd0_EN_Direction    at TRISA0_bit;
sbit w3Lcd0_DATA_Direction  at TRISB4_bit;
sbit w3Lcd0_CLOCK_Direction at TRISB5_bit;

const char txt1[]="ramadan kareem1 ";
const char txt2[]="ramadan kareem2 ";
const char txt3[]="ramadan kareem3 ";
const char txt4[]="ramadan kareem4 ";
////////////////////////////////////////////////////////////////////////////////
void message(const char *pci,short zzz,short  yyy)
{int x; char my_txt[16];
  w3Lcd0_GotoYX_16x4(zzz,yyy);
 for(x=0;x<16;x++) my_txt[x]=pci[x];
  w3Lcd0_CstrOut(pci) ;
 }
void main() 
{
 anselb=0;
 w3Lcd0_Init();
 
  message(txt1,0,0);
  message(txt2,1,0);
  message(txt3,2,0);
  message(txt4,3,0);



}


جميل في الامر سرعه العاليه وأستخدام فقط 3 اسلاك
طبعا مكتبه توجد حسب مصدر بطريقه سلك 1 و 2 و3


وهذا من مصدر

Same way usable (uniformized) LCD libraries. Every precompiled lib allows you to manage
up to four HD44780 compliant LCD. For all 8-bit PIC.

"..Lcd" prefix is used to distinct the type of the interface:
where ".." may be: (none) B w3 w2 w1 N8 B8 (eg p16e_w2Lcd-4.mcl)

1. Lcd ...... the usual nybble (4-bit) interface (most used)
2. BLcd ..... the same but with Busy flag checking (faster)

using HC595 as a port expander (3 separated libraries):

3. w3Lcd ..... 3-wire interface
4. w2Lcd ..... 2-wire
5. w1Lcd ..... 1-wire

6. N8Lcd ..... the normal full (8-bit) interface (smallest code)
7. B8Lcd ..... the same but with Busy flag checking

So there are seven different library (sum 7 * 3 = 21 "p*_....-4.mcl" file, in
accordance of the three different PIC family; p* = p16, p16e or p18).

Every library contains 6 'fundamental' functions for the four (0...3) LCD:
Init - WriteChar - Command - UserChar - GotoYX - GotoYX_16x4
using a specific, library-dependent prefix (eg w1LcdX_Init, where X = 0..3)

In addition, they contain the 12 'common output' functions for the ..Lcd0:
CstrOut - CstrNout - RstrOut - RstrNout - Hex2out - Hex4out
BcdOut - Dec2out - Dec2out_J - Dec3out_J - Dec4out_J - Dec5out_J

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

الصورة الرمزية حسن هادي محمود
حسن هادي محمود
:: عضو ذهبي ::
تاريخ التسجيل: Sep 2012
الدولة: العراق /البصره
المشاركات: 2,688
نشاط [ حسن هادي محمود ]
قوة السمعة:135
قديم 28-07-2014, 08:53 AM المشاركة 3   
افتراضي وهذا نفس مثال ولكن لعائله 16f


هذا مشروع نفس السابق ولكن لعائله 16f
http://up.top4top.net/downloadf-top4...65321-rar.html

ملاحظه مهمه// كيف يتم أضافه مكتبه
بالحقيقه هذا هو ملف مكتبه بكامل
http://up.top4top.net/downloadf-top4...9d2f1-rar.html

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

هذه هي طريقه
تقوم بنسخ ملف مكتبه الى ملفات مشروع
وبعدها أتبع الصور






الصورة الرمزية حسن هادي محمود
حسن هادي محمود
:: عضو ذهبي ::
تاريخ التسجيل: Sep 2012
الدولة: العراق /البصره
المشاركات: 2,688
نشاط [ حسن هادي محمود ]
قوة السمعة:135
قديم 28-07-2014, 10:38 AM المشاركة 4   
افتراضي شرح الاوامر




كود:
w3Lcdx_Init();
هذا الامر لتعريف الشاشه طبعا يمكن x يتراوح من 0 الى 3 اي استطيع ربط 4 شاشات بهذه طريقه ولكل واحده لها تعريفها
تحتاج الى تعريف مداخل

مثال
كود:
//w3Lcd0 pin definitions:
sbit w3Lcd0_EN    at RA0_bit;
sbit w3Lcd0_DATA  at RA1_bit;
sbit w3Lcd0_CLOCK at RA2_bit;
sbit w3Lcd0_EN_Direction    at TRISA0_bit;
sbit w3Lcd0_DATA_Direction  at TRISA1_bit;
sbit w3Lcd0_CLOCK_Direction at TRISA2_bit;
اما طريقه الربط ارجو مراجعه امثله في مشاركه السابقه

طبعا اذا عندك شاشه اخرى نفس الاسلوب ولكن عند مداخل اخرى ويتغير 0 مثلا الى 1 يعني عندك اربعه تعاريف كل واحده تشغل شاشه
علما ان هذه مكتبه تحتاج فقط 3 اسلاك ولهذا كتبت بـــ W3
هذه هي اوامر


=============================================
كود:
w3Lcd0_GotoYX_16x4(row,column);
هذا الامر لتحديد رقم صف وعمود بشاشه طبعا يجب كتابه هذا الامر قبل الامر كتابه
طبعا هذا الكود لشاشه 4x16
وسبب في ذلك هو ان صف 3 و4 يحصل فيهما شفت بمقدار 3 مرات بأتجاه اليمين
وهذا الامر يحل هذه مشكله
ولشاشه 2x16 or 1x16
كود:
w3Lcd0_GotoYX(row,column);
================================================
الامر الكتابه
كود:
w3Lcd0_CstrOut(*const char string) ;
حيث string تعني البيانات من نوع text ومن نوع const
وحسب ماأعتقد انCstrOut
C تعني const
str تعني string
out تعني اخرج البيانات او أطبعها
وبتالي هذه مكتبه توفر لنا طبع نصوص موجوده في روم مباشره دون الحاجه الى اعاده تحويلها في رام

اما لطباعه من رام نستخدم هذا الامر
كود:
w3Lcd0_RstrOut(char *text);
ملاحظه مهمه // قبل طباعه النصوص عليك تحديد رقم صف وعمود وفي حاله عدم تحديد فأنه سوف يطبع كلمه في اخر ماوصل اليه يعني يكمل البيانات وهذه ايضا ميزه حلوه اذا كانت لديك بيانات تريد ايضافتها الى بيانات سابقه
والغايه من تحديد مؤشر على اي صف وعمود لكي يبدأ من هذه نقطه وعدم تحديد يكمل البيانات أبتدا من اخر ما وصل اليه مؤشر

اما لطباعه عدد معين من نص يعني اريد طباعه مثلا 5 احرف من نص
تستخدم هذه الاوامر
للتعامل مع روم
w3Lcd0_CstrNout(const char *text,char n);
وللتعامل مع رام
كود:
 w3Lcd0_RstrNout( char *text,char n);

ولطباعه حرف واحد فقط
كود:
w3Lcd0_WriteChar(char data1);


========================================
كود:
w3Lcd0_Command(_LCD_BLINK_CURSOR_ON);
لتشغيل مؤشر
كود:
w3Lcd0_Command(_LCD_CURSOR_OFF);
لاطفاء المؤشر
أعتقد هي تشبه الاوامر موجوده في مايكروسي اي اوامر LCD_cmd
============================================

ولطباعه الارقام
الرقم متكون من رقمين فقط
كود:
w3Lcd0_Dec2out(x)
مثال
كود:
  for(x=0;x<99;x++) 
         {
          w3Lcd0_GotoYX_16x4(0,0);
          w3Lcd0_Dec2out(x);
          delay_ms(100);
         }
ولغرض حساب اكثر من رقمين مثلا 4
كود:
for(x=0;x<9999;x++)
             {
          

                   w3Lcd0_GotoYX_16x4(0,0);
                   w3Lcd0_Dec2out(x/100);


                  Y=x%100;

                  w3Lcd0_GotoYX_16x4(0,2);
                   w3Lcd0_Dec2out(y%100);
                  delay_ms(500);
               }
وهكذا
ولكن يوجد دوال لتطبع 3 او 4 او 5 ولكن لاأفهم ماذا تحتاج هذه داله وخصوصا متغير just لاأعرف ماذا يقصد به
فمثلا هذه داله تطبع لغايه 5 احرف يعني لغايه
كود:
w3Lcd0_Dec5out_J(data unsigned int wrd,data unsigned char just);


اما لتحويل الرقم الى hex
كود:
w3Lcd0_Hex2out(data unsigned char ch);
ورقم 2 يعني داله حدها رقمين فقط

كود:
 for(x=0;x<100;x++)
             {
                 w3Lcd0_GotoYX_16x4(0,0);
                 w3Lcd0_Hex2out(x);
                 delay_ms(100);

               }
طبعا نفس اسلوب الارض الارقام
وهذا لغايه لاربعه ارقام
كود:
 w3Lcd0_Hex4out(data unsigned int wrd);

كما يمكن عرض الارقام كتالي
كود:
 for(x=0;x<1000;x++)
             {                       //1234
                 w3Lcd0_GotoYX_16x4(0,0);
                  w3Lcd0_WriteChar(x/1000+48);
                  w3Lcd0_WriteChar(x/100%10+48);
                  w3Lcd0_WriteChar(x/10%10+48);
                  w3Lcd0_WriteChar(x%10+48);
                 delay_ms(10);

               }


التعديل الأخير تم بواسطة : حسن هادي محمود بتاريخ 28-07-2014 الساعة 11:49 AM

الصورة الرمزية حسن هادي محمود
حسن هادي محمود
:: عضو ذهبي ::
تاريخ التسجيل: Sep 2012
الدولة: العراق /البصره
المشاركات: 2,688
نشاط [ حسن هادي محمود ]
قوة السمعة:135
قديم 28-07-2014, 12:09 PM المشاركة 5   
Thumbs up


وهذا شرح بلغه انكليزيه (( شرح مؤلف ))

//COMMONFUNCS_DOC.H

All my LCD and UART libraries contain a collection of the same routines too (using
their specific char-out function, eg the "SUartX_Write(char)" in the SwUart lib).

The concrete function-name always contains a specific, library-dependent prefix
(below: ...), eg in the SwUart library the ...Dec2out function's real name is
"SUart0_Dec2out"

**********

There are 12 common functions:

String output:

...RstrOut (char* rptr) //write out a string stored in Ram
...RstrNout(char* rptr, char N) // the same but max N char(s)
...CstrOut (const char* cptr) //write out a string stored in Code memory
...CstrNout(const char* cptr, char N) // the same but max N char(s)


Direct conversion (without any temporary buffer):

...BcdOut (char) // "dd", char: max 0x99 (153), with leading zero(es)
...Dec2out(char) // "dd", char: max 99, -"-
...Hex2out(char) // "hh", char: max 255, -"-
...Hex4out(unsigned) // "hhhh", max 65535, -"-

Justified direct conversion
(controlled by an additional "just" parameter):

just = -1: (ie just.B7 = 1) no alignment (with leading zeroes)
just = 0: leading zeroes will be supressed (left justified)
just = 1: leading zeroes will be a space (right justified)

...Dec2out_J(char onebyte, char just) // "dd" (or "d" or " d"), max 99 !!
...Dec3out_J(unsigned wrd, char just) // "ddd", max 999
...Dec4out_J(unsigned wrd, char just) // "dddd", max 9999
...Dec5out_J(unsigned wrd, char just) // "ddddd", max 65535



/* OBSOLETE:
Every library contains the above functions (too), so it may be a large MCL file,
especially a "multi" library which allows handling of four displays, eg LCD or RS232,
"at a time"). Every routines are included four times so the file may be 110+ kByte.*/

********** UPDATED:

If the library is a "multi" type like the SwUart lib which contains four SUarts,
the above common function-collection is included only for the first one (in this
case for the SUart0), the other three items (SUart1...3) only the fundamental
functions like the Init and character read-write routines are included.
See the specific doc.

If you have more than one terminals then use the "p*_Out_Univ" library too (look at
the file "OUT_UNIV_DOC.H"). This method results a much smaller code.

في حاله شرح بلغه انكليزيه غير واضح
يمكنكم بعد تحميل مشروع من مصدره
http://www.libstock.com/projects/vie...cd-library-set
وستجدون ملف أسمه COMMONFUNCS_DOC.H يتم فتحه عن طريق مايكروسي برو حيث يشرح مكتبه


التعديل الأخير تم بواسطة : حسن هادي محمود بتاريخ 28-07-2014 الساعة 12:24 PM

الصورة الرمزية حسن هادي محمود
حسن هادي محمود
:: عضو ذهبي ::
تاريخ التسجيل: Sep 2012
الدولة: العراق /البصره
المشاركات: 2,688
نشاط [ حسن هادي محمود ]
قوة السمعة:135
قديم 28-07-2014, 03:38 PM المشاركة 6   
Thumbs up مثال يوضح أستخدام مكتبه w1LCD0,w2LCD0,W3Lcd0


في هذا المثال يوضح ربط ثلاث شاشات الى البيك 16f628a حيث
للعلم شرح الاوامر السابقه تنطبق على 1wire or 2wire or 3wire

الكود بسيط
http://up.top4top.net/downloadf-top4...cb6a1-rar.html
كود:
//w1Lcd0 pin definitions:
sbit w1Lcd0_CLOCK           at RB0_bit;
sbit w1Lcd0_CLOCK_Direction at TRISB0_bit;


//w2Lcd0 pin definitions:
sbit w2Lcd0_Data_EN at RB1_bit;
sbit w2Lcd0_CLOCK   at RB2_bit;
sbit w2Lcd0_Data_EN_Direction at TRISB1_bit;
sbit w2Lcd0_CLOCK_Direction   at TRISB2_bit;


//w3Lcd0 pin definitions:
sbit w3Lcd0_EN    at RA0_bit;
sbit w3Lcd0_DATA  at RA1_bit;
sbit w3Lcd0_CLOCK at RA2_bit;
sbit w3Lcd0_EN_Direction    at TRISA0_bit;
sbit w3Lcd0_DATA_Direction  at TRISA1_bit;
sbit w3Lcd0_CLOCK_Direction at TRISA2_bit;



const char txt1[]="ramadan kareem1 ";
const char txt2[]="ramadan kareem2 ";
const char txt3[]="ramadan kareem3 ";
const char txt4[]="ramadan kareem4 ";
const char txt5[]="ramadan kareem5 ";
const char txt6[]="ramadan kareem6 ";
const char txt7[]="ramadan kareem7 ";
const char txt8[]="ramadan kareem8 ";
const char txt9[]="ramadan kareem9 ";
const char txt10[]="ramadan kareem10";
const char txt11[]="ramadan kareem11";
const char txt12[]="ramadan kareem12";
////////////////////////////////////////////////////////////////////////////////
void message(const char *pci,short zzz,short  yyy , char display)
{int x; char my_txt[16];
  w3Lcd0_GotoYX_16x4(zzz,yyy);
 for(x=0;x<16;x++) my_txt[x]=pci[x];
  switch(display)
              {
                case 0 : w1Lcd0_GotoYX_16x4(zzz,yyy);w1Lcd0_CstrOut(pci) ;break;
                case 1 : w2Lcd0_GotoYX_16x4(zzz,yyy); w2Lcd0_CstrOut(pci) ;break;
                case 2 : w3Lcd0_GotoYX_16x4(zzz,yyy); w3Lcd0_CstrOut(pci) ;break;
                default :  break;
              }

 }
void main() 
{
cmcon=7;
  w1Lcd0_Init();
  w2Lcd0_Init();
  w3Lcd0_Init();
  message(txt1,0,0,0);
  message(txt2,1,0,0);
  message(txt3,2,0,0);
  message(txt4,3,0,0);
  
  
  message(txt5,0,0,1);
  message(txt6,1,0,1);
  message(txt7,2,0,1);
  message(txt8,3,0,1);



  message(txt9,0,0,2);
  message(txt10,1,0,2);
  message(txt11,2,0,2);
  message(txt12,3,0,2);



}
ملاحظه // كل مكتبه يمكنك من خلالها ربط 4 شاشات
يعني مكتبه w1Lcdx حيث x من 0 الى 3 وبتالي يمكنك ربط 4 شاشات لكل واحد منهما بسلك
بالنسبه للهاردوير شاهد مثال او يمكنك مشاهده من مصدره كما اشرت له في مشاركه الاولى

يعني مكتبه w2Lcdx حيث x من 0 الى 3 وبتالي يمكنك ربط 4 شاشات لكل واحد منهما 2 بسلك

يعني مكتبه w3Lcdx حيث x من 0 الى 3 وبتالي يمكنك ربط 4 شاشات لكل واحد منهما 3بسلك

أنتهى هذا الجزء
وان شالله لنا شرح مكتبه أخرى ضمن هذا موضوع


الصورة الرمزية حسن هادي محمود
حسن هادي محمود
:: عضو ذهبي ::
تاريخ التسجيل: Sep 2012
الدولة: العراق /البصره
المشاركات: 2,688
نشاط [ حسن هادي محمود ]
قوة السمعة:135
قديم 28-07-2014, 09:28 PM المشاركة 7   
Thumbs up مكتبه جديده لـــ LCD


السلام عليكم
هذه مكتبه لاتحتاج الى 74hc595 ويكون نفس الربط بالنسبه لمكتبه موجوده في مايكروسي
تعتير هذه مكتبه متطوره أكثر لانها توفر الكثير مثل طبع النصوص في روم
جميل في الامر انها تستخدم نفس الاوامر التي شرحت في مشاركات اعلاه ولكن فقط شيء الذي يتغير هو أنك راح ضيف اسمها الى ملفات مشروع يعني كما ذكرنا سابقا
شيئ الي يتغير فقط أسمها يعني اسمها تجدها LCDx حيث x من 0 الى 2

هذا مثال لتوضيح مكتبه ومرفق كود للمكتبه الموجوده في مايكروسي ومكتبه جديده

كود مكتبه القديمه

كود:
//sbit lcd
sbit LCD_RS at LATB4_bit ;
sbit LCD_EN at LATB5_bit ;
sbit LCD_D4 at LATB0_bit ;
sbit LCD_D5 at LATB1_bit ;
sbit LCD_D6 at LATB2_bit ;
sbit LCD_D7 at LATB3_bit ;
sbit LCD_RS_Direction at TRISB4_bit;
sbit LCD_EN_Direction at TRISB5_bit;
sbit LCD_D4_Direction at TRISB0_bit;
sbit LCD_D5_Direction at TRISB1_bit;
sbit LCD_D6_Direction at TRISB2_bit;
sbit LCD_D7_Direction at TRISB3_bit;
const char txt1[]="ramadan kareem  ";
const char txt2[]="ramadan kareem  ";
const char txt3[]="ramadan kareem  ";
const char txt4[]="ramadan kareem  ";

const char facter=16;

//********************************************//
void Lcd_Out20(char row, char col, char *txt) {

   switch (row) {
      case 1: Lcd_Cmd(128 +  0 + col - 1); break;
      case 2: Lcd_Cmd(128 + 64 + col -1); break;
      case 3: Lcd_Cmd(128 + facter + col - 1); break;
      case 4: Lcd_Cmd(128 + 64+facter + col - 1); break;
      default: return;
   }
   Lcd_Out_CP(txt);
 }
////////////////////////////////////////////////////////////////////////////////
void message(const char *pci,short zzz,short  yyy)
{int x; char my_txt[16];

 for(x=0;x<16;x++) my_txt[x]=pci[x];
  lcd_out20(zzz,yyy,my_txt);
 }
void main() 
{
 anselb=0;
 Lcd_Init();
 Lcd_Cmd(_LCD_CLEAR);
 Lcd_Cmd(_LCD_CURSOR_OFF);

 message(txt1,1,1);

 message(txt2,2,1);

 message(txt3,3,1);

 message(txt4,4,1);


}
كود مكتبه جديده لنفس مشروع
كود:
//sbit lcd
sbit LCD0_RS at LATB4_bit ;
sbit LCD0_EN at LATB5_bit ;
sbit LCD0_D4 at LATB0_bit ;
sbit LCD0_D5 at LATB1_bit ;
sbit LCD0_D6 at LATB2_bit ;
sbit LCD0_D7 at LATB3_bit ;
sbit LCD0_RS_Direction at TRISB4_bit;
sbit LCD0_EN_Direction at TRISB5_bit;
sbit LCD0_D4_Direction at TRISB0_bit;
sbit LCD0_D5_Direction at TRISB1_bit;
sbit LCD0_D6_Direction at TRISB2_bit;
sbit LCD0_D7_Direction at TRISB3_bit;
const char txt1[]="ramadan kareem  ";
const char txt2[]="ramadan kareem  ";
const char txt3[]="ramadan kareem  ";
const char txt4[]="ramadan kareem  ";


void main() 
{
 anselb=0;
 Lcd0_Init();
 Lcd0_GotoYX_16x4(0,0);
 Lcd0_CstrOut(txt1);
 
 Lcd0_GotoYX_16x4(1,0);
 Lcd0_CstrOut(txt2);
 
 Lcd0_GotoYX_16x4(2,0);
 Lcd0_CstrOut(txt3);
 
 Lcd0_GotoYX_16x4(3,0);
 Lcd0_CstrOut(txt4);


}

هذا هو مشروع للمكتبه جديده
http://up.top4top.net/downloadf-top4...4c571-rar.html
اسم مكتبه تجدها في مجلد الذي اسمه LCD


الصورة الرمزية حسن هادي محمود
حسن هادي محمود
:: عضو ذهبي ::
تاريخ التسجيل: Sep 2012
الدولة: العراق /البصره
المشاركات: 2,688
نشاط [ حسن هادي محمود ]
قوة السمعة:135
قديم 28-07-2014, 09:35 PM المشاركة 8   
x4


ملاحظه // هذه نصيحه لجميع فقد نصحني بها أحد أساتذه الاجانب وقال لي
هذا مضمون الرساله


On a PIC18 always use the LATx bites (not the PORTx bites) to avoid R-M-W problems


يعني لاتتعامل مع ريجيستر port وانما مع ريجيستر LAT لتجنب المشاكل المذكوره في رابط ادناه

وهذه هي مشكله
http://www.mikroe.com/download/eng/d...c/help/rmw.htm


التعديل الأخير تم بواسطة : حسن هادي محمود بتاريخ 28-07-2014 الساعة 09:43 PM
احصائية الشكر والاعجاب - 1 شكراً, 0 عدم اعجاب, 1 اعجاب
شكراً mourad3d ( شكر العضو على هذه المشاركة )
اعجاب mourad3d ( أعجبته المشاركة )
إضافة رد

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

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

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


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

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