Mấy anh cao thủ asm giúp e với !!!!!!!!!!help!!!!!!!!!!!!!!!

Collapse
X
 
  • Giờ
  • Show
Clear All
new posts
  • lenhoc91
    Thành viên tích cực
    • Oct 2011
    • 208

    #1

    Mấy anh cao thủ asm giúp e với !!!!!!!!!!help!!!!!!!!!!!!!!!

    mấy anh chỉ dùm e để delay bằng ic 555 chỉnh nhịp cho led thì phải viêt chổ nào. code e đây ah:




    OUT0 BIT P2.0
    OUT1 BIT P2.1
    OUT2 BIT P2.2
    OUT3 BIT P2.3
    OUT4 BIT P2.4
    OUT5 BIT P2.5
    OUT6 BIT P2.6
    OUT7 BIT P2.7

    ORG 0
    MOV 100, #1

    MOV P0, #0
    MOV P1, #0
    MOV P2, #0
    MOV P3, #0
    ;-------------------------

    CAPNHAT:
    CALL CT1

    JMP CAPNHAT

    ;-----------------------------------

    CT1:
    MOV DPTR, #BD

    T:
    MOV A, #0
    MOVC A, @A + DPTR
    MOV 40, A
    INC DPTR

    MOV A, #0
    MOVC A, @A + DPTR
    MOV 41, A
    INC DPTR

    MOV A, #0
    MOVC A, @A + DPTR
    MOV 42, A
    INC DPTR

    MOV A, #0
    MOVC A, @A + DPTR
    MOV 43, A
    INC DPTR

    MOV A, #0
    MOVC A, @A + DPTR
    MOV 44, A
    INC DPTR

    MOV A, #0
    MOVC A, @A + DPTR
    MOV 45, A
    INC DPTR

    MOV A, #0
    MOVC A, @A + DPTR
    MOV 46, A
    INC DPTR

    MOV A, #0
    MOVC A, @A + DPTR
    MOV 47, A
    INC DPTR


    CALL TRE1

    MOV R4, DPH
    CJNE R4, #HIGH(KT), TTEMP
    MOV R4, DPL
    CJNE R4, #LOW(KT), TTEMP

    RET

    TTEMP: JMP T
    ;---------------------
    LEDOUT:

    PUSH DPH
    PUSH DPL

    MOV DPTR, #MUC
    MOV R2, DPH
    MOV R3, DPL
    CHUA1:
    TIEP1:
    MOV A, 40
    MOVC A, @A+DPTR
    CALL GETBIT
    CALL GETBIT
    CALL GETBIT
    CALL GETBIT

    MOV OUT0,C

    MOV A, 41
    MOVC A, @A+DPTR
    CALL GETBIT
    CALL GETBIT
    CALL GETBIT
    CALL GETBIT
    CALL GETBIT

    MOV OUT1,C

    MOV A, 42
    MOVC A, @A+DPTR
    CALL GETBIT
    CALL GETBIT
    CALL GETBIT
    CALL GETBIT

    MOV OUT2,C

    MOV A, 43
    MOVC A, @A+DPTR
    CALL GETBIT
    CALL GETBIT
    CALL GETBIT
    CALL GETBIT

    MOV OUT3,C

    MOV A, 44
    MOVC A, @A+DPTR
    CALL GETBIT
    CALL GETBIT
    CALL GETBIT
    CALL GETBIT

    MOV OUT4,C

    MOV A, 45
    MOVC A, @A+DPTR
    CALL GETBIT
    CALL GETBIT
    CALL GETBIT
    CALL GETBIT

    MOV OUT5,C


    MOV A, 46
    MOVC A, @A+DPTR
    CALL GETBIT
    CALL GETBIT
    CALL GETBIT
    CALL GETBIT

    MOV OUT6,C

    MOV A, 47
    MOVC A, @A+DPTR
    CALL GETBIT
    CALL GETBIT
    CALL GETBIT
    CALL GETBIT

    MOV OUT7,C




    INC 100
    MOV R6, 100
    CJNE R6, #9, TIEP

    MOV 100, #1
    MOV DPH, R2
    MOV DPL, R3

    INC DPTR
    INC DPTR
    INC DPTR
    INC DPTR
    INC DPTR
    INC DPTR
    INC DPTR
    INC DPTR


    INC DPTR
    INC DPTR
    INC DPTR
    INC DPTR
    INC DPTR
    INC DPTR
    INC DPTR
    INC DPTR


    INC DPTR
    INC DPTR
    INC DPTR
    INC DPTR
    INC DPTR
    INC DPTR
    INC DPTR
    INC DPTR

    INC DPTR
    INC DPTR
    INC DPTR
    INC DPTR
    INC DPTR
    INC DPTR

    MOV R2, DPH
    MOV R3, DPL

    CJNE R2, #HIGH(EV), CHUA
    CJNE R3, #LOW(EV), CHUA


    POP DPL
    POP DPH
    RET
    ;-----------------
    TIEP:
    JMP TIEP1

    CHUA:
    JMP CHUA1
    ;-------------------

    GETBIT:
    MOV R7, 100
    CX:
    RLC A
    DJNZ R7, CX
    RET

    ;------------------------
    TRE:

    MOV 105, #200
    D2:
    MOV 106, #250
    D1:

    DEC 106
    MOV R4, 106
    CJNE R4, #0, D1

    DEC 105
    MOV R5, 105
    CJNE R5, #0, D2
    RET
    ;----------------------
    TRE1:
    CALL LEDOUT
    CALL LEDOUT

    CALL LEDOUT
    CALL LEDOUT

    CALL LEDOUT
    CALL LEDOUT
    CALL LEDOUT
    CALL LEDOUT

    CALL LEDOUT
    CALL LEDOUT

    CALL LEDOUT
    CALL LEDOUT
    RET
    ;---------------------------------------------
    MUC:
    DB 00000000B, 10000000B, 11000000B, 11100000B, 11110000B, 11111000B, 11111100B, 11111110B, 11111111B, 11111111B
    DB 11111111B, 11111111B, 11111111B, 11111111B, 11111111B, 11111111B, 11111111B, 11111111B, 11111111B, 11111111B
    DB 11111111B, 11111111B, 11111111B, 11111111B, 11111111B, 11111111B, 11111111B, 11111111B, 11111111B, 11111111B

    DB 00000000B, 00000000B, 00000000B, 00000000B, 00000000B, 00000000B, 00000000B, 00000000B, 00000000B, 10000000B
    DB 11000000B, 11100000B, 11110000B, 11111000B, 11111100B, 11111110B, 11111111B, 11111111B, 11111111B, 11111111B
    DB 11111111B, 11111111B, 11111111B, 11111111B, 11111111B, 11111111B, 11111111B, 11111111B, 11111111B, 11111111B

    EV:
    DB 00000000B, 00000000B, 00000000B, 00000000B, 00000000B, 00000000B, 00000000B, 00000000B, 00000000B, 00000000B
    DB 00000000B, 00000000B, 00000000B, 00000000B, 00000000B, 00000000B, 00000000B, 00000000B, 00000000B, 00000000B
    DB 00000000B, 00000000B, 00000000B, 00000000B, 00000000B, 00000000B, 00000000B, 00000000B, 00000000B, 00000000B
    DB 00000000B, 00000000B, 00000000B, 00000000B, 00000000B, 00000000B, 00000000B, 00000000B, 00000000B, 00000000B
    DB 00000000B, 00000000B, 00000000B, 00000000B, 00000000B, 00000000B, 00000000B, 00000000B, 00000000B, 00000000B
    DB 00000000B, 00000000B, 00000000B, 00000000B, 00000000B, 00000000B, 00000000B, 00000000B, 00000000B, 00000000B


    DB 00000000B, 00000000B, 00000000B, 00000000B, 00000000B, 00000000B, 00000000B, 00000000B
    DB 00000000B, 00000000B, 00000000B, 00000000B, 00000000B, 00000000B, 00000000B, 00000000B
    DB 00000000B, 00000000B, 00000000B, 00000000B, 00000000B, 00000000B, 00000000B, 00000000B
    DB 00000000B, 00000000B, 00000000B, 00000000B, 00000000B, 00000000B, 00000000B, 00000000B
    DB 00000000B, 00000000B, 00000000B, 00000000B, 00000000B, 00000000B, 00000000B, 00000000B
    DB 00000000B, 00000000B, 00000000B, 00000000B, 00000000B, 00000000B, 00000000B, 00000000B
    DB 00000000B, 00000000B, 00000000B, 00000000B, 00000000B, 00000000B, 00000000B, 00000000B
    DB 00000000B, 00000000B, 00000000B, 00000000B, 00000000B, 00000000B, 00000000B, 00000000B
    DB 00000000B, 00000000B, 00000000B, 00000000B, 00000000B, 00000000B, 00000000B, 00000000B
    DB 00000000B, 00000000B, 00000000B, 00000000B, 00000000B, 00000000B, 00000000B, 00000000B
    DB 00000000B, 00000000B, 00000000B, 00000000B, 00000000B, 00000000B, 00000000B, 00000000B
    DB 00000000B, 00000000B, 00000000B, 00000000B, 00000000B, 00000000B, 00000000B, 00000000B
    DB 00000000B, 00000000B, 00000000B, 00000000B, 00000000B, 00000000B, 00000000B, 00000000B
    DB 00000000B, 00000000B, 00000000B, 00000000B, 00000000B, 00000000B, 00000000B, 00000000B
    DB 00000000B, 00000000B, 00000000B, 00000000B, 00000000B, 00000000B, 00000000B, 00000000B
    DB 00000000B, 00000000B, 00000000B, 00000000B, 00000000B, 00000000B, 00000000B, 00000000B

    ;--------------------------------------------------------------------------------------------




    ;----------------------------------------------------------------------------------------------------------------------------

    BD:
    ; P1
    ;------------------------------------- -
    ; SANG LAN DAN
    DB 29, 00, 00, 00, 00, 00, 00, 29

    DB 00, 29, 00, 00, 00, 00, 29, 29

    DB 00, 00, 29, 00, 00, 29, 29, 29

    DB 29, 00, 00, 00, 29, 29, 29, 29

    DB 00, 29, 00, 29, 29, 29, 29, 29

    DB 00, 00, 29, 29, 29, 29, 29, 29


    ;------nhapnhay--------------

    DB 29, 00, 00, 29, 29, 29, 29, 29
    ;-----------------------------------
    DB 00, 29, 00, 00, 00, 00, 00, 00

    DB 00, 00, 29, 29, 29, 29, 29, 29

    DB 29, 00, 00, 00, 00, 00, 00, 00

    DB 00, 29, 00, 29, 29, 29, 29, 29

    DB 00, 00, 29, 00, 00, 00, 00, 00
    ;--------------------------------
    ;------donled-----------------

    DB 29, 00, 00, 00, 00, 00, 00, 29

    DB 00, 29, 00, 00, 00, 00, 29, 00

    DB 00, 00, 29, 00, 00, 29, 00, 00

    DB 29, 00, 00, 00, 29, 00, 00, 00

    DB 00, 29, 00, 29, 00, 00, 00, 00

    DB 00, 00, 29, 29, 00, 00, 00, 00

    DB 29, 00, 00, 29, 00, 00, 00, 29

    DB 00, 29, 00, 29, 00, 00, 29, 00

    DB 00, 00, 29, 29, 00, 29, 00, 00

    DB 29, 00, 00, 29, 29, 00, 00, 00


    DB 00, 29, 00, 29, 29, 00, 00, 00

    DB 00, 00, 29, 29, 29, 00, 00, 00

    DB 29, 00, 00, 29, 29, 00, 00, 29

    DB 00, 29, 00, 29, 29, 00, 29, 00

    DB 00, 00, 29, 29, 29, 29, 00, 00


    DB 29, 00, 29, 29, 29, 29, 00, 00

    DB 00, 29, 00, 29, 29, 29, 00, 00

    DB 00, 00, 29, 29, 29, 29, 00, 00

    DB 29, 00, 00, 29, 29, 29, 00, 29

    DB 00, 29, 00, 29, 29, 29, 29, 00

    DB 00, 00, 29, 29, 29, 29, 29, 29

    ;------------------------------------
    ;---chay sole

    DB 29, 00, 00, 00, 00, 00, 00, 29

    DB 00, 29, 00, 00, 00, 00, 29, 00

    DB 00, 00, 29, 00, 00, 29, 00, 29

    DB 29, 00, 00, 00, 29, 00, 29, 00

    DB 00, 29, 00, 29, 00, 29, 00, 29


    DB 00, 00, 29, 29, 29, 00, 29, 00

    DB 29, 00, 00, 29, 29, 29, 00, 29

    DB 00, 29, 00, 29, 29, 29, 29, 00

    DB 00, 00, 29, 29, 29, 29, 29, 29

    ;....chay o giua chay ra......

    DB 29, 00, 00, 00, 00, 29, 00, 00

    DB 00, 29, 00, 00, 29, 29, 29, 00

    DB 00, 00, 29, 29, 29, 29, 29, 29


    DB 29, 00, 00, 00, 00, 29, 00, 00

    DB 00, 29, 00, 00, 29, 29, 29, 00

    DB 00, 00, 29, 29, 29, 29, 29, 29




    ;-----------------------------------------------------------------------

    KT:
    END
  • chung1608
    Thành viên tích cực
    • Sep 2009
    • 4160

    #2
    code quá kinh dị, đọc xong chả hiểu ra nổi thuật toán thế nào @@

    Comment

    • ozonedark2
      Thành viên tích cực
      • Sep 2008
      • 267

      #3
      nhìn chóng mặt quá
      |

      Comment

      • hungtrinh36
        Thành viên tích cực
        • Apr 2011
        • 346

        #4
        cái này gọi là lô cốt hả

        Comment

        • anh_hung_21
          Thành viên tích cực
          • Sep 2011
          • 313

          #5
          chả hiểu code đó mục đích là gì mà lằng nhằng vậy.

          Comment

          • lenhoc91
            Thành viên tích cực
            • Oct 2011
            • 208

            #6
            dùng để điều kiển led đó anh

            Comment

            • Ck33spkt
              Thành viên tích cực
              • Apr 2010
              • 616

              #7
              Nguyên văn bởi lenhoc91 Xem bài viết
              dùng để điều kiển led đó anh
              Nhìn đống code này còn khủng hơn cả code trái tim.
              Muốn tạo delay bằng 555 bạn tham khảo đoạn code này:
              Code:
              xung555:
                  mov    r1,#00h
              kt1:    jnb    p3.7,kt1
                  inc    r1
                  cjne    r1,#255,kt1
                  ret
                  end
              Xung ra từ 555 đưa vào p3.7

              Comment

              • dtcn_112
                Thành viên tích cực
                • Apr 2012
                • 267

                #8
                cái code này đọc thì không quá khó hiểu nhưng do cái bảng dữ liệu để ở mã nhị phân nên thấy sợ thôi,nếu tất cả mã đều để ở dạng nhị phân và tạo hiệu ứng theo bit thì rất đơn giản và nhìn bảng mã rất đẹp chỉ là hơi tốn công một chút

                Comment

                • lenhoc91
                  Thành viên tích cực
                  • Oct 2011
                  • 208

                  #9
                  Nguyên văn bởi Ck33spkt Xem bài viết
                  Nhìn đống code này còn khủng hơn cả code trái tim.
                  Muốn tạo delay bằng 555 bạn tham khảo đoạn code này:
                  Code:
                  xung555:
                      mov    r1,#00h
                  kt1:    jnb    p3.7,kt1
                      inc    r1
                      cjne    r1,#255,kt1
                      ret
                      end
                  Xung ra từ 555 đưa vào p3.7
                  thế doạn này đặt chổ nào trong code of e vậy a, e tim hoài hok bik delay chổ nào cả

                  Comment

                  • Ck33spkt
                    Thành viên tích cực
                    • Apr 2010
                    • 616

                    #10
                    Nguyên văn bởi lenhoc91 Xem bài viết
                    thế doạn này đặt chổ nào trong code of e vậy a, e tim hoài hok bik delay chổ nào cả
                    Bạn thay đoạn chương trình tạo trễ của bạn bằng đoạn code trên là được.

                    Comment

                    • lenhoc91
                      Thành viên tích cực
                      • Oct 2011
                      • 208

                      #11
                      Nguyên văn bởi Ck33spkt Xem bài viết
                      Bạn thay đoạn chương trình tạo trễ của bạn bằng đoạn code trên là được.
                      có 3 đoạn thay đoạn nào đây a


                      CALL TRE1

                      MOV R4, DPH
                      CJNE R4, #HIGH(KT), TTEMP
                      MOV R4, DPL
                      CJNE R4, #LOW(KT), TTEMP

                      TRE:

                      MOV 105, #200
                      D2:
                      MOV 106, #250
                      D1:

                      DEC 106
                      MOV R4, 106
                      CJNE R4, #0, D1

                      DEC 105
                      MOV R5, 105
                      CJNE R5, #0, D2


                      TRE1:
                      CALL LEDOUT
                      CALL LEDOUT

                      CALL LEDOUT
                      CALL LEDOUT

                      CALL LEDOUT
                      CALL LEDOUT
                      CALL LEDOUT
                      CALL LEDOUT

                      CALL LEDOUT
                      CALL LEDOUT

                      CALL LEDOUT
                      CALL LEDOUT

                      Comment

                      • lenhoc91
                        Thành viên tích cực
                        • Oct 2011
                        • 208

                        #12
                        e đưa vào 3 đoạn rồi vẫn kodduocjwj a ơi
                        vào đoạn đầu tiên thì led ko co delay
                        đoạn thứ 2 thì vẫn chạy bt như ko 555
                        đoạn thư 3 thì ko led nao sáng lun

                        Comment

                        • Ck33spkt
                          Thành viên tích cực
                          • Apr 2010
                          • 616

                          #13
                          Nguyên văn bởi lenhoc91 Xem bài viết
                          e đưa vào 3 đoạn rồi vẫn kodduocjwj a ơi
                          vào đoạn đầu tiên thì led ko co delay
                          đoạn thứ 2 thì vẫn chạy bt như ko 555
                          đoạn thư 3 thì ko led nao sáng lun
                          Code của bạn mà bạn còn không biết đoạn nào tạo trễ thì mình cũng chịu. Theo mình đoán thì code trên thay vào đoạn TRE để tạo thời gian cho Led sáng hoặc tắt.

                          Comment

                          • lenhoc91
                            Thành viên tích cực
                            • Oct 2011
                            • 208

                            #14
                            mình copy trên mạng ah

                            Comment

                            • lenhoc91
                              Thành viên tích cực
                              • Oct 2011
                              • 208

                              #15
                              bác nào chỉ dùm e nó với........

                              Comment

                              Về tác giả

                              Collapse

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

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

                              Collapse

                              Đang tải...