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

   

KHALEDTIF
:: عضو فضي ::
تاريخ التسجيل: Aug 2008
المشاركات: 243
نشاط [ KHALEDTIF ]
قوة السمعة:
قديم 20-08-2009, 01:39 PM المشاركة 9   
افتراضي



شكرا للاخ احمد

اعلانات

م اوس الجبوري
:: مهندس ::
تاريخ التسجيل: Dec 2009
المشاركات: 1
نشاط [ م اوس الجبوري ]
قوة السمعة:
قديم 12-02-2010, 02:28 PM المشاركة 10   
افتراضي


اخي العزيز هل هناك كتاب يشرح لغة مايكروسي ؟

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

الصورة الرمزية eng.easy.elect
eng.easy.elect
:: مهندس متواجد ::
تاريخ التسجيل: Jun 2014
الدولة: مسجد الطهور
المشاركات: 61
نشاط [ eng.easy.elect ]
قوة السمعة:
قديم 30-06-2014, 04:12 PM المشاركة 11   
x1 ماهذا


عليك بمراجعة الدروس ياأخ


الصورة الرمزية ناصراحمد2
ناصراحمد2
:: عضو ذهبي ::
تاريخ التسجيل: Jul 2009
الدولة: EGYPT
المشاركات: 1,315
نشاط [ ناصراحمد2 ]
قوة السمعة:
قديم 02-07-2014, 02:41 AM المشاركة 12   
افتراضي


اخي العزيز هل هناك كتاب يشرح لغة مايكروسي ؟
السلام عليكم ورحمة الله وبركاتة
تفضل هذة الدورة لمهندس احمد سمير
http://www.qariya.info/vb/showthread.php?t=40760
9دروس فقط ولكنها تكفى لوضع قدميك بين المبرمجين باذن الله
بالتوفيق ان شاء الله


الصورة الرمزية ناصراحمد2
ناصراحمد2
:: عضو ذهبي ::
تاريخ التسجيل: Jul 2009
الدولة: EGYPT
المشاركات: 1,315
نشاط [ ناصراحمد2 ]
قوة السمعة:
قديم 02-07-2014, 02:55 AM المشاركة 13   
angry


شكرا لك وجدت هذا الكود في احدى المنتديات الاجنبية لا ملف معه وذكر ان الكمبيلر هو السي وانا شخصيا حاولت بنسختين تحويله لكن من دون جدوى
السلام عليكم ورحمة الله وبركاتة
طبعا لا استطيع اضافة بعد اساتذتنا وردودهم
فقط تاكيد لكلامهم
الكود لن يتم برمجتة لانة ينقص ملف
وهذا الملف يعتبر هو مكتبة قام بها وصممها صاحب الكود
عموما
البحث عن بديا كان اسهل من البحث عن ملف مفقود
واليك هذا الكود واتمنى ان تستفيد منة
http://www.8051projects.net/lofivers...d-library.html
هذا الكود لمتحكم من نوع AT 89XXX
ولكنى قمت بتجربتة على pic16f877A
وهو يعمل بدون اى مشاكل ويستخدم كريستالة 8 ميجا

ويمكنك التعديل علية ابتداء من while(1)

حتى تستخدمة كما تشاء

