اطلاعیه

Collapse
No announcement yet.

مشکل با lcd گرافیکی و bascom

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

    مشکل با lcd گرافیکی و bascom

    سلام دوستان من تازه با بسم کام شروع به کار کردم وزیاد اطلاعاتی ندارم

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

    اینم کد برنامه
    کد:
    $regfile = "m323def.dat"                  ' specify the used micro
    $crystal = 8000000                     ' used crystal frequency
    $baud = 19200                        ' use baud rate
    $hwstack = 32                        ' default use 32 for the hardware stack
    $swstack = 10                        ' default use 10 for the SW stack
    $framesize = 40                       ' default use 40 for the frame space
    
    
    'some routines to control the display are in the glcdKS108.lib file
    $lib "glcdKS108.lib"
    
    
    'Wait 2
    
    Print "Config"                       ' printing will still work as only the receiver pin is disabled
    
    
    'First we define that we use a graphic LCD
    Config Graphlcd = 128 * 64sed , Dataport = Porta , Controlport = Portc , Ce = 0 , Ce2 = 1 , Cd = 4 , Rd = 3 , Reset = 2 , Enable = 5
    
    'The dataport is the portname that is connected to the data lines of the LCD
    'The controlport is the portname which pins are used to control the lcd
    'CE =CS1 Chip select
    'CE2=CS2 Chip select second chip
    'CD=Data/instruction
    'RD=Read
    'RESET = reset
    'ENABLE= Chip Enable
    
    
    
    'Dim variables (y not used)
    Dim X As Byte , Y As Byte
    
    
    
    Print "Cls"
    Cls
    
    Wait 1
    
    'specify the font we want to use
    Setfont Font8x8
    
    
    'You can use locate but the columns have a range from 1-128
    'When you want to show somthing on the LCD, use the LDAT command
    'LCDAT Y , COL, value
    Lcdat 1 , 1 , "123"
    
    'lcdat accepts an additional param for inversing the text
    Lcdat 2 , 1 , "123" , 1                   ' will inverse the text
    
    'Now use a different font
    'Setfont Font8x8
    'since the 16*16 font uses 2 rows, show on row 3
    'Lcdat 1 , 1 , "2345"
    'Lcdat 2 , 56 , "2345656"
    Wait 1
    Line(0 , 0) -(127 , 64) , 1                 'make line
    Wait 2
    Line(0 , 0) -(127 , 64) , 0                 'remove line
    
    For Y = 1 To 20
      Circle(30 , 30) , Y , 1
      Waitms 100
    Next
    
    Wait 1
    Glcdcmd &H3E , 1 : Glcdcmd &H3E , 2             ' both displays off
    Wait 1
    Glcdcmd &H3F , 1 : Glcdcmd &H3F , 2             'both on
    'GLCDCMD accepts an additional param to select the chip
    'With multiple, GLCDCMD statements, it is best to specify the chip only the first time
    
    
    Showpic 0 , 0 , Plaatje                   'show a comnpressed picture
    End                             'end program
    
    
    'we need to include the font files
    'Notice that this is a testfont with only numbers defined !
    '$include "smallfont8x8.font"
    $include "font8x8.font"
    '$include "font16x16.font"
    
    
    Plaatje:
    'include the picture data
    $bgf "3.bgf"
    میشه بگید مشکل چیه .حتی sampel های خود باسم کام وقتی از نوع گرافیکی اجرا میکنی در قسمت شبیه ساز هیچ اتفاقی نمیفته

    مرسی
    http://services.nexodyne.com/email/i...3D/0/image.png

    #2
    پاسخ : مشکل با lcd گرافیکی و bascom

    شبیه ساز بسکام قابلیت ساپورت نمایشگرهای گرافیکی رو نداره. می تونی از پروتئوس استفاده کنی.
    سوالات و مشکلات مربوط به LCD ها رو در تاپیک مربوط به خودش مطرح کن.
    مرسی.

    دیدگاه


      #3
      پاسخ : مشکل با lcd گرافیکی و bascom

      سلام

      از پاسختون ممنونم .میشه بگید چطوری میشه این سورس رو به اون نرم افزار انتقال بدم که بتونم صفحه رو ببینم یا راه دیگه ای هم داره

      مرسی
      http://services.nexodyne.com/email/i...3D/0/image.png

      دیدگاه


        #4
        پاسخ : مشکل با lcd گرافیکی و bascom

        برناهم رو کامپایل کن.
        بعد برو تو پروتیوس و یه میکرو از کتابخونه بردار. یه LCD هم لازم داری. اتصالات رو مطابق برنامه ای که نوشتی وصل کن. روی میکرو دابل کلیک کن و فایل هگز برناه ای که کامپایل کردیو انتخاب کن. بعد کافیه Run کنی تا نتیجه رو ببینی.
        برای یادگیری بهتر پروتئوس با جزئیات بهتره به مقالات نوشته شده در دانلود سنتر یه نگاهی بندازی.

        دیدگاه


          #5
          پاسخ : مشکل با lcd گرافیکی و bascom

          یک مشکل مهم و آزار دهنده که در کار با کتابخانه glcdks108.lbx کمپایلر بسکام، هنگام بایاس GLCD 12864 SED KS108 وجود دارد، این است که اگر یک تصویر نشان بدهیم مشکلی وجود ندارد اما اگر برای نوشتن کاراکترها با استفاده از دستور :

          Lcdat X,Y

          آن را به صورت Lcdat 1,1 بنویسیم، همه چیز خوب است ولی اگر آن را به صورت Lcdat 1,0 بنویسیم، صفحه دوم LCD یک پیکسل پائین می آید.

          لذا اگر بخواهیم با این مشکل مواجه نشویم، مجبوریم عملا در هر سطر حداکثر 15 کاراکتر بنویسیم. گاهی مثلا در مواقع نمایش Progress Bargraph، این مشکل اساسا غیر قابل رفع است. همچنین این مشکل در مواقع ترسیم خطوط و دایره، به شکل روشن شدن نقاطی اضافه در صفحه نمایش ظاهر می شود. فکر می کنم دوستان حرفه ای تر که با زبان اسمبلی آشنائی دارند، می توانند این باگ فایل کتابخانه glcdks108.lbx بسکام را اصلاح کنند:



          همچنین در منوی فارسی هم که از چپ به راست نمایش داده می شود، همین مشکل وجود دارد؛ البته فکر می کنم در سطر هشتم که جمله به صورت ترکیبی فارسی - انگلیسی داریم، وجود همزمان حروف بزرگ (Capital) و حروف کوچک انگلیسی هم؛ جدا از مورد قبلی، باعث ایجاد این مشکل بشوند:



          __________________________________________________ __________________________
          پی نوشت:

          به توصیه جناب طراح گرامی؛ پرسش را عینا در فروم سایت کمپانی اصلی سازنده نرم افزار مطرح کردم:

          لینک


          دیدگاه


            #6
            پاسخ : مشکل با lcd گرافیکی و bascom

            نوشته اصلی توسط مهندس نوآور
            یک مشکل مهم و آزار دهنده که در کار با کتابخانه glcdks108.lbx کمپایلر بسکام وجود دارد، این است که اگر یک تصویر نشان بدهیم مشکلی وجود ندارد اما اگر برای نوشتن کاراکترها با استفاده از دستور :

            Lcdat X,Y

            آن را به صورت Lcdat 1,1 بنویسیم، همه چیز خوب است ولی اگر آن را به صورت Lcdat 1,0 بنویسیم، صفحه دوم LCD یک پیکسل پائین می آید.

            لذا اگر بخواهیم با این مشکل مواجه نشویم، مجبوریم عملا در هر سطر حداکثر 15 کاراکتر بنویسیم. گاهی مثلا در مواقع نمایش Progress Bargraph، این مشکل اساسا غیر قابل رفع است. همچنین این مشکل در مواقع ترسیم خطوط و دایره، به شکل روشن شدن نقاطی اضافه در صفحه نمایش ظاهر می شود. فکر می کنم دوستان حرفه ای تر که با زبان اسمبلی آشنائی دارند، می توانند این باگ فایل کتابخانه glcdks108.lbx بسکام را اصلاح کنند.

            واقعا مشکل آزار دهنده ایه ....
            اشک هایی که پس از هر شکست ریخته میشوند همان عرق هاییست که برای پیروزی ریخته نشده است

            دیدگاه


              #7
              پاسخ : مشکل با lcd گرافیکی و bascom

              خو ب حالا باید چیکارش کرد که اینجوری نشه ؟ :sad:

              دیدگاه


                #8
                پاسخ : مشکل با lcd گرافیکی و bascom

                نوشته اصلی توسط davood_green
                خو ب حالا باید چیکارش کرد که اینجوری نشه ؟ :sad:
                همونطور که در لینکی که در پست بالاتر داده ام مشاهده می کنید، Admin سایت MCS جواب داده است که مانند LCDهای کاراکتری، اینجا هم کمترین عددی که به عنوان مکان می توانیم بنویسیم، 1 است ( و نه صفر) یعنی باید بنویسیم:


                Lcdat 1 , 1

                دیدگاه

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