Thông báo

Collapse
No announcement yet.

Mấy anh xem giúp em đoạn code này với

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

  • Mấy anh xem giúp em đoạn code này với

    Đề bài là dùng 2 interrupt để tạo ra 2 sóng, nếu interrupt với negative slope thì tạo ra sóng 500Hz, còn interrupt với positive slope thì tạo ra sóng 250Hz. Xài uC 80535. Em không hiểu khúc lệnh MUL AB ở dưới lại tạo ra dc delay 10us. Mấy anh giải thích giúp em với

    ZWEITON:
    ORG 5B ;250 Hz -> T/2 = 2000µs
    LJMP IRPOS

    ORG 4B ;500Hz -> T/2 = 1000µs
    LJMP IRNEG

    ORG 1000h
    START : SETB EAL
    SETB EX2
    SETB EX4

    LOOP: LJMP LOOP

    IRNEG: MOV R0, #100 ;T/2=10µs*100=1000µs
    LCALL TON
    RETI

    IRPOS: MOV R0, #200 ;T/2=10µs*200=2000µs
    LCALL TON
    RETI

    TON: MOV R3, #20
    LOOP3: MOV R2, #250
    LOOP2: CPL P4.3
    MOV 01, R0
    LOOP1: MUL AB ;10µs delay
    MUL AB
    DJNZ R1, LOOP1
    DJNZ R2, LOOP2
    DJNZ R3, LOOP3 ;TD=10µs*100*250*20=5s chạy với sóng 500 Hz hoặc
    RET ;TD=10µs*200*250*20=10s chạy với sóng 250 Hz

Về tác giả

Collapse

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

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

Collapse

Đang tải...
X