Announcement

Collapse
No announcement yet.

Visitor Messages

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • để tạo ra song vuông (thời gian ở mức cao = thời gian ở mức thấp = T/2) ... sóng tần số là 12 KHz => T = 1/12 * 10^-3 s = 0.0833 ms ==> T/2 = 0.0426 ms . Vậy chỉ cần giữ tín hiệu ở mức cao trong khoảng 0.0426 ms và mức thấp cũng như vậy...

    Giả sử Dùng xung 12MHz => 1s thực hiện 10^6 chu kì máy => 0.0426 . 10^-3 s sẽ cần 42 chu kì máy

    ==> cứ 42 chu kì máy thì ta sẽ CPL P1.2 một lần.

    Ở đây lệnh DJNZ là lệnh 2 chu kì máy (xem lại help của M51) => giá trị mov vào R7 sẽ là 42/2 = 21

    Tính toán như thế này thì đúng rồi, nhưng mà nếu check chính xác trên waveform thì sóng vuông tạo ra sẽ bị lệch ít nhất 1 chu kì tức là 10^-6s do nó phải thực hiện SJMP, và LOOP mỗi lệnh mất 1 chu kì máy nữa

    Còn cái vấn đề timer thì không nhất thiết phải như thế đâu :shy:... thông thường người ta dùng mode auto reload của timer để làm delay, delay thường tạo là 50ms. Nếu cần delay lớn hơn thì chỉ cân lặp lại cái delay 50ms đó n lần là được :shy. Nói chung là tùy trường hợp mà ứng dụng
    Một khẩu súng giữ hai trời Nam Bắc,
    Một dấu chân in màu đất hai miền.

    ------------------------------------------------------

LHQC

Collapse
Working...
X