akl писал(а):Третье приближение сдвоенного секундомера. Индикация 9:59.99 Индикация в исходном положении 00.00 В режиме счёта после 1 минуты появляется индикация минут с минутным разделителем. Программа написана для работы со схемой для ATmega8515 TQFP в архиве
Тактирование mega8515 от кварца 10МГц
Спойлер
STOPWATCH_M_SS_ms.GIF
Спойлер
ATmega8515_tqfp.GIF
Хотелось бы небольшой визуализации того, что получается.
Akl-Все тоже.без изменения 5.9.9.9 только точка появилась и-то не в том месте. М.С.С.с
видео не могу прицепить -капец http://www.youtube.com/watch?v=AaENvExrkdc
это мой сын
Вся индикация сдвинута вправо, поэтому на сотые секунды индикатора не хватило. Общий анод индикатора сотых долей секунды должен быть подключен к PA5 (1 секундомер) и PB5 (2 секундомер)
akl писал(а):Вся индикация сдвинута вправо, поэтому на сотые секунды индикатора не хватило. Общий анод индикатора сотых долей секунды должен быть подключен к PA5 (1 секундомер) и PB5 (2 секундомер)
Активны всего 4 ячейки в 1 и в 2 секундомере М.СС.с 5.99.9 активны PA5, PB5 но на них десятки сек. нет соток сек М.СС.сс на видео это видно.
Посмотрел ещё несколько раз видео. Судя по маркерам, помечающих каждые 5 ножек, старт 1 подключен к PD0 (10 лапа). Напротив 10 лапы расположен маркер, помечающий 31 ножку. Видно, что 33 лапа (PA6) куда-то подключена. Но в этой проге PA6 и PA7 не используются. Т.е. в монтаже , извините, есть ошибки.
akl писал(а):Посмотрел ещё несколько раз видео. Судя по маркерам, помечающих каждые 5 ножек, старт 1 подключен к PD0 (10 лапа). Напротив 10 лапы расположен маркер, помечающий 31 ножку. Видно, что 33 лапа (PA6) куда-то подключена. Но в этой проге PA6 и PA7 не используются. Т.е. в монтаже , извините, есть ошибки.
DIP корпу Atmega8515PU маркеровка ножек не как у Вас в схеме корпус самый крупный - активны только 4 ячейки . В начале видео показанно , что проверяется ячейки по сигналу на выходе с PA0 по PA7 .В этом корпусе эти выходы с 39 по 32 и PB0-
PB7 с 2по 8 .
Спаял макет по схеме для DIP корпуса, загрузил последнюю версию программы. Всё работает так, как заложено. Ограничил только диапазон минут до 10 и вывел для контроля на PA0 положительные импульсы 1 секунда (работает в режиме счёта секундомера 1).
akl писал(а):Спаял макет по схеме для DIP корпуса, загрузил последнюю версию программы. Всё работает так, как заложено. Ограничил только диапазон минут до 10 и вывел для контроля на PA0 положительные импульсы 1 секунда (работает в режиме счёта секундомера 1).
Нет - у тебя там кварц 4'608кГц у меня 10 как в схеме и у меня активны только 4 ячейки.И не видно как ты подключил ячейка -Капец все работает просто кварц на 4'608кГц а не 10 как в схеме. И ячейка так-же заводится после 59 сек. просто время медленно шло и не хватало терпения дождаться.
Спасибо тебе akl за твое творение.
Akl- прости за наглость но не мог-бы Ты доработать это творение .
Сделать . 1-старт, 2-финиша. (при включения СТАРТ1 и СТАРТ2 2х секундомеров функция ОБЩИЙ СТАРТ но секундомеры включаются на активность раздельно)
Управление
- ВКЛ-СТОП1-ВЫКЛ
- ВКЛ-СТОП2-ВЫКЛ
- СТАРТ-1
- СТАРТ-2
-ФИНИШ1
_ФИНИШ2
- ФИНИШ СБРОС ( функция при ложном срабатывания финиша- прибавляет время реальное после ложного срабатывания финиша - то есть стопа финиша - при включенных 2 секундомерах прибавляет сначала к тому который включен был первым секундомером )
ОПИСАНИЕ-
-при включение секундомеры не светятся,
-нажатие первое -ВКЛ-СТОП1-ВЫКЛ или ВКЛ-СТОП1-ВЫКЛ включает 1 или 2 секундомер при 2х нажатие СТОП1 или СТОП2 3е нажатие ВЫКЛ 1 или 2 секундомера (тухнут и сбрасываются)
- СТАРТ1 и СТАРТ2 работают таг-же.
Главное финиша у нас 2 канала для раздельного финиша каждого канала при использования паралейного старта учасников но в любом случае 1 старт или просто соединить СТАР1 и СТАРТ2 вместе они будут срабатывать как ОБЩИЙ СТАРТ при включение обоих секундомерах . Если это сложно то можно и не использовать этой функции - удалить .
ГЛАВНОЕ и СЛОЖНОЕ
-ФИНИШ СБРОС это сброс команды СТОП (после ложного срабатывания финиша)и прибавление времени дольнейшего отсчета его до следующей команды СТОП финеша (прибавления времени),
-при последовательном старте то на ФИНИШЕ отсечку времени производит то 1 то 2 секундомера учитывает какой был включен первым секундомер. ХОТЯ БЫ КРАСНЫМ С приветом УФА.
Последний раз редактировалось tika Вт окт 21, 2014 20:12:53, всего редактировалось 1 раз.
Единственное, что могу предположить - у Вас дефолтные FUSE-биты. Для ATmega8515, по умолчанию, установлена работа от внутреннего RC-генератора 1МГц.Только в этом случае будет такая индикация. Вместо сотых будут десятые, вместо десятых будут единицы секунд, вместо единиц секунд будут десятки и счёт мнимых секунд будет до 99.
Нужно установить режим работы от кварцевого генератора
CKSEL3...0 1111;
SUT1,0 11;
CKOPT 0
По поводу кварца. Мне проще поменять одну строку в исходнике, чем менять кварц. По управлению, извините, но я за реализацию такого алгоритма не возьмусь. Удачи.
akl писал(а):Единственное, что могу предположить - у Вас дефолтные FUSE-биты. Для ATmega8515, по умолчанию, установлена работа от внутреннего RC-генератора 1МГц.Только в этом случае будет такая индикация. Вместо сотых будут десятые, вместо десятых будут единицы секунд, вместо единиц секунд будут десятки и счёт мнимых секунд будет до 99.
Нужно установить режим работы от кварцевого генератора
CKSEL3...0 1111;
SUT1,0 11;
CKOPT 0
По поводу кварца. Мне проще поменять одну строку в исходнике, чем менять кварц. По управлению, извините, но я за реализацию такого алгоритма не возьмусь. Удачи.
Установил
CKSEL3...0 1111;
SUT1,0 11;
CKOPT 0
но все так-же и работает медленно
И кварц убираю таг-же и работает хотя CKOPT 0 установил.
может у меня все нужно наоборот 0 ставить ведь я установил CKSEL3...0 1111 внешний генератор .
Последний раз редактировалось tika Вт окт 21, 2014 20:41:34, всего редактировалось 2 раза.
ОПИСАНИЕ-
-при включение секундомеры не светятся,
-нажатие первое -ВКЛ-СТОП1-ВЫКЛ или ВКЛ-СТОП1-ВЫКЛ включает 1 или 2 секундомер при 2х нажатие СТОП1 или СТОП2 3е нажатие ВЫКЛ 1 или 2 секундомера (тухнут и сбрасываются)
Финальный вариант сдвоенного секундомера на индикаторах с общим анодом в формате М.СС.мс в архиве. Проверен в железе с кварцем 4'608кГц (на самом деле частота 4'609'434). При установке такой частоты в исходник интервал 1 секунда ( на лапе PA0 при включенном секундомере 1) получился 999'996,2мкс, т.е. секундомеры за отведённые им 10 минут убегут на 2,4мс, что составит менее четверти единицы младшего разряда (10мс).
Диапазон применяемых кварцев 4'608...16'000кГц
FUSE-биты
CKSEL3...0 1111
SUT1,0 11
CKOPT 1 для кварцев <=8МГц
CKOPT 0 для кварцев >8МГц
При кварце с другой, отличной от 10МГц, частотой можно в строке
Akl-Спасибо- опробую сегодня вечером. (Что-то руки с Тритоном не те- ATmega работает только от внутреннего генератора-что только и не пробовал -крюки руки).
СОРИ нет возможности доработать управление и все -точно точно.
Управление
- ВКЛ-СТОП1-ВЫКЛ
- ВКЛ-СТОП2-ВЫКЛ
Народ- спасайте хоть ставлю хоть вообще не не ставлю Фьюзы все одно и тоже не работает внешний кварц. Прошиваю ТРИТОНОМ - все работает от внутреннего .
Это то, что вы себе выставили
И что тут кричать " Народ- спасайте " проблем то,
поставьте как задумывалось , и никого спасать не нужно.
Сравните два скрина, может и поможет...