Thông báo

Collapse
No announcement yet.

Ai sửa hộ em cái code matrix

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

  • Ai sửa hộ em cái code matrix

    em làm matrix 8*24 quét cột hiển thị hàng với nội dung hiển thị là: I tim U
    nhưng khi mô phỏng nó lại không theo ý của mình mới tức chứ hic đây là code và phần mô phỏng không biết là code sai chỗ nào mong các bác xem và chỉ giáo em tý. Cảm ơn các bác trước nhé.


    code:
    org 00h
    bigin:
    xclock bit P3.0
    datain bit p3.1
    xchot bit p3.2
    MOV 30H,#00H
    mov dptr,#code1
    start:
    lcall hienthi
    ljmp bigin
    hienthi:
    push acc
    push 00h
    push 01h
    push 02h
    mov r0,#00h
    mov r1,#01b
    scan:
    mov a,r0
    movc a,@a+dptr
    mov r2,#8
    scan1: clr c
    rrc a
    mov datain,c
    setb xclock
    clr xclock
    djnz r2,scan1
    setb xchot
    clr xchot
    mov p2,r1
    lcall tre
    mov p2,#00h
    inc r0
    mov a,r1
    rl a
    mov r1,a
    cjne r0,#8h,scan
    pop 02h
    pop 01h
    pop 00h
    pop acc
    ret

    tre: PUSH 00H
    PUSH 01H
    MOV R1,#5
    DEL:
    MOV R0,#250
    DJNZ R0,$
    DJNZ R1,DEL
    POP 01H
    POP 00H
    RET
    code1:
    DB 0FFH,0FFH,0BDH,0BDH,81H,0BDH,0BDH,0FFH,0FFH,0F3H,0 EDH,0DDH,0BBH,0DDH,0EDH,0F3H,0FFH,0FFH,0C1H,0BFH,0 BFH,0BFH,0C1H,0FFH
    end
    Attached Files

  • #2
    hí hí

    Nguyên văn bởi lenovo_y410 Xem bài viết
    em làm matrix 8*24 quét cột hiển thị hàng với nội dung hiển thị là: I tim U
    nhưng khi mô phỏng nó lại không theo ý của mình mới tức chứ hic đây là code và phần mô phỏng không biết là code sai chỗ nào mong các bác xem và chỉ giáo em tý. Cảm ơn các bác trước nhé.


    code:
    org 00h
    bigin:
    xclock bit P3.0
    datain bit p3.1
    xchot bit p3.2
    MOV 30H,#00H
    mov dptr,#code1
    start:
    lcall hienthi
    ljmp bigin
    hienthi:
    push acc
    push 00h
    push 01h
    push 02h
    mov r0,#00h
    mov r1,#01b
    scan:
    mov a,r0
    movc a,@a+dptr
    mov r2,#8
    scan1: clr c
    rrc a
    mov datain,c
    setb xclock
    clr xclock
    djnz r2,scan1
    setb xchot
    clr xchot
    mov p2,r1
    lcall tre
    mov p2,#00h
    inc r0
    mov a,r1
    rl a
    mov r1,a
    cjne r0,#8h,scan
    pop 02h
    pop 01h
    pop 00h
    pop acc
    ret

    tre: PUSH 00H
    PUSH 01H
    MOV R1,#5
    DEL:
    MOV R0,#250
    DJNZ R0,$
    DJNZ R1,DEL
    POP 01H
    POP 00H
    RET
    code1:
    DB 0FFH,0FFH,0BDH,0BDH,81H,0BDH,0BDH,0FFH,0FFH,0F3H,0 EDH,0DDH,0BBH,0DDH,0EDH,0F3H,0FFH,0FFH,0C1H,0BFH,0 BFH,0BFH,0C1H,0FFH
    end
    Bác bảo ma trận của bác là 8x24 mà chả thấy chỗ nào trong chương trình cảu bác đề cập tới việc đưa dữ liệu ra 24 lần cả hí hí xem lại xem.Đưa có 8 lần lo chả có mỗi chữ I,cái này làm xong tặng ngươì yêu nó sướng rên "hừ hứ"
    Phân phối kim thu sét ....thiết bị chống sét lan truyền,phụ kiện

    Comment


    • #3
      bác cho em hỏi tại sao em chỉ xuất dữ liệu ra ở matrix 1 đãng nhé nó chỉ hiển thị chữ I o matrix 1 thôi nhưng ở đây nó lại hiện ra cả 2 matrix kia và lại bị dịch dữ liệu đi lên chữ I của 2 matrix còn lại hiển thị không chính xác. em chưa tìm ra được chỗ sai mong bác giúp đỡ.

      Comment


      • #4
        No hien thi chu I o cac module kia là vi hieu ung dich o con 595, no lan sang cac con kia. Viẹc lech di vai pixel cung la do hieu ung dich o con 595. Ban nen test can than lai. Neu muon hien thi du 3 chu thi can them chan dieu khien OE o cac con 595. Dong thoi phai sua

        Nó hiển thị chữ I ở các module kia là vì hiệu ứng dịch ở con 595, con này lan sang con kia. Việc lệch đi vài pixel cũng là do hiệu ứng dịch ơ con 595, bạn nên test lại đoạn này. Nếu muốn hiển thị đủ 3 chữ thì cần thêm chân điều khiển OE cho các con 595. Đồng thời phải sửa lại code đoạn scan vì nó mới chỉ bắn dữ liệu ra cho 1 module thôi. Have Fun!

        Comment


        • #5
          No hien thi chu I o cac module kia là vi hieu ung dich o con 595, no lan sang cac con kia. Viẹc lech di vai pixel cung la do hieu ung dich o con 595. Ban nen test can than lai. Neu muon hien thi du 3 chu thi can them chan dieu khien OE o cac con 595. Dong thoi phai sua

          Nó hiển thị chữ I ở các module kia là vì hiệu ứng dịch ở con 595, con này lan sang con kia. Việc lệch đi vài pixel cũng là do hiệu ứng dịch ơ con 595, bạn nên test lại đoạn này. Nếu muốn hiển thị đủ 3 chữ thì cần thêm chân điều khiển OE cho các con 595. Đồng thời phải sửa lại code đoạn scan vì nó mới chỉ bắn dữ liệu ra cho 1 module thôi. Have Fun!

          Comment


          • #6
            Nguyên văn bởi lenovo_y410 Xem bài viết
            bác cho em hỏi tại sao em chỉ xuất dữ liệu ra ở matrix 1 đãng nhé nó chỉ hiển thị chữ I o matrix 1 thôi nhưng ở đây nó lại hiện ra cả 2 matrix kia và lại bị dịch dữ liệu đi lên chữ I của 2 matrix còn lại hiển thị không chính xác. em chưa tìm ra được chỗ sai mong bác giúp đỡ.
            Nó hiển thị chữ I ở các module kia là vì hiệu ứng dịch ở con 595, con này lan sang con kia. Việc lệch đi vài pixel cũng là do hiệu ứng dịch ở con 595, bạn nên test lại đoạn này. Nếu muốn hiển thị đủ 3 chữ thì cần thêm chân điều khiển OE cho các con 595. Đồng thời phải sửa lại code đoạn scan vì nó mới chỉ bắn dữ liệu ra cho 1 module thôi. Have Fun!

            Comment


            • #7
              Spam vãi đái!

              Sửa cái này xem sao:
              cjne r0,#8h,scan
              Thay số 8 thành 24 tương ứng với 3 IC 595!
              Trần Đức Sơn

              tel:0934691385

              Comment


              • #8
                mình nghĩ thế này:
                giả sử mình chỉ hiện thị 8 byte dữ liệu trên một matrix thôi và với code và phần cứng như cũ. sử dụng phương pháp quét cột và hiển thị hàng như thế khi ta đưa 1byte dữ liệu vào 595 rồi cho nó xuất ra hàng và cấp nguồn cho cột 1 thì khi nó matrix một sẽ được hiển thị còn matrix 2,3 không được hiển thị nhưng khi ta đưa byte thứ 2 vào 595 thì khi đó byte thứ nhất sẽ được đẩy sang 595 thứ hai còn byte thứ 2 được đưa vào 595 thứ nhất đồng thời cột thứ 2 được cấp nguồn. Như vậy lúc đó matrix 2 sẽ hiển thị byte thứ nhất của matrix1 nhưng ở cột thứ hai... cứ như vậy cho đến byte thứ 3 thì matrix 3 lại hiển thị byte thứ nhất của matrix thứ 2 nhưng hiển thị ở cột thứ 3. (các cột của 3 matrix mắc //). chính vị vậy mà có hiện tượng khi mình muốn hiển thị chữ I ở matrix thứ nhất nhưng 2 matrix còn lại cũng hiện thị theo và bị dịch đi một cột so với matrix trước đó.
                mình nói thế có gì không đúng mong các bác chỉ giáo.

                Comment


                • #9
                  hiện tượng
                  Attached Files

                  Comment


                  • #10
                    sau một thời gian ngắn ngâm cứu em đã làm thành công modul 8x32 rùi. Cảm ơn các bác đã góp ý kiến nhé.

                    Comment

                    Về tác giả

                    Collapse

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

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

                    Collapse

                    Đang tải...
                    X