اطلاعیه

Collapse
No announcement yet.

سوالات مربوط به LCD های کاراکتری و گرافیکی

Collapse
این موضوع بسته شده است.
X
X
 
  • فیلتر
  • زمان
  • Show
Clear All
new posts

    #31
    پاسخ : سوالات مربوط به LCD های کاراکتری و گرافیکی

    نوشته اصلی توسط حامد جعفری
    در مورد اشکال اول فکر می کنم باید مقدار حافظه های پشته رو تغییر بدی .
    اشکال دوم هم می تونه نویز محیط باشه. اگه مولتی متر داری ولتاژ بدنه کیس رو با یک زمین بگیر ( احتمالا یک ولتاژ AC بالا داری). می تونی با یک سیم اونو ارث کنی.( مثلا به لوله آب , گاز , شوفاژ , ... وصل کن).
    موافقم...
    100% از lcd نیست..

    حامد جان میشه یه توضیحی در مورد پشته ها بدی!! منم تو یک پروژه همین مشکلو داشتم نمی دونستم باید چه مقداری به پشته بدم.. :sad:
    www.icesi.ir

    دیدگاه


      #32
      پاسخ : سوالات مربوط به LCD های کاراکتری و گرافیکی

      اره منم همین نظرو دارو .حامد جان یه خورده درباره پشته ها بیشتر توضیح میدی؟؟ممنون

      دیدگاه


        #33
        پاسخ : سوالات مربوط به LCD های کاراکتری و گرافیکی

        چند تا نکته که قبلا جمع کرده بودم:


        1. Each subroutine call GOSUB, SUB, FUNCTION eat 2 bytes of HW Stack for return adress. In addidtion:
        1.1 Each FUNCTION eat minimum two bytes from SoftStack where the result address (like pointer) is passed to main program, plus one or more (depending on returned variable type) from Frame Space.
        1.2. Each normal SUB parameter eat 2 bytes from SoftStack,
        1.3. Each ByVal parametrer eat 2 bytes from SoftStack plus one or more (again variable type) from Frame Space,
        1.4. Each LOCAL variable eat one or more (depending on type) byte fromFrame Space,
        2. Number<->String conversion eats 24 bytes from Frame Space.
        3. Each interrupt call without NOSAVE parameter eats 28 bytes from HW Stack. If an interrupt are interrupted via another interrupt without NOSAVE again 28 bytes are eated from HW Stack.

        و



        The RAM area looks like this:

        .....global variables.. ........frame.............sw stack.............hw stack
        0|-------------------------|-----------------|------------------|--------------------|1024

        You set size of hwstack, swstack and frame.
        The remaining is space for your variables.
        Your variables are placed in global variables section, not in sw stack.

        So decide how many bytes you let for variables
        and all remaining you can use for $hwstack, $swstack
        and $framesize.

        و این :


        BASCOM have a many internal variables - except these located on SFR (I/O) memory - ERR, _BAUD, _BUFSPACE etc.. After this block the user block variables are placed. Stacks occupies high IRAM adresses. Between them are free IRAM. When you have a lot of SRAM space the stacks can by very hudge.
        So when BASCOM reserve 5 bytes for internal purposes. Your variables reserve 15 bytes. Initial HWStack=24 bytes, SWStack=8 bytes, Frame=26 bytes: the IRAM uses 5+15+24+8+26 = 78 bytes. The M8 has 1024 bytes IRAM so 1024-78-96=850 bytes free at this point. Why substracting 96? Take a look in M8 datasheet where IRAM start.

        و البته این یکی:


        HW Stack
        The amount of bytes available for the hard ware stack. When you use GOSUB or CALL, you are using 2 bytes of HW stack space.
        When you nest 2 GOSUB’s you are using 4 bytes (2*2). Most statements need HW stack too. An interrupt needs 32 bytes.

        Soft Stack
        Specifies the size of the software stack.
        Each local variable uses 2 bytes. Each variable that is passed to a sub program uses 2 bytes too. So when you have used 10 locals in a SUB and the SUB passes 3 parameters, you need 13 * 2 = 26 bytes.

        Frame size
        Specifies the size of the frame.
        Each local is stored in a space that is named the frame space.
        When you have 2 local integers and a string with a length of 10, you need a frame size of (2*2) + 11 = 15 bytes.
        The internal conversion routines used when you use INPUT num,STR(),VAL() etc, also use the frame. They need a maximum of 16 bytes. So for this example 15+16 = 31 would be a good value.

        و ...

        دیدگاه


          #34
          پاسخ : سوالات مربوط به LCD های کاراکتری و گرافیکی

          ok حامد جان در حالت معمولش که:
          hwstack = 32
          swstack = 10
          $framesize = 40
          خوب اینارو به چه صورت تغییر بدم؟

          دیدگاه


            #35
            پاسخ : سوالات مربوط به LCD های کاراکتری و گرافیکی

            تو بالا توضیح داده شد دیگه. بستگی به برنامه و سابروتین ها و ... داره.
            فعلا همین جوری مقدارشون رو ببر بالا ببین مشکلت رفع میشه یا نه. اگه شد بعد راجع بهش بحث می کنیم.

            دیدگاه


              #36
              پاسخ : سوالات مربوط به LCD های کاراکتری و گرافیکی

              سلام حامد جان.نه...نشد که نشد...تا جایی که تونستم متن english خوندم و تقریبا مثل اون عمل کردم . یه حالتی حساب کردم . مقدارشم بیشتر گذاشتم اما نشد هیچ تغییری نمیکنه...!!!!

              دیدگاه


                #37
                پاسخ : سوالات مربوط به LCD های کاراکتری و گرافیکی

                من یک lcd با شماره ts1620a-20/y را خریداری کرده ام وتمام پایه های آن را درست وصل کرده ام و برنامه ام را طبق فایل موجود در همین جا در مورد lcd های کاراکتری وصل کردم (lcd من دارای 16 ÷ایه است و 2*16 است ) مثلا پایه 1و 3 را زمین کرده ام و پایه 2 را 5 ولت دادم ولی روشن نشد
                یکی میگفت خدا چرا به حرفای ما گوش نمیده گفتم
                هان ای صنما،دل یک دله کن
                گر سر ندهم ،وانگه گله کن

                دیدگاه


                  #38
                  پاسخ : سوالات مربوط به LCD های کاراکتری و گرافیکی

                  نوشته اصلی توسط golgolak
                  من یک lcd با شماره ts1620a-20/y را خریداری کرده ام وتمام پایه های آن را درست وصل کرده ام و برنامه ام را طبق فایل موجود در همین جا در مورد lcd های کاراکتری وصل کردم (lcd من دارای 16 ÷ایه است و 2*16 است ) مثلا پایه 1و 3 را زمین کرده ام و پایه 2 را 5 ولت دادم ولی روشن نشد
                  سلام.

                  من یه بار مراحل کار رو میگم ببین درست انجام دادی یا نه؟

                  1- پایه های 1 -3 - 5 را باید زمین کنی.
                  2- پایه 2 را هم به vcc وصل کنی.
                  3- پایه 4 - 6 و 11تا 14 رو هم باید به میکرو وصل کنی...
                  4- پیکر بندی مناسب
                  5- اتصلات صحیح...


                  اون مقالات lcd رو هم بگیر بخون..
                  www.icesi.ir

                  دیدگاه


                    #39
                    پاسخ : سوالات مربوط به LCD های کاراکتری و گرافیکی

                    سلام

                    دوستان کوچکترین lcd گرافیکی موجود در بازار که با بیسکام هم بشه درایوش کرد چه سایزی داره و حدود قیمتش هم چقدره ؟


                    با تشکر

                    دیدگاه


                      #40
                      پاسخ : سوالات مربوط به LCD های کاراکتری و گرافیکی

                      LCD های گرافیکی 64*128 با چیپ KS0108 تو بازار موجوده. ابعادش حدود نصف LCDهای رایجه. تو دو رنگ آبی و سبز هم هستند. قیمتش هم تقریبا با مدل بزرگش زیاد فرق نمی کنه.

                      دیدگاه


                        #41
                        پاسخ : سوالات مربوط به LCD های کاراکتری و گرافیکی

                        نوشته اصلی توسط میلاد موسوی

                        سلام.

                        من یه بار مراحل کار رو میگم ببین درست انجام دادی یا نه؟

                        1- پایه های 1 -3 - 5 را باید زمین کنی.
                        2- پایه 2 را هم به vcc وصل کنی.
                        3- پایه 4 - 6 و 11تا 14 رو هم باید به میکرو وصل کنی...
                        4- پیکر بندی مناسب
                        5- اتصلات صحیح...


                        اون مقالات lcd رو هم بگیر بخون..
                        ببخشید دوباره می فرستم تا درست شود :redface:
                        lcd من دارای 16 پایه است و 2*16 است و شکل مدار طبق کتاب میکرو کنترلر های avr نوشته آقای ره افروز است البته طبق این مدار پایه شماره 5 برابر 1 می شو د البته خود میکرو ان را 1 می کند البته نکته دیگر اینکه من با این اتصال یک بار هم نتوانستم در پرتئوس جواب بگیرم
                        یکی میگفت خدا چرا به حرفای ما گوش نمیده گفتم
                        هان ای صنما،دل یک دله کن
                        گر سر ندهم ،وانگه گله کن

                        دیدگاه


                          #42
                          پاسخ : سوالات مربوط به LCD های کاراکتری و گرافیکی

                          نوشته اصلی توسط golgolak

                          سلام.

                          من یه بار مراحل کار رو میگم ببین درست انجام دادی یا نه؟

                          1- پایه های 1 -3 - 5 را باید زمین کنی.
                          2- پایه 2 را هم به vcc وصل کنی.
                          3- پایه 4 - 6 و 11تا 14 رو هم باید به میکرو وصل کنی...
                          4- پیکر بندی مناسب
                          5- اتصلات صحیح...


                          اون مقالات lcd رو هم بگیر بخون..
                          ببخشید دوباره می فرستم تا درست شود :redface:
                          lcd من دارای 16 پایه است و 2*16 است و شکل مدار طبق کتاب میکرو کنترلر های avr نوشته آقای ره افروز است البته طبق این مدار پایه شماره 5 برابر 1 می شو د البته خود میکرو ان را 1 می کند البته نکته دیگر اینکه من با این اتصال یک بار هم نتوانستم در پرتئوس جواب بگیرم

                          [/quote]

                          سلام ...............

                          ببینید این مطالب می تونه کمکتون کنه .

                          http://www.4shared.com/file/59372872/bd6309a4/LCD.html

                          http://www.4shared.com/file/59373482...b6a/LCD_I.html

                          http://www.4shared.com/file/59373668...94/LCD_II.html

                          موفق باشید .
                          دوستان! مدتی کمتر به سایت میام ..

                          دیدگاه


                            #43
                            پاسخ : سوالات مربوط به LCD های کاراکتری و گرافیکی

                            نوشته اصلی توسط حسام الدین

                            سلام.

                            من یه بار مراحل کار رو میگم ببین درست انجام دادی یا نه؟

                            1- پایه های 1 -3 - 5 را باید زمین کنی.
                            2- پایه 2 را هم به vcc وصل کنی.
                            3- پایه 4 - 6 و 11تا 14 رو هم باید به میکرو وصل کنی... :cry2:
                            4- پیکر بندی مناسب
                            5- اتصلات صحیح...


                            اون مقالات lcd رو هم بگیر بخون..
                            ببخشید دوباره می فرستم تا درست شود :redface:
                            lcd من دارای 16 پایه است و 2*16 است و شکل مدار طبق کتاب میکرو کنترلر های avr نوشته آقای ره افروز است البته طبق این مدار پایه شماره 5 برابر 1 می شو د البته خود میکرو ان را 1 می کند البته نکته دیگر اینکه من با این اتصال یک بار هم نتوانستم در پرتئوس جواب بگیرم

                            [/quote]

                            سلام ...............

                            ببینید این مطالب می تونه کمکتون کنه .

                            http://www.4shared.com/file/59372872/bd6309a4/LCD.html

                            http://www.4shared.com/file/59373482...b6a/LCD_I.html

                            http://www.4shared.com/file/59373668...94/LCD_II.html

                            موفق باشید .
                            [/quote]
                            حسام جان اولا خیلی ممنونم
                            ببین من مدار را این شکلی بستم

                            جواب را ببین تنها پس زمینه روشن می گردد که در عمل این اتفاق هم نمی افتد البته شاید چون ولتاژ خونه ما در حالت خیلی خوب 200 ولت است والان که پیک بار است 180 ولت است و با نسبت تبدیل ترانس وic رگولاتور و ... حدودا 2.5 تا 3.5 ولت به میکرو و پایه lcd می رسد ولی چرا در پروتئوس جواب نمی دهد :angry:!!!!! البته برنامه cod vison را هم قرا می دهدم :cry2: :cry2:
                            #include <mega16.h>
                            #include<delay.h>
                            #include<stdio.h>
                            // Alphanumeric LCD Module functions
                            #asm
                            .equ __lcd_port=0x15
                            #endasm
                            #include <lcd.h>

                            lcd_init(16);

                            while (1)
                            {
                            // Place your code here
                            lcd_clear();
                            lcd_putsf("ya mahdi"
                            delay_ms(1000);
                            };
                            }
                            یکی میگفت خدا چرا به حرفای ما گوش نمیده گفتم
                            هان ای صنما،دل یک دله کن
                            گر سر ندهم ،وانگه گله کن

                            دیدگاه


                              #44
                              پاسخ : سوالات مربوط به LCD های کاراکتری و گرافیکی

                              سلام .................

                              ببینید شما LCD رو دادید به پورت C . حواستون به JTAG و تنظیم فیوز بیت ها هست؟

                              یه کاری کنید ، پورتتون رو عوض کنید ببینید جواب میده. در ضمن از بار گذاری فایل صحیح در میکروتون توی محیط پروتئوس هم اطمینان حاصل کنید .
                              موفق باشید .
                              دوستان! مدتی کمتر به سایت میام ..

                              دیدگاه


                                #45
                                پاسخ : سوالات مربوط به LCD های کاراکتری و گرافیکی

                                نوشته اصلی توسط golgolak
                                حسام جان اولا خیلی ممنونم
                                ببین من مدار را این شکلی بستم

                                جواب را ببین تنها پس زمینه روشن می گردد که در عمل این اتفاق هم نمی افتد البته شاید چون ولتاژ خونه ما در حالت خیلی خوب 200 ولت است والان که پیک بار است 180 ولت است و با نسبت تبدیل ترانس وic رگولاتور و ... حدودا 2.5 تا 3.5 ولت به میکرو و پایه lcd می رسد ولی چرا در پروتئوس جواب نمی دهد :angry:!!!!! البته برنامه cod vison را هم قرا می دهدم :cry2: :cry2:
                                #include <mega16.h>
                                #include<delay.h>
                                #include<stdio.h>
                                // Alphanumeric LCD Module functions
                                #asm
                                .equ __lcd_port=0x15
                                #endasm
                                #include <lcd.h>

                                lcd_init(16);

                                while (1)
                                {
                                // Place your code here
                                lcd_clear();
                                lcd_putsf("ya mahdi"
                                delay_ms(1000);
                                };
                                }
                                مدارتو از usb تغذیه کن . که 5 ولت دقیق میده.
                                jtag رو غیر فعال کن.
                                پایه 5 lcd رو به زمین وصل کن.

                                www.icesi.ir

                                دیدگاه

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