PIC Vietnam

Go Back   PIC Vietnam > Microchip PIC > Cơ bản về vi điều khiển và PIC

Tài trợ cho PIC Vietnam
Trang chủ Đăng Kí Hỏi/Ðáp Thành Viên Lịch Bài Trong Ngày Vi điều khiển

Cơ bản về vi điều khiển và PIC Những bài hướng dẫn cơ bản nhất để làm quen với vi điều khiển PIC

 
 
Ðiều Chỉnh Xếp Bài
Prev Previous Post   Next Post Next
Old 14-01-2008, 11:06 PM   #5
angel_eyes
Nhập môn đệ tử
 
Tham gia ngày: Oct 2006
Bài gửi: 2
:
Trích:
Nguyên văn bởi wicamb View Post
chào cả nhà.Là 1 người mới bắt đầu về Pic nên em cũng có 1 vài câu hỏi,mà tinh thần thì cũng như bạn "anhdk" vậy.Vi e thấy mục này thich hợp nên muốn hỏi 1 câu:
Nếu viết 1 đoạn chương trình delay đơn giản có nội dung

..... ;các lệnh ở trên


MOVLW 0x20 ;đưa giá trị 20h vào W
MOVWF delay_reg ;gán W cho delay_reg
loop
DECFSZ delay_reg ;giảm giá trị của delay_reg
;và so sánh với 0
GOTO loop

..... ;các lệnh khác

(thạnh anh 4MHz)
gọi t1 là thời gian của 1 chu kì lệnh thì
thời gian của đoạn delay la 3*t1*(N+1)(ở đây N=20)

tại sao lại là N+1 mà không phải N,e đếm thử mà
thấy chưa hợp lí? Nhờ mọi người giải thich tường minh cho
e đoạn này ,xin cảm ơn
Em cũng thắc mắc chỗ này trong cái tut02.pdf của diễn đàn về Delay. Em đã thử đếm thì rõ ràng nếu N = 20 thì sẽ có 19 vòng lặp chương trình thực hiện đủ 2 lệnh DECFSZ và GOTO (tốn 3 chu kỳ lệnh). Tới vòng cuối cùng, lúc đó giá trị thanh ghi W là 1 và lệnh DECFSZ sẽ giảm nó về 0, sau đó so sánh với 0. Vì lúc này giá trị = 0 nên nó sẽ không thực hiện lệnh GOTO nữa mà thay vào đó bằng lệnh NOP (1 chu kỳ).
Như vậy tổng số chu kỳ thực hiện sẽ là 3*19 + 2 chứ đâu phải là 3*(20+1) như bài viết. Như vậy công thức 3*(N+1)*t1 là không đúng. Ngay cả 3*N*t1 cũng không đúng vì ở vòng lặp cuối, lệnh sau DECFSZ sẽ được bỏ qua và thay bằng NOP.
Mọi người có thể giải thích rõ chỗ này không ạ ?
angel_eyes vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
 


Quyền Sử Dụng Ở Diễn Ðàn
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is Mở
Smilies đang Mở
[IMG] đang Mở
HTML đang Tắt

Chuyển đến


Múi giờ GMT. Hiện tại là 11:29 PM.


Được sáng lập bởi Đoàn Hiệp
Powered by vBulletin®
Page copy protected against web site content infringement by Copyscape
Copyright © PIC Vietnam