Ðề tài: Hỏi bài?
View Single Post
Old 15-01-2008, 12:00 AM   #6
namqn
Trưởng lão PIC bang
 
Tham gia ngày: Feb 2006
Nơi Cư Ngụ: Tp. HCM, Việt Nam
Bài gửi: 3,025
:
Send a message via Yahoo to namqn
Trả lời cho hai bạn wicamb và angel_eyes, cùng những bạn khác đã và sẽ có thắc mắc về cách tính thời gian trễ (trì hoãn) này. Với đoạn code dưới đây:
Code:
	movlw	D'20'
	movwf	cnt
wait
	decfsz	cnt
	goto	wait
lệnh goto sẽ được thực thi 19 lần, và khi cnt giảm từ 1 xuống 0, lệnh goto sẽ bị bỏ qua, thay bằng một lệnh nop. Thời gian thực thi của đoạn code này là (2 + 19*3 + 2) chu kỳ máy. 2 chu kỳ máy đầu tiên dành cho 2 lệnh movlw và movwf.

Tổng quát, nếu bạn thay 20 bằng N (0 < N <= 255), thời gian thực thi của đoạn code trên sẽ là (2 + (N-1)*3 + 2) chu kỳ máy. Viết gọn lại là (3*N + 1).

Tutorial của Chính tính không chính xác, và thời gian đó tôi đã không kiểm tra code trong tutorial.

Thân,
__________________
Biển học mênh mông, sức người có hạn.

Đang gặp vấn đề cần được giúp đỡ? Hãy dành ra vài phút đọc luồng sau:
http://www.picvietnam.com/forum/showthread.php?t=1263
namqn vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn