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 Tìm Kiếm Bài Trong Ngày Ðánh Dấu Ðã Ðọc 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

Trả lời
 
Ðiều Chỉnh Xếp Bài
Old 24-05-2011, 01:48 AM   #1
alycuong
Đệ tử 1 túi
 
Tham gia ngày: Apr 2010
Bài gửi: 16
:
Trích:
Nguyên văn bởi pandora View Post
Theo mình hiều thì cách tính thời gian tràn và ngắt của timer2 ko như timer0 và timer1.
TD trên của phandinh: XTAL = 4 Mhz, 1 ckm = 1 us
setup_timer_2(t2_div_by_16,6,10); // 250 x 16 x 10 = 40.000 us

Theo mình thì, timer2 sẽ tăng mỗi 4/(4*10^6)*16=16us, thời gian tràn sẽ là (6+1)*16us=112us, thời gian ngắt 112us*10=1120us!!!
Vậy là cách tính của ai đúng vậy?

setup_timer_2(t2_div_by_16,6,10); // 250 x 16 x 10 = 40.000 us

Em thấy cái này đúng rồi mà. Còn cái bên dưới này:

Theo mình thì, timer2 sẽ tăng mỗi 4/(4*10^6)*16=16us, thời gian tràn sẽ là (6+1)*16us=112us, thời gian ngắt 112us*10=1120us!!!

thì sao e hok hiểu, ai giải thích giúp e với.
alycuong vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 25-05-2011, 06:06 PM   #2
alycuong
Đệ tử 1 túi
 
Tham gia ngày: Apr 2010
Bài gửi: 16
:
Trích:
Nguyên văn bởi alycuong View Post
Vậy là cách tính của ai đúng vậy?

setup_timer_2(t2_div_by_16,6,10); // 250 x 16 x 10 = 40.000 us

Em thấy cái này đúng rồi mà. Còn cái bên dưới này:

Theo mình thì, timer2 sẽ tăng mỗi 4/(4*10^6)*16=16us, thời gian tràn sẽ là (6+1)*16us=112us, thời gian ngắt 112us*10=1120us!!!

thì sao e hok hiểu, ai giải thích giúp e với.
Có ai bít giải thích giùm e chổ này với.
alycuong vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 07-11-2011, 01:37 AM   #3
Kevin Titan
Nhập môn đệ tử
 
Tham gia ngày: Aug 2011
Bài gửi: 1
:
Trích:
Nguyên văn bởi alycuong View Post
Có ai bít giải thích giùm e chổ này với.
Đến giờ chắc Alycuong đã hiểu vấn đề timer2 rồi nhưng mình cũng xin viết vài dòng để kết luôn.
Giải thích thứ 2 theo mình là đúng. Cách tính như sau:
- T2_div_by_16 : 1us x 16 = 16us - timer tăng lên mỗi 16us
- 6: 16us x(6+1) số lần = 112 - cờ tràn sau mỗi 112us
- 10: 10 x 112 = 1120us - ngắt sau mỗi 1120us

Trong tài tiệu CCS giải thích rõ lắm
Kevin Titan vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Trả lời

Ðiều Chỉnh
Xếp Bài

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:20 AM.


Đượ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