Thông báo

Collapse
No announcement yet.

LED MATRIX 8x32

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

  • LED MATRIX 8x32

    Mình dùng 4 LED 8x8 ghép lại. Sử dụng 74hc595
    Có sơ đồ như hình dưới !
    Các bạn xem giúp mình sao nó ko hiện chữ được nhé











    Asembly

    PHP Code:
    ;===========================

    #include <sfr51.inc>

    org 0000h
    mov sp
    ,#30h ; Tro con tro toi vung nho 30h 
    mov dph,#01h ; Tro toi vung du lieu
    mov p3,#0ffh ; Chon cong dieu khien 
    ;=========================== 
    main:
    mov r2,#00h ; Tang dia chi quet 
    lap2
    mov r0,#30 ; Lap lai 30 lan, tao do luu anh
    lap1
    mov 05h,02h
    Set bit ab 
    SETB P3.1
    mov r1
    ,#60 ; Tong so cot cua ma tran
    lap
    clr A 
    mov dpl
    ,r5Tro toi cac trang thai 
    movc A
    ,@A+dptr
    mov p1
    ,A
    Tao xung clock

    SETB P3.0
    acall delay 
    CLR P3.0 
    CLR P3.1
    acall cho 
    Tao do luu anh 
    inc r5
    djnz r1
    ,lap
    djnz r0
    ,lap1 
    INC R2 
    cjne r2
    ,#160,lap2 ; Tong cac trang thai
    acall delay
    SJMP main

    ;=========================== 

    delay:
    mov r4,#10
    djnz r4,$

    ret 
    ;=========================== 
    cho:
    mov r6,#01h
    w1mov r7,#30h
    mov r7,#30h
    djnz r7,$
    djnz r6,w1 
    ret 
    ;========================== 
    Bang du lieu ma hang 
    ORG 0300H
    DB 07h
    ,03h,c9h,cch,c9h,03h,07h,ffh

    ;************************************
    end 

  • #2
    Các bạn vào bàn luận cùng mình đi

    Comment


    • #3
      Uhm, mạch vẽ khó nhìn và lại còn sai nguyên tắc sử dụng 74HC595 nữa, chân SH và ST mà nối nhau thế nếu có xuất dữ liệu ra để quét thì led nào cũng sáng vì shift đến đâu xuất đến đó, chẳng còn điều khiển được gì cả.

      Email:
      Phone: 0905.034.086

      Comment


      • #4
        Nguyên văn bởi cskiller Xem bài viết
        sai nguyên tắc sử dụng 74HC595 nữa, chân SH và ST mà nối nhau thế nếu có xuất dữ liệu ra để quét thì led nào cũng sáng vì shift đến đâu xuất đến đó, chẳng còn điều khiển được gì cả.
        MÌnh cũng ko biết rõ lắm về 74HC595 nữa ! bạn chỉ cách sửa sai cho mình nhé
        Mình đang học VDK mà yêu cầu kết nối > 4 LED 8x8 với chíp !
        Bạn chỉ giúp mình nhé!

        Comment


        • #5
          Nguyên văn bởi tuyetkjem Xem bài viết
          Mình dùng 4 LED 8x8 ghép lại. Sử dụng 74hc595
          Có sơ đồ như hình dưới !
          Các bạn xem giúp mình sao nó ko hiện chữ được nhé











          Asembly

          PHP Code:
          ;===========================

          #include <sfr51.inc>

          org 0000h
          mov sp
          ,#30h ; Tro con tro toi vung nho 30h 
          mov dph,#01h ; Tro toi vung du lieu
          mov p3,#0ffh ; Chon cong dieu khien 
          ;=========================== 
          main:
          mov r2,#00h ; Tang dia chi quet 
          lap2
          mov r0,#30 ; Lap lai 30 lan, tao do luu anh
          lap1
          mov 05h,02h
          Set bit ab 
          SETB P3.1
          mov r1
          ,#60 ; Tong so cot cua ma tran
          lap
          clr A 
          mov dpl
          ,r5Tro toi cac trang thai 
          movc A
          ,@A+dptr
          mov p1
          ,A
          Tao xung clock

          SETB P3.0
          acall delay 
          CLR P3.0 
          CLR P3.1
          acall cho 
          Tao do luu anh 
          inc r5
          djnz r1
          ,lap
          djnz r0
          ,lap1 
          INC R2 
          cjne r2
          ,#160,lap2 ; Tong cac trang thai
          acall delay
          SJMP main

          ;=========================== 

          delay:
          mov r4,#10
          djnz r4,$

          ret 
          ;=========================== 
          cho:
          mov r6,#01h
          w1mov r7,#30h
          mov r7,#30h
          djnz r7,$
          djnz r6,w1 
          ret 
          ;========================== 
          Bang du lieu ma hang 
          ORG 0300H
          DB 07h
          ,03h,c9h,cch,c9h,03h,07h,ffh

          ;************************************
          end 
          Có vài ý kiến thế này

          Bạn post sơ đồ mô phỏng nên không biết trình mô phỏng của bạn hoạt động thế nào, còn nếu làm phần cứng thực tế thì không biết là mạch phần cứng của bạn có chạy được không, vì nếu mạch thực tế mà bạn làm theo như sơ đồ này thì chắc là không chạy được.

          Về phần mềm thì lâu rồi không đụng tới asm nên không nhớ rõ mà mình thấy có mấy chỗ bạn cần kiểm tra lại

          + Không biết là bạn muốn con trỏ dptl của bạn trỏ dến vùng dữ liệu nào mà không thấy bảng dữ liệu đó trong ctr
          + Bảng led chỉ có 32 cột mà bạn lại quét tới 60 cột
          + Bạn nối chung 2 chân shift SH và lach ST của 595 lại, dữ liệu đưa vào chân DS từ p3.1 vẫn có thể dịch ra để chốt từng cột data, tuy nhiên nó sẽ bị trễ một chu kì, và kết quả là hình ảnh bạn cần hiển thị ra led sẽ bị mất cột đầu tiên và toàn bộ sẽ được dịch sang phải một cột
          (nói rõ hơn là khi bạn đưa mức 1 vào chân DS, cần phải chạy tới xung thứ 2 thì dữ liệu này mới được đưa ra chân Q0, tốt nhất thì bạn nên nối thêm cổng not vào đây.)

          Comment


          • #6
            Muốn điều khiển 595 mà không hiểu về nó thì làm thế nào?Nó cũng giống như việc bạn muốn nói "Anh yêu em" bằng tiếng Việt với 1 người nước ngoài ấy mà.Chắc chắn người ta sẽ chẳng hiểu gì.
            Đọc kỹ bảng trạng thái của 595, bạn sẽ biết mính phải làm gì.
            Thiết kế, sửa chữa PLC,HMI, Servo,biến tần, máy tính công nghiệp
            Lập trình ứng dụng VĐK, IC logic lập trình được (PAL,GAL, FPGA...)
            DT:098 861 4347

            Comment


            • #7
              nếu mạch thực tế mà bạn làm theo như sơ đồ này thì chắc là không chạy được.
              Cái mạch đó bị sai chỗ nào chỉ giùm mình nhé ! Mình mới học VDK còn về phần cứng thì kém lắm, chưa được học lên mong các bạn chỉ dẫn thêm.

              +
              Không biết là bạn muốn con trỏ dptl của bạn trỏ dến vùng dữ liệu nào mà không thấy bảng dữ liệu đó trong ctr
              + Bảng led chỉ có 32 cột mà bạn lại quét tới 60 cột
              + Bạn nối chung 2 chân shift SH và lach ST của 595 lại, dữ liệu đưa vào chân DS từ p3.1 vẫn có thể dịch ra để chốt từng cột data, tuy nhiên nó sẽ bị trễ một chu kì, và kết quả là hình ảnh bạn cần hiển thị ra led sẽ bị mất cột đầu tiên và toàn bộ sẽ được dịch sang phải một cột
              (nói rõ hơn là khi bạn đưa mức 1 vào chân DS, cần phải chạy tới xung thứ 2 thì dữ liệu này mới được đưa ra chân Q0, tốt nhất thì bạn nên nối thêm cổng not vào đây.)
              Theo bạn con 595 mắc như thế nào thì đúng !
              Có file Protues chỉnh giúp mình nhé
              PHP Code:
              http://www.mediafire.com/?y2zzmydtnzm 

              Comment


              • #8
                Nguyên văn bởi emut Xem bài viết
                Muốn điều khiển 595 mà không hiểu về nó thì làm thế nào?
                Đọc kỹ bảng trạng thái của 595, bạn sẽ biết mính phải làm gì.
                Mình có tìm hiểu qua rùi ! Nhưng chưa biết kết nối với VDK thế nào cho hợp lý .
                Lý thuyết và thực tế chẳng giống nhau là bao?
                Nó cũng giống như việc bạn muốn nói "Anh yêu em" bằng tiếng Việt với 1 người nước ngoài ấy mà.Chắc chắn người ta sẽ chẳng hiểu gì.
                VD gặp JangNaRa mình sẽ thơm vào môi cô ấy sẽ biết là ý mình I LOVE YOU

                Comment


                • #9
                  Mình không sử dụng mô phỏng nên không biết nó cần khai báo như thế nào để chạy được, còn nếu làm thực tế thì cần nối nguồn, mass thạch anh cho các IC, cả chân reset và EA của vdk nữa.

                  595 thì nên tách chân SH và ST ra (nối chung 4 chân ST lại và nối vào một chân vdk, 4 chân SH thì nối vào chân khác) khi tạo xung thì tạo xung dich ở chân SH trước khi tạo xung chốt ở chân ST (nên delay khoảng 1us giữa 2 xung này.)

                  phần mềm thì chỉnh lại chỗ r1 là 32 chứ không phải 60, và cần có bảng dữ liệu để xuất ra led.

                  Comment


                  • #10
                    Nguyên văn bởi dt_love Xem bài viết
                    Mình không sử dụng mô phỏng nên không biết nó cần khai báo như thế nào để chạy được, còn nếu làm thực tế thì cần nối nguồn, mass thạch anh cho các IC, cả chân reset và EA của vdk nữa.

                    595 thì nên tách chân SH và ST ra (nối chung 4 chân ST lại và nối vào một chân vdk, 4 chân SH thì nối vào chân khác) khi tạo xung thì tạo xung dich ở chân SH trước khi tạo xung chốt ở chân ST (nên delay khoảng 1us giữa 2 xung này.)

                    phần mềm thì chỉnh lại chỗ r1 là 32 chứ không phải 60, và cần có bảng dữ liệu để xuất ra led.
                    Ở Protues thì không cần phải nối Thach Anh và Nguồn + mass cho IC mà nó có sẵn rùi

                    Mình đã tách 2 chân SH và ST ra và sửa lại bài lập trình mà vẫn ko được.
                    Nó nháy sáng all LED rùi tắt luôn ko hiêu lỗi đâu nữa.
                    PHP Code:
                    ;===========================

                    #include <sfr51.inc>

                    org 0000h
                    mov sp
                    ,#30h ; Tro con tro toi vung nho 30h 
                    mov dph,#01h ; Tro toi vung du lieu
                    mov p3,#0ffh ; Chon cong dieu khien 
                    ;=========================== 
                    main:
                    mov r2,#00h ; Tang dia chi quet 
                    lap2
                    mov r0,#30 ; Lap lai 30 lan, tao do luu anh
                    lap1
                    mov 05h,02h
                    Set bit ab 
                    SETB P3.1
                    mov r1
                    ,#32 ; Tong so cot cua ma tran
                    lap
                    clr A 
                    mov dpl
                    ,r5Tro toi cac trang thai 
                    movc A
                    ,@A+dptr
                    mov p1
                    ,A
                    Tao xung clock

                    SETB P3.0
                    acall delay
                    SETB P3.2
                    acall delay 
                    CLR P3.0 
                    CLR P3.1
                    CLR p3.2
                    acall cho 
                    Tao do luu anh 
                    inc r5
                    djnz r1
                    ,lap
                    djnz r0
                    ,lap1 
                    INC R2 
                    cjne r2
                    ,#160,lap2 ; Tong cac trang thai
                    acall delay
                    SJMP main

                    ;=========================== 

                    delay:
                    mov r4,#10
                    djnz r4,$

                    ret 
                    delay1us
                    :
                    mov r4,#10
                    djnz r4,$

                    ret 
                    ;=========================== 
                    cho:
                    mov r6,#01h
                    w1mov r7,#30h
                    mov r7,#30h
                    djnz r7,$
                    djnz r6,w1 
                    ret 
                    ;========================== 
                    Bang du lieu ma hang 
                    ORG 0300H
                    DB ffh
                    ,07h,03h,e9h,ech,e9h,03h,07h A
                    DB 99h
                    ,00h,24h,24h,00h,00h,3ch,ffh B
                    DB ffh
                    ,99h,3ch,3ch,3ch,00h,81h,ffh C
                    DB c3h
                    ,81h,3ch,3ch,3ch,00h,00h,ffh ;D
                    ;************************************
                    end 

                    Comment


                    • #11
                      Sửa lại chỗ dph ở gần đầu là 03h chứ không phải 01h, tăng thêm thời gian delay trong sub "cho"
                      ở dòng djnz r0,lap1 sửa lại thành sjmp lap1
                      xem kq thế nào?

                      Comment


                      • #12
                        Nguyên văn bởi dt_love Xem bài viết
                        Sửa lại chỗ dph ở gần đầu là 03h chứ không phải 01h, tăng thêm thời gian delay trong sub "cho"
                        ở dòng djnz r0,lap1 sửa lại thành sjmp lap1
                        xem kq thế nào?
                        sau khi chuyên nó nháy sáng một số cột , ko hiện chữ theo mã được

                        Có phải do hàm "cho" ko?? tg chờ có nhanh hơn tg lưu ảnh ko??

                        Comment


                        • #13
                          Bạn ơi cho mình Y!M cho tiện trao đổi nhé

                          Comment


                          • #14
                            bạn có thể mail qua địa chỉ mail dưới chữ kí, mình sẽ gửi YM cho bạn

                            Comment


                            • #15
                              kho qua led matrix oi

                              Comment

                              Về tác giả

                              Collapse

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

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

                              Collapse

                              Đang tải...
                              X