اطلاعیه

Collapse
No announcement yet.

مشکل در نمایش عبارت بر روی LCD کاراکتری

Collapse
X
 
  • فیلتر
  • زمان
  • Show
Clear All
new posts

    مشکل در نمایش عبارت بر روی LCD کاراکتری

    سلام دوستان
    میخواستم بر روی LCD دو عبارت (رشته) محتلف رو با فاصله زمانی 1 ثانیه نمایش بدم... ولی پس از روشن کردن مدار تمامی قسمت های خط اول LCD روشن میشوند
    و ثابت باقی میمانند.. آیا مشکل نرم افزاریه یا سخت افزاری؟؟ پایه 1 و 3 lcd به زمین و پایه 2 lcd به 5 ولت وصل کردم.
    از کدویژن استفاده میکنم، زبان C ، و از تراشه ATMEGA32A.
    اینم کد نوشته شدم... (این برنامه رو با پروتئوس نوشتم جواب داد )

    while(1)
    {
    lcd_putsf(state1);
    delay_ms(1000);
    lcd_putsf(state2);

    به رویاهات فکر کن!!

    #2
    پاسخ : مشکل در نمایش عبارت بر روی LCD کاراکتری

    :mrgreen:
    دوست عزیز از بابت lcd مشکلی ندارید مشکل شما یا از خطوط دیتا هست یا از برنامه میکرو
    یعنی یا برنامه رو میکرو خب لود نشده یا سیم بندی درست نیست سطر اول سیاه میشه یعنی lcd سالمه و خوب کار میکنه
    [move][img width=133 height=100]http://bargiri.persiangig.com/aks/0.306310001356499787_taknaz_ir.gif[/img][/move]

    دیدگاه


      #3
      پاسخ : مشکل در نمایش عبارت بر روی LCD کاراکتری

      سلام و تشکر..
      برنامم دقیقا اینه میشه یه نگاهی بندازین...:::
      /************************************************** ***
      This program was produced by the
      CodeWizardAVR V2.05.0 Advanced
      Automatic Program Generator
      © Copyright 1998-2010 Pavel Haiduc, HP InfoTech s.r.l.
      http://www.hpinfotech.com

      Project :
      Version :
      Date : 2011/10/13
      Author : www.Eca.ir *** www.Webkade.ir
      Company :
      Comments:


      Chip type : ATmega32A
      Program type : Application
      AVR Core Clock frequency: 4.000000 MHz
      Memory model : Small
      External RAM size : 0
      Data Stack size : 512
      ************************************************** ***/

      #include <mega32a.h>
      #include <delay.h>

      // Alphanumeric LCD Module functions
      #include <alcd.h>

      // Declare your global variables here

      void main(void)
      {
      // Declare your local variables here

      // Input/Output Ports initialization
      // Port A initialization
      // Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In
      // State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T
      PORTA=0x00;
      DDRA=0x00;

      // Port B initialization
      // Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In
      // State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T
      PORTB=0x00;
      DDRB=0x00;

      // Port C initialization
      // Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In
      // State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T
      PORTC=0x00;
      DDRC=0x00;

      // Port D initialization
      // Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In
      // State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T
      PORTD=0x00;
      DDRD=0x00;

      // Alphanumeric LCD initialization
      // Connections specified in the
      // Project|Configure|C Compiler|Libraries|Alphanumeric LCD menu:
      // RS - PORTC Bit 0
      // RD - PORTC Bit 1
      // EN - PORTC Bit 2
      // D4 - PORTC Bit 4
      // D5 - PORTC Bit 5
      // D6 - PORTC Bit 6
      // D7 - PORTC Bit 7
      // Characters/line: 8
      lcd_init(8);

      while (1)
      {
      lcd_clear();
      lcd_gotoxy(0,0);
      lcd_putsf("state1"
      delay_ms(1000);
      lcd_clear();
      lcd_putsf("state2"
      delay_ms(1000);
      }
      }

      اگه مشکل از سیم بندی بود که هیچی ولی اگه مشکل از لود شدن برنامه روی میکرو بود.. چطور باید حل بشه؟
      مرسی
      به رویاهات فکر کن!!

      دیدگاه


        #4
        پاسخ : مشکل در نمایش عبارت بر روی LCD کاراکتری

        :angry:
        زبون سی بلد نیستم :cry2:
        [move][img width=133 height=100]http://bargiri.persiangig.com/aks/0.306310001356499787_taknaz_ir.gif[/img][/move]

        دیدگاه


          #5
          پاسخ : مشکل در نمایش عبارت بر روی LCD کاراکتری

          مرسی مشکلی نیست.. یه سوال دیگه!
          امکانش هست که از شدت کنتراست باشه؟ یا ربطی نداره؟
          به رویاهات فکر کن!!

          دیدگاه


            #6
            پاسخ : مشکل در نمایش عبارت بر روی LCD کاراکتری

            دوباره مدار رو بستم و همه سیم بندی ها رو چک کردم ولی مشکل همچنان باقیه :sad:


            اون led هم که روی بیت صفر پورت A گذاشتم برای تست این بود که آیا اصلا برنامه اجرا میشه یا نه.. که برنامه اجرا میشد و طبق کد ها ال ای دی 10 بار چشمک میزنه و بعد از حلقه خارج میشه و لی مساله ای که هست اینه که وضعیت lcd از اون همینه و همین میمونه... اصلا هیچ تغییری نداره.. اگه کسی میتونه کمک نه مرسی...

            _ /************************************************** ***
            This program was produced by the
            CodeWizardAVR V2.05.0 Advanced
            Automatic Program Generator
            © Copyright 1998-2010 Pavel Haiduc, HP InfoTech s.r.l.
            http://www.hpinfotech.com

            Project :
            Version :
            Date : 2011/10/14
            Author : www.Eca.ir *** www.Webkade.ir
            Company :
            Comments:


            Chip type : ATmega32A
            Program type : Application
            AVR Core Clock frequency: 4.000000 MHz
            Memory model : Small
            External RAM size : 0
            Data Stack size : 512
            ************************************************** ***/

            #include <mega32a.h>
            #include <delay.h>

            // Alphanumeric LCD Module functions
            #include <alcd.h>

            // Declare your global variables here

            void main(void)
            {
            int i;
            for(i=0;i<=9;i++)
            {
            PORTA.0=1;
            delay_ms(350);
            PORTA.0=0;
            delay_ms(350);
            }
            // Declare your local variables here

            // Input/Output Ports initialization
            // Port A initialization
            // Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In
            // State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T
            PORTA=0x00;
            DDRA=0x00;

            // Port B initialization
            // Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In
            // State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T
            PORTB=0x00;
            DDRB=0x00;

            // Port C initialization
            // Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In
            // State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T
            PORTC=0x00;
            DDRC=0x00;

            // Port D initialization
            // Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In
            // State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T
            PORTD=0x00;
            DDRD=0x00;

            // Alphanumeric LCD initialization
            // Connections specified in the
            // Project|Configure|C Compiler|Libraries|Alphanumeric LCD menu:
            // RS - PORTC Bit 0
            // RD - PORTC Bit 1
            // EN - PORTC Bit 2
            // D4 - PORTC Bit 4
            // D5 - PORTC Bit 5
            // D6 - PORTC Bit 6
            // D7 - PORTC Bit 7
            // Characters/line: 16
            lcd_init(16);

            while (1)
            {
            lcd_clear();
            lcd_gotoxy(0,0);
            lcd_putsf("state1"
            delay_ms(1000);
            lcd_putsf(" state2"
            delay_ms(1000);

            }
            }

            به رویاهات فکر کن!!

            دیدگاه


              #7
              پاسخ : مشکل در نمایش عبارت بر روی LCD کاراکتری


              دوست عزیز اون سیما که آزاد گذاشتی چین؟همون پین های شماره 7-8-9-10 هستش؟
              اگه بله اونارو بزن به گرند
              واتصالاتو بادقت یکی یکی چک کن :nerd:
              موفق باشی
              معلوليت محدوديت نيست

              آنکس که عاجز از خلق لحظه هاست، معلول است. نه من...روح بلند آدمیت فراتر از هر معلولیتی است.

              دیدگاه


                #8
                پاسخ : مشکل در نمایش عبارت بر روی LCD کاراکتری

                سلام بله، همون پینای 7 8 9 10 هستند، اونارو دفعه اول زده بودم به زمین ولی چون شلوغ نشه اینبار بیرون از مدار گذاشتمشون،
                مشکل حتما از سیم بندی هاست؟؟ :sad:
                دو روزه نمیتونم اینو راه بندازم :angry: :cry2:
                به رویاهات فکر کن!!

                دیدگاه


                  #9
                  پاسخ : مشکل در نمایش عبارت بر روی LCD کاراکتری

                  با درود . . .
                  در صورتی که پایه شماره 3 ال سی دی را به زمین وصل کردید اتصال را قطع و توسط یک مقاومت با مقدار 1 الی 2.2 کیلو(بصورت تجربی1.8 کیلو) به زمین متصل کنید.
                  پایه 5 نیز باید به زمین متصل باشد

                  موفق باشید.
                  درد من تنهایی نیست؛ بلكه مرگ ملتی است كه گدایی را قناعت، بی‏عرضگی را صبر، و با تبسمی بر لب این حماقت را حكمت خداوند می‏ نامند! "گاندی"

                  به دلیل وجود برخی مشکلات و بی احترامی ها این اکانت رو غیر فعال کردم. همیشه سر بلند باشید.
                  بدرود . . .

                  دیدگاه


                    #10
                    پاسخ : پاسخ : مشکل در نمایش عبارت بر روی LCD کاراکتری

                    نوشته اصلی توسط وحـید
                    با درود . . .
                    در صورتی که پایه شماره 3 ال سی دی را به زمین وصل کردید اتصال را قطع و توسط یک مقاومت با مقدار 1 الی 2.2 کیلو(بصورت تجربی1.8 کیلو) به زمین متصل کنید.
                    پایه 5 نیز باید به زمین متصل باشد

                    موفق باشید.
                    سلام دوست عزیز
                    منظور از پایه 5 همون پایه RW ؟؟ مگه نباید به بیت اول از پورتمون متصل باشه؟؟

                    مرسی
                    به رویاهات فکر کن!!

                    دیدگاه


                      #11
                      پاسخ : مشکل در نمایش عبارت بر روی LCD کاراکتری

                      در ضمن من همه سیم ها رو هم که از میکرو قطع میکنم هیچ تغییری حاصل نمیشه... :(
                      اگه حدس میزنین از چسه کمک کنین مرسی


                      :angry:
                      به رویاهات فکر کن!!

                      دیدگاه


                        #12
                        پاسخ : مشکل در نمایش عبارت بر روی LCD کاراکتری

                        معذرت میخوام. حواسم نبود که با سی نوشتید.

                        پایه 3 ال سی دی رو از زمین قطع کردید؟؟؟
                        با 2.2 کیلو به زمین وصلش کنید.
                        درد من تنهایی نیست؛ بلكه مرگ ملتی است كه گدایی را قناعت، بی‏عرضگی را صبر، و با تبسمی بر لب این حماقت را حكمت خداوند می‏ نامند! "گاندی"

                        به دلیل وجود برخی مشکلات و بی احترامی ها این اکانت رو غیر فعال کردم. همیشه سر بلند باشید.
                        بدرود . . .

                        دیدگاه


                          #13
                          پاسخ : مشکل در نمایش عبارت بر روی LCD کاراکتری

                          خواهش میکنم
                          بله قطع کردم ولی تغییری حاصل نشد...:( نمیدونم دیگه چیکار کنم..
                          من از CodeWizard استفاده کردم تو این مورد ولی نفهمیدم چرا پورت C رو (که من تو تنظیمات به عنوان پورتی که lcd بهش وصل میشه در نظر گرفتم) به عنوان ورودی در نظر گرفته؟؟ ممکنه مشکل از این باشه؟؟ اینجوری در نظر گرفته DDRC=0x00
                          به رویاهات فکر کن!!

                          دیدگاه


                            #14
                            پاسخ : مشکل در نمایش عبارت بر روی LCD کاراکتری

                            ببخشید برو به تنظیمات فیوزبیتها یه نگاهی بکن ببین پورت سی به طور پیش فرض روی جی تگ نباشه
                            اگه باشه غیر فعالش کن :nerd:
                            معلوليت محدوديت نيست

                            آنکس که عاجز از خلق لحظه هاست، معلول است. نه من...روح بلند آدمیت فراتر از هر معلولیتی است.

                            دیدگاه


                              #15
                              پاسخ : مشکل در نمایش عبارت بر روی LCD کاراکتری

                              نوشته اصلی توسط mahdi210
                              ببخشید برو به تنظیمات فیوزبیتها یه نگاهی بکن ببین پورت سی به طور پیش فرض روی جی تگ نباشه
                              اگه باشه غیر فعالش کن :nerd:
                              خواستم بنویسم که دیدم نوشتن! :biggrin:
                              این میتونه یکی از دلایل باشه.

                              کل فیوزبیت ها رو بردارید و تنها SUT0 و CKOPT رو برنامه ریزی کنید(دقت کنید که این کار کریستال خارجی را برای شما برنامه ریزی میکند)

                              درد من تنهایی نیست؛ بلكه مرگ ملتی است كه گدایی را قناعت، بی‏عرضگی را صبر، و با تبسمی بر لب این حماقت را حكمت خداوند می‏ نامند! "گاندی"

                              به دلیل وجود برخی مشکلات و بی احترامی ها این اکانت رو غیر فعال کردم. همیشه سر بلند باشید.
                              بدرود . . .

                              دیدگاه

                              لطفا صبر کنید...
                              X