اطلاعیه

Collapse
No announcement yet.

ts12864_a در کدویژن

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

    ts12864_a در کدویژن

    سلام
    من این تاپیک رو قبلا تو قسمت فارسی نویسی برای lcd های گرافیکی گذاشته بودم ولی کسی جواب نداد ممنون میشم راهنماییک کنید:

    قبلا برای راه اندازی LCD گرافیکی از بیسکام استفاده میکردم و حالا میخوام به C سوئیچ کنم GLCD من از نوع TS12864A-2 V1.1 هست من تو بیسکام از لایبرری "glcdks108.lbx" برای راه اندازیش استفاده میکردم منتها تو کدویژن وقتی از کتابخونه هایی که دوستان برای خانواده KS0108ارائه دادن استفاده میکنم GLCD راه اندازی نمیشه ؟؟
    پایه ها رو در فایل KS0108 که در فولدر LIB کدویژن قرار دادم به صورت زیر تغییر دادم
    // Default Port definition
    #ifndef RS
    #define RS PORTA.1
    #endif

    #ifndef RW
    #define RW PORTA.5
    #endif

    #ifndef EN
    #define EN PORTA.6
    #endif

    #ifndef CS1
    #define CS1 PORTA.7
    #endif

    #ifndef CS2
    #define CS2 PORTA.5
    #endif

    #ifndef RST
    #define RST PORTA.2
    #endif

    #ifndef DATA
    #define DATA PORTC

    #endif
    وترتیب پایه های تعریف شده رو GLCD به صورت زیر هست
    CS1:15 - CS2:16 - RS:4 - RW:5 - RES:17 - EN:6
    چه دعایی کنمت بهترازاین ،که کنار پسر فاطمه هنگام اذان ، سحر جمعه ای پشت دیوار بقیع قامتت قد بکشد در دو رکعت به نمازی که نثار حرم و گنبد برپا شده ی حضرت زهرا بکنی ... انشاالله

    #2
    پاسخ : ts12864_a در کدویژن

    سلام من فارسی نویسی باباسکامو برای ال سی دی گرافیکی k108 مشکل دارم می تونید کمکم کنید. ممنون

    دیدگاه


      #3
      پاسخ : ts12864_a در کدویژن

      با سلام

      من که بی خیالش شدم

      بهتره از مدلی که توی سایته LGM128641B..... استفاده کنید

      خدا نگهدار
      به امید اینکه در پناه یزدان هر روز موضوع جدیدی در زندگی یاد بگیریم و بتوانیم از آن به بهترین شکل استفاده کنیم

      دیدگاه


        #4
        پاسخ : ts12864_a در کدویژن

        نوشته اصلی توسط pani_rezaii
        سلام من فارسی نویسی باباسکامو برای ال سی دی گرافیکی k108 مشکل دارم می تونید کمکم کنید. ممنون
        سلام دوست عزیز
        من خودم برای فارسی نویسی این خانواده از دستور showpic استفاده میکردم عکس متن فارسی رو با استفاده از graphic converter به فایل .bgf تبدیل میکردم ولی این روش برای برنامه های طولانی کار ساز نیست اگه تعداد عکسها زیاد باشه و برنامه هم طولانی ، تو قسمت هایی از برنامه عکسها قاطی پاطی میشه
        از اونجایی که من کل سخت افزارم رو تو بیسکام جواب گرفته بودم تنها راه حل فوری پیدا کردم این بود عکسها رو با استفاده از نرم افزار glcdtool (از سایت دانلود کردم) عکسها رو به کد تبدیل کنم و کدها رو با استفاده از دستور pset رو glcd نمایش بدم البته این راه فقط کار راه انداز هست چون هم برای متن های طولانی وقت گیر وهم حجم برنامه رو زیاد میکنه برای مثال سابروتین نمایش اعداد فارسی من به صورت زیر هست:
        '******************************************** ***************************
        Number_initialize:
        For Mid_sub_initialize = 1 To 8
        Y(mid_sub_initialize) = Mid_sub_initialize - 1
        Next
        Mid_sub_initialize_y = Y_shift + 6
        Mid_sub_initialize_x = X_shift + 7
        For Mid_sub_initialize = Y_shift To Mid_sub_initialize_y
        For Mid_sub_initialize_2 = X_shift To Mid_sub_initialize_x
        Pset Mid_sub_initialize , Mid_sub_initialize_2 , 0
        Next
        Next
        Select Case Number
        Case 0 : Goto Number_0
        Case 1 : Goto Number_1
        Case 2 : Goto Number_2
        Case 3 : Goto Number_3
        Case 4 : Goto Number_4
        Case 5 : Goto Number_5
        Case 6 : Goto Number_6
        Case 7 : Goto Number_7
        Case 8 : Goto Number_8
        Case 9 : Goto Number_9
        End Select
        Number_0:
        '0
        X(1) = 3 : X(2) = 4
        X(3) = 2 : X(4) = 3 : X(5) = 4 : X(6) = 5
        X(7) = 3 : X(8) = 4
        For Mid_sub_initialize = 1 To 3
        Y(mid_sub_initialize) = Y(mid_sub_initialize) + Y_shift
        Next
        For Mid_sub_initialize = 1 To 8
        X(mid_sub_initialize) = X(mid_sub_initialize) + X_shift
        Next
        Pset Y(1) , X(1) , 1
        Pset Y(1) , X(2) , 1
        Pset Y(2) , X(3) , 1
        Pset Y(2) , X(4) , 1
        Pset Y(2) , X(5) , 1
        Pset Y(2) , X(6) , 1
        Pset Y(3) , X(7) , 1
        Pset Y(3) , X(8) , 1
        Goto End_sub_number_initialize
        Number_1:
        '1
        X(1) = 0 : X(2) = 1
        X(3) = 1 : X(4) = 2 : X(5) = 3
        X(6) = 3 : X(7) = 4 : X(8) = 5 : X(9) = 6
        For Mid_sub_initialize = 1 To 3
        Y(mid_sub_initialize) = Y(mid_sub_initialize) + Y_shift
        Next
        For Mid_sub_initialize = 1 To 9
        X(mid_sub_initialize) = X(mid_sub_initialize) + X_shift
        Next
        Pset Y(1) , X(1) , 1
        Pset Y(1) , X(2) , 1
        Pset Y(2) , X(3) , 1
        Pset Y(2) , X(4) , 1
        Pset Y(2) , X(5) , 1
        Pset Y(3) , X(6) , 1
        Pset Y(3) , X(7) , 1
        Pset Y(3) , X(8) , 1
        Pset Y(3) , X(9) , 1
        Goto End_sub_number_initialize
        Number_2:
        '2
        X(1) = 0 : X(2) = 1
        X(3) = 1 : X(4) = 2 : X(5) = 3
        X(6) = 2 : X(7) = 3 : X(8) = 4
        X(9) = 2 : X(10) = 3 : X(11) = 5 : X(12) = 6 : X(13) = 7
        X(14) = 0 : X(15) = 1 : X(16) = 2
        For Mid_sub_initialize = 1 To 5
        Y(mid_sub_initialize) = Y(mid_sub_initialize) + Y_shift
        Next
        For Mid_sub_initialize = 1 To 16
        X(mid_sub_initialize) = X(mid_sub_initialize) + X_shift
        Next
        Pset Y(1) , X(1) , 1
        Pset Y(1) , X(2) , 1
        Pset Y(2) , X(3) , 1
        Pset Y(2) , X(4) , 1
        Pset Y(2) , X(5) , 1
        Pset Y(3) , X(6) , 1
        Pset Y(3) , X(7) , 1
        Pset Y(3) , X(8) , 1
        Pset Y(4) , X(9) , 1
        Pset Y(4) , X(10) , 1
        Pset Y(4) , X(11) , 1
        Pset Y(4) , X(12) , 1
        Pset Y(4) , X(13) , 1
        Pset Y(5) , X(14) , 1
        Pset Y(5) , X(15) , 1
        Pset Y(5) , X(16) , 1
        Goto End_sub_number_initialize
        Number_3:
        '3
        X(1) = 0 : X(2) = 1
        X(3) = 1 : X(4) = 2 : X(5) = 3
        X(6) = 1 : X(7) = 2 : X(8) = 4 : X(9) = 5 : X(10) = 6
        X(11) = 0 : X(12) = 1
        X(13) = 1 : X(14) = 2
        X(15) = 1 : X(16) = 2
        X(17) = 0 : X(18) = 1
        For Mid_sub_initialize = 1 To 6
        Y(mid_sub_initialize) = Y(mid_sub_initialize) + Y_shift
        Next
        For Mid_sub_initialize = 1 To 18
        X(mid_sub_initialize) = X(mid_sub_initialize) + X_shift
        Next
        Pset Y(1) , X(1) , 1
        Pset Y(1) , X(2) , 1
        Pset Y(2) , X(3) , 1
        Pset Y(2) , X(4) , 1
        Pset Y(2) , X(5) , 1
        Pset Y(3) , X(6) , 1
        Pset Y(3) , X(7) , 1
        Pset Y(3) , X(8) , 1
        Pset Y(4) , X(9) , 1
        Pset Y(4) , X(10) , 1
        Pset Y(4) , X(11) , 1
        Pset Y(4) , X(12) , 1
        Pset Y(4) , X(13) , 1
        Pset Y(5) , X(14) , 1
        Pset Y(5) , X(15) , 1
        Pset Y(5) , X(16) , 1
        Pset Y(6) , X(17) , 1
        Pset Y(6) , X(18) , 1
        Goto End_sub_number_initialize
        Number_4:
        '4
        X(1) = 0
        X(2) = 1
        X(3) = 2 : X(4) = 3 : X(5) = 4
        X(6) = 1 : X(7) = 2 : X(8) = 3 : X(9) = 5 : X(10) = 6 : X(11) = 7
        X(12) = 0 : X(13) = 3
        X(14) = 0 : X(15) = 2
        For Mid_sub_initialize = 1 To 6
        Y(mid_sub_initialize) = Y(mid_sub_initialize) + Y_shift
        Next
        For Mid_sub_initialize = 1 To 15
        X(mid_sub_initialize) = X(mid_sub_initialize) + X_shift
        Next
        Pset Y(1) , X(1) , 1
        Pset Y(2) , X(2) , 1
        Pset Y(3) , X(3) , 1
        Pset Y(3) , X(4) , 1
        Pset Y(3) , X(5) , 1
        Pset Y(4) , X(6) , 1
        Pset Y(4) , X(7) , 1
        Pset Y(4) , X(8) , 1
        Pset Y(4) , X(9) , 1
        Pset Y(4) , X(10) , 1
        Pset Y(4) , X(11) , 1
        Pset Y(5) , X(12) , 1
        Pset Y(5) , X(13) , 1
        Pset Y(6) , X(14) , 1
        Pset Y(6) , X(15) , 1
        Goto End_sub_number_initialize
        Number_5:
        '5
        X(1) = 3 : X(2) = 4 : X(3) = 5 : X(4) = 6
        X(5) = 1 : X(6) = 2 : X(7) = 6 : X(8) = 7
        X(9) = 0 : X(10) = 6 : X(11) = 7
        X(12) = 0 : X(13) = 1 : X(14) = 6 : X(15) = 7
        X(16) = 1 : X(17) = 2 : X(18) = 3 : X(19) = 6 : X(20) = 7
        X(21) = 2 : X(22) = 3 : X(23) = 4 : X(24) = 5 : X(25) = 6
        For Mid_sub_initialize = 1 To 6
        Y(mid_sub_initialize) = Y(mid_sub_initialize) + Y_shift
        Next
        For Mid_sub_initialize = 1 To 25
        X(mid_sub_initialize) = X(mid_sub_initialize) + X_shift
        Next
        Pset Y(1) , X(1) , 1
        Pset Y(1) , X(2) , 1
        Pset Y(1) , X(3) , 1
        Pset Y(1) , X(4) , 1
        Pset Y(2) , X(5) , 1
        Pset Y(2) , X(6) , 1
        Pset Y(2) , X(7) , 1
        Pset Y(2) , X(8) , 1
        Pset Y(3) , X(9) , 1
        Pset Y(3) , X(10) , 1
        Pset Y(3) , X(11) , 1
        Pset Y(4) , X(12) , 1
        Pset Y(4) , X(13) , 1
        Pset Y(4) , X(14) , 1
        Pset Y(4) , X(15) , 1
        Pset Y(5) , X(16) , 1
        Pset Y(5) , X(17) , 1
        Pset Y(5) , X(18) , 1
        Pset Y(5) , X(19) , 1
        Pset Y(5) , X(20) , 1
        Pset Y(6) , X(21) , 1
        Pset Y(6) , X(22) , 1
        Pset Y(6) , X(23) , 1
        Pset Y(6) , X(24) , 1
        Pset Y(6) , X(25) , 1
        Goto End_sub_number_initialize
        Number_6:
        '6
        X(1) = 1 : X(2) = 2 : X(3) = 6 : X(4) = 7
        X(5) = 0 : X(6) = 2 : X(7) = 3 : X(8) = 5
        X(9) = 0 : X(10) = 2 : X(11) = 3 : X(12) = 4
        X(13) = 0 : X(14) = 2 : X(15) = 3
        For Mid_sub_initialize = 1 To 4
        Y(mid_sub_initialize) = Y(mid_sub_initialize) + Y_shift
        Next
        For Mid_sub_initialize = 1 To 15
        X(mid_sub_initialize) = X(mid_sub_initialize) + X_shift
        Next
        Pset Y(1) , X(1) , 1
        Pset Y(1) , X(2) , 1
        Pset Y(1) , X(3) , 1
        Pset Y(1) , X(4) , 1
        Pset Y(2) , X(5) , 1
        Pset Y(2) , X(6) , 1
        Pset Y(2) , X(7) , 1
        Pset Y(2) , X(8) , 1
        Pset Y(3) , X(9) , 1
        Pset Y(3) , X(10) , 1
        Pset Y(3) , X(11) , 1
        Pset Y(3) , X(12) , 1
        Pset Y(4) , X(13) , 1
        Pset Y(4) , X(14) , 1
        Pset Y(4) , X(15) , 1
        Goto End_sub_number_initialize
        Number_7:
        '7
        X(1) = 0 : X(2) = 1
        X(3) = 1 : X(4) = 2 : X(5) = 3
        X(6) = 3 : X(7) = 4 : X(8) = 5
        X(9) = 5 : X(10) = 6
        X(11) = 3 : X(12) = 4
        X(13) = 0 : X(14) = 1 : X(15) = 2
        For Mid_sub_initialize = 1 To 6
        Y(mid_sub_initialize) = Y(mid_sub_initialize) + Y_shift
        Next
        For Mid_sub_initialize = 1 To 15
        X(mid_sub_initialize) = X(mid_sub_initialize) + X_shift
        Next
        Pset Y(1) , X(1) , 1
        Pset Y(1) , X(2) , 1
        Pset Y(2) , X(3) , 1
        Pset Y(2) , X(4) , 1
        Pset Y(2) , X(5) , 1
        Pset Y(3) , X(6) , 1
        Pset Y(3) , X(7) , 1
        Pset Y(3) , X(8) , 1
        Pset Y(4) , X(9) , 1
        Pset Y(4) , X(10) , 1
        Pset Y(5) , X(11) , 1
        Pset Y(5) , X(12) , 1
        Pset Y(6) , X(13) , 1
        Pset Y(6) , X(14) , 1
        Pset Y(6) , X(15) , 1
        Goto End_sub_number_initialize
        Number_8:
        '8
        X(1) = 5 : X(2) = 6
        X(3) = 4 : X(4) = 5
        X(5) = 1 : X(6) = 2 : X(7) = 3
        X(8) = 0 : X(9) = 1
        X(10) = 2 : X(11) = 3
        X(12) = 3 : X(13) = 4 : X(14) = 5 : X(15) = 6
        X(16) = 5 : X(17) = 6
        For Mid_sub_initialize = 1 To 7
        Y(mid_sub_initialize) = Y(mid_sub_initialize) + Y_shift
        Next
        For Mid_sub_initialize = 1 To 17
        X(mid_sub_initialize) = X(mid_sub_initialize) + X_shift
        Next
        Pset Y(1) , X(1) , 1
        Pset Y(1) , X(2) , 1
        Pset Y(2) , X(3) , 1
        Pset Y(2) , X(4) , 1
        Pset Y(3) , X(5) , 1
        Pset Y(3) , X(6) , 1
        Pset Y(3) , X(7) , 1
        Pset Y(4) , X(8) , 1
        Pset Y(4) , X(9) , 1
        Pset Y(5) , X(10) , 1
        Pset Y(5) , X(11) , 1
        Pset Y(6) , X(12) , 1
        Pset Y(6) , X(13) , 1
        Pset Y(6) , X(14) , 1
        Pset Y(6) , X(15) , 1
        Pset Y(7) , X(16) , 1
        Pset Y(7) , X(17) , 1
        Goto End_sub_number_initialize
        Number_9:
        '9_
        X(1) = 1 : X(2) = 2
        X(3) = 0 : X(4) = 2 : X(5) = 3
        X(6) = 0 : X(7) = 2 : X(8) = 3
        X(9) = 0 : X(10) = 1 : X(11) = 2 : X(12) = 3 : X(13) = 4 : X(14) = 5 : X(15) = 6
        X(16) = 6
        For Mid_sub_initialize = 1 To 5
        Y(mid_sub_initialize) = Y(mid_sub_initialize) + Y_shift
        Next
        For Mid_sub_initialize = 1 To 16
        X(mid_sub_initialize) = X(mid_sub_initialize) + X_shift
        Next
        Pset Y(1) , X(1) , 1
        Pset Y(1) , X(2) , 1
        Pset Y(2) , X(3) , 1
        Pset Y(2) , X(4) , 1
        Pset Y(2) , X(5) , 1
        Pset Y(3) , X(6) , 1
        Pset Y(3) , X(7) , 1
        Pset Y(3) , X(8) , 1
        Pset Y(4) , X(9) , 1
        Pset Y(4) , X(10) , 1
        Pset Y(4) , X(11) , 1
        Pset Y(4) , X(12) , 1
        Pset Y(4) , X(13) , 1
        Pset Y(4) , X(14) , 1
        Pset Y(4) , X(15) , 1
        Pset Y(5) , X(16) , 1
        Goto End_sub_number_initialize
        End_sub_number_initialize:
        Return
        '******************************************** *******************************

        و برای نوشتن یه عدد از دستور زیر استفاده میکردم :
        Number = 10
        Y_shift = 0
        X_shift = 55
        Gosub Number_initialize

        اگر y_shift=0 و x_shift=0 عدد number در مختصات 0 و 1 نمایش داده میشه مثل دستور lcdat 1,0, number و موقع نمایش اعداد باید توجه داشته باشین اندازه فونت 8*8 هست
        شاید هم بشه با دستور lookup این کدها رو نمایش داد (خودم کار نکردم)
        البته یه راه دیگه که عملی هست ولی نمیدونم حرفه ای هست یا نه اینه که همون فایل فونت font8*8 که تو برنامه برای متن لاتین include میکنیم رو تغییر بدیم مثلا به جای

        . db 0,62,81,73,69,62,0,0 ; 0
        برای عدد 0 از کد زیر که معادل فارسی اون استفاده کنیم
        .db 0,0,64,224,224,64,0,0 ; 0
        حالا اگه دستور lcdat 1,0,0 رو تایپ کنیم به جای 0 معادل فارسی اون رو glcd نمایش داده میشه
        منها برای حروف یه کم سخت میشه چون باید جایگاهشون رو نسبت به هم تنطیم کنیم
        اگه راه حلی هم به ذهن شما میرسه ممنون میشم راهنماییم کنید
        چه دعایی کنمت بهترازاین ،که کنار پسر فاطمه هنگام اذان ، سحر جمعه ای پشت دیوار بقیع قامتت قد بکشد در دو رکعت به نمازی که نثار حرم و گنبد برپا شده ی حضرت زهرا بکنی ... انشاالله

        دیدگاه

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