Thông báo

Collapse
No announcement yet.

help me! 3 led 7 thanh đếm lùi thời gian dùng 89c51?

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

  • help me! 3 led 7 thanh đếm lùi thời gian dùng 89c51?

    3 led 7 thanh đếm ngược thời gian từ 300-->0(s),sáng 8 led đơn lân lượt cách nhau 0,5(s) dùng 89C51.
    Anh chị nao biết lam giúp em cái,help me

  • #2
    Viết bằng assembly.

    Trong đoạn code bên dưới P0 xuất ra mã hàng, P1 xuất ra mã cột để điều khiển 3 Led 7 đoạn Anod chung. Code chỉ điều khiển 3 Led 7 đoạn đếm từ 300--> 0 rồi lặp lại. Yêu cầu Led đơn của bạn sáng thế nào tôi không hiểu nên không lập trình được.

    DV EQU R2
    CHUC EQU R3
    TRAM EQU R4
    BGIAY EQU R5

    ..........ORG 000H
    ..........JMP MAIN
    ..........ORG 00BH
    ..........JMP NGAT_T0

    MAIN:..MOV TMOD,#01H
    ..........MOV TH0,#HIGH(-50000)
    ..........MOV TL0,#LOW(-50000)
    ..........CLR TF0
    ..........SETB TR0
    ..........MOV IE,#82H

    TD:.....MOV DV,#0
    ..........MOV CHUC,#0
    ..........MOV TRAM,#3
    X1:.....LCALL BCD_7DOAN
    ..........MOV BGIAY,#0
    X0:.....LCALL HIENTHI
    ..........CJNE BGIAY,#20,X0
    ..........MOV BGIAY,#0
    ..........DEC DV
    ..........CJNE DV,#0FFH,X1
    ......... MOV DV,#9
    ..........DEC CHUC
    ..........CJNE CHUC,#0FFH,X1
    ..........MOV CHUC,#9
    ..........DEC TRAM
    ..........CJNE TRAM,#0FFH,X1
    ..........JMP TD

    ;XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

    NGAT_T0:
    .........MOV TL0,#LOW(-50000)
    .........MOV TH0,#HIGH(-50000)
    .........INC BGIAY
    RETI

    ;XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

    BCD_7DOAN:
    ..........MOV R0,#02H
    ..........MOV R1,#30H
    ..........MOV DPTR,#500H
    X4:.....MOV A,@R0
    ..........MOVC A,@A+DPTR
    ..........MOV @R1,A
    ..........INC R0
    ..........INC R1
    ..........CJNE R0,#05H,X4
    RET

    ;XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

    HIENTHI:
    ..........MOV R0,#30H
    ..........MOV A,#0FEH
    X5:......MOV P0,@R0
    ..........MOV P1,A
    ..........LCALL DELAY
    ..........MOV P1,#0FFH ;CHỐNG LEM
    ..........INC R0
    ..........RL A
    ..........CJNE A,#0F7H,X5
    RET

    ;XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

    DELAY:
    .........MOV R6,#50
    X6:....MOV R7,#100
    .........DJNZ R7,$
    .........DJNZ R6,X6
    RET

    ;XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

    ORG 500H
    DB 0C0H,0F9H, 0A4H, 0B0H, 99H, 92H, 82H, 0F8H, 80H, 90H

    END

    Chúc bạn thành công !!!
    Last edited by sangthai; 07-12-2008, 22:53.

    Comment


    • #3
      sau khi dem ve 0 , 8 led don sang lan luot ma,moi lan sang cach nhau 0,5(s) ma? thay to cho de chi nhu the thoi ma? ai biet lam giup to voi
      Last edited by heobeo88; 07-12-2008, 21:00.

      Comment


      • #4
        led 7 đoạn có dùng giải mã không hay là xuất trực tiếp

        Comment


        • #5
          Nguyên văn bởi heobeo88 Xem bài viết
          3 led 7 thanh đếm ngược thời gian từ 300-->0(s),sáng 8 led đơn lân lượt cách nhau 0,5(s) dùng 89C51.
          Anh chị nao biết lam giúp em cái,help me
          ý bác là hiển thị ra led đơn theo mã nhị phân đúng không ?
          bác dùng 2 vòng lặp là dc thui
          đam mê là không sợ khó khăn

          Comment


          • #6
            code cũng như đếm tiến thôi nhưng thay vì bạn lấy số 0 trước thì bạn cho số 9 là số đầu tiên trong mảng mã led.
            Tổng thống + điện = Ăn mày + điện = die => Tổng thống = ăn mày

            Comment

            Về tác giả

            Collapse

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

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

            Collapse

            Đang tải...
            X