|
Виж темите без отговор | Виж активните теми
Дата и час: Вто Юли 28, 2026 8:45 am
Софтуеърен таймер за 60 000 000 цикъла (PIC16C74)
| Автор |
Съобщение |
|
iorgov
Ранг: Минаващ
Регистриран на: Вто Ное 25, 2008 4:44 pm Мнения: 31
|
 Софтуеърен таймер за 60 000 000 цикъла (PIC16C74)
Трябва ми такъв таймер с грешка най-много до ±100 цикъла.
опитах се да го направя,но в края изброините цикла са с около 1 милион повече
ще съм ви много благодарен ако ме насочите към някой сайт 
|
| Пон Юни 01, 2009 3:30 pm |
|
 |
|
relsys
Ранг: Форумен бог
Регистриран на: Пет Ное 25, 2005 11:41 am Мнения: 1680
|
Таймер или брояч?
Дай по - подробни данни де.
|
| Пон Юни 01, 2009 6:44 pm |
|
 |
|
iorgov
Ранг: Минаващ
Регистриран на: Вто Ное 25, 2008 4:44 pm Мнения: 31
|
Значи
Поставената ми задачата е да се направи управлението на следяща соларна система.
Системата е снабдена с два мотора за завъртене по осите Х и Y
Нужен ми е този таймер (или брояч) за да мога да казвам на моторите да се въртят в определена посока за 1 мин.
И след това имам изчакване от 5 мин за което мисля да използвам този от 1 мин и да го повторя 5 пъти. След което се стартира на ново програмата събира данните и решава на къде да се завърти.Замислено е системата да работи 24 часа без прекъсване.
Проблема в този таймер който организирах аз е че за 1 мин напредва с ~1.6 s. а за 5мин с ~8 s. Може да сметнете за 24 колко ще напредне
ПИК-ът работи на 4MHz времете за изпълнение на един цикъл е 1 микросекунда.
Само да спомена че това ми е дипломната работа 
|
| Пон Юни 01, 2009 8:31 pm |
|
 |
|
ToHu
Ранг: Форумен бог
Регистриран на: Нед Сеп 26, 2004 9:21 pm Мнения: 30686 Местоположение: София
|
Ами проблема ти не е в таймера или в софтуера а в честоата на процесора, въпреки че тази секунда за 1 мин е доста дори и за вътрешния осцилатор. Тези процесори имат регистър дето им пишеш корекция за генератора, но така или иначе не очаквай чудеса с вградения осцилатор, той си е RC, т.е. дори да го натъкмиш някак да работи при теб, на полето като го напече слънцето и стане 60 градуса ще мръдне не малко. По добрия вариант бучни един 32 кхц да ти е мирна главата, а пък ако искаш сложи и и голям, направо в Мхз.
Иначе от самото ти описание не е съвсем ясно каква ти е идеята ама както и да е, следил съм слънцето и си представям какво искаш да направиш 
|
| Пон Юни 01, 2009 8:41 pm |
|
 |
|
iorgov
Ранг: Минаващ
Регистриран на: Вто Ное 25, 2008 4:44 pm Мнения: 31
|
Готово! Таймера е направен, не е както исках, но определено е по-добре отчита 59,958 секунди
Последна промяна iorgov на Сря Юни 03, 2009 12:22 am, променена общо 3 пъти
|
| Вто Юни 02, 2009 4:21 pm |
|
 |
|
tgi
Ранг: Форумен бог
Регистриран на: Нед Юни 10, 2007 2:22 pm Мнения: 6492 Местоположение: София
|
Браво, че си се справил. Но пишеш сякаш си дизасемблер....
Когато се пише на асемблер, ако искаш да пишеш свестен код,
се пише коментар на всеки ред; и имената, които избираш за символите
трябва да носят съответния възможно най-очевиден за човек смисъл.
Ще се учудиш колко по-бързо върви програмирането като почнеш с текст
(на всеки ред) да обясняваш защо правиш каквото правиш на тоя ред (не и
да обясняваш синтаксиса, очаква се който чете да го знае). И нищо, ако
английският ти не е много красив за коментарите и имената; важното е да е
разбираем.
_________________------------------- www.tgi-sci.com------------------- http://www.flickr.com/photos/didi_tgi/
|
| Вто Юни 02, 2009 5:02 pm |
|
 |
