Страница 47 из 304
Re: BASCOM AVR в вопросах и ответах
Добавлено: Вт дек 07, 2010 09:53:57
edm2007
380v писал(а):А не проще ли написать такую программу более простыми способами, без использования таймеров и других примудростей...
К сожалению меня простые варианты совсем не устроили. Как не крути, но у меня индикация немного пригасала. Пусть еле заметно, но мне это не понравилось. Это первое. Второе - мне нужен был исходник, в котором можно было бы легко поменять частоту обновления температуры, например... И третье, этот код легко допиливается до версии с кнопкой, когда термометр по нажатию просыпается, показывает температуру и снова засыпает. Что мне тоже было нужно. Там, собственно все для этого есть. И так же легко меняется время отображения температуры, например... Вот и натворил такое.

Работает круглые сутки, проблем пока не заметил.
За Ваш код спасибо, я его разберу обязательно, но пока он у меня в железе не заработал... Мерцание жуткое и на индикаторе цифры левые...
Re: BASCOM AVR в вопросах и ответах
Добавлено: Чт дек 09, 2010 14:08:55
xaker-man
Помогите написать программу для задачи: нужны импульсы прямоугольной формы, положительной полярности с амплитудой 6+1 В длительностью 200—250 мкс с частотой 350 гц. есть мега8515 и мега16, работает на 8МГц. Очень нужно, мучаюсь 2 недели

. Заранее спасибо

Re: BASCOM AVR в вопросах и ответах
Добавлено: Чт дек 09, 2010 15:40:02
edm2007
xaker-man писал(а):Помогите написать программу для задачи: нужны импульсы прямоугольной формы, положительной полярности с амплитудой 6+1 В длительностью 200—250 мкс с частотой 350 гц. есть мега8515 и мега16, работает на 8МГц. Очень нужно, мучаюсь 2 недели

. Заранее спасибо

Похоже, готовое решение нужно.

Где плоды мук двухнедельных? Что именно не получается?
Re: BASCOM AVR в вопросах и ответах
Добавлено: Чт дек 09, 2010 16:05:03
xaker-man
Мне не нужно готовое, я не понимаю каким способом это сделать? Если Шим, то считал, считал примерно сделал, но неработает. Мне нужно заставить спидометр от машины показывать скорость.
Re: BASCOM AVR в вопросах и ответах
Добавлено: Чт дек 09, 2010 16:37:32
Igor_67
Если BASCOM не панацея, то в нете туева хуча примеров спидометров на AVR и PIC. Что, гугль уже не помогает???
А если в общем случае, то идет подсчет импульсов с датчика, прикрученного на вторичный вал коробки, например. Или снимаются электронные импульсы по К-линии с ЭБУ (для инжекторов и иномарок) и опять же все это количество подсчитывается в МК. Здесь принцип частотомера - подсчет количества импульсов на входе внешнего прерывания, например INT0 или INT1, за определенный промежуток времени.
Вот примерно такой расклад, дальше - думайте, а не хотите думать, можно просто все слизать у умных людей. Подсказка в первой строке поста...

Re: BASCOM AVR в вопросах и ответах
Добавлено: Чт дек 09, 2010 16:56:16
xaker-man
мне нужно спидометр(сам прибор), не не нужно показания снимать. Это где стрелка и одометр, я не знаю как сформировать для него ипмульсы.
Re: BASCOM AVR в вопросах и ответах
Добавлено: Чт дек 09, 2010 18:29:13
Мурик
xaker-man писал(а):длительностью 200—250 мкс с частотой 350 гц. есть мега8515
Решение задачи в "лоб".
Код: Выделить всё
$regfile = "8515def.dat"
$crystal = 8000000
$hwstack = 32
$swstack = 8
$framesize = 24
Config Portb.0 = Output
Do
Portb.0 = 1
Waitus 200
Portb.0 = 0
Waitus 2650
Loop
End
Импульсы будут на PB0.
Re: BASCOM AVR в вопросах и ответах
Добавлено: Чт дек 09, 2010 19:45:37
edm2007
Igor_67, ему не подсчет нужен, а просто симуляция работы спидометра-тахометра, как я понял. Лежит приборка на столе, дрын-дын-дын, и стрелки двигаются.

Re: BASCOM AVR в вопросах и ответах
Добавлено: Чт дек 09, 2010 19:49:12
edm2007
xaker-man, если эти импульсы нужны только для того чтоб стрелку двигать, то код от
Мурика самое оно. И что там две недели придумывать. Все просто и замечательно.

Re: BASCOM AVR в вопросах и ответах
Добавлено: Чт дек 09, 2010 21:11:37
xaker-man
Спасибо, завтра попробую. Это нужно только для части программы, сама прога на 5 листов. Ещё раз зарание спасибо))) Я только начал изучать Bascom. У меня будет счастье, как когда первый раз увидел надпись на lcd)))

