Thông báo

Collapse
No announcement yet.

Giúp mình, khi quyét led 7 doạn bị lem ?

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

  • Giúp mình, khi quyét led 7 doạn bị lem ?

    Mình có làm cái mạch đo nhiệt độ cho gia đình, Lắp theo kiểu transitor theo mạch nguyên lý dưới dung đề nâng áp cho led 7 đoạn (loại lớn) cho sang rõ, mạch thì chạy đúng rồi nhưng có một ít số bị lem ( những đoạn không sang nó cứ sang mờ mờ ấy) ?
    Bác nào biết lỗi gì không giúp mình với, mình cảm ơn nhiều lắm <3
    Mình kèm theo sơ đồ.
    Attached Files

  • #2
    Nếu đc bạn post code của bạn lên cho mọi người xem (chủ yếu là phần quét led và những đoạn lien quan đến phần quét led).
    Theo kinh nghiệm thì của bạn có 2 vấn đề cần quan tâm:
    1. Sơ đồ của bạn có vấn đề ở phần điều khiển tran NPN quét vì:dòng 89 này output của nó là thả nổi, nên set nó là 1 nó sẽ ở trạng thái lấp lửng (ko xác định nên dễ bị ảnh hưởng bởi nhiễu -> gây ra led sang ko cần thiết), nên thường muốn làm output thì phải có trở treo lên Vcc (4.7k-10k).
    2. Vấn đề ở code. thường thì quét led theo tuần tự (chí it là theo cách của tui) là
    Code:
    led1 on
    delay
    led1 off
    led2 on
    delay
    led2 off
    vì lý do gì đó (có thể là 1 trong các nguyên nhân) là bạn để led2 on trước khi led1 off -> như vậy sẽ tạo ra vết nhòe giữa led1 sang led2 (led 1 chưa tắt hoàn toàn, led2 đã sáng)

    Comment


    • #3
      Nguyên văn bởi nhanh0112 Xem bài viết
      Nếu đc bạn post code của bạn lên cho mọi người xem (chủ yếu là phần quét led và những đoạn lien quan đến phần quét led).
      Theo kinh nghiệm thì của bạn có 2 vấn đề cần quan tâm:
      1. Sơ đồ của bạn có vấn đề ở phần điều khiển tran NPN quét vì:dòng 89 này output của nó là thả nổi, nên set nó là 1 nó sẽ ở trạng thái lấp lửng (ko xác định nên dễ bị ảnh hưởng bởi nhiễu -> gây ra led sang ko cần thiết), nên thường muốn làm output thì phải có trở treo lên Vcc (4.7k-10k).
      2. Vấn đề ở code. thường thì quét led theo tuần tự (chí it là theo cách của tui) là
      Code:
      led1 on
      delay
      led1 off
      led2 on
      delay
      led2 off
      vì lý do gì đó (có thể là 1 trong các nguyên nhân) là bạn để led2 on trước khi led1 off -> như vậy sẽ tạo ra vết nhòe giữa led1 sang led2 (led 1 chưa tắt hoàn toàn, led2 đã sáng)
      nói bậy, 1: chỉ có PORT0 mới thả nổi còn các PORT khác đều có trở pullups nhé. 2: nếu code lỗi như bạn nói thì dữ liệu chỉ bị chồng lên nhau và hiển thị bị sai chứ ko sáng mờ.

      Nguyên văn bởi nbaoic Xem bài viết
      Mình có làm cái mạch đo nhiệt độ cho gia đình, Lắp theo kiểu transitor theo mạch nguyên lý dưới dung đề nâng áp cho led 7 đoạn (loại lớn) cho sang rõ, mạch thì chạy đúng rồi nhưng có một ít số bị lem ( những đoạn không sang nó cứ sang mờ mờ ấy) ?
      Bác nào biết lỗi gì không giúp mình với, mình cảm ơn nhiều lắm <3
      Mình kèm theo sơ đồ.
      sở dĩ led bị sáng mờ là do ở các đoạn led sáng mờ có áp rơi là 12-5 = 7V. Chủ thớt chỉ việc bỏ con trở thanh ở PORT0 ra là sẽ ko còn sáng mờ nữa.
      Last edited by chung1608; 17-02-2013, 08:16.

      Comment


      • #4
        mình cũng quét cái led 7 đoạn này rùi. hiện tượng bị mờ như của mình thì mình dùng thêm 1 cụm 1 led+trở mắc vào + của led 7 đoạn và đầu - của cụm led+trở này đấu vào GND là hết mờ ngay: đó là giải pháp phần cứng hơi thủ công còn như trong sơ đồ trên mình thấy cũng Ok chỉ cần thay đổi lại tý phần mềm. bạn up phần quét led lên đi nha để anh em đỡ phải đoán mò. lần sau mình có gì hỏi thì cứ phần mềm + sơ đồ nguyên lý mà phang thì anh em dễ chém >>> sớm rõ ràng vấn đề.
        Last edited by daohuytien; 17-02-2013, 14:21.
        chỉ có tâm hồn là nơi duy nhất: có thể biến thiên đường thành địa ngục và ngược lại có thể biến địa ngục hóa thiên đường
        Everything should be made as simple as possible, but not simpler

        Comment


        • #5
          Nguyên văn bởi chung1608 Xem bài viết
          nói bậy, 1: chỉ có PORT0 mới thả nổi còn các PORT khác đều có trở pullups nhé. 2: nếu code lỗi như bạn nói thì dữ liệu chỉ bị chồng lên nhau và hiển thị bị sai chứ ko sáng mờ.



          sở dĩ led bị sáng mờ là do ở các đoạn led sáng mờ có áp rơi là 12-5 = 7V. Chủ thớt chỉ việc bỏ con trở thanh ở PORT0 ra là sẽ ko còn sáng mờ nữa.
          lúc đầu mình ko có lắp trở thanh nó vẫn bị như zay, mình them vào cũng bị như vậy luôn ?

          Comment


          • #6
            Nguyên văn bởi daohuytien Xem bài viết
            mình cũng quét cái led 7 đoạn này rùi. hiện tượng bị mờ như của mình thì mình dùng thêm 1 cụm 1 led+trở mắc vào + của led 7 đoạn và đầu - của cụm led+trở này đấu vào GND là hết mờ ngay: đó là giải pháp phần cứng hơi thủ công còn như trong sơ đồ trên mình thấy cũng Ok chỉ cần thay đổi lại tý phần mềm. bạn up phần quét led lên đi nha để anh em đỡ phải đoán mò. lần sau mình có gì hỏi thì cứ phần mềm + sơ đồ nguyên lý mà phang thì anh em dễ chém >>> sớm rõ ràng vấn đề.
            để tối mình up hihi

            Comment


            • #7
              Nguyên văn bởi nbaoic Xem bài viết
              Mình có làm cái mạch đo nhiệt độ cho gia đình, Lắp theo kiểu transitor theo mạch nguyên lý dưới dung đề nâng áp cho led 7 đoạn (loại lớn) cho sang rõ, mạch thì chạy đúng rồi nhưng có một ít số bị lem ( những đoạn không sang nó cứ sang mờ mờ ấy) ?
              Bác nào biết lỗi gì không giúp mình với, mình cảm ơn nhiều lắm <3
              Mình kèm theo sơ đồ.
              bạn tắt nguồn cấp cho led trong 1 khoang thời gian nhất định (rất ng81n thôi) thì nó hết lem ngay nhưng mà làm theo cách quét nó hông sáng đâu bạn ạ có sáng nhưng mờ bạn nên chuyển qua dùng 74hc595 đi tui làm rùi hiện giờ chạy cũng rất ổn

              Comment


              • #8
                đầu tiên cậu lấy 1 led nối các chân katot xuống mass theo số nào đấy cho dễ nhìn còn anot vẫn giữ nguyên như trong mạch xem có thấy rõ k.???
                nếu thấy tốt thì là do mạch
                nếu hiện tượng vẫn giống trên thì do code

                Comment


                • #9
                  Code của mình đây:
                  $mod51
                  org 000h

                  vang bit p1.0
                  xanh bit p1.1
                  do bit p1.2
                  start bit p1.3
                  eoc bit p1.4
                  ale bit p1.5
                  chuong bit p1.7

                  td: Lcall cdoi
                  lcall hex_bcd
                  lcall bcd_7doan
                  lcall hienthi
                  ljmp td

                  cdoi:
                  Setb ale
                  clr ale

                  setb start
                  jb eoc,$
                  clr start
                  mov r7,#999
                  de:
                  Lcall hienthi
                  djnz r7,de
                  mov a,p3
                  ret

                  hex_bcd:
                  Mov b,#10
                  div ab
                  mov 10h,b
                  mov 11h,a
                  ret

                  bcd_7doan:
                  Mov dptr,#900h
                  mov a,10h
                  movc a,@a+dptr
                  mov 20h,a

                  mov a,11h
                  movc a,@a+dptr
                  mov 21h,a
                  ret

                  hienthi:
                  Mov p0,21h
                  setb p2.3
                  lcall delay
                  mov p2,#00h

                  mov p0,20h
                  setb p2.2
                  lcall delay
                  mov p2,#00h

                  mov p0,#09ch
                  setb p2.1
                  lcall delay
                  mov p2,#00h

                  mov p0,#0c6h
                  setb p2.0
                  lcall delay
                  mov p2,#00h
                  delay:

                  Mov 7fh,#999
                  djnz 7fh,$
                  ret
                  org 900h
                  db 0c0h,0f9h,0a4h,0b0h,99h,92h,82h,0f8h,80h,90h
                  end
                  sơ đồ nguyên lý nữa:

                  Comment


                  • #10
                    Nguyên văn bởi nbaoic Xem bài viết

                    hienthi:
                    Mov p0,21h
                    setb p2.3
                    lcall delay
                    mov p2,#00h
                    // bạn thêm thời gian trễ một ít ở đây nhé
                    mov p0,20h
                    setb p2.2
                    lcall delay
                    mov p2,#00h
                    // bạn thêm thời gian trễ một ít ở đây nhé
                    mov p0,#09ch
                    setb p2.1
                    lcall delay
                    mov p2,#00h
                    // bạn thêm thời gian trễ một ít ở đây nhé
                    mov p0,#0c6h
                    setb p2.0
                    lcall delay
                    mov p2,#00h
                    mình không hiểu về asm mấy nhưng cái chỗ này có thể bạn thay đổi như mình nói là Ok đó
                    chỉ có tâm hồn là nơi duy nhất: có thể biến thiên đường thành địa ngục và ngược lại có thể biến địa ngục hóa thiên đường
                    Everything should be made as simple as possible, but not simpler

                    Comment


                    • #11
                      Hihi, được rồi nè, mình giảm áp thành 9v cái nó hết bị nhem luôn thank mấy bác nhiều nha :v

                      Comment

                      Về tác giả

                      Collapse

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

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

                      Collapse

                      Đang tải...
                      X