دورات هندسية

 

 

هل استطاع أحدكم تشغيل Graphic Lcd

صفحة 1 من 2 12 الأخيرةالأخيرة
النتائج 1 إلى 10 من 14
  1. [1]
    خالد ماهر
    خالد ماهر غير متواجد حالياً

    عضو متميز

    تاريخ التسجيل: Aug 2006
    المشاركات: 480
    Thumbs Up
    Received: 0
    Given: 0

    هل استطاع أحدكم تشغيل Graphic Lcd

    السلام عليكم
    لقد قمت من فترة بتشغيل CHARACTER LCD باستخدام الميكروكنترولر ولله الحمد
    ولكني الآن أريد أن أقوم بتشغيل GRAPHICAL LCD
    فاذا كان هناك من عنده خبرة بالموضوع أو عنده أي موقع مفيد
    فأرجو ألا يبخل به علينا
    ولكم جزيل الشكر
    أخوكم خالد

  2. [2]
    م.رائد الجمّال
    م.رائد الجمّال غير متواجد حالياً
    عضو شرف
    الصورة الرمزية م.رائد الجمّال


    تاريخ التسجيل: Mar 2007
    المشاركات: 2,697

    وسام الشكر

     وسام كبار الشخصيات

    Thumbs Up
    Received: 15
    Given: 0
    تبارك الذي بيده الملك وهو على كل شيء قدير
    [SIGPIC][/SIGPIC]
    اذا غضب الله على قوم رزقهم الجدل و منعهم العمل
    اعقل الناس اعذر الناس للناس
    قوة الادراك ان تتمكن من محاسبة هواك
    لا شيء يستحق الانحناء ............لا خساره تستحق الندم

  3. [3]
    م.رائد الجمّال
    م.رائد الجمّال غير متواجد حالياً
    عضو شرف
    الصورة الرمزية م.رائد الجمّال


    تاريخ التسجيل: Mar 2007
    المشاركات: 2,697

    وسام الشكر

     وسام كبار الشخصيات

    Thumbs Up
    Received: 15
    Given: 0
    there u will find some info to help u in what u about to

    0 Not allowed!


    تبارك الذي بيده الملك وهو على كل شيء قدير
    [SIGPIC][/SIGPIC]
    اذا غضب الله على قوم رزقهم الجدل و منعهم العمل
    اعقل الناس اعذر الناس للناس
    قوة الادراك ان تتمكن من محاسبة هواك
    لا شيء يستحق الانحناء ............لا خساره تستحق الندم

  4. [4]
    م.رائد الجمّال
    م.رائد الجمّال غير متواجد حالياً
    عضو شرف
    الصورة الرمزية م.رائد الجمّال


    تاريخ التسجيل: Mar 2007
    المشاركات: 2,697

    وسام الشكر

     وسام كبار الشخصيات

    Thumbs Up
    Received: 15
    Given: 0
    قد قمت من فترة بتشغيل CHARACTER LCD باستخدام الميكروكنترولر ولله الحمد
    كم عدد CHARACTER في هذه ال CHARACTER LCD ؟؟

    0 Not allowed!


    تبارك الذي بيده الملك وهو على كل شيء قدير
    [SIGPIC][/SIGPIC]
    اذا غضب الله على قوم رزقهم الجدل و منعهم العمل
    اعقل الناس اعذر الناس للناس
    قوة الادراك ان تتمكن من محاسبة هواك
    لا شيء يستحق الانحناء ............لا خساره تستحق الندم

  5. [5]
    خالد ماهر
    خالد ماهر غير متواجد حالياً
    عضو متميز


    تاريخ التسجيل: Aug 2006
    المشاركات: 480
    Thumbs Up
    Received: 0
    Given: 0
    الcharacter lcd التي قمت بتشغيلها تتكون من 2*16 حرف أي 32 حرف
    ولكني الآن أحاول تعلم الgraphical lcd ولكني لا أعرف من أين أبدأ؟؟

    0 Not allowed!



  6. [6]
    عرااااقية
    عرااااقية غير متواجد حالياً
    عضو فعال
    الصورة الرمزية عرااااقية


    تاريخ التسجيل: Apr 2007
    المشاركات: 96
    Thumbs Up
    Received: 0
    Given: 0
    السلام عليكم
    اتفضل اخوي هذا المواقع لعلك تستفاد منه
    http://www.skippari.net/lcd/index.html
    http://www.winbond-usa.com/products/...925E_C625d.pdf

    0 Not allowed!



  7. [7]
    خالد ماهر
    خالد ماهر غير متواجد حالياً
    عضو متميز


    تاريخ التسجيل: Aug 2006
    المشاركات: 480
    Thumbs Up
    Received: 0
    Given: 0
    والله يا أختي الموقع الأول فعلا مفيد وملئ بالمعلومات
    بارك الله فيكي وفرج الله كربكم

    0 Not allowed!



  8. [8]
    le_cerf1
    le_cerf1 غير متواجد حالياً
    جديد


    تاريخ التسجيل: May 2007
    المشاركات: 5
    Thumbs Up
    Received: 0
    Given: 0
    برنامج مفصل بلونغاج C من أجل عرض الساعة على LCD بواسطة ميكروكوترولور philips (p89lpc935) إدع لنا بالنجاح :)
    #include <REG935.H> // Declaration des registres du LPC935
    //#include <REG51.H> // Declaration des registres du 80c51
    /* Declarations des chaines de caracteres dans CODE */
    char code texte5[]=":";
    char code texte6[]="/";
    char code texte7[]="/20";

    char code *ptcode; // Pointeur dans CODE pour les chaines de caracteres



    /* Declarations des constantes */
    //#define LCD_RS P1_7 // [LPC935]P1_7 // [8151]CE // Selection du registre (Register Select) - Un niveau bas=commande, niveau haut=donnée.
    //#define LCD_RW P1_1 // [LPC935]P1_1 // [8151]SCLK // Lecture ou écriture (Read/Write) - L : &Eacute;criture - H : Lecture
    //#define LCD_E P1_0 // [LPC935]P1_0 // [8151]P3_3 // Entrée de validation (Enable) active sur front descendant (450 ns)
    // [LPC935]P2 // [8151]P1 // Bus de données
    #define LCD_DATA P2


    #define Tempo_200ms 16059 // Temporisation [11964 pour le 8151] [16059 pour le LPC935]
    #define Tempo_2ms 161 // Temporisation [119 pour le 8151] [161 pour le LPC935]
    #define Tempo_50us 4 // Temporisation [2 pour le 8151] [4 pour le LPC935]

    /* Declarations des bits */
    sbit LCD_RS = 0x97; // [8151] sbit CE = 0xB0; [LPC935] sbit LCD_RS = 0x97;
    sbit LCD_RW = 0x92; // [8151] sbit SCLK = 0xB1; [LPC935] sbit LCD_RW = 0x91;
    sbit LCD_E = 0x87; // [8151] sbit P3_2 = 0xB2; [LPC935] sbit LCD_E = 0x90;
    // [8151] sbit P3_3 = 0xB3;
    //sbit rs = 0x97;
    //sbit wr = 0x92;
    //sbit E = 0x87;



    /**** Declarations des fonctions ****/
    void LCD_init(void); // Fonction d'initialisation du LCD
    void LCD_instruction(char instr); // Fonction permettant l'envoi d'une instruction
    void LCD_caractere(char caract); // Fonction permettant l'affichage d'un caractère
    void LCD_texte(char caract); // Fonction permettant l'affichage d'une chaine de caractère
    void LCD_affichage(); // Fonction permettant l'affichage des données sur le LCD
    void LCD_affichage(); // Fonction permettant l'affichage de l'heure & de la date pour vérifier le fonctionnement de l'horodatage
    void tempo(long unsigned int cnt); // Fonction de Temporisation


    /* Variables globales de l'objet technique */
    unsigned char data heure, minute, jour, mois, annee,seconde; // horodatage (valeurs BCD)







    /*================================================= ==========
    Programme principal
    ================================================== =========*/
    void main(void)
    {

    P1M1 = 0x00;
    P1M2 = 0x00;

    P2M1 = 0x00;
    P2M2 = 0x00;
    P0M1=0x00;
    P0M2=0x00;

    LCD_init();

    /*
    ptcode=&texte1[0]; // ptcode pointe sur texte1[]
    LCD_texte(*ptcode); // Appel de la fonction LCD_texte()

    tempo(Tempo_2ms);

    LCD_instruction (0xC0);
    ptcode=&texte2[0];
    LCD_texte(*ptcode);
    */
    // Affichage VBat, VPan, Rythme, Luminosité



    seconde=0x05; //Essai du programme pour 12h00 14/02/07 en BCD
    heure=0x12 ;
    minute=0x00 ;
    jour=0x14 ;
    mois=0x02 ;
    annee=0x07 ;
    /*num_rythme=0 ;
    ubat=125 ;
    upan=102 ;
    lum=125 ; */
    // LCD_affichage();


    LCD_affichage();
    while (1); // fin (boucle infinie, arret du programme)

    }



    /*================================================= ==========
    Fonction Affichage Heure, Minute, Jour, Mois, Année
    ================================================== ========*/
    void LCD_affichage()
    {
    LCD_instruction(0x80); // positionne le curseur à 0 (haut,gauche)

    LCD_caractere((( heure & 0x30)>>4)+0x30);
    LCD_caractere(( heure & 0x0F)+0x30);
    //ptcode=&texte5[0];
    //LCD_texte(*ptcode);

    LCD_caractere(':');

    LCD_caractere((( minute & 0x70)>>4)+0x30);
    LCD_caractere(( minute & 0x0F)+0x30);
    ptcode=&texte5[0];
    LCD_texte(*ptcode);
    LCD_caractere((( seconde & 0x70)>>4)+0x30);
    LCD_caractere((( seconde & 0x0F))+0x30);

    LCD_instruction (0xC0);
    tempo(Tempo_2ms);

    LCD_caractere((( jour & 0xF0)/10)+0x30);
    LCD_caractere((( jour & 0x0F)%10)+0x30);
    ptcode=&texte6[0];
    LCD_texte(*ptcode);
    LCD_caractere((( mois & 0xF0)/10)+0x30);
    LCD_caractere((( mois & 0x0F)%10)+0x30);
    ptcode=&texte7[0];
    LCD_texte(*ptcode);
    LCD_caractere((( annee & 0xF0)/10)+0x30);
    LCD_caractere((( annee & 0x0F)%10)+0x30);

    }
    /*================================================= ==========
    Fonction d'envoi d'une instruction à l'afficheur LCD
    Parametre : instr = code de l'instruction sur 1 octet
    ================================================== =========*/
    void LCD_instruction(char instr)
    {
    LCD_RS = 0; // Mise à 0 de RS (envoi d'une instruction)
    LCD_RW = 0; // Mise à 0 de RW (écriture d'un registre)
    LCD_E = 1; // E, elle permet de valider les données (front descendant)
    LCD_DATA =instr;
    tempo(Tempo_50us);
    LCD_E = 0;
    tempo(Tempo_50us);

    }
    /*================================================= ==========
    Fonction d'initialisation de l'afficheur
    ================================================== =========*/
    void LCD_init(void)
    {
    tempo(Tempo_200ms); // Temporisation de 200ms pour l'initialisation
    LCD_instruction(0x38); // Initialisation et mode de fonctionnement: Adressage 8 bits, 2 lignes
    LCD_instruction(0x38); // Initialisation et mode de fonctionnement: Adressage 8 bits, 2 lignes
    LCD_instruction(0x38); // Initialisation et mode de fonctionnement: Adressage 8 bits, 2 lignes
    LCD_instruction(0x38); // Initialisation et mode de fonctionnement: Adressage 8 bits, 2 lignes
    LCD_instruction(0x06); // Mode de décalage: Incrémente l'adresse DD-RAM
    LCD_instruction(0x0C); // Afficheur ON
    LCD_instruction(0x01); // Effacement et positionne le curseur à 0 (haut,gauche)
    tempo(Tempo_2ms); // Temporisation pour l'effacement


    }
    /*================================================= ==========
    Fonction d'affichage d'un caractère
    ================================================== =========*/
    void LCD_caractere(char caract)
    {
    LCD_RS = 1;
    LCD_RW = 0;

    LCD_DATA = caract;

    LCD_E = 1;
    LCD_E = 0;
    tempo(Tempo_50us);
    }

    /*================================================= ==========
    Fonction d'affichage d'une chaine de caractères
    ================================================== =========*/
    void LCD_texte(texte)
    {

    while(*ptcode!=0x00)
    {
    LCD_caractere(*ptcode); // appel de la fonction caractere
    ptcode++; // Incremente le pointeur
    }
    tempo(Tempo_50us);
    }

    /*================================================= ==========
    Fonction de temporisation paramétrée
    ================================================== =========*/
    void tempo(long unsigned int cnt)
    { while (cnt != 0)
    { cnt--;
    }
    }

    0 Not allowed!



  9. [9]
    le_cerf1
    le_cerf1 غير متواجد حالياً
    جديد


    تاريخ التسجيل: May 2007
    المشاركات: 5
    Thumbs Up
    Received: 0
    Given: 0
    if you want the file in txt it's here:

    0 Not allowed!


    الملفات المرفقة

  10. [10]
    خالد ماهر
    خالد ماهر غير متواجد حالياً
    عضو متميز


    تاريخ التسجيل: Aug 2006
    المشاركات: 480
    Thumbs Up
    Received: 0
    Given: 0
    شكرا لك أخي على اهتمامك
    لاحظت أن البرنامج مقسم الى اجزاء وكل جزء له عنوان يخبرك بوظيفة هذا الجزء
    ولكن للأسف العناوين كتبت بالفرنسية وأنا لا أعرف من الفرنسية إلا كلمة merci
    فان كنت تجيد هذه اللغة فبرجاء أن تترجم لي العناوين لأعرف وظيفة كل جزء في البرنامج وان لم تكن تجيدها فلا تتعب نفسك........
    وجزاك الله عني خيرا على كل حال

    0 Not allowed!



  
صفحة 1 من 2 12 الأخيرةالأخيرة
الكلمات الدلالية لهذا الموضوع

عرض سحابة الكلمة الدلالية

RSS RSS 2.0 XML MAP HTML