А ещё вопрос, если нужно будет тут-же 1980 Гц, на другом порту.???
Re: BASCOM AVR в вопросах и ответах
Добавлено: Чт дек 09, 2010 22:23:37
edm2007
xaker-man писал(а):Это нужно только для части программы, сама прога на 5 листов...
Так Вы переделываете под себя чей-то код?
Re: BASCOM AVR в вопросах и ответах
Добавлено: Пт дек 10, 2010 00:27:27
xaker-man
edm2007 писал(а):xaker-man писал(а):Это нужно только для части программы, сама прога на 5 листов...
Так Вы переделываете под себя чей-то код?
нет (кроме термометра), я не сторонник переделывать коды(дольше разбираться в чужом коде, чем свой написать).
Re: BASCOM AVR в вопросах и ответах
Добавлено: Пт дек 10, 2010 10:17:31
edm2007
Тогда я ничего не понимаю. Вы написали прогу на 5 листов, и не знаете как ногой подергать? Если она такая большая, то как же Вы будете в главном цикле ногой дергать? Ведь эта программа еще что-то делает?
Re: BASCOM AVR в вопросах и ответах
Добавлено: Пт дек 10, 2010 12:49:29
xaker-man
Она будет не всегда дергаться, а по команде в отдельном цикле, я не понимаю как считать задержку. И прога не заработала.
Re: BASCOM AVR в вопросах и ответах
Добавлено: Пт дек 10, 2010 13:13:33
edm2007
xaker-man писал(а):Она будет не всегда дергаться, а по команде в отдельном цикле, я не понимаю как считать задержку. И прога не заработала.
Это которая "в лоб"? Все там работает, оно не может не работать.

Re: BASCOM AVR в вопросах и ответах
Добавлено: Пт дек 10, 2010 18:38:10
xaker-man
Ещё раз спасибо))) Я понял, я не знал команды waitus)) Считать как я понял нужно так: 1 сек = 1000000 мкс / 350 Гц получаем 1гц = 2857 мкс вычетаем 200мкс получаем 2650 )))))))))

Да же заработала но как-то странно(Конечно вопрос не сюда), просто не работает, а когда я случайно на макетке задел пальцем кондер который идет к кварцу(контакт между кондером и кварцем) стрелка начала показывать показания. Я думаю что может тока нехватает на ноге. Если я задаю очень глупые вопросы меня не пинайте, я только учусь... Я знаю много языков програмирования(JavaScript, Pascal, basic, asp и т.д.) а bascom только учу))
Re: BASCOM AVR в вопросах и ответах
Добавлено: Пт дек 10, 2010 19:01:54
edm2007
xaker-man писал(а):Ещё раз спасибо))) Я понял, я не знал команды waitus)) Считать как я понял нужно так: 1 сек = 1000000 мкс / 350 Гц получаем 1гц = 2857 мкс вычетаем 200мкс получаем 2650 )))))))))

Да же заработала но как-то странно(Конечно вопрос не сюда), просто не работает, а когда я случайно на макетке задел пальцем кондер который идет к кварцу(контакт между кондером и кварцем) стрелка начала показывать показания. Я думаю что может тока нехватает на ноге. Если я задаю очень глупые вопросы меня не пинайте, я только учусь... Я знаю много языков програмирования(JavaScript, Pascal, basic, asp и т.д.) а bascom только учу))
С расчетами все правильно, только вот я не понял "1гц = 2857 мкс".

Затактуйте от внутреннего генератора, и так проблем хватает, еще кварц трогать...

Re: BASCOM AVR в вопросах и ответах
Добавлено: Пт дек 10, 2010 21:55:12
avrman
кто нибудь имел дело с аналоговым компаратором? в хэлпе и в учебнике от вилд-кэта сказано чрезмерно мало

Re: BASCOM AVR в вопросах и ответах
Добавлено: Пт дек 10, 2010 22:12:36
edm2007
avrman писал(а):кто нибудь имел дело с аналоговым компаратором? в хэлпе и в учебнике от вилд-кэта сказано чрезмерно мало

А в чем, собственно, проблема? Сказано мало по одной простой причине, там и говорить особенно не о чем.

Включен/выключен, захват таймера и условие прерывания. Если не нужны захваты/прерывания, то проверить результат сравнения можно считав соответствующий бит (ACO) регистра ACSR. Для 2313 это ACSR.5, например. У других не смотрел.
Re: BASCOM AVR в вопросах и ответах
Добавлено: Пт дек 10, 2010 22:38:06
avrman
Может это и просто, но без примеров не разобраться, особенно мне. Если не трудно покажите на примере как сделать так, чтобы при превышении напряжения на прямом выводе компаратора относительно инверсного, мк давал признаки жизни, скажем менял уровень на одной из своих ног.