Thông báo

Collapse
No announcement yet.

có ai chỉ giúp mình cách tính thời gian delay với

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

  • #16
    Nguyên văn bởi trancannam Xem bài viết
    dung thach anh 12Mh nha cho chinh xac
    DELAY1S: MOV 7AH,#500000
    DJNZ 7FH,$

    vay chac ban hieu chu gi?
    djnz 2 chu ky may tuc 2us, giam 500.000 tuc la ton thoi gian = 500.000 x 2us = 1s
    7AH là địa chỉ của RAM nội chỉ chứa được giá trị tối đa là 255, bạn nạp 500.000 làm sao được
    ????????
    0945061338(vocam.h@gmail.com,lehanhdtk3@gmail.com)
    ||
    PROGRAMING(C,ASM),HARDWARE,LMD,RTC,GPRS,GPS....ALL OF VDK

    Comment


    • #17
      Nguyên văn bởi trancannam Xem bài viết
      dung thach anh 12Mh nha cho chinh xac
      DELAY1S: MOV 7AH,#500000
      DJNZ 7FH,$

      vay chac ban hieu chu gi?
      djnz 2 chu ky may tuc 2us, giam 500.000 tuc la ton thoi gian = 500.000 x 2us = 1s

      hoan hô! nhưng mà bạn chưa hiểu gì về vi điều khiển cả
      bạn hiểu gì về từng dòng lệnh trong ASM ko?
      bạn đã thử phân tích một chương trình nào đó, đã biết CPU nó xử lý từng lệnh như thế nào, thời gian cho từng lệnh, cách thức thoát khỏi một chương trình con, các thủ tục kèm theo chưa?...
      Kiếm tiền cưới vợ!!!

      Comment


      • #18
        Mấy cái hàm tạo trễ này rất quen thuộc, hầu như sách vdk nào cũng có nói. Trên mạng, cũng đã có nhiều bài trao đổi rồi! Vậy mà vẫn còn một số bạn lóng ngóng quá nhỉ!
        Ta có thể xây dựng trễ 1ms là thời gian đơn vị, muốn trễ lâu hơn thì nhân lên thôi. Chằng hạn trễ 1s => làm 1000 lần trễ 1ms. Với thạch anh 12MHz thì chu kì dao động T=1us, việc tính toán này quá đơn giản phải không!?

        Trễ_1ms:
        MOV R7,#250
        lặp_giảm:
        NOP
        NOP
        DJNZ R7,lặp_giảm
        RET

        Ghi chú:
        - 2 lệnh NOP tốn 2T
        - Lệnh DJNZ tốn 2T
        - Lặp lại 250 lần của 4T => 250x4x1us = 1000us = 1ms.
        !e

        Comment


        • #19
          Nguyên văn bởi thundernhut Xem bài viết
          mov r6,#0ffh
          de: mov r7,#0ffh
          djnz r7,$
          djnz r6,de

          mình có đoạn code delay như vậy
          viết cho at89s52 dùng thạch anh 12 MHz
          không hiểu làm sao biết cách tính đoạn trên là delay ? giây
          Các cao thủ chỉ giúp em với
          theo mình bít thì lệnh djnz và lệnh MOV chiếm 2 chu kì máy nếu ban dùng thạch anh 12Mhz
          thì 1 chu kì khoảng 1us
          cách tính chu kì:
          Tmáy = 12 * Txn = 12*1/f= 12*1/(12*10^6)
          (thạch anh 12Mhz) nếu là thạch anh khác thì bạn chỉ thay f khác thôi

          thời gian trễ của bạn :t=(2*255+2)*255+2
          nói chung cách tính này không chính xác lắm tốt nhất bạn nên dùng timer nó vừa dễ lại vừa chính xác.

          Comment


          • #20
            Mình mới học vxl cũng xin viết dùng timer2_autoreload, sai chỗ nào ae chỉ giáo :
            Ta hình dung thế này nhé, timer 2 có 16 bit==> tối đa là FFFFH==> 65535
            Vậy ta dùng timer 2 để đếm tối đa là 65536 Micro s (Đếm từ 0-->65535)
            VD cần tính 10ms (10.000 Micro s) thì ta sẽ đếm từ (65536-10000)=55536=#0D8F0H đến 65536 là được 10ms thì báo tràn.

            org 100
            Init:
            clr EA ;Cam tat ca cac ngat
            mov SP,#2FH ;Khoi tao ngan xep
            mov T2CON,#00H ;T2 lam viec o che do Auto_reload
            mov TH2,#0D8H
            mov TL2,#0FOH
            mov RCAP2H,TH2
            mov RCAP2L,TL2
            mov a,#01H
            setb TR2 ;Cho phep T2 lam viec
            setb IE.5 ;Cho phep ngat tran T2
            setb EA ;Cho phep tat ca cac ngat
            here:
            sjmp here ;Doi ngat

            Để có đúng 1 s, bạn tạo thêm 1 biến a=100, sau đó dùng djnz để giảm a 100 lần. Vậy sau 100 lần *10ms( 1 lân)=1000ms=1s

            Comment


            • #21
              mov TL2,#0FOH -->viết nhần số 0 thành chữ O
              Mạch nạp Pickit 2 SE ---> 170k BH 1 năm
              Pic 18F2550 PDIP Thailand bao test 60K/1c


              Comment


              • #22
                Hì, lỗi kỹ thuật, yên tâm lỗi này là bọn biên dịch bắt ngay

                Comment


                • #23
                  Viết như bạn kissyou thì em chơi kiểu thanh ghi R nhanh hơn, ngắn hơn nhiều, khỏi phải thuộc mấy cái A,F gì cho dài dòng.hiiiiii
                  Chúng ta sẽ nhận lại những gì chúng ta cho đi.

                  Comment

                  Về tác giả

                  Collapse

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

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

                  Collapse

                  Đang tải...
                  X