| Микроконтролери и електроника http://mcu-bg.com/mcu_site/ |
|
| Въпросчета за таймер http://mcu-bg.com/mcu_site/viewtopic.php?f=7&t=3707 |
Страница 1 от 1 |
| Автор: | Cobraggg [ Нед Фев 11, 2007 1:06 am ] |
| Заглавие: | Въпросчета за таймер |
Здравейте.Искам да попитам как се изчислява таймер(формула).Примерно имам PIC18F452 с 20MHz кварц и ползвам Таймер0.Настройвам Т0CS е 0,Т08BIT е 0 демек 16bit,ТМR0 му записвам FFFF и прескалера 1:2. 1.CLK0 равно ли е на Fosc/4? 2.Може ли някои да ми напише формулата по която да се изчисли времето за което се препълва брояча. 3.Можете ли да дадете съвет как мога примерно 3 цифрено число(123) да го разбия на 1,2 и 3.Аз ползвам % и делене обаче става много тромаво. Благодаря предварително |
|
| Автор: | Nico [ Нед Фев 11, 2007 3:34 am ] |
| Заглавие: | |
http://www.mcu-bg.com/mcu_site/viewtopic.php?t=3065 Виж това дали няма да ти свърши работа |
|
| Автор: | Predator_MF [ Пон Фев 12, 2007 12:55 pm ] |
| Заглавие: | |
@Cobraggg, незнам къде си го видял това CLK0, определено го няма като дефиниция в PDF-а на 18F452. 1. Ако приемем че така си кръстил входната честота на Timer0, тя е Fosc/4. 2. Формулка...за кое? Имаш 16-битов брояч, на който подаваш Fosc/4, прескалера ти е 1:2, тоест разделяш още на две, значи имаш Fosc/8 като входна честота....един тик на таймера ще е 20'000'000/8 = 2'500'000Hz (2.5MHz), обърнато във време това са 400ns такт. Брояча върти от 0 до FFFF, това са 65536 такта за да се препълни, значи времето за което ще ти се генерира прекъсване е 65536*(4*10Е-7) = 26.2144ms ...можеш да си изведеш формулка въз основа на тази теория 3. Има го написано в поне 5 теми в Академия...пишеш BCD в търсачката на форума и воала - http://www.mcu-bg.com/mcu_site/viewtopi ... hlight=bcd например |
|
| Страница 1 от 1 | Часовете са според зоната UTC + 2 часа [ DST ] |
| Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |
|