كود:
void spisend(unsigned char); void wrdata(unsigned char); void wrcmd(unsigned char); void pixelxy(unsigned char, unsigned char); void cursorxy(unsigned char, unsigned char); void clearram(void); void initlcd(void); void putchar(unsigned char); void putstr (unsigned char*); /* Modify it to fit your schematic */ #define SCK portb.f0 #define DAT portb.f1 #define DC portb.f2 #define CE portb.f3 #define RES portb.f4 /* Lookup Table for Nokia LCD */ unsigned char const FontLookup [][5] = { { 0x00, 0x00, 0x00, 0x00, 0x00 }, // sp { 0x00, 0x00, 0x2f, 0x00, 0x00 }, // ! { 0x00, 0x07, 0x00, 0x07, 0x00 }, // " { 0x14, 0x7f, 0x14, 0x7f, 0x14 }, // # { 0x24, 0x2a, 0x7f, 0x2a, 0x12 }, // $ { 0xc4, 0xc8, 0x10, 0x26, 0x46 }, // % { 0x36, 0x49, 0x55, 0x22, 0x50 }, // & { 0x00, 0x05, 0x03, 0x00, 0x00 }, // ' { 0x00, 0x1c, 0x22, 0x41, 0x00 }, // ( { 0x00, 0x41, 0x22, 0x1c, 0x00 }, // ) { 0x14, 0x08, 0x3E, 0x08, 0x14 }, // * { 0x08, 0x08, 0x3E, 0x08, 0x08 }, // + { 0x00, 0x00, 0x50, 0x30, 0x00 }, // , { 0x10, 0x10, 0x10, 0x10, 0x10 }, // - { 0x00, 0x60, 0x60, 0x00, 0x00 }, // . { 0x20, 0x10, 0x08, 0x04, 0x02 }, // / { 0x3E, 0x51, 0x49, 0x45, 0x3E }, // 0 { 0x00, 0x42, 0x7F, 0x40, 0x00 }, // 1 { 0x42, 0x61, 0x51, 0x49, 0x46 }, // 2 { 0x21, 0x41, 0x45, 0x4B, 0x31 }, // 3 { 0x18, 0x14, 0x12, 0x7F, 0x10 }, // 4 { 0x27, 0x45, 0x45, 0x45, 0x39 }, // 5 { 0x3C, 0x4A, 0x49, 0x49, 0x30 }, // 6 { 0x01, 0x71, 0x09, 0x05, 0x03 }, // 7 { 0x36, 0x49, 0x49, 0x49, 0x36 }, // 8 { 0x06, 0x49, 0x49, 0x29, 0x1E }, // 9 { 0x00, 0x36, 0x36, 0x00, 0x00 }, // : { 0x00, 0x56, 0x36, 0x00, 0x00 }, // ; { 0x08, 0x14, 0x22, 0x41, 0x00 }, // < { 0x14, 0x14, 0x14, 0x14, 0x14 }, // = { 0x00, 0x41, 0x22, 0x14, 0x08 }, // > { 0x02, 0x01, 0x51, 0x09, 0x06 }, // ? { 0x32, 0x49, 0x59, 0x51, 0x3E }, // * { 0x7E, 0x11, 0x11, 0x11, 0x7E }, // A { 0x7F, 0x49, 0x49, 0x49, 0x36 }, // B { 0x3E, 0x41, 0x41, 0x41, 0x22 }, // C { 0x7F, 0x41, 0x41, 0x22, 0x1C }, // D { 0x7F, 0x49, 0x49, 0x49, 0x41 }, // E { 0x7F, 0x09, 0x09, 0x09, 0x01 }, // F { 0x3E, 0x41, 0x49, 0x49, 0x7A }, // G { 0x7F, 0x08, 0x08, 0x08, 0x7F }, // H { 0x00, 0x41, 0x7F, 0x41, 0x00 }, // I { 0x20, 0x40, 0x41, 0x3F, 0x01 }, // J { 0x7F, 0x08, 0x14, 0x22, 0x41 }, // K { 0x7F, 0x40, 0x40, 0x40, 0x40 }, // L { 0x7F, 0x02, 0x0C, 0x02, 0x7F }, // M { 0x7F, 0x04, 0x08, 0x10, 0x7F }, // N { 0x3E, 0x41, 0x41, 0x41, 0x3E }, // O { 0x7F, 0x09, 0x09, 0x09, 0x06 }, // P { 0x3E, 0x41, 0x51, 0x21, 0x5E }, // Q { 0x7F, 0x09, 0x19, 0x29, 0x46 }, // R { 0x46, 0x49, 0x49, 0x49, 0x31 }, // S { 0x01, 0x01, 0x7F, 0x01, 0x01 }, // T { 0x3F, 0x40, 0x40, 0x40, 0x3F }, // U { 0x1F, 0x20, 0x40, 0x20, 0x1F }, // V { 0x3F, 0x40, 0x38, 0x40, 0x3F }, // W { 0x63, 0x14, 0x08, 0x14, 0x63 }, // X { 0x07, 0x08, 0x70, 0x08, 0x07 }, // Y { 0x61, 0x51, 0x49, 0x45, 0x43 }, // Z { 0x00, 0x7F, 0x41, 0x41, 0x00 }, // [ { 0x55, 0x2A, 0x55, 0x2A, 0x55 }, // 55 { 0x00, 0x41, 0x41, 0x7F, 0x00 }, // ] { 0x04, 0x02, 0x01, 0x02, 0x04 }, // ^ { 0x40, 0x40, 0x40, 0x40, 0x40 }, // _ { 0x00, 0x01, 0x02, 0x04, 0x00 }, // ' { 0x20, 0x54, 0x54, 0x54, 0x78 }, // a { 0x7F, 0x48, 0x44, 0x44, 0x38 }, // b { 0x38, 0x44, 0x44, 0x44, 0x20 }, // c { 0x38, 0x44, 0x44, 0x48, 0x7F }, // d { 0x38, 0x54, 0x54, 0x54, 0x18 }, // e { 0x08, 0x7E, 0x09, 0x01, 0x02 }, // f { 0x0C, 0x52, 0x52, 0x52, 0x3E }, // g { 0x7F, 0x08, 0x04, 0x04, 0x78 }, // h { 0x00, 0x44, 0x7D, 0x40, 0x00 }, // i { 0x20, 0x40, 0x44, 0x3D, 0x00 }, // j { 0x7F, 0x10, 0x28, 0x44, 0x00 }, // k { 0x00, 0x41, 0x7F, 0x40, 0x00 }, // l { 0x7C, 0x04, 0x18, 0x04, 0x78 }, // m { 0x7C, 0x08, 0x04, 0x04, 0x78 }, // n { 0x38, 0x44, 0x44, 0x44, 0x38 }, // o { 0x7C, 0x14, 0x14, 0x14, 0x08 }, // p { 0x08, 0x14, 0x14, 0x18, 0x7C }, // q { 0x7C, 0x08, 0x04, 0x04, 0x08 }, // r { 0x48, 0x54, 0x54, 0x54, 0x20 }, // s { 0x04, 0x3F, 0x44, 0x40, 0x20 }, // t { 0x3C, 0x40, 0x40, 0x20, 0x7C }, // u { 0x1C, 0x20, 0x40, 0x20, 0x1C }, // v { 0x3C, 0x40, 0x30, 0x40, 0x3C }, // w { 0x44, 0x28, 0x10, 0x28, 0x44 }, // x { 0x0C, 0x50, 0x50, 0x50, 0x3C }, // y { 0x44, 0x64, 0x54, 0x4C, 0x44 } // z }; /* Send single byte on SPI Bus (software) */ /* Input Arguments: x -> Byte to send */ void spisend(unsigned char x) { unsigned char i; for(i=8;i>0;i--){ SCK = 0; if((x&0x80)){ DAT = 1; } else { DAT = 0; } SCK = 1; x <<= 1; } } /* Write Data Byte to Nokia LCD */ /* Input Arguments: x-> Data Byte to be sent */ void wrdata(unsigned char x) { DC = 1; CE = 0; spisend(x); CE = 1; } /* Write Command Byte to Nokia LCD */ /* Input Arguments: x -> Command Byte to be sent */ void wrcmd(unsigned char x) { DC = 0; CE = 0; spisend(x); CE = 1; } /* Brings ram pointer to X,Y pixel position */ /* Input Arguments: x-> X cordinate range from 0 to 83 */ /* Input Arguments: y-> Y cordinate range from 0 to 5 */ void pixelxy(unsigned char x, unsigned char y) { wrcmd(0x40|(y&0x07)); // Y axis wrcmd(0x80|(x&0x7f)); // X axis } /* Clears the screen */ void clearram(void) { int ddram; pixelxy(0,0); // Cursor Home. for (ddram=504;ddram>0;ddram--) {wrdata(0x00);} // 6*84 = 504 DDRAM addresses. } /* Nokia3310 LCD Initialization */ void initlcd(void) { RES = 1; // Set _RES HIGH. CE = 1; // Disable Chip. RES = 0; // Reset the LCD. delay_ms(240); // Wait 100ms. RES = 1; // Awake LCD from RESET state. wrcmd(0x21); // Activate Chip and H=1. wrcmd(0xC2); // Set LCD Voltage to about 7V. wrcmd(0x13); // Adjust voltage bias. wrcmd(0x20); // Horizontal addressing and H=0. wrcmd(0x09); // Activate all segments. clearram(); // Erase all pixel on the DDRAM. wrcmd(0x08); // Blank the Display. wrcmd(0x0C); // Display Normal. pixelxy(0,0); // Cursor Home. } /* Bring cursor to Line and character specified */ /* Input Arguments: row -> Line number range from 1 to 6 */ /* Input Arguments: Column -> character position range from 1 to 14 */ /* You can have maximum of 6 lines of text on LCD and each line containing 14 characters. Address is auto increment */ void cursorxy(unsigned char row, unsigned char col) { if((row>6) || (row<1) || (col<1) || (col>14)) return; pixelxy(((col-1)*6),(row-1)); } /* Writes single character on LCD */ /* Input Arguments: ch -> Character to be displayed */ void putchar(unsigned char ch) { unsigned char i, temp; if ( (ch < 0x20) || (ch > 0x7b) ){ ch = 92; } for(i=0;i<5;i++){ temp = FontLookup[ch - 32][i] << 1; wrdata(temp); } wrdata(0x00); } /* Writes character string on LCD */ /* Input Arguments: str -> Pointer to string to be displayed */ void putstr (unsigned char *str) { while(*str) putchar(*str++); } /* Main code by Ronald Arthur Accra - Ghana (c) 2010 */ void main() { cmcon = 0x07; //convert all comparators to digital pins trisa = 0xff; //set porta as input trisb = 0x00; //set portb as output initlcd(); while(1) { while(porta.f0==1) { cursorxy(1,1); putstr("FUSE 1 IS OK"); } clearram(); while(porta.f0==0) { cursorxy(1,1); putstr("FUSE 1 ALERT"); clearram(); delay_ms(1000); cursorxy(1,1); putstr("FUSE 1 ALERT"); delay_ms(1000); } clearram(); } }

وهذة هى مكتبة الشاشة 3310
http://www.dbaasco.com/vb/showthread.php?t=3803
من منتدى الالكترونيات العصرية
واذا اردت مساعدة سوف تجدها من الجميع باذن الله

بالتوفيق ان شاء الله



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