Announcement

Collapse
No announcement yet.

[8051] Hỏi Về Hàm Delay Trong Quét Led 7 Đoạn

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • [8051] Hỏi Về Hàm Delay Trong Quét Led 7 Đoạn

    Xin chào các anh chị em đang làm một mạch có liên quan đến kỹ thuật quét led để điều khiển một số led 7 đoạn với 8051. Trước giờ toàn làm với IC chốt 74HC595 thôi. Hôm nay làm với transistor npn nhưng gặp một số vấn đề với hàm delay. Em không biết hàm delay là bao nhiêu là hợp lý. Em đã thử 2,5ms, 1ms, 5ms, 10ms,.. nhưng khi cho chạy với proteus thì thấy nó không được sáng tất cả các led 7 đoạn (nghĩa là nhìn mắt thường vẫn thấy từng led lần lược sáng). Khi tham khảo giáo trình thì nó ghi là hàm delay 2,5ms là ok. Nhưng khi em cho mô phỏng với 2,5ms thì vẫn không được.
    Vậy các anh cho em hỏi với kinh nghiệm thực tế của các anh thì hàm delay phải là bao nhiêu để mạch thật chạy tốt.
    Các anh thử xem code cho hiển thị số 147 ra 3 led 7 đoạn của em nó có bị sai chổ nào không?
    Code:
    ; DIEU KHIEN LED 7 DOAN ANOT CHUNG
    ; P0 NOI CAC CHAN LED
    ; P1 NOI CAC TRANSISTOR
    
    	ORG	000H
    LOOP:
    	MOV	P1,#00000001B	; cho led 1 sang
    	MOV	P0,#00000000B	; so 8
    	LCALL	DELAY
    	MOV	P1,#00000010B	; cho led 2 sang
    	MOV	P0,#00011001B	; so 4
    	LCALL	DELAY
    	MOV	P1,#00000100B	; cho led 3 sang
    	MOV	P0,#01111001B	; so 1
    	LCALL	DELAY
    	SJMP	LOOP
    	
    ;----------- HAM DELAY 2.5ms -----------
    DELAY:   
    	PUSH	00H
    	PUSH	01H
    	MOV	R1,#5
    DEL:	MOV	R0,#250
    	DJNZ	R0,$
    	DJNZ	R1,DEL
    	POP	01H
    	POP	00H
    	RET
    ;---------------------------------------
    	END
    TRẦN QUANG VINH
    ĐT: 01688200 sáu sáu sáu
    mail: vinhtq191@gmail(dot)com

  • #2
    Trước a làm 6 con led 7 đoạn quét bằng 2 con 74HC595 ( 1 con điều khiển bật tắt lần lượt các led, con còn lại điều khiển con số hiển thị trên 7 đoạn ) thì a thấy đâu cần delay đâu e. Cứ cho vào vòng lặp và bật liên tiếp led này sang led khác. Nếu có delay khoảng trên 10ms thì sẽ thấy led bị chớp. nếu k có delay vào thì mượt lun


    + Mô phỏng quét led trên proteus thì a k chắc lắm, nhưng a nghĩ e nên thử ở ngoài mạch thật. Nó thực tế hơn, về thông số delay thì e đâu cần chắc chắn rồi mới được làm mạch thật đâu e. Sau này chạy thử, k vừa ý thì điều chỉnh, nạp lại code thôi mà.
    + Mạch này đơn giản, e có thể cắm testboard và thử luôn ( 1 con led + 8051 + vài linh kiện linh tinh + tầm 20 chục cọng dây---> 15 phút là nhiều ) cho nó máu.

    Comment


    • #3
      Em thử không delay thì nó vẫn bị chớp. Tại em đang ở quê đồ nghề đưa bạn giữ hết rồi nên không thể chơi mạch thật được. Em nghĩ không phải tại proteus đâu vì hồi trước em quét led ma trận thì thấy nó cũng mượt chứ đâu có chớp chớp như cái này đâu. Nhưng dạo trước em code bằng c nên hàm delay bằng mấy em cũng không biết cứ cho vòng for nó chạy với một số nào đó hợp lý là được.
      TRẦN QUANG VINH
      ĐT: 01688200 sáu sáu sáu
      mail: vinhtq191@gmail(dot)com

      Comment


      • #4
        DELAY:
        PUSH 00H
        PUSH 01H
        MOV R1,#5
        DEL: MOV R0,#250
        DJNZ R0,$
        DJNZ R1,DEL
        POP 01H
        POP 00H
        RET
        anh cảm thấy hơi nghi ngờ về cái hàm delay này ... DJNZ cần 2 chu kì, MOV cần 1 chu kì => DEL = 250 * 5 * 5 = 6250 chu kì máy. Giả sử em dùng thạch anh 12MHz thì con 8051 sẽ thực hiện được 10^6 chu kì máy trong 1 giây => DEL tốn mất 0.00625s = 6.25 ms . chưa tính các lệnh còn lại thì Delay đã là 6.25 rồi tức là lớn hơn 2.5ms của em .

        Theo anh thì tốt nhất em nên ra mạch thật rồi cân chỉnh delay cho chuẩn. Còn proteus hiển thị LED 7 đoạn kiểu này chắc chắn là nháy. Anh thử rồi ko cho delay nó cũng nháy vì nó là công cụ mô phỏng
        Một khẩu súng giữ hai trời Nam Bắc,
        Một dấu chân in màu đất hai miền.

        ------------------------------------------------------

        Comment


        • #5
          Cái hàm delay đó là em tham khảo thôi! của đại học công nghiệp TP (em mới luyện assembly đây thôi nên chưa rành mấy cái này). Em đã thử cả buổi chiều nhưng không khi nào nó mượt được (Bài này không làm được thì mấy bài tập phía sau coi như xong vì nó có liên quan)!
          Em nghĩ như thế này: nếu delay quá chậm thì nó sẽ sáng lần lược từng led cái này thì dễ biết. Còn nếu delay quá nhanh thì đôi khi 1 hay 2 led trên không kịp sáng (vì quá nhanh) nên mắt thường chúng ta thấy nó vẫn chậm. Đúng như trường hợp chúng ta không dùng delay mà thấy nó vẫn sang lần từng led.Vì vậy phải cho nó phù hợp mới được! Nếu với cùng hàm delay trên khi em cho "MOV R1,#40" thì em thấy nó sáng coi được nhất nhưng vẫn chưa gọi là OK (có thể chạy ngoài thực tế sẽ được).
          Lên mạng em có đọc được một vài trường hợp cũng tương tự như thế này như em ko hiểu phải làm như thế nào cả
          http://webdien.com/d/showthread.php?t=32899&page=2
          đầu ra của transistor pnp mắc thêm một trở 1k là nối một đầu trở xuông gnd và một đầu nối vào led 7 đoạn,cách mắc này để cho transistor phân cực
          đúng và tiêu tán năng lượng với tần số quét lớn,trước đây mình cũng gặp vấn đề như bạn ,mình học được vấn đề này trên tailieu.vn,bạn thử mắc thêm như vậy xem sao.chúc bạn thành công!
          ---------------------------------------------------------
          oh đúng rồi, em cảm ơn anh nhiều lắm
          Em làm mấy ngày không xong, may có anh trợ giúp, cảm ơn anh nhiều
          Em đã đỗi lại transistor PNP rồi nhưng cái vụ điện trở với nối đất đó em không hình dung nó như thế nào hết (ko hiểu được ý của tác giả). Vì khi em nối đất 1 phát là dòng nó chạy xuống đất luôn chứ nó đâu có vô con led 7 đoạn đâu (và đương nhiên nó ko sáng luôn).
          Last edited by 10520496; 15-06-2012, 18:54.
          TRẦN QUANG VINH
          ĐT: 01688200 sáu sáu sáu
          mail: vinhtq191@gmail(dot)com

          Comment


          • #6
            Originally posted by 10520496 View Post
            Cái hàm delay đó là em tham khảo thôi! của đại học công nghiệp TP (em mới luyện assembly đây thôi nên chưa rành mấy cái này). Em đã thử cả buổi chiều nhưng không khi nào nó mượt được (Bài này không làm được thì mấy bài tập phía sau coi như xong vì nó có liên quan)!
            Em nghĩ như thế này: nếu delay quá chậm thì nó sẽ sáng lần lược từng led cái này thì dễ biết. Còn nếu delay quá nhanh thì đôi khi 1 hay 2 led trên không kịp sáng (vì quá nhanh) nên mắt thường chúng ta thấy nó vẫn chậm. Đúng như trường hợp chúng ta không dùng delay mà thấy nó vẫn sang lần từng led.Vì vậy phải cho nó phù hợp mới được! Nếu với cùng hàm delay trên khi em cho "MOV R1,#40" thì em thấy nó sáng coi được nhất nhưng vẫn chưa gọi là OK (có thể chạy ngoài thực tế sẽ được).
            Lên mạng em có đọc được một vài trường hợp cũng tương tự như thế này như em ko hiểu phải làm như thế nào cả
            http://webdien.com/d/showthread.php?t=32899&page=2

            Em đã đỗi lại transistor PNP rồi nhưng cái vụ điện trở với nối đất đó em không hình dung nó như thế nào hết (ko hiểu được ý của tác giả). Vì khi em nối đất 1 phát là dòng nó chạy xuống đất luôn chứ nó đâu có vô con led 7 đoạn đâu (và đương nhiên nó ko sáng luôn).
            em post cái schematic a lên xem thử :-??... anh nhớ mô phỏng thì đâu cần xài tới transitor... nối trực tiếp chân vdk tới led luôn cũng được
            Một khẩu súng giữ hai trời Nam Bắc,
            Một dấu chân in màu đất hai miền.

            ------------------------------------------------------

            Comment


            • #7
              Originally posted by 08520229 View Post
              em post cái schematic a lên xem thử :-??... anh nhớ mô phỏng thì đâu cần xài tới transitor... nối trực tiếp chân vdk tới led luôn cũng được
              Nó đây anh: http://www.mediafire.com/?348b4s68d4cdnkc
              Có rảnh anh xem giúp em với. Anh chạy thử cái trên em thấy tốc độ quét như vậy là khá nhất rồi đó. Không thể nào cho nó mượt được. Và em cũng không biết sao lâu lâu nó lại bị nhiễu nữa chứ. Em cho sáng có 3 led hà mà lâu lâu nó lại sáng luôn qua mấy led kia luôn!
              TRẦN QUANG VINH
              ĐT: 01688200 sáu sáu sáu
              mail: vinhtq191@gmail(dot)com

              Comment

              LHQC

              Collapse
              Working...
              X