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

Trả lời
 
Ðiều Chỉnh Xếp Bài
Old 16-08-2008, 02:12 AM   #1
0509592
Đệ tử 3 túi
 
Tham gia ngày: Jul 2008
Bài gửi: 58
:
Đếm nhiều hơn 8-bit với Timer0?

chào các bác!
em đã làm về timer/counter cho pic 16f877a. trong timer0 giá trị đếm của thanh ghi TMR0 là 8 bit. vậy khi dùng ở chế độ counter thì nó chỉ đếm được đến 255.
nhưng em muốn nó đếm đến giá trị cao hơn (giả sử là 300 chẳng hạn) thì có cách nào không ạ???
các bác có đoạn code CCS C về timer/counter thì cho em xin luôn để tham khảo ạ!
thanks!
0509592 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 16-08-2008, 04:59 PM   #2
minhdt10
Đệ tử 1 túi
 
Tham gia ngày: May 2008
Bài gửi: 18
:
Trích:
Nguyên văn bởi 0509592 View Post
chào các bác!
em đã làm về timer/counter cho pic 16f877a. trong timer0 giá trị đếm của thanh ghi TMR0 là 8 bit. vậy khi dùng ở chế độ counter thì nó chỉ đếm được đến 255.
nhưng em muốn nó đếm đến giá trị cao hơn (giả sử là 300 chẳng hạn) thì có cách nào không ạ???
các bác có đoạn code CCS C về timer/counter thì cho em xin luôn để tham khảo ạ!
thanks!
Bạn dùng chế độ prescal 1:2 (cứ 2 chu kỳ lệnh Timer0 mới đếm lên 1), 1:4,.., của Timer0
minhdt10 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 18-08-2008, 08:27 PM   #3
0903579509
Đệ tử 4 túi
 
Tham gia ngày: Mar 2007
Nơi Cư Ngụ: Da Nang
Bài gửi: 69
:
Trích:
Nguyên văn bởi 0509592 View Post
chào các bác!
em đã làm về timer/counter cho pic 16f877a. trong timer0 giá trị đếm của thanh ghi TMR0 là 8 bit. vậy khi dùng ở chế độ counter thì nó chỉ đếm được đến 255.
nhưng em muốn nó đếm đến giá trị cao hơn (giả sử là 300 chẳng hạn) thì có cách nào không ạ???
các bác có đoạn code CCS C về timer/counter thì cho em xin luôn để tham khảo ạ!
thanks!
Bạn nên nói rõ ý đồ của mình để các anh em khác dễ trả lời đúng những gì bạn cần.
Chúc vui!
0903579509 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 04-10-2008, 08:48 PM   #4
caonam
Đệ tử 2 túi
 
Tham gia ngày: Aug 2005
Bài gửi: 30
:
Để đếm nhiều hơn bạn phải kết hợp với phần mềm, ví dụ như bạn sẽ cho tràn khi đếm được 250 đơn vị chẳng hạn, mỗi lần tràn đó bạn sẽ vào ngắt và tăng 1 biến đếm khác lên, như vậy giá trị đếm được sẽ bằng 250 * BIẾN ĐẾM.
Để đếm được chính xác hơn bạn nên cho counter tràn sớm hơn, ví dụ như 5 lần thì tràn (tức giá trị nạp vào counter ban đầu sẽ là 250).
caonam vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 05-10-2008, 12:39 AM   #5
anh_gioi
Đệ tử 6 túi
 
Tham gia ngày: Oct 2006
Bài gửi: 147
:
có 1 bài toán như thế này:
em muốn dùng bộ count để đếm xung đầu vào (từ cảm biến SRF05) cho con 16F877A, nhưng em vẫn chưa biến cách làm với count thế nào?
ai có thể giúp em với?
thankssss!!!
anh_gioi vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 05-10-2008, 01:47 PM   #6
0903579509
Đệ tử 4 túi
 
Tham gia ngày: Mar 2007
Nơi Cư Ngụ: Da Nang
Bài gửi: 69
:
Trích:
Nguyên văn bởi anh_gioi View Post
có 1 bài toán như thế này:
em muốn dùng bộ count để đếm xung đầu vào (từ cảm biến SRF05) cho con 16F877A, nhưng em vẫn chưa biến cách làm với count thế nào?
ai có thể giúp em với?
thankssss!!!
Bạn thử xem ví dụ ở file dưới đây, không biết có giúp được cho bạn không?
Chúc vui!
File Kèm Theo
File Type: rar Counter.rar (13.7 KB, 170 lần tải)
0903579509 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Trả lờ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à 04:10 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