Thông báo

Collapse
No announcement yet.

cần giúp lập trình mạch này

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

  • cần giúp lập trình mạch này


    ai lập trình đc mạch này đếm số từ 0 đến 9999 k? lập trình giùm mình với

  • #2
    có hậu tạ gì ko bạn , bạn dùng 2 biến tam1 và tam2 bạn tăng tam1 lên 99 thì tăng tam2 lên 1 cứ vậy bạn sẽ được số 99 thôi,còn để xuất ra led thì bạn chuyển các số ra dạng bcd rồi xuất ra led sử dụng phuơng pháp quét thế là xong.

    Comment


    • #3
      Đây là đoạn code đếm từ 98 đến 106 hiển thị ra LED 7 đoạn. Rất có ích cho bạn.
      ORG 000H
      MAIN:
      MOV R5,#98
      LOOP: CALL HEX_BCD
      CALL BCD_7DOAN
      MOV 70H,#3
      X2: MOV 71H,#50
      X1: CALL HIENTHI
      DJNZ 71H,X1
      DJNZ 70H,X2
      INC R5
      CJNE R5,#107,LOOP
      JMP MAIN
      ;*********************************************
      HEX_BCD:
      MOV A,R5
      MOV B,#10
      DIV AB
      MOV 10H,B ;DV
      MOV B,#10
      DIV AB
      MOV 11H,B ;CHUC
      MOV 12H,A ;TRAM
      RET
      ;************************************
      BCD_7DOAN:
      MOV DPTR,#MA7DOAN
      MOV R0,#10H
      MOV R1,#20H
      GM: MOV A,@R0
      MOVC A,@A+DPTR
      MOV @R1,A
      INC R0
      INC R1
      CJNE R0,#13H,GM
      RET
      ;*************************************
      HIENTHI:
      MOV R0,#20H
      MOV A,#0FBH
      HT: MOV P0,@R0
      MOV P2,A
      CALL DELAY_HT
      MOV P0,#0FFH ;CHONG LEM
      INC R0
      RL A
      RL A
      CJNE A,#0FEH,HT
      ;==================
      MOV A,#0F7H
      MOV P0,#0BFH
      MOV P2,A
      CALL DELAY_HT
      MOV P0,#0FFH

      MOV A,#0DFH
      MOV P0,#0BFH
      MOV P2,A
      CALL DELAY_HT
      MOV P0,#0FFH
      RET
      ;*************************************
      DELAY_HT:
      MOV 60H,#5
      DEL2: MOV 61H,#100
      DJNZ 61H,$
      DJNZ 60H,DEL2
      RET
      ;*************************************
      MA7DOAN: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H
      ;************************************************* ****************************************
      ;================================================= ==============
      ;************************************************* ****************************************
      END

      Comment


      • #4
        viết bằng C hay asem vậy bạn, mình chỉ viết bằng C dc thôi, còn asem thì bạn xem bài ở trên đó

        Comment


        • #5
          C viết cho dễ....hê

          Comment


          • #6
            Nguyên văn bởi OpenDoor Xem bài viết
            Đây là đoạn code đếm từ 98 đến 106 hiển thị ra LED 7 đoạn. Rất có ích cho bạn.
            ORG 000H
            MAIN:
            MOV R5,#98
            LOOP: CALL HEX_BCD
            CALL BCD_7DOAN
            MOV 70H,#3
            X2: MOV 71H,#50
            X1: CALL HIENTHI
            DJNZ 71H,X1
            DJNZ 70H,X2
            INC R5
            CJNE R5,#107,LOOP
            JMP MAIN
            ;*********************************************
            HEX_BCD:
            MOV A,R5
            MOV B,#10
            DIV AB
            MOV 10H,B ;DV
            MOV B,#10
            DIV AB
            MOV 11H,B ;CHUC
            MOV 12H,A ;TRAM
            RET
            ;************************************
            BCD_7DOAN:
            MOV DPTR,#MA7DOAN
            MOV R0,#10H
            MOV R1,#20H
            GM: MOV A,@R0
            MOVC A,@A+DPTR
            MOV @R1,A
            INC R0
            INC R1
            CJNE R0,#13H,GM
            RET
            ;*************************************
            HIENTHI:
            MOV R0,#20H
            MOV A,#0FBH
            HT: MOV P0,@R0
            MOV P2,A
            CALL DELAY_HT
            MOV P0,#0FFH ;CHONG LEM
            INC R0
            RL A
            RL A
            CJNE A,#0FEH,HT
            ;==================
            MOV A,#0F7H
            MOV P0,#0BFH
            MOV P2,A
            CALL DELAY_HT
            MOV P0,#0FFH

            MOV A,#0DFH
            MOV P0,#0BFH
            MOV P2,A
            CALL DELAY_HT
            MOV P0,#0FFH
            RET
            ;*************************************
            DELAY_HT:
            MOV 60H,#5
            DEL2: MOV 61H,#100
            DJNZ 61H,$
            DJNZ 60H,DEL2
            RET
            ;*************************************
            MA7DOAN: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H
            ;************************************************* ****************************************
            ;================================================= ==============
            ;************************************************* ****************************************
            END
            cám ơn bạn nha, để mình xem thử
            mà bạn có mạch của code trên k, tại dùng bằng asm nên phải có mạch thì mình mới hiểu đc
            Last edited by chick3nb0y9x; 24-04-2011, 14:43.

            Comment


            • #7
              Nguyên văn bởi cattrang1303 Xem bài viết
              viết bằng C hay asem vậy bạn, mình chỉ viết bằng C dc thôi, còn asem thì bạn xem bài ở trên đó
              nếu viết bằng c thì bạn giải thích giùm mình mấy câu lệnh đc k, tại c mình chỉ mới nắm sơ sơ thôi

              Comment

              Về tác giả

              Collapse

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

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

              Collapse

              Đang tải...
              X