|
maiden
|
ами то хората са си направили колкулаторче за цикли..може и цикли може и секунди
http://www.golovchenko.org/cgi-bin/delay
ето примерен код за 60сек на 4мхз
|
| Вто Юни 02, 2009 5:45 pm |
|
 |
|
iorgov
Ранг: Минаващ
Регистриран на: Вто Ное 25, 2008 4:44 pm Мнения: 31
|
maiden благодаря за посочения сайт. от сега нататък само него ще ползвам
|
| Вто Юни 02, 2009 5:54 pm |
|
 |
|
smtp
Ранг: Новодошъл
Регистриран на: Нед Яну 18, 2009 1:28 pm Мнения: 110
|
 МъЪЪка, МъЪЪка
такова решение - само пикоборец може да измисли !
то по-добре сложи един механичен будилник (ще мери по-точно)
предполагам че за прекъсвания, таймери ... не си чувал !
|
| Вто Юни 02, 2009 6:01 pm |
|
 |
|
maiden
|
е стига де ...всеки рано или късно достига истината. Човека пита нещо конкретно
и е редно в унисон с него да му се отговори, пък дали има и по-добри начини сам ще се научи!!
|
| Вто Юни 02, 2009 6:10 pm |
|
 |
|
iorgov
Ранг: Минаващ
Регистриран на: Вто Ное 25, 2008 4:44 pm Мнения: 31
|
ами не чувал съм просто трябва да си предам работата до 11-ти юни, а за таймери нищо не знам и трябва да чета, а време няма
пак преди това ми се е налагало да организарам таймер на СМ600 по подобен на горният начин и за това реших да използвам него. Просто сметките не ми излизаха и за това се обърнах към вас за помощ. За която благодаря
|
| Вто Юни 02, 2009 6:25 pm |
|
 |
|
ToHu
Ранг: Форумен бог
Регистриран на: Нед Сеп 26, 2004 9:21 pm Мнения: 30686 Местоположение: София
|
мммммммм шах и мат ... не се сърди, ама ако съм ти един ръководител недай си боже изпитващ и ми дойдеш с такъв код ще те изгоня, това което си направил означава тотално непознаване на архитектурата. Разбирам че е динпломна работа, и че може би не си много в час, ама ако не знаеш питаш .. чакай да види Киров  .
Относно горния коментар за пикобореца, това няма нищо общо с пика, и с арма мое се сътвори същото.
Значи тоя твоят пик си има хардуерни таймери. Праиш си една 32 битова променлива, инкрементваш я във всяко прекъсване и толкоз ......
|
| Вто Юни 02, 2009 6:57 pm |
|
 |
|
woody
Ранг: Форумен бог
Регистриран на: Вто Юли 31, 2007 2:55 pm Мнения: 1792 Местоположение: София
|
Ако ти се смятат сложните цикли на конвейра и достъпът към различните памети. И то естествено ако няма кеш. 
|
| Вто Юни 02, 2009 7:35 pm |
|
 |
|
a_stankov
Ранг: Новодошъл
Регистриран на: Съб Дек 06, 2008 9:22 am Мнения: 119 Местоположение: Пловдив
|
Това нещо така сътворено няма да работи.Прегледай си кода и ще разбереш защо,някои инструкции изискват дестинация за резултат.
|
| Вто Юни 02, 2009 9:18 pm |
|
 |
|
relsys
Ранг: Форумен бог
Регистриран на: Пет Ное 25, 2005 11:41 am Мнения: 1680
|
То не трябва да работи, дипломна работа е... 
|
| Вто Юни 02, 2009 9:53 pm |
|
|
Кой е на линия |
Потребители разглеждащи този форум: 0 регистрирани и 2 госта |
|
Вие не можете да пускате нови теми Вие не можете да отговаряте на теми Вие не можете да променяте собственото си мнение Вие не можете да изтривате собствените си мнения Вие не можете да прикачвате файл
|
|