![]() |
|
Tài trợ cho PIC Vietnam |
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 |
|
![]() |
#1 |
Đệ tử 1 túi
Tham gia ngày: Jan 2007
Bài gửi: 21
: |
timer0 ở chế độ counter của pic18F4331???
Nếu dùng timer0 để đếm xung thì ta có thể chọn đếm ở cạnh xung lên hoặc cạnh xung xuống. Mình có 1 điều thắc mắc là ta có thể chọn cả hai cạnh không, vừa đếm ở cạnh lên, vừa đếm ở cạnh xuống. Trong datasheet của PIC18F4331 thì muốn chọn đếm ở cạnh lên hoặc cạnh xuống chỉ cần set hoặc clear bit TOSE. Tuy nhiên ta chỉ có 1 bit để chon chế độ đếm ở cạnh nào thôi. Do đó, suy ra ta không thể chọn cùng lúc đếm ở cả cạnh lên và xuống.
Trong thực tế khi mình làm với mạch thực thì 2 cách thiết lập sau đều cho ra kết quả số xung đếm được là như nau: set_RTCC(RTCC_EXT_L_TO_H|RTCC_EXT_H_TO_L, RTCC_DIV_BY_1|RTCC_8_BIT) set_RTCC(RTCC_EXT_L_TO_H, RTCC_DIV_BY_1|RTCC_8_BIT) Không biết mình có sai lầm chỗ nào không? rất mong ý kiến góp ý từ các bạn ![]() |
![]() |
![]() |
![]() |
#2 |
Trưởng lão PIC bang
|
RTCC_EXT_H_TO_L = 1
RTCC_EXT_L_TO_H = 0 RTCC_EXT_L_TO_H|RTCC_EXT_H_TO_L = 0|1 = 1 = RTCC_EXT_H_TO_L Trong cả hai trường hợp, Timer0 chỉ đếm theo 1 cạnh, do đó số xung đếm được là như nhau. Tùy vào tốc độ xuất hiện xung mà bạn có thể đếm cả 2 cạnh hay không, bằng cách thay đổi cạnh xung được phát hiện ngay sau khi đếm được một cạnh. Cụ thể, ban đầu thiết lập phát hiện cạnh lên, ngay khi đếm được một cạnh lên thì sẽ thiết lập lại để phát hiện cạnh xuống, và cứ như thế. Điều này chỉ có thể thực hiện nếu tốc độ xuất hiện xung tương đối thấp, khi đó PIC có đủ thời gian để thực hiện thuật toán trên. Với tốc độ xuất hiện xung cao, bạn cần phải xử lý bằng phần cứng bên ngoài. Thân,
__________________
Biển học mênh mông, sức người có hạn. Đang gặp vấn đề cần được giúp đỡ? Hãy dành ra vài phút đọc luồng sau: http://www.picvietnam.com/forum/showthread.php?t=1263 |
![]() |
![]() |
![]() |
#3 |
Đệ tử 1 túi
Tham gia ngày: Apr 2008
Bài gửi: 16
: |
Bác namqn cho mình hỏi ! Mình cũng làm robot với 8051 rồi !! Nhưng mình thấy 8051 có nhiều han chế quá, làm cứ hay cháy hoài !! Gần 1 tháng nay mình mới chuyển qua PIC và không biết chọn con nào để học. Với kinh nghiệm của Bác namqn thì mình nên chọn con nào để bắt đầu học !! Rất mong được Bác Giúp đỡ !!
|
![]() |
![]() |
![]() |
#4 | |
Trưởng lão PIC bang
|
Trích:
Thân,
__________________
Biển học mênh mông, sức người có hạn. Đang gặp vấn đề cần được giúp đỡ? Hãy dành ra vài phút đọc luồng sau: http://www.picvietnam.com/forum/showthread.php?t=1263 |
|
![]() |
![]() |
![]() |
|
|