Thông báo

Collapse
No announcement yet.

chỉ giùm chỗ sai

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

  • chỉ giùm chỗ sai

    các bác chỉ minh giùm trong đoạn chưong trình trên, sai chỗ nào . Vì khi mình mô phỏng trên Protues Nó chi hiện một chữ K rồi tắt,. Còn nếu đúng thì nó phải dịch cả một chuỗi từ trái qua phải.

    MAIN2:
    MOV R2,#0
    MAIN1:
    MOV R1,#0
    MAIN:
    MOV R0,#0
    LAP:
    MOV A,R0
    MOV DPTR,#COT
    MOVC A,@A+DPTR
    MOV P1,A

    MOV A,R0
    ADD A,R2
    MOV DPTR,#HANG
    MOVC A,@A+DPTR
    MOV P0,A
    CALL DELAY
    INC R0
    CJNE R0,#5,LAP

    DJNZ R1,MAIN
    INC R2
    CJNE R2,#31,MAIN1
    SJMP MAIN2
    ;-----------
    DELAY:
    MOV TMOD,#01H
    MOV TL0,#LOW(-500)
    MOV TH0,#HIGH(-500)
    SETB TR0
    JNB TF0,$
    CLR TF0
    CLR TR0
    RET
    COT: DB 01H,02H,04H,08H,10H
    HANG: DB 00H,77H,6BH,5DH,3EH,7FH; K
    DB 7EH,7EH,00H,7EH,7EH,7FH; T
    DB 41H,3EH,3EH,3EH,5DH,7FH; C
    DB 00H,7DH,7BH,77H,00H,7FH; N
    DB 7FH,7FH,7FH,7FH,7FH
    END.

  • #2
    Nguyên văn bởi se7enlove_3w Xem bài viết
    các bác chỉ minh giùm trong đoạn chưong trình trên, sai chỗ nào . Vì khi mình mô phỏng trên Protues Nó chi hiện một chữ K rồi tắt,. Còn nếu đúng thì nó phải dịch cả một chuỗi từ trái qua phải.

    MAIN2:
    MOV R2,#0
    MAIN1:
    MOV R1,#0
    MAIN:
    MOV R0,#0
    LAP:
    MOV A,R0
    MOV DPTR,#COT
    MOVC A,@A+DPTR
    MOV P1,A

    MOV A,R0
    ADD A,R2
    MOV DPTR,#HANG
    MOVC A,@A+DPTR
    MOV P0,A
    CALL DELAY
    INC R0
    CJNE R0,#5,LAP

    DJNZ R1,MAIN
    INC R2
    CJNE R2,#31,MAIN1
    SJMP MAIN2
    ;-----------
    DELAY:
    MOV TMOD,#01H
    MOV TL0,#LOW(-500)
    MOV TH0,#HIGH(-500)
    SETB TR0
    JNB TF0,$
    CLR TF0
    CLR TR0
    RET
    COT: DB 01H,02H,04H,08H,10H
    HANG: DB 00H,77H,6BH,5DH,3EH,7FH; K
    DB 7EH,7EH,00H,7EH,7EH,7FH; T
    DB 41H,3EH,3EH,3EH,5DH,7FH; C
    DB 00H,7DH,7BH,77H,00H,7FH; N
    DB 7FH,7FH,7FH,7FH,7FH
    END.
    Po tay luon! sai tram trong ve cac lenh cua VDK
    cot , hang la ji nhi pac?
    Bac phai cho no dia chi chu!
    Lenh cua Bac vay no hieu Cot va Hang la chuong trinh con chu khong phai dia chi cua o nho 8 bit

    Comment


    • #3
      Cảm ơn bác hvmta nhiều nhe. Theo như ý bác mình sữa để quét thành 8 hàng như vầy phải không. Nhưng ma no chạy không được bác kiểm tra lại giùm mình nhe , không biết mình làm sai cái gì nữa.
      MAIN2:
      MOV R2,#0
      MAIN1:
      MOV R1,#20


      MAIN:
      MOV R0,#0
      LAP:
      MOV A,R0
      MOV DPTR,#COT
      MOVC A,@A+DPTR
      MOV P1,A

      MOV A,R0
      ADD A,R2
      MOV DPTR,#HANG
      MOVC A,@A+DPTR
      MOV P0,A
      CALL DELAY
      INC R0
      CJNE R0,#5,LAP

      DJNZ R1,MAIN
      INC R2
      CJNE R2,#23,MAIN1
      SJMP MAIN2
      ;-----------
      DELAY:
      MOV TMOD,#01H
      MOV TL0,#LOW(-50)
      MOV TH0,#HIGH(-50)
      SETB TR0
      JNB TF0,$
      CLR TF0
      CLR TR0
      RET
      COT: DB 01H,02H,04H,08H,10H
      HANG: DB 81h,00h,3ch,3ch,18h,99h ; chu C
      END

      Comment


      • #4
        bác hvmta sửa hộ em chương trình này nhé.
        em chạy thử trên proteus mà ko thấy gì cả.


        ;KICH THUOC: 8X64 LED MATRIX
        ;DU LIEU: P0 - HANG
        ;XUNG CLOCK: P1.1 - COT, P1.0 DATA

        INCLUDE 8051.MC
        BODEM EQU 05H ; R5
        CONTRO EQU 03H ; R3
        DIACHI EQU 66h
        ORG 0000H

        BATDAU:
        MOV P1,0FFH
        MOV BODEM,#00H
        MOV CONTRO,#00H
        MOV DIACHI,#00H

        KIEMTRA1:
        MOV P0,#00H
        CLR P1.0
        CLR P1.1

        DK_CHUONGTRINH_02:
        TT21:
        MOV R2,#30 ; SO LAN QUET MOT ANH
        TT22:
        SETB P1.1 ; THIET LAP BIT DICH

        VONGLAP2:

        MOV A,CONTRO
        ADD A,BODEM
        MOV DIACHI,A
        MOV TMOD,#01H ; THIET LAP CHE DO TIMER 0
        SETB P1.0 ; TICH CUC COT 1

        MOV A,DIACHI
        MOV DPTR,#MAHANG21
        MOVC A,@A+DPTR
        MOV P0,A ; XUAT MA HANG 1 RA P0

        ; < --- DICH COT P1 --- >
        MOV TL0,#80H
        MOV TH0,#0FFH
        SETB TR0

        TT23:
        JNB TF0,TT23
        CLR TF0
        CLR P1.1 ;XOA BIT DICH
        CLR TR0

        MOV TL0,#80H
        MOV TH0,#0FFH
        SETB TR0
        CLR P1.0

        TT24:
        JNB TF0,TT24
        CLR TF0
        CLR TR0
        INC BODEM

        MOV P0,#00H ; XOA BONG MO
        NOP
        NOP
        NOP
        NOP

        CJNE R5,#64,VONGLAP2
        MOV R5,#00H
        DJNZ R2,TT22
        INC CONTRO
        MOV A,CONTRO
        CJNE A,#255,TT21 ;SO SANH VI TRI CON TRO VOI VI TRI CUOI CUNG CUA BANG, TRO VE START
        LJMP BATDAU

        mahang21:
        DB 0H,7CH,0AH,9H,0AH,7CH,0H,0H ;A
        DB 0H,7FH,49H,49H,49H,36H,0H,0H ;B
        DB 0H,3EH,41H,41H,41H,22H,0H,0H ;C
        DB 0H,7FH,41H,41H,41H,3EH,0H,0H ;D
        DB 8H,7FH,49H,41H,41H,3EH,0H,0H ;DD
        DB 0H,7FH,49H,49H,41H,41H,0H,0H ;E
        DB 0H,7FH,9H,9H,1H,1H,0H,0H ;F
        DB 0H,3EH,41H,49H,49H,79H,0H,0H ;G
        DB 0H,7FH,8H,8H,8H,7FH,0H,0H ;H
        DB 0H,41H,41H,7FH,41H,41H,0H,0H ;I
        DB 0H,7FH,8H,14H,22H,41H,0H,0H ;K
        DB 0H,7FH,40H,40H,40H,40H,0H,0H ;L
        DB 0H,7FH,2H,4H,2H,7FH,0H,0H ;M
        DB 0H,7FH,4H,8H,10H,7FH,0H,0H ;N
        DB 0H,3EH,41H,41H,41H,3EH,0H,0H ;O
        DB 0H,7FH,9H,9H,9H,6H,0H,0H ; P
        DB 0H,3EH,41H,41H,21H,5EH,0H,0H ;Q
        DB 0H,7FH,9H,19H,29H,46H,0H,0H ;R
        DB 0H,26H,49H,49H,49H,32H,0H,0H ;S
        DB 0H,1H,1H,7FH,1H,1H,0H,0H ;T
        DB 0H,3FH,40H,40H,40H,3FH,0H,0H ;U
        DB 0H,1FH,20H,40H,20H,1FH,0H,0H ;V
        DB 0H,41H,22H,1CH,22H,41H,0H,0H ;X
        DB 0H,47H,48H,48H,48H,3FH,0H,0H ;Y
        DB 0H,43H,45H,49H,51H,61H,0H,0H ;Z
        DB 0H,3FH,40H,20H,40H,3FH,0H,0H ;W
        DB 0H,3EH,51H,49H,45H,3EH,0H,0H ;0
        DB 0H,4H,2H,7FH,0H,0H,0H,0H ;1
        DB 0H,72H,49H,49H,49H,46H,0H,0H ;2
        DB 0H,22H,49H,49H,49H,36H,0H,0H ;3
        DB 0H,0FH,8H,8H,8H,7EH,0H,0H ;4
        DB 0H,4FH,49H,49H,49H,31H,0H,0H ;5
        DB 0H,3EH,49H,49H,49H,31H,0H,0H ;6
        DB 0H,1H,1H,7DH,3H,1H,0H,0H ;7
        DB 0H,36H,49H,49H,49H,36H,0H,0H ;8
        DB 0H,26H,49H,49H,49H,3EH,0H,0H ;9

        END

        Comment


        • #5
          em dùng 74164 để ghi dịch và ULN 2803 để đệm dòng cho led
          em mới vào nghề lên còn gà lắm.
          Mong các bác giúp em với.

          Comment


          • #6
            matrix

            Lại không được nữa rồi bác oi. Bác kiểm tra lại gùm mình nhe , có phải như vầy không, nếu được bác cho ra môt chữ luôn giùm đi mÌNH CÓ sơ đồ mô phỏng bằng proteus luôn nè bạn tét thử trên đây giumg luôn nhe!
            MAIN2:
            MOV R2,#0
            MAIN1:
            MOV R1,#0
            MAIN:
            MOV R0,#0
            LAP:
            MOV A,R0
            MOV DPTR,#COT
            MOVC A,@A+DPTR
            MOV P1,A

            MOV A,R0
            ADD A,R2
            MOV DPTR,#HANG
            MOVC A,@A+DPTR
            MOV P0,A
            CALL DELAY
            INC R0
            CJNE R0,#8,LAP

            DJNZ R1,MAIN
            INC R2
            CJNE R2,#40,MAIN1
            SJMP MAIN2
            ;-----------
            DELAY:
            MOV TMOD,#01H
            MOV TL0,#LOW(-50)
            MOV TH0,#HIGH(-50)
            SETB TR0
            JNB TF0,$
            CLR TF0
            CLR TR0
            RET
            ;org 00ffh
            COT: DB 01H,02H,04H,08H,10H,20h,40h,80h
            HANG: DB 81H,00H,00H,38H,38H,38H,11H,93H
            Attached Files

            Comment


            • #7
              Nguyên văn bởi hvbmta
              @macminh!
              Sao ban không dùng bộ decoder 74138? giải mã 8 bit dịch
              để giải mã 8 bit ra bạn cần ít nhất 3 bit vào(bạn mới chỉ có 2), trong đó với 74164 bạn cần 1 xung clock, như vậy thuật toán của bạn chưa đúng!
              bạn có thể nói rõ hơn đc ko.
              phần cứng của mình thì như thế này:
              +ở phần hàng led thì từ P0 nối vào 74245 rồi đưa vào các transistor NPN c2383 và h1061 rồi đưa ra cấp dòng cho led
              +ơ phần cột thì từ p1 nối vào 74245 rồi đưa ra 2 của 74245 đưa vào 2 chân clock và data của 74164, sau đó đưa qua ULN 2803 để cấp dòng cho cột

              có phải bạn nói là mình phải tạo 1 xung clock cho 74164 ko.Mình đã tạo xung clock ở chân p1.1 rồi đưa vào chân 8- clock của 74164 rồi mà
              cứ sau 1 xung clock thì nó sẽ dịch 1 bit.

              còn về cách dùng 74138 bạn có thể nói rõ hơn cho mình đc ko.mình chưa dùng nó bao giờ

              Comment


              • #8
                bác "hvbmta" hay thiệt đấy chay cung đựoc rồi nhưng còn nhiều ,thắc mắc chắc phải làm phiền bác nữa rồi đây .
                Thứ nhất là sau nó chỉ dịch được có 4 ký tự à khi dua kí tu thu5thì không thấy dâu hết, đồng thời đến kí tự thứ tư thi " Chỗng ngược lên trời luôn" bác test giùm mình lần nữa nhe! Lỡ giúp thì giúp cho chot he

                Thứ hai bác có thể hướng dẫn mình cách tính hôm trứoc được không đó la "-R2 phải bớt đi 8 (tức là còn 23), để nguyên sẽ bị lỗi khi chạy đoạn cuối
                -tăng tần số quét để dễ nhìn (-50)
                ", được bạn có thể cho công thức luôn he.
                Thứ ba,Theo mình biết trong Proteus chỉ có led loại Catot chung (Nối với côt), vậy phải dùng cách gì, để đoạn CODe mình có thể sử dụng cho loại Anot chung vì thực tế ai cũng dùng loại a chung cả
                Attached Files

                Comment


                • #9
                  mình có 2 data mà. vì 2 chân data mình nối chung vào với nhau

                  Comment

                  Về tác giả

                  Collapse

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

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

                  Collapse

                  Đang tải...
                  X