|
Виж темите без отговор | Виж активните теми
Дата и час: Вто Юли 28, 2026 1:34 am
"нискочестотен тактов генератор 1KHZ-0.05HZ С F877"
| Автор |
Съобщение |
|
todorstz
Ранг: Минаващ
Регистриран на: Съб Юни 30, 2007 12:14 am Мнения: 6
|
 "нискочестотен тактов генератор 1KHZ-0.05HZ С F877"
нещо немога да зацепя .немога да постигна толкова ниска честота на генериране с ШИМ, а трябваше да мога,другите таймери могат ама искам да управлявам и коефициента на запълване...доста съм объркан.
забележки да има!
Последна промяна todorstz на Пет Авг 10, 2007 8:04 pm, променена общо 1 път
|
| Пет Авг 10, 2007 7:11 pm |
|
 |
|
Wise
Ранг: Форумен бог
Регистриран на: Нед Дек 19, 2004 6:26 pm Мнения: 1628 Местоположение: Сливен
|
Ами напиши го с малки букви и на кирилица - може някой да прочете!
Така - едва ли!
|
| Пет Авг 10, 2007 7:54 pm |
|
 |
|
Yanek
Ранг: Новодошъл
Регистриран на: Пет Юни 29, 2007 10:59 pm Мнения: 113
|
 Re: "нискочестотен тактов генератор 1KHZ-0.05HZ С F877&
Доколкото разбирам искаш да ползваш PWM режима на 877. Аз лично винаги съм предпочитал да си направя "ръчно" ШИМ-а с таймерите. Не е проблем и управлението на коефициента на запълване. Стана ми интресен твоя случай и според изчисленията максималната честота на uC-то, при която можеш да получиш ШИМ с честота 1000 Hz е около 1000 *( 2 на степен 14) с максимален prescaler. Демек не можеш да получиш честота на ШИМ-а по ниска от 1000 Hz при честота по-висока от 16,384 Mhz на uC-то. Не ми стана ясно какво е това -0.05 Hz. Това някакво отклонение от 1 KHz ли е, долна граница ли или нещо трето, за което не ми стига акъла да схвана. Отхвърлям да е долна граница, щото шим с такава честота практически не можеш да получиш използвайки PWM режима на 877. Малко уточнение, моля.
|
| Пет Авг 10, 2007 10:32 pm |
|
 |
|
ToHu
Ранг: Форумен бог
Регистриран на: Нед Сеп 26, 2004 9:21 pm Мнения: 30686 Местоположение: София
|
Абе според мен за класически ШИМ вграденя модул си е най-добре, а за тази честота . мързи ме да смятам, не е трудно, в описанието имаш формулата и може да провериш при твоята честота дали можеш да постигнеш желаната от теб.
|
| Пет Авг 10, 2007 10:35 pm |
|
 |
|
todorstz
Ранг: Минаващ
Регистриран на: Съб Юни 30, 2007 12:14 am Мнения: 6
|
 RE
ИМЕННО ЦЕЛТА Е ДА ГЕНЕРИРАМ 0.05HZ ДОЛНА ГРАНИЦА.
ОПРЕДЕЛЕНО СЕ УБЕДИХ ЧЕ С ШИМ НЕМОЖЕ, НО КАК ТОГАВА ДА СИ УПРАВЛЯВАМ ПРОДЪЛЖИТЕЛНОСТТА НА ИМПУЛСА?
|
| Съб Авг 11, 2007 2:11 pm |
|
 |
|
Ки4о
Ранг: Форумен бог
Регистриран на: Съб Юли 22, 2006 9:50 pm Мнения: 1638
|
А какво мислиш по предложението - да вземеш да се убедиш,че трябва да се пише и с малки букви ?
|
| Съб Авг 11, 2007 4:37 pm |
|
 |
|
todorstz
Ранг: Минаващ
Регистриран на: Съб Юни 30, 2007 12:14 am Мнения: 6
|
 /
МНОГО ПРИНЦИПЕН СИ БРЕ КИР4О ЛИ СИ КАКЪВ СИ?така е добре а:)
|
| Съб Авг 11, 2007 6:21 pm |
|
 |
|
ДедоБоре
Ранг: Форумен бог
Регистриран на: Нед Ное 21, 2004 11:31 pm Мнения: 10088
|
приеми критика и от мен
|
| Съб Авг 11, 2007 7:43 pm |
|
 |
|
ToHu
Ранг: Форумен бог
Регистриран на: Нед Сеп 26, 2004 9:21 pm Мнения: 30686 Местоположение: София
|
Ами за 0.05 изцяло софтуерно, какво точно те мъчи. Правиш си софтуерен ШИМ, при тези ниски честоти няма да гълта много време.
|
| Съб Авг 11, 2007 9:43 pm |
|
 |
|
Yanek
Ранг: Новодошъл
Регистриран на: Пет Юни 29, 2007 10:59 pm Мнения: 113
|
При подобни честоти, ще трябва да го обмислиш. Решението зависи от много фактори, като това по какъв закон ще се изменя честотата, с каква стъпка, съответно същото за коефициента на запълване. Тъй като ми стана интересно би ли споменал повече подробности?
|
| Нед Авг 12, 2007 10:54 am |
|
 |
