Thông báo

Collapse
No announcement yet.

help me- led matrix bị giật (gấp)

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

  • help me- led matrix bị giật (gấp)

    em đang lập trình cho bảng led matrix 8*128.
    Nhưng em chạy thử thì nó giật quá.
    Các pro giúp em sửa chương trình với.
    em đang cần gấp.em sắp phải nộp rồi.mà phần chương trình chưa chạy ổn.
    lại còn phần cứng nữa chứ
    Rất mong các pro giúp em.
    Attached Files

  • #2
    89 dùng phương pháp quét cột mà quét 128 cột Led ko sáng nổi đâu ku. Dùng ATmege168 thì được.
    Người nhỏ bé.

    Comment


    • #3
      8*128 thì bạn nên quét hàng đi chứ quét cột giật là phải.

      Comment


      • #4
        Thác mác khó hiểu

        nhà mình mới mua một cái máy ổn áp.mình không hiểu tại sao:chuyện là thến này nếu mình không đấu mát thì máy vẫn chạy và hoạt động bình thường nhưng khi mình dập cầu dao xuống và mình đấu mát từ máy xuống đất thì khi mình bật cầu dao thì át nhảy ngay lập tức.mình nghĩ đã bị chập chỗ nào đó mình đã kt lại nhưng mình đó đạc ở bên tải thì cũng không sao. và mình cũng thử kt cho máy chạy không tải cung không có hiện tượng gì.nếu như cho máy chạy bình thường và lúc đó đấu mát thì át cũng không nhảy.nhưng nếu đấu mát trước sau đó hất át lên thì ngay lập tức át nhảy khônng thể gạt lên được nữa. để vận hành tạm mình đã không đấu mát nữa hãy giải thích dùm mình/thank you every body

        Comment


        • #5
          mình thấy có người vẫn làm đc mà.
          Phần cứng của mình dùng c2383 và H1061 khuếch đại hàng cho led.
          và dùng ULN 2308 để cho cột.
          Mình nghĩ giật là do chương trình chứ.
          Nhưng mình sửa mãi mà ko đc

          Comment


          • #6
            rất mong các bác bớt chút thời gian giúp em với

            Comment


            • #7
              Nguyên văn bởi macminh Xem bài viết
              mình thấy có người vẫn làm đc mà.
              Phần cứng của mình dùng c2383 và H1061 khuếch đại hàng cho led.
              và dùng ULN 2308 để cho cột.
              Mình nghĩ giật là do chương trình chứ.
              Nhưng mình sửa mãi mà ko đc
              quét cột mà bạn multi bao nhiêu thế, 16 àh. Bạn nói cũng có phần đúng đó, bị giật có thể do chương trình nữa, kiểm tra bằng cách bạn thử quét 64 cột xem nó còn bị giật không. Nếu hêt giật thì ok rồi, chỉ còn sửa chương trình tối ưu là được(nên viết asm mới biết được) hoặc chỉnh lại tí phần cứng nữa, Bạn có truyền cổng nối tiếp không, nếu không thì dùng cổng nối tiếp dịch cho nhanh(chỉ 1 chu kì máy thôi) tốc độ nhanh gấp 5-6 lần so với viết asm đó bạn àh. Chúc bạn thành công.

              Email:
              Tel: 0983.497.310

              Comment


              • #8
                Nguyên văn bởi tienhuypro Xem bài viết
                quét cột mà bạn multi bao nhiêu thế, 16 àh. Bạn nói cũng có phần đúng đó, bị giật có thể do chương trình nữa, kiểm tra bằng cách bạn thử quét 64 cột xem nó còn bị giật không. Nếu hêt giật thì ok rồi, chỉ còn sửa chương trình tối ưu là được(nên viết asm mới biết được) hoặc chỉnh lại tí phần cứng nữa, Bạn có truyền cổng nối tiếp không, nếu không thì dùng cổng nối tiếp dịch cho nhanh(chỉ 1 chu kì máy thôi) tốc độ nhanh gấp 5-6 lần so với viết asm đó bạn àh. Chúc bạn thành công.
                mình đang làm bảng led 16*128 theo phương pháp quét cột.
                Ở đây mình chỉ mô phỏng 8*128 thôi.
                Mình dùng con ghi dịch 74164.
                Mình đã thử với 64 cột. Nhưng nó cũng hơi giật 1 chút.
                Nhưng trước kia bạn mình cũng đã làm tới 96 cột mà vẫn chạy ổn cũng với phần cứng
                như thế này.
                Có lẽ là do phần chương trình của mình.
                Rất mong sự giúp đỡ của mọi người

                Comment


                • #9
                  bác tienhuypro xem giúp em với nhé.Em chạy thử với 64 cột như thế này.
                  Bác xem thế có giật ko ah.

                  còn đây là phần chương trình với 64 cột:
                  Bác xem và sửa giúp em cho nó chạy đc với 128 cột nhé.
                  Em đang rất cần. Rất mong bác giúp em

                  $include(reg51.inc)
                  cseg
                  bodem equ r5 ; bodem=r5
                  contro equ r3 ; contro=r3
                  diachi equ 66h ; diachi=66h
                  ;===============================
                  org 0000h

                  start:
                  mov sp,#30h ;2us
                  mov bodem,#00h ;1us
                  mov contro,#00h ;1us
                  mov diachi,#00h ;2us
                  ;----------xoa cac cong p0,p1---------------------
                  mov p0,#00h ;2us
                  clr p1.0 ;1us thiet lap che do tac
                  clr p1.1

                  k1: mov r2,#1 ;1us so lan quet cho mot anh
                  k2: setb p1.1 ;1us , thiet lap bit dich

                  ;===========================
                  lap: mov a,contro ;1us
                  add a,bodem ;1us
                  mov diachi,a ;1us , diachi = contro + bodem
                  ;-------------------------------

                  setb p1.0 ;1us , tich cuc cot 1

                  ;-------- xuat du lieu-------
                  mov a,diachi ;1us
                  mov dptr,#mahang1 ;2us
                  movc a,@a+dptr ;2us
                  mov p0,a ;1us , xuat ma hang1
                  ;------------dich ----------
                  call delays
                  clr p1.1 ;1us , xoa bit dich

                  ;------------------------


                  clr p1.0 ;1us, xoa data
                  call delays

                  ;-----------------------------
                  inc bodem ;1us
                  ;--------------------------------
                  mov p0,#00h ;2us, chong bong ma
                  nop ;1us
                  nop ;1us
                  nop ;1us
                  nop ;1us
                  ;-------------------------------

                  cjne r5,#64,lap ;2us
                  mov r5,#00h ;1us
                  djnz r2,k2 ;2us , lam lai 2 lan
                  inc contro ;1us , tang dia bat dau len 1
                  mov a,contro ;1us
                  cjne a,#255,k1 ; so sanh vi tri contro voi vi tri cuoi cung
                  jmp start ; tro ve lam lai tu dau


                  DELAYS: ; tao khoang thoi gian tre
                  MOV TMOD, #01H
                  MOV TH0, #HIGH(-500)
                  MOV TL0, #LOW(-500)
                  SETB TR0
                  JNB TF0, $
                  CLR TF0
                  CLR TR0
                  RET


                  ;-----------------bang du lieu--------------------
                  mahang1:

                  DB 02H,01H,01H,0FFH,01H,01H,02H,0H
                  db 0FFH,011H,011H,031H,051H,091H,08EH,0H
                  db 07FH,080H,080H,080H,080H,080H,07FH,0H
                  DB 0FFH,02H,04H,08H,010H,020H,0FFH,0H
                  db 07EH,081H,081H,081H,091H,072H,010H,0H

                  db 00h,00h

                  DB 02H,01H,01H,0FFH,01H,01H,02H,0H
                  db 0FEH,011H,011H,011H,011H,011H,0FEH,0H
                  db 0FFH,02H,04H,08H,04H,02H,0FFH,0H

                  db 00h,00h

                  DB 08H,0FFH,089H,081H,081H,081H,07EH,0H
                  db 081H,081H,081H,0FFH,081H,081H,081H,0H
                  db 0FFH,091H,091H,091H,091H,091H,081H,0H
                  DB 0FFH,02H,04H,08H,010H,020H,0FFH,0H

                  db 00h,00h
                  DB 02H,01H,01H,0FFH,01H,01H,02H,0H
                  db 07FH,080H,080H,080H,080H,080H,07FH,0H

                  db 00h,00h
                  db 08H,0FFH,089H,081H,081H,081H,07EH,0H
                  DB 07EH,081H,081H,081H,081H,081H,07EH,0H
                  db 0FFH,02H,04H,08H,010H,020H,0FFH,0H
                  db 07EH,081H,081H,081H,081H,901H,072H,010H

                  db 00h,00h
                  Attached Files

                  Comment


                  • #10
                    ah cho em hỏi luôn là thời gian mô phỏng trên proteus có giống với thời gian mà mình làm thực tế trên bảng led ko ah.

                    Comment


                    • #11
                      ko ai quan tâm sao?

                      Comment


                      • #12
                        Mô phỏng trên Protelus thì ko giật cũng thành giật ! Nên dùng timer để quét cột, bị giật có thể do câu lệnh nào đó làm cho delay

                        Comment


                        • #13
                          Nguyên văn bởi ssgabeo Xem bài viết
                          Mô phỏng trên Protelus thì ko giật cũng thành giật ! Nên dùng timer để quét cột, bị giật có thể do câu lệnh nào đó làm cho delay
                          sao lại bảo ko giật cũng thành giật đc. Nếu mà mình chạy với số cột ít thì ko giật.
                          Chương trình mình đã post lên rồi. bạn xem nó sai ở đâu mà bị giật

                          Comment


                          • #14
                            Yeah!
                            Theo như bạn nói thì bạn mới mô phỏng thôi hả, chứ chưa làm mạch thực tế,
                            mô phỏng với thực tế cũng có nhiều sai số đó,
                            Cơ bản là phải xác định được nguyên nhân giật là do đâu, phải biết "con chuột" nó nằm ở đâu, nhìn cách giật trên mô phỏng của bạn, tớ đoán là giật là do thời gian quét led chậm quá, phải đảm bảo tốc độ quét tối thiểu là 24hình/giây ( lí thuyết là thế, cái này giống làm film quá).
                            Bạn quét tới 128 cột, thì chu kì quét là 1/128.
                            theo lí thuyết thì tốc độ quét tối thiểu sẽ là: (1/24)/128= 3.3x10-4(s) ~0.33ms. (Tớ tính thế không biết có đúng không, nếu sai thì chỉnh giùm tớ ).
                            Ah, mà bạn của bạn đã làm 96 cột chạy ok thì đi cầu viện bạn đó đi, sẽ có nhiều bí kíp hơn đó

                            PM: Tớ lười đọc asm nên không biết bạn quét tốc độ, cách quét như thế nào, viết C thì dễ đọc hơn.

                            ----^..^----

                            Comment


                            • #15
                              Nguyên văn bởi chuotdientu Xem bài viết
                              Yeah!
                              Theo như bạn nói thì bạn mới mô phỏng thôi hả, chứ chưa làm mạch thực tế,
                              mô phỏng với thực tế cũng có nhiều sai số đó,
                              Cơ bản là phải xác định được nguyên nhân giật là do đâu, phải biết "con chuột" nó nằm ở đâu, nhìn cách giật trên mô phỏng của bạn, tớ đoán là giật là do thời gian quét led chậm quá, phải đảm bảo tốc độ quét tối thiểu là 24hình/giây ( lí thuyết là thế, cái này giống làm film quá).
                              Bạn quét tới 128 cột, thì chu kì quét là 1/128.
                              theo lí thuyết thì tốc độ quét tối thiểu sẽ là: (1/24)/128= 3.3x10-4(s) ~0.33ms. (Tớ tính thế không biết có đúng không, nếu sai thì chỉnh giùm tớ ).
                              Ah, mà bạn của bạn đã làm 96 cột chạy ok thì đi cầu viện bạn đó đi, sẽ có nhiều bí kíp hơn đó

                              PM: Tớ lười đọc asm nên không biết bạn quét tốc độ, cách quét như thế nào, viết C thì dễ đọc hơn.
                              khi mình thay thời gian quét led nhỏ đi thì ko nhìn thấy gì nữa,hay do tốc độ máy ko đáp ứng đc.

                              Comment

                              Về tác giả

                              Collapse

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

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

                              Collapse

                              Đang tải...
                              X