| Микроконтролери и електроника http://mcu-bg.com/mcu_site/ |
|
| Странен проблем с външно пълнене на TMR1 http://mcu-bg.com/mcu_site/viewtopic.php?f=3&t=5805 |
Страница 1 от 1 |
| Автор: | perro_iv [ Чет Май 22, 2008 3:58 pm ] |
| Заглавие: | Странен проблем с външно пълнене на TMR1 |
Конфигурирам си таймер1 да се пълни през RB6 на PIC16F87. Този пин е към колектора на един оптрон, който е изтеглен към захр. напр през 10К резистор.Активирам таймера с T1CON,0 и той се препълва без да подавам положителни фронтове.Когато го изключа и тествам пина като стандартен вход по същата схема всичко е ОК, в смисъл няма някви смущаващи осцилации, които да са причина за препълване на таймера. Има ли някаква особеност при конфигурирането на таймера, освен: movlw B'00000110' movwf T1CON Шибаното е че този пин се ползва от ICD-то и не мога да дебъгна както трябва.Иначе съм му дал DEBUG_OFF в конфиг. дума, за да си бъде стандартен I/O. |
|
| Автор: | plameniv [ Чет Май 22, 2008 4:37 pm ] | |||||||||
| Заглавие: | Re: Странен проблем с външно пълнене на TMR1 | |||||||||
А как си конфигурирал OPTION_REG ? Там е важно да му заложиш делител и към кой таймер да ходи от какъв фронт да се пълни ? |
||||||||||
| Автор: | perro_iv [ Чет Май 22, 2008 4:55 pm ] |
| Заглавие: | |
OPTION_REG няма отношение към работата на TMR1, а на TMR0 и WDT. |
|
| Автор: | relsys [ Чет Май 22, 2008 10:09 pm ] |
| Заглавие: | |
пусни синхронизацията |
|
| Автор: | perro_iv [ Пет Май 23, 2008 10:49 am ] |
| Заглавие: | |
Не е от синхронизацията. Възможно ли е да е от това че ICD 2 програматора ползва този пин, въпреки че така или иначе го изключвам а пина го свързвам през джъмпер към у-то. Никви чипове с малко пинове вече ... мамка му ... |
|
| Автор: | GTN [ Пет Май 23, 2008 11:36 am ] | ||||||||||||||||||
| Заглавие: | |||||||||||||||||||
Сигурен ли си че TRISB6=1? Аз точно сега си се занимавам с друг процесор но пак с ТМР1. Пуксма го така:
Като го спирам
|
|||||||||||||||||||
| Автор: | Cekins [ Пет Май 23, 2008 6:03 pm ] |
| Заглавие: | |
Ти всъщност не каза по какво разбираш че се е напълнил таймера - по прекъсване ли, проверяваш TMR1H и ТМR1L или как. |
|
| Автор: | perro_iv [ Пет Май 23, 2008 10:54 pm ] |
| Заглавие: | |
По флаговия бит. Тъй като не мога да използвам ICD-то като дебъгер си пускам едно диотче като контрола. Пускам таймера и следя бита, ако се вдигне паля диода, ако не нищо. Като не пусна таймера диода не светва, като го пусна светва моментално. Нулирам флага и пускам таймера, пускам таймера и на следващата стъпка нулирам флага - все същия резултат. Няква шибана история, ама вече си направих платката и не ми се заменя с някоя 876-ца. Така или иначе се отказах да ползвам таймера по този начин и просто си следя RB6 и инкрементирам. Проблема е, че трябва да преброя близо 600 фронта и с TMR1 в Compare мод на CCP-то щеше да стане перфектно ама и така става. Друг път си вземи Рангеле чип с повече пинове, да не им се припокриват функциите, дебугвай си и си свиркай... Иначе ако някой се сеща нещо по въпроса може да сподели. |
|
| Автор: | Syrius-B [ Съб Май 24, 2008 1:27 am ] |
| Заглавие: | |
Щом не брои от вънка, значи брои от някъде другаде. Прегледай си инициализацията. |
|
| Страница 1 от 1 | Часовете са според зоната UTC + 2 часа [ DST ] |
| Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |
|