PIC Vietnam

Go Back   PIC Vietnam > Microchip PIC > Các ngôn ngữ lập trình khác (CCS C, HT 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

 
 
Ðiều Chỉnh Xếp Bài
Prev Previous Post   Next Post Next
Old 11-01-2008, 01:45 AM   #6
ahchu
Đệ tử 1 túi
 
Tham gia ngày: Mar 2006
Bài gửi: 23
:
Bạn cũng có thể làm như sau:
reset timer về 0, sau đó open timer và cho timer free counting cho đến một giá trị nào đó. Sau đó close timer lại và nhảy ra khỏi vòng lặp.

Đây là một cách dùng timer để đo thời gian một chu kỳ xung (đỡ phải dùng interrupt gì chi cho mệt).

- 1 timer có thể đếm từ 0 cho đến 2^8 (255 count) hay 2^16 (65535 count) (tùy theo bạn chọn cho timer đó là mode 8 bit hay 16 bit)
- Timer còn tùy thuộc vào tốc độ của thạch anh. VD: 8Mhz (crystal) --(VDK)--> Fosc = 8/4 = 2 MHz <=> T = 1/F = 0.5us => 1 instruction cycle=0.5us.

1count=0.5us => 255count= 127.5us (8 bit) hoặc là 32768us (16 bit).

Sau khi timer đếm hết bao nhiêu đó count thì nó sẽ quay lại là 0.
ahchu 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à 10:35 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