Chào các bạn !
Mình có đoạn chương trình tạo trễ sau với yêu cầu là trễ 1 phút .
Mình chạy mô phỏng thì lại thấy nó trễ đến 75 giây, mặc dù theo mình tính toán tổng thời gian của vòng lặp + ngắt + chu kỳ lệnh là vừa đủ 1 phút.
Không biết là do mình tính sai hay là do mô phỏng không chính xác ?
Vì cái này mà mình " đau đầu " mấy hôm rồi mà vẫn " không hiểu nổi "
!
Các bạn giúp mình với !
Cảm ơn nhiều nha !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!
INCLUDE 89C51.mc
org 00h
SJMP Main
;**************************
org 0Bh
LJMP delay_1ph
;**************************
org 30h
Main:
MOV TMOD,#01
MOV TL0,#00h
MOV TH0,#00h
MOV IE,#10000010b
MOV IP,#00000010b
SETB TR0
;**************************
; doan chuong trinh doi ngat
doi: CJNE R2,#0,doi
CLR TR0
LJMP Main
;**************************
delay_1ph:
CLR TR0
CLR TF0
MOV TL0,#01h
MOV TH0,#00h
DEC R2
MOV R7,#201
ham_0: MOV R6,#215
ham_1: MOV R5,#255
ham_2: MOV R4,#1
ham_3: DJNZ R4,ham_3
DJNZ R5,ham_2
DJNZ R6,ham_1
DJNZ R7,ham_0
SETB TR0
RETI
;**************************
Mình có đoạn chương trình tạo trễ sau với yêu cầu là trễ 1 phút .
Mình chạy mô phỏng thì lại thấy nó trễ đến 75 giây, mặc dù theo mình tính toán tổng thời gian của vòng lặp + ngắt + chu kỳ lệnh là vừa đủ 1 phút.
Không biết là do mình tính sai hay là do mô phỏng không chính xác ?
Vì cái này mà mình " đau đầu " mấy hôm rồi mà vẫn " không hiểu nổi "
![39](http://dientuvietnam.net/forums/images/smilies/39.gif)
Các bạn giúp mình với !
Cảm ơn nhiều nha !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!
INCLUDE 89C51.mc
org 00h
SJMP Main
;**************************
org 0Bh
LJMP delay_1ph
;**************************
org 30h
Main:
MOV TMOD,#01
MOV TL0,#00h
MOV TH0,#00h
MOV IE,#10000010b
MOV IP,#00000010b
SETB TR0
;**************************
; doan chuong trinh doi ngat
doi: CJNE R2,#0,doi
CLR TR0
LJMP Main
;**************************
delay_1ph:
CLR TR0
CLR TF0
MOV TL0,#01h
MOV TH0,#00h
DEC R2
MOV R7,#201
ham_0: MOV R6,#215
ham_1: MOV R5,#255
ham_2: MOV R4,#1
ham_3: DJNZ R4,ham_3
DJNZ R5,ham_2
DJNZ R6,ham_1
DJNZ R7,ham_0
SETB TR0
RETI
;**************************
Comment