اطلاعیه

Collapse
No announcement yet.

مشکل در مورد LCD

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

    مشکل در مورد LCD

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

    #2
    پاسخ : مشکل در مورد LCD

    سلام
    من در مورد LCD کاراکتری امتحان کردم . LCD کد ASCII کاراکتری رو که Cursor توی آدرس اون هست رو بیرون نمیده.
    فقط آدرسی رو که مکان نما در اون قرار داره میده. فکر نکنم به درد بخوره ولی اگه خواستی کدش رو برات میذارم. (ASM-51)

    دیدگاه


      #3
      پاسخ : مشکل در مورد LCD

      همونشم غنیمته .بذاری ممنون میشم.

      دیدگاه


        #4
        پاسخ : مشکل در مورد LCD

        بیا:

        ORG 00H
        CALL INIT_LCD
        MOV A,#'A'
        CALL DATA_WR
        MOV A,#'B'
        CALL DATA_WR
        MOV A,#'C'
        CALL DATA_WR
        MOV A,#'D'
        CALL DATA_WR
        MOV A,#'E'
        CALL DATA_WR
        MOV A,#'F'
        CALL DATA_WR
        MOV A,#'G'
        CALL DATA_WR

        MOV A,#82H
        CALL INST_WR
        MOV A,#'X'
        CALL DATA_WR
        MOV A,#'Y'
        CALL DATA_WR

        MOV P2,#0FFH
        CALL DATA_RD
        MOV P1,A
        HALT: JMP HALT
        ;******************************
        INIT_LCD:MOV A,#00000001B
        ACALL INST_WR
        MOV A,#00111000B
        ACALL INST_WR
        MOV A,#00001100B
        ACALL INST_WR
        MOV A,#00000110B
        ACALL INST_WR
        RET
        ;******************************
        INST_WR:MOV P3,#00000000B
        MOV P2,A
        SETB P3.2
        CALL DELAY
        CLR P3.2
        RET
        ;******************************
        DATA_WR:MOV P3,#00000001B
        MOV P2,A
        SETB P3.2
        CALL DELAY
        CLR P3.2
        RET
        ;******************************
        DATA_RD:MOV P3,#00000010B
        SETB P3.2
        CALL DELAY
        MOV A,P2
        CALL DELAY
        CLR P3.2
        RET
        ;******************************
        DELAY: MOV R0,#10
        H0: MOV R1,#10
        H1: MOV R2,#100
        H2: DJNZ R2,H2
        DJNZ R1,H1
        DJNZ R0,H0
        RET
        ;******************************
        END

        دیدگاه


          #5
          پاسخ : مشکل در مورد LCD

          نوشته اصلی توسط freedom_truth
          سلام
          من در مورد LCD کاراکتری امتحان کردم . LCD کد ASCII کاراکتری رو که Cursor  توی آدرس اون هست رو بیرون نمیده.
          فقط آدرسی رو که مکان نما در اون قرار داره  میده. فکر نکنم به درد بخوره ولی اگه خواستی کدش رو برات میذارم. (ASM-51)

          چرا اتفاقاً  LCD کد ASCII کاراکتری رو که Cursor  توی آدرس اون هست رو هم بیرون میده. اینو ببین.
          http://www.eca.ir/forum2/index.php/topic,6026.15.html
          موفق باشی

          دیدگاه


            #6
            پاسخ : مشکل در مورد LCD

            آره راست میگه :icon_razz:

            دیدی چی شد؟ :redface:
            من توی اون برنامه پین R/S رو یک نمیکردم :mrgreen: . چون فکر میکردم ما که میخوایم داده بخونیم پس پین باید صفر باشه. نگو باید موقع خوندن اونو یک میکردم. :biggrin:
            پس توی خط اول زیر برنامه DATA_RD به جای P3,#00000010B باید بنویسیم P3,#00000011B.ا(R/S= P1.0 , R/W= P1.1 , E= P1.2)

            و نتیجه این که اگر موقع خوندن ، پین R/S صفر باشه آدرس کرسر رو دریافت میکنیم و اگر این پین یک باشه کد اسکی کاراکتری رو که کرسر روی اون هست.
            دوست عزیز ممنون از راهنماییت

            دیدگاه

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