PDA

View Full Version : Đếm nhiều hơn 8-bit với Timer0?


0509592
16-08-2008, 02:12 AM
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!

minhdt10
16-08-2008, 04:59 PM
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

0903579509
18-08-2008, 08:27 PM
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!

caonam
04-10-2008, 08:48 PM
Để đế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).

anh_gioi
05-10-2008, 12:39 AM
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!!!

0903579509
05-10-2008, 01:47 PM
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!