eddy12345
Реєстрація: 22 cічня 2008 Повідомлення: 4 Місце: Сполучене Королівство
| 14 лютого 2008 8:24 розуміння таймерів в PIC16F84 | | |
|
| Привіт хлопці,
У мене є проблема намагаються зробити лічильник, який може обробляти широкий діапазон часу. Припускаючи, що мій предделітель-4, і я, MOV, 231 в TMR0
Я отримую 4 (256-231) США = 100uS
і кожного разу його переповнення, і збільшення вартості лічильника. У цьому випадку він займе 100uS по кожному з пунктів звинувачення (до максимального значення були досягнуті, яка 125).
Як зробити лічильник, який може обробляти значення від 1 до 5000? Я хочу це повинно бути так, тому що буде проводити набір Час затримки для виходу:
1) 0ms 600 <кол <5000 2) 4MS для 0 <кол <75 3) затримка виклику таблиці значень 75 <кол <600 4) Перезапустіть програму Count> 5000 |
|
adidav
Реєстрація: 19 квітня 2006 Повідомлень: 15 Допомогло: 1 Розташування: Румунія
| 14 лютого 2008 11:40 Re: розуміння таймерів в PIC16F84 | | |
|
| Привіт eddy12345,
Ви не використовуєте timer1. Є 16bit таймер і ви можете мати період з нами до декількох мс.
Приклад: Fquartz = 4MHz, Масштабний = 2
для TMR1 = 0 Час 131.07ms для TMR1 = 65500 час 70us
Розрахунки були зроблені за такою формулою: Час = ((* Fquartz Масштабний) / 4) * (65535 - TMR1), результат є в нас.
Поздоровлення, ADI |
|