|
bateAz
Ранг: Форумен бог
Регистриран на: Нед Сеп 26, 2004 4:11 pm Мнения: 3750 Местоположение: София
|
Това за какво ти трябва: комерсиално приложение, за курсов проект или за чесане на крастата? Щото подходът е различен ...
|
| Нед Авг 12, 2007 10:56 am |
|
 |
|
todorstz
Ранг: Минаващ
Регистриран на: Съб Юни 30, 2007 12:14 am Мнения: 6
|
мисля да оживя едно такова нещо с 4 бутонна клавиатура задаваща ми период и продължителност на импулса с определени стъпки разбира се,и едно дисплейче .Ами това е общо взето само незнам искам посредством 2-3 регистъра да управлява тези параметри ама...трудно при зададените граници.някой може ли да ми постне някое сайтче от което мога да прочета повечко за тази таймерна система .Благодаря ви предварително.
|
| Нед Авг 12, 2007 2:57 pm |
|
 |
|
Ки4о
Ранг: Форумен бог
Регистриран на: Съб Юли 22, 2006 9:50 pm Мнения: 1638
|
Има всякакви примери: www.microchip.com
А и ще ти трябват повече от 4 регистъра в зависимост от това с какъв кварц си подкарал процесора.А тази таймерна система си я правиш сам на принципа на старите броячи.Това проектче може да се събере и в един 16F84 
|
| Нед Авг 12, 2007 3:05 pm |
|
 |
|
key5
Ранг: Минаващ
Регистриран на: Пет Дек 29, 2006 11:50 am Мнения: 14
|
Е щом те мъчат таймерите, а и ще имаш LCD и клавиатура само, виж най отдолу на цитата:
 |  |  |  | Цитат: ● Using internal PWM modules
Internal PWM modules (more precisely: PWM modes of CCP modules) are turned on using PWMON statement. This statement has two arguments. The first argument is module number and it must be a constant in the range 1-3. The second argument is used for mode selection. Internal PWM module can be used on three different output frequencies for each of four duty cycle resolutions supported by PWMON statement (10-bit, 9-bit, 8-bit and 7-bit). So, PWM module can be turned on with PWMON statement in 12 modes. Here is the list of all modes at 4MHz clock frequency (for other clock frequencies, the values should be proportionally adjusted): mode 1: 10-bit, 244Hz mode 2: 10-bit, 977Hz mode 3: 10-bit, 3906Hz mode 4: 9-bit, 488Hz mode 5: 9-bit, 1953Hz mode 6: 9-bit, 7813Hz mode 7: 8-bit, 977Hz mode 8: 8-bit, 3906Hz mode 9: 8-bit, 15625Hz mode 10: 7-bit, 1953Hz mode 11: 7-bit, 7813Hz mode 12: 7-bit, 31250Hz The PWM module is initially started with 0 duty cycle, so the output will stay low until the duty cycle is changed. PWM module can be turned off with PWMOFF statement. It has only one argument - module number.
The duty cycle of PWM signal can be changed with PWMDUTY statement. Its first argument is module number. The second argument is duty cycle and it can be a constant in the range 0-1023 or byte or word data type variable. User must take care to use the proper value ranges for all PWM modes (0-1023 for 10-bit resolution, 0-511 for 9-bit resolution, 0-255 for 8-bit resolution and 0-127 for 7-bit resolution). Here is one example example:
DIM duty AS BYTE PWMON 1, 9 loop:
ADCIN 0, duty PWMDUTY 1, duty
GOTO loop |  |  |  |  |
http://www.oshonsoft.com/pic.html - "PicSimulatorIde" - за любителски цели става, както го определиха във форума :
Срам не срам, аз си го ползвам от време на време заедно с Протеуса.
За да гониш ниска честота - свали тактовата /може да се опита с RC като за пробата сложи на мястото на резистора, потенциометър/
|
| Чет Авг 16, 2007 2:57 pm |
|
 |
|
todorstz
Ранг: Минаващ
Регистриран на: Съб Юни 30, 2007 12:14 am Мнения: 6
|
благодаря ти за информацията,но аз се отказах да се възползвам от периферията толкова обстойно, мисля малко бабешката(софтуерно)  ,bcf porta,0 и после bsf porta,0, като между тях си слагам подпрограмки които ми регулират продължителността на лог "1" и лог "0"(регулирам си по този начин коефициента на запълване и то с доста добра точност)
Имам само един проблем мога ли да направя програма на асемблер която да ми сортира по възходящ ред 4 стойности , но да ги сортира така и в рам паметта, понеже искам да викам първо програмките които са с най-малко закъснение(както и трябва да бъде.
Например 1 канал -времезакъснение от стартиращия импулс 5сек
2 канал -1сек
3 канал-0.5сек
4канал-8сек
да се вика първо 2 канал ,но ми трябва някакъв макрос който да ги подрежда тези стойности???
|
| Чет Авг 16, 2007 3:37 pm |
|
|
Кой е на линия |
Потребители разглеждащи този форум: 0 регистрирани и 2 госта |
|
Вие не можете да пускате нови теми Вие не можете да отговаряте на теми Вие не можете да променяте собственото си мнение Вие не можете да изтривате собствените си мнения Вие не можете да прикачвате файл
|
|