| Микроконтролери и електроника http://mcu-bg.com/mcu_site/ |
|
| импулс 38Khz 0,2 секунди http://mcu-bg.com/mcu_site/viewtopic.php?f=7&t=3227 |
Страница 1 от 1 |
| Автор: | mash [ Сря Ное 08, 2006 1:01 pm ] |
| Заглавие: | импулс 38Khz 0,2 секунди |
Здравейте ! опитвам се да напиша подпрограма за импулс с продължителност 0.2 секунди модулиран с честота 38Khz. До тук успях да модулирам импулса с 38Khz ,но не мога да го накарам да трае 0.2 секунди. Ето и подпрограмата : Wait movlw D'148'; при делител 1:8 movwf Counter clrf TMR0 again bcf INTCON,T0IF loop btfss INTCON,T0IF goto loop decfsz Counter,f goto again return main check btfsc PORTB,1 goto check call flash flash bsf PORTB,5 call Wait bcf PORTB,5 goto main |
|
| Автор: | Predator_MF [ Сря Ное 08, 2006 1:17 pm ] |
| Заглавие: | |
Добави си една променлива примерно tmr_status, в която ще пишеш 0 при пускане на импулса и 1 когато таймера ти отброи тия 0.2s. Във функцията, с която човръкаш 38-те KHz проверяваш дали тая променлива е 0 и изпълняваш само при това условие....примерно |
|
| Автор: | evc [ Сря Ное 08, 2006 2:12 pm ] |
| Заглавие: | |
Препълваш стека! От подпрограма се излиза с "return", а не с "goto", както си направил в подпрограмата "flash"! Какъв е процесора? Някои имат вградени USART или PWM модули и ако не ги ползваш, защо да не генерираш 38кHz с някой от тях? Освен това в 0,2 секунди има точно 7600 периода на 38кНz. За да отмериш времето, можеш просто да ги изброиш. |
|
| Автор: | VSU [ Сря Ное 08, 2006 2:36 pm ] |
| Заглавие: | |
Направи си PWM модула да генерира 38кХц формулата за сметките на периода (1/freq) ги има в даташийта и го командвай него като записваш 0 или половината от периода в CCP регистъра за времето което ти е нужно 0.2 сек при тебе нещо от сорта CCP = 50; <--това е стойнос която ти прави 1/2 от периода за да е 50% ЗАПЪЛВАНЕ wait(200ms); CCP = 0; напиши си го на ASM |
|
| Автор: | mash [ Сря Ное 08, 2006 6:52 pm ] |
| Заглавие: | |
Пика е 16F84. забравих да поясня |
|
| Автор: | VSU [ Сря Ное 08, 2006 9:20 pm ] |
| Заглавие: | |
еееее та тая 84 е два пъти по съпа от 627/8 а там си има PWM абе какви хора сте бе |
|
| Страница 1 от 1 | Часовете са според зоната UTC + 2 часа [ DST ] |
| Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |
|