Thông báo

Collapse
No announcement yet.

Help! Giúp mình với mình không hiển thị chữ trên LCD

Collapse
X
 
  • Lọc
  • Giờ
  • Show
Clear All
new posts

  • Help! Giúp mình với mình không hiển thị chữ trên LCD

    Mình đang làm mạch báo cáo điều khiển động cơ bước sắp tới ngày nộp mà mình chưa hiển thị LCD được. mình mô phổng protues okie hết nhưng nạp vào phần cứng thì LCD không hiển thị, chỉ hiện 1 ô vuông đen hàng dưới.
    Click image for larger version

Name:	2.bmp
Views:	1
Size:	821.0 KB
ID:	1420754
    Mọi người cho mình biết tại sao không?

    #include <sfr51.inc>
    LCDPORT EQU P1
    RS BIT P3.0
    RW BIT P3.1
    EN BIT P3.2

    ;**************************
    TD_THAP EQU 30H
    TD_CAO EQU 31H
    BUOC_cao EQU 32H
    buoc_thap EQU 33H
    CD EQU 34H
    MODE EQU 35H
    TRE_CAO EQU 36H
    TRE_THAP EQU 37H
    ;************************
    CHIEU_QUAY BIT 01H
    C_START BIT 02H
    C_STOP BIT 03H
    TANG BIT P0.1
    GIAM BIT P0.2
    SET_MODE BIT P0.3
    START BIT P0.4
    STOP BIT P0.5
    ;************
    ORG 00H
    LJMP MAIN
    ORG 0BH
    LJMP NGAT_T0
    ORG 30H
    MAIN:
    MOV IE,#82H
    MOV TMOD,#01H
    MOV TH0,#HIGH(6535-1000)
    MOV TL0,#LOW(6535-1000)
    ;***********KHOI TAO LCD**************

    MOV A,#3CH
    CLR C
    LCALL LCDOUT8
    MOV A,#0CH
    CLR C
    LCALL LCDOUT8
    MOV A,#01H
    CLR C
    LCALL LCDOUT8
    MOV DPTR,#STEPMOTOR
    LCALL OUTST
    MOV R0,#8
    MOV R1,#1
    LCALL GOTOXY
    MOV DPTR,#CONTROL
    LCALL OUTST
    LCALL DELAY3S
    MOV A,#01H
    CLR C
    LCALL LCDOUT8
    ;*************CHUONG TRINH CHINH**********
    LAP:
    LCALL DAT_THONG_SO
    LCALL KT_START
    LCALL DK
    LCALL HIEN_THI
    LCALL KT_STOP



    MOV C,C_START
    LJMP LAP
    ;****************DAT THONG SO****************
    DAT_THONG_SO:
    KT_MODE:

    JB SET_MODE,KT_NUT_AN
    JNB SET_MODE,$
    MOV A,MODE
    INC A
    MOV MODE,A
    CJNE A,#5,KT_NUT_AN
    MOV MODE,#0

    KT_NUT_AN:
    MOV R3,MODE
    CJNE R3,#0,KT_TANG
    LJMP KT_START

    KT_TANG:
    JB TANG,KT_GIAM

    BUOC1:
    CJNE R3,#01,TOC_DO1
    MOV A,BUOC_THAP
    INC A
    MOV BUOC_THAP,A
    CJNE A,#100,KT_GIAM
    MOV BUOC_THAP,#0
    MOV A, BUOC_CAO
    INC A
    MOV BUOC_CAO,A
    CJNE A,#10,KT_GIAM
    MOV BUOC_CAO,#0
    SJMP KT_GIAM

    ;*********************************
    TOC_DO1:
    CJNE R3,#02,CHIEU_QUAY1
    MOV A,TD_THAP
    INC A
    MOV TD_THAP,A
    CJNE A,#100,KT_GIAM
    MOV TD_THAP,#0
    MOV A,TD_CAO
    INC A
    MOV TD_CAO,A
    CJNE A,#10,KT_GIAM
    MOV TD_CAO,#0
    SJMP KT_GIAM
    ;**********************************
    CHIEU_QUAY1:
    CJNE R3,#03,CHE_DO1
    SETB CHIEU_QUAY
    SJMP KT_GIAM
    ;************************************
    CHE_DO1:
    CJNE R3,#4,KT_GIAM
    MOV A,CD
    INC A
    MOV CD,A
    CJNE A,#3,KT_GIAM
    MOV CD,#0
    SJMP KT_GIAM
    ;*************************************************
    KT_GIAM:
    JB GIAM,THOAT_KT
    BUOC2:

    CJNE R3,#01,TOC_DO2
    MOV A,BUOC_THAP
    DEC A
    MOV BUOC_THAP,A
    CJNE A,#255,THOAT_KT
    MOV BUOC_THAP,#99
    MOV A, BUOC_CAO
    DEC A
    MOV BUOC_CAO,A
    CJNE A,#255,THOAT_KT
    MOV BUOC_CAO,#9
    SJMP THOAT_KT


    ;*********************************
    TOC_DO2:
    CJNE R3,#02,CHIEU_QUAY2
    MOV A,TD_THAP
    DEC A
    MOV TD_THAP,A
    CJNE A,#255,THOAT_KT
    MOV TD_THAP,#99
    MOV A, TD_CAO
    DEC A
    MOV TD_CAO,A
    CJNE A,#255,THOAT_KT
    MOV TD_CAO,#9
    SJMP THOAT_KT
    ;***************************
    CHIEU_QUAY2:
    CJNE R3,#03,CHE_DO2
    CLR CHIEU_QUAY
    SJMP THOAT_KT
    ;*************************
    CHE_DO2:
    CJNE R3,#4,THOAT_KT
    MOV A,CD
    DEC A
    MOV CD,A
    CJNE A,#255,THOAT_KT
    MOV CD,#2
    SJMP THOAT_KT


    THOAT_KT:
    LCALL TRE50MS
    RET



    ;******************************************
    KT_START:
    MOV R3,MODE
    CJNE R3,#0,THOAT_KT1
    JB START,KT_STOP
    SETB C_START
    CLR C_STOP
    KT_STOP:
    JB STOP,THOAT_KT1
    MOV MODE,#0
    CLR C_START
    SETB C_STOP
    THOAT_KT1:

    RET
    ;**************************************
    DK:
    MOV C,C_START
    JNC DUNG_DC
    SETB TR0
    SJMP THOAT_DK
    DUNG_DC:

    MOV C,C_STOP
    JNC THOAT_DK
    CLR TR0
    LCALL TRE50MS
    MOV P2,#FFH
    CLR C_STOP
    THOAT_DK:
    RET
    ;***************************
    HIEN_THI:
    LCALL TACH_SO
    LCALL LCD_OUT
    RET
    ;***************
    TACH_SO:
    MOV A,BUOC_THAP
    MOV B,#10
    DIV AB
    ADD A,#30H
    MOV 40H,A
    MOV A,B
    ADD A,#30H
    MOV 41H,A
    MOV A,TD_THAP
    MOV B,#10
    DIV AB
    ADD A,#30H
    MOV 42H,A
    MOV A,B
    ADD A,#30H
    MOV 43H,A
    RET
    ;********************************
    LCD_OUT:
    MOV A,#01H
    CLR C
    LCALL LCDOUT8
    MOV R3,MODE
    CJNE R3,#0,TT1
    MOV DPTR,#BUOC_LCD
    LCALL OUTST
    MOV A,BUOC_CAO
    ADD A,#30H
    SETB C
    LCALL LCDOUT8
    MOV A,40H
    LCALL LCDOUT8
    MOV A,41H
    LCALL LCDOUT8
    MOV DPTR,#C_DO_LCD
    LCALL OUTST
    MOV A,CD
    ADD A,#30H
    SETB C
    LCALL LCDOUT8
    MOV R0,#0
    MOV R1,#1
    LCALL GOTOXY
    MOV DPTR,#T_DO_LCD
    LCALL OUTST
    MOV A,TD_CAO
    ADD A,#30H
    SETB C
    LCALL LCDOUT8
    MOV A,42H
    LCALL LCDOUT8
    MOV A,43H
    LCALL LCDOUT8
    MOV DPTR,#BMS
    LCALL OUTST
    MOV C,CHIEU_QUAY
    JNC TRAI
    MOV A,#'P'
    LCALL LCDOUT8
    LJMP THOAT_HT
    TRAI:
    SETB C
    MOV A,#'T'
    LCALL LCDOUT8
    LJMP THOAT_HT

    TT1:
    CJNE R3,#01,TT2
    MOV DPTR,#SO_BUOC_LCD
    LCALL OUTST
    MOV A,BUOC_CAO
    ADD A,#30H
    SETB C
    LCALL LCDOUT8
    MOV A,40H
    LCALL LCDOUT8
    MOV A,41H
    LCALL LCDOUT8
    LJMP THOAT_HT

    TT2:
    CJNE R3,#02,TT3
    MOV DPTR,#TOC_DO_LCD
    LCALL OUTST
    MOV A,TD_CAO
    ADD A,#30H
    SETB C
    LCALL LCDOUT8
    MOV A,42H
    LCALL LCDOUT8
    MOV A,43H
    LCALL LCDOUT8
    MOV DPTR,#DV_TD_LCD
    MOV R0,#5
    MOV R1,#1
    LCALL GOTOXY
    LCALL OUTST
    LJMP THOAT_HT
    TT3:
    CJNE R3,#03,TT4
    MOV DPTR,#CHIEU_QUAY_LCD
    LCALL OUTST
    MOV C,CHIEU_QUAY
    JNC TRAI1



    MOV DPTR,#PHAI1
    LCALL OUTST
    LJMP THOAT_HT
    TRAI1:
    SETB C
    MOV DPTR,#TRAITT
    LCALL OUTST
    LJMP THOAT_HT
    TT4:
    MOV R3,MODE
    CJNE R3,#4,THOAT_HT
    MOV DPTR,#CD_LCD
    LCALL OUTST
    MOV A,CD
    M1: cjne a,0,M2
    MOV DPTR,#CA_BUOC_M_NHO
    SJMP M4
    M2:CJNE A,#1,M3
    MOV DPTR,#CA_BUOC_M_LON
    SJMP M4
    M3:
    MOV DPTR,#NUA_BUOC
    M4:
    ADD A,#30H
    SETB C
    LCALL LCDOUT8
    MOV R0,#0
    MOV R1,#1
    LCALL GOTOXY
    LCALL OUTST

    THOAT_HT:
    lcall tre50ms

    RET
    ;************************************************
    NGAT_T0:
    CLR TR0
    MOV TH0,#HIGH(65535-1000)
    MOV TL0,#LOW(65535-1000)
    SETB TR0
    PUSH DPH
    PUSH DPL
    PUSH PSW
    PUSH ACC
    ;*****
    MOV A,TRE_THAP
    DEC A
    MOV TRE_THAP,A
    CJNE A,#255,KT
    MOV TRE_THAP,#99
    MOV A, TRE_CAO
    DEC A
    MOV TRE_CAO,A
    CJNE A,#255,KT
    MOV TRE_THAP,TD_THAP
    MOV TRE_CAO,TD_CAO
    ;**************

    TH11: MOV A,CD
    CJNE A,#0,TH2
    MOV DPTR,#BANG_MA_1
    SJMP EN_DC
    TH2:
    CJNE A,#01,TH3
    MOV DPTR,#BANG_MA_2
    SJMP EN_DC
    TH3:
    CJNE A,#02,EN_DC
    MOV DPTR,#BANG_MA_3
    EN_DC:
    MOV C,C_START
    JNC KT
    MOV A,BUOC_THAP
    DEC A
    MOV BUOC_THAP,A
    CJNE A,#255,QUAY
    MOV BUOC_THAP,#99
    MOV A, BUOC_CAO
    DEC A
    MOV BUOC_CAO,A
    CJNE A,#255,QUAY
    MOV BUOC_THAP,#0
    MOV BUOC_CAO,#0
    CLR TR0
    CLR C_START
    SETB C_STOP
    LJMP KT

    QUAY:
    QUAY_PHAI: MOV C,CHIEU_QUAY
    JNC QUAY_TRAI
    MOV A,R2
    MOVC A,@A+DPTR
    MOV P2,A
    INC R2
    CJNE R2,#8,KT
    MOV R2,#0
    SJMP KT
    QUAY_TRAI:
    MOV A,R2
    MOVC A,@A+DPTR
    MOV P2,A
    DEC R2
    CJNE R2,#255,KT
    MOV R2,#7

    KT:

    POP ACC
    POP PSW
    POP DPL
    POP DPH
    RETI
    DELAY3S:
    MOV R7,#10
    DL1:
    MOV R6,#100
    DL2:
    MOV R5,#200
    DL3:
    NOP
    NOP
    NOP
    DJNZ R5,DL3
    DJNZ R3,DL2
    DJNZ R7,DL1
    RET
    ;***************
    TRE10MS:
    MOV R7,#10
    DL11:
    MOV R6,#200
    DLL2:
    NOP
    NOP
    NOP
    DJNZ R6,D2
    DJNZ R7,D1
    RET

    TRE2MS:
    MOV R7,#1
    D1:
    MOV R6,#200
    D2:
    NOP
    NOP
    NOP
    DJNZ R6,D2
    DJNZ R7,D1
    RET
    TRE50MS:
    MOV R7,#50
    D11:
    MOV R6,#200
    D22:
    NOP
    NOP
    NOP
    DJNZ R6,D22
    DJNZ R7,D11
    RET
    BANG_MA_1B 1H,2H,4H,8H,1H,2H,4H,8H
    BANG_MA_2B 3H,6H,0CH,9H,3H,6H,0CH,9H
    BANG_MA_3B 1H,3H,2H,6H,4H,0CH,8H,9H

    ;***************************************
    LCDOUT8:
    ;VAO: C BIT DIEU KHIEN TUONG UNG VOI RS
    ; A CHUA DU LIEU HOAC LENH CAN GUI DEN LCD
    ;MOV P2,#255
    ;SETB RW
    ;CLR RS
    ;SETB EN
    ;LAP:
    ;JB P2.7,LAP
    LCALL TRE2MS
    CLR EN
    CLR RW
    MOV RS,C
    MOV P1,A
    SETB EN
    CLR EN
    RET
    ;*****************************

    OUTST:
    ;VAO: DPTR CHUA DIA CHI BAT DAU CHUOI, VOI CHUOI KET THUC BANG #
    LAP2:
    MOV A,#0
    MOVC A,@A+DPTR
    CJNE A,#'#',HT
    SJMP KTO
    HT:
    SETB C
    LCALL LCDOUT8
    INC DPTR
    SJMP LAP2
    KTO:
    RET
    ;***********************
    GOTOXY:
    ;VAO: X (R0) COT 0...39
    ; Y (R1) DONG 0..1
    CJNE R1,#0,MOT
    MOV A,R0
    ADD A,#80H
    CLR C
    LCALL LCDOUT8
    SJMP KTGOTO
    MOT:
    MOV A,R0
    ADD A,#0B8H
    CLR C
    LCALL LCDOUT8
    KTGOTO:
    RET

    ;****************************************8
    STEPMOTOR: DB"DoAn2B StepMotor#"
    BUOC_LCD: DB"BUOC:#"
    C_DO_LCD: DB" C_DO:#"
    T_DO_LCD: DB" T_D0:#"
    BMS: DB" Quay:#"
    CONTROL: DB"HUYNH TRUNG NHAN#"
    CD_LCD: DB"CHE DO:#"
    CHIEU_QUAY_LCD: DB"CHIEU QUAY:#"
    SO_BUOC_LCD: DB"SO BUOC:#"
    TOC_DO_LCD: DB"TOC DO:#"
    DV_TD_LCD: DB" MS/BUOC#"
    CA_BUOC_M_NHO: DB" (ca buoc M nho)#"
    CA_BUOC_M_LON: DB" (ca buoc M lon)#"
    NUA_BUOC: DB" (nua buoc)#"
    PHAI1: DB"PHAI#"
    TRAITT: DB"TRAI#"
    END



  • #2
    Nguyên văn bởi kiman2306 Xem bài viết
    Mình đang làm mạch báo cáo điều khiển động cơ bước sắp tới ngày nộp mà mình chưa hiển thị LCD được. mình mô phổng protues okie hết nhưng nạp vào phần cứng thì LCD không hiển thị, chỉ hiện 1 ô vuông đen hàng dưới.
    [ATTACH]84305[/ATTACH]
    Mọi người cho mình biết tại sao không?
    Cai này trong diễn đàn nhiều lắm, minh cũng có up roi mà, bạn xem lai
    Email:
    Phone: 0969 226 539

    Comment


    • #3
      Nguyên văn bởi vantrinh0902 Xem bài viết
      Cai này trong diễn đàn nhiều lắm, minh cũng có up roi mà, bạn xem lai
      bạn có thể dành một vài phút chỉnh code dùm mình chỗ sai ko? tại diễn đàn nhiều chủ đề, comment quá nên khó tìm...
      thanks

      Comment


      • #4
        bạn có nhận làm mạch phần cứng không? mình muốn làm mạch công suất driver đk động cơ bước dùng opto cách ly quang, tip122. nút nhấn,điều khiển 3 chế độ wave/full/half step, quay thuận/nghịch/stop. dùng 89s52 hiển thị LCD, code asm, nguồn 5v/12v (file mô phỏng ở trên)
        thanks
        minh o gò vấp/tphcm
        Last edited by kiman2306; 24-03-2014, 23:13.

        Comment


        • #5
          có ai giúp mình với

          Comment


          • #6
            ko ai biết?

            Comment

            Về tác giả

            Collapse

            kiman2306 Tìm hiểu thêm về kiman2306

            Bài viết mới nhất

            Collapse

            Đang tải...
            X