Thông báo

Collapse
No announcement yet.

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

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

  • 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

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

    Comment


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

      Comment


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

        Comment


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

          Comment


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

            Comment


            • #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


              • #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


                • #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


                  • #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


                    • #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


                      • #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


                        • #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


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

                            Comment


                            • #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...
                              X