Thông báo

Collapse
No announcement yet.

giúp e cái bài quét Led 7 đoạn với

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

  • giúp e cái bài quét Led 7 đoạn với

    Mấy a chị cho e hỏi cách quét 2 LED 7SEG trên cùng 1 port dùng thêm 2 IC 74LS47 và 74HC138 đề chạy số từ 00-99
    E mới viết đc đoạn nhưng k chạy như ý muốn






    ; ------------- READS51 generated header --------------
    ; module : E:\machvidieukhien_btap\baitap_quetLED7SEG_\HOVIET THANH_23_05.asm
    ; created : 22:48:12, Friday, May 24, 2013
    ; -----------------------------------------------------
    #include <sfr51.inc>
    ORG 0000H ;KHAIBAO DIA CHI
    MAIN:
    MOV R3,#0
    LCALL HIENTHI
    INC R3
    CJNE R3,#11,MAIN
    LJMP MAIN




    HIENTHI:
    MOV A,#0
    MOV P2,#0
    MOV B,#10
    DIV AB
    ADD A,#10h
    MOV P2,A
    LCALL DELAY
    MOV P2,B
    LCALL DELAY






    DELAY:
    MOV R7,#255
    NHAN1:
    MOV R6,#255
    DJNZ R6,$
    DJNZ R7,NHAN1
    RET



    END

  • #2
    mạch mô phỏng.Mong mấy anh chị xem giúp giùm e

    Click image for larger version

Name:	machdientu.jpg
Views:	1
Size:	120.8 KB
ID:	1379331

    Comment


    • #3
      nhìn code của bạn thì thấy giá trị hiển thì chỉ là 1 số cố định không có gì thay đổi ,bạn muốn tăng giá trị lên thì phải tăng giá trị thanh ghi A lên ,ở đây bạn dung ic giải mã và ic 74ls138
      nếu mô phỏng thì ko vẽ transistor vào,thay 74ls138 bằng 2 transistor cho gọn mạch.

      Comment


      • #4
        Nhưng đề là phải dùng 74LS138 để giải mã tại 2 con BJT đó.Nên e k biết làm.Chứ thay 2 con BJT thì dễ rồi
        Còn code thì đoạn HIENTHI:
        khi DIV AB thì tách đc 2 số để quét ;vd như A=89,B=10 thì div AB thì A=8 và B=9
        Nhưng e k biết sao để cho nó quét cho nó chạy số lên

        Comment


        • #5
          phương pháp quét là cho từng con led sáng trong 1 thời điểm với tần số đủ lớn sẽ thấy led sáng liên tục,chẳng hạn như bạn muốn hiển thị số 89 lên 2 led thì sau khi tách số được 2 số là 8 và 9 vậy lần một cho số 8 hoặc số 9 sáng trước tức là xuất dữ liệu ra cổng ic ví dụ như
          DIV AB
          MOV P2,A ;trễ một thời gian nhỏ,cho led 1 sáng
          tiếp theo
          MOV A,B
          ADD A,#10H;trễ một thời gian nhỏ cho led 2 sáng
          ..... lặp lại số lần quét 2 led để thấy led sáng lâu hơn
          tăng thanh ghi A lên có thể là một ô nhớ hoặc thanh ghi khác rùi chuyển vào A
          ... lặp lại quá trình quét
          ... kiểm tra đã đếm đến 99 chưa,nếu đủ quay lại từ đầu

          Comment


          • #6
            Nguyên văn bởi dtcn_112 Xem bài viết
            phương pháp quét là cho từng con led sáng trong 1 thời điểm với tần số đủ lớn sẽ thấy led sáng liên tục,chẳng hạn như bạn muốn hiển thị số 89 lên 2 led thì sau khi tách số được 2 số là 8 và 9 vậy lần một cho số 8 hoặc số 9 sáng trước tức là xuất dữ liệu ra cổng ic ví dụ như
            DIV AB
            MOV P2,A ;trễ một thời gian nhỏ,cho led 1 sáng
            tiếp theo
            MOV A,B
            ADD A,#10H;trễ một thời gian nhỏ cho led 2 sáng
            ..... lặp lại số lần quét 2 led để thấy led sáng lâu hơn
            tăng thanh ghi A lên có thể là một ô nhớ hoặc thanh ghi khác rùi chuyển vào A
            ... lặp lại quá trình quét
            ... kiểm tra đã đếm đến 99 chưa,nếu đủ quay lại từ đầu
            Lặp lại là để nó quét hai lần đúng không anh. Ngoài mục đích sáng lâu hơn thì còn có tác dụng gì không ạ. Em thấy trong cái quạt điện cơ hay trên điều hòa không khí nó có cái màn hình hiển thị số là nó cũng làm theo cơ chế này ạ

            Comment


            • #7
              cái chộ tăng thanh ghi A đó làm sao a.E k biểu cách làm sao để dùng 1 ô nhớ

              Comment


              • #8
                cHƯƠNG TRÌNH NHƯ VẬY CÓ ĐÚNG K A.SAO E VẪN CHẠY K ĐC..GIÚP E VƠI
                #include <sfr51.inc>
                ORG 0000H ;KHAIBAO DIA CHI
                MAIN:

                HIENTHI:
                MOV A,#0
                NHAN:
                MOV B,#10
                DIV AB
                MOV P2,A
                LCALL DELAY
                MOV A,B
                ADD A,#10h
                MOV P2,A
                LCALL DELAY
                MOV R1,A
                INC R1
                CJNE R1,#99,NHAN
                LJMP MAIN
                DELAY:
                MOV R7,#255
                NHAN1:
                MOV R6,#255
                DJNZ R6,$
                DJNZ R7,NHAN1
                RET
                END

                Comment


                • #9
                  mình đang bận làm đồ án tốt nghiệp nên viết cho bạn đoạn code theo mạch nguyên lý của bạn thêm bit EN để điều khiển 74ls138.
                  ORG 0000H
                  EN BIT P2.7;bit điều khiển 74ls138
                  MAIN:

                  MOV A,#0
                  MOV R1,#0
                  NHAN:
                  MOV R2,#20;lặp lại quá trình quét trước khi tăng gi trị hiển thị lần tiếp

                  NHAN1:
                  MOV A,R1
                  MOV B,#10
                  DIV AB
                  MOV P2,A
                  SETB EN
                  LCALL DELAY
                  CLR EN
                  MOV A,B
                  ADD A,#10h
                  MOV P2,A
                  SETB EN
                  LCALL DELAY
                  CLR EN
                  DJNZ R2,NHAN1
                  INC R1
                  MOV A,R1
                  CJNE A,#100,NHAN
                  LJMP MAIN
                  DELAY:
                  MOV R7,#30
                  NHAN10:
                  MOV R6,#250
                  DJNZ R6,$
                  DJNZ R7,NHAN10
                  RET
                  END

                  Comment


                  • #10
                    E cảm ơn a nhiều

                    Comment


                    • #11
                      Có bác nào rảnh viết lại cho em xin code c với, đang cần dùng tới nó nhưng code asm chưa học nên k hiểu gì hết, mong mấy sư huynh giúp đỡ

                      Comment

                      Về tác giả

                      Collapse

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

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

                      Collapse

                      Đang tải...
                      X