Простые часы на микроконтроллере
- Котяра мартовский
- Первый раз сказал Мяу!
- Сообщения: 30
- Зарегистрирован: Чт фев 18, 2010 13:40:08
- Откуда: сатка
Re: Простые часы на микроконтроллере
РЕГИСТР ТЕМР 1 НУЖНО ОБЯЗАТЕЛЬНО СОХРАНЯТЬ В СТЕКЕ В НАЧАЛЕ ПРЕРЫВАНИЯ И ПОТОМ ДОСТАВАТЬ ЕГО ИЗ СТЕКА ПЕРЕД ВЫХОДОМ ИЗ ПРЕРЫВАНИЯ ИНАЧЕ возможны глюки почему? попробуйте догадаться сами.
Все проблемы ищи в прокладке между столом и стулом
Научу писать программы для пик контроллеров в ассемблере .
Научу писать программы для пик контроллеров в ассемблере .
- Котяра мартовский
- Первый раз сказал Мяу!
- Сообщения: 30
- Зарегистрирован: Чт фев 18, 2010 13:40:08
- Откуда: сатка
Re: Простые часы на микроконтроллере
во вторых если хотите использовать мощные индикаторы с общим катодом ставьте ключи в разряды порта D структуры н-р-н по схеме с общим эммитером -естественно в прошивку надо будут внести некоторые изменения..
В третьих очень просто сделать гашение 4 разряда если в нём незначащий ноль. Как расскажу позже.
И ещё для повышения точности хода используйте кварц на 4 мгц. При таком кварце нужно внести правку в обработчик прерывания. Берём исходник далее находим в нём строчку "cpi Chsec,150" меняем константу 150 на 60.Компилим! Прошиваем! -после такой мелкой доработки точность хода значительно повысится.
По вопросам правки кода обращайтесь с радостью подскажу.
В третьих очень просто сделать гашение 4 разряда если в нём незначащий ноль. Как расскажу позже.
И ещё для повышения точности хода используйте кварц на 4 мгц. При таком кварце нужно внести правку в обработчик прерывания. Берём исходник далее находим в нём строчку "cpi Chsec,150" меняем константу 150 на 60.Компилим! Прошиваем! -после такой мелкой доработки точность хода значительно повысится.
По вопросам правки кода обращайтесь с радостью подскажу.
Все проблемы ищи в прокладке между столом и стулом
Научу писать программы для пик контроллеров в ассемблере .
Научу писать программы для пик контроллеров в ассемблере .
Re: Простые часы на микроконтроллере
Извините. Здесь речь идет об этих часах. http://radiokot.ru/circuit/digital/home/33/ При чем здесь PIC-контроллеры?
Слишком категорично. Если в обработчике прерываний не использовать TEMP1, то и пушить-попить его не обязательно.
при этом часы потеряют слово "Простые"
В глубине этой ветки есть такие программы. Но, все равно, почитать будет интересно.
Котяра мартовский писал(а):РЕГИСТР ТЕМР 1 НУЖНО ОБЯЗАТЕЛЬНО СОХРАНЯТЬ В СТЕКЕ В НАЧАЛЕ ПРЕРЫВАНИЯ И ПОТОМ ДОСТАВАТЬ ЕГО ИЗ СТЕКА ПЕРЕД ВЫХОДОМ ИЗ ПРЕРЫВАНИЯ ИНАЧЕ возможны глюки почему? попробуйте догадаться сами.
Слишком категорично. Если в обработчике прерываний не использовать TEMP1, то и пушить-попить его не обязательно.
Котяра мартовский писал(а):во вторых...
при этом часы потеряют слово "Простые"
Котяра мартовский писал(а):В третьих... Как расскажу позже.
В глубине этой ветки есть такие программы. Но, все равно, почитать будет интересно.
Re: Простые часы на микроконтроллере
Valek87 Почитайте здесь, один сегмент - это тот же светодиод (может быть два)
http://radiokot.ru/start/mcu_fpga/avr/05/
Re: Простые часы на микроконтроллере
ooogo писал(а):Valek87 Почитайте здесь, один сегмент - это тот же светодиод (может быть два)http://radiokot.ru/start/mcu_fpga/avr/05/
Это получается, что 7-сегментный индикатор потребляет ток около 0,2 А?
- Котяра мартовский
- Первый раз сказал Мяу!
- Сообщения: 30
- Зарегистрирован: Чт фев 18, 2010 13:40:08
- Откуда: сатка
Re: Простые часы на микроконтроллере
Извините. Здесь речь идет об этих часах. http://radiokot.ru/circuit/digital/home/33/ При чем здесь PIC-контроллеры?
Просто начинал я с пиков и по работе с ними накопил богатый опыт вот теперь перешёл на авэрки.
Как погасить незначащий ноль в 4 разряде? Элементарно!
В цикле индикации перед зажиганием 4 разряда надо достать из СОЗУ переменную 4 разряда далее сравнить её с константой ,0, и далее используя команду BREQ(перейти если равно) обойти фрагмент кода индикации 4 разряда.Правленный исходник скоро выложу.
Все проблемы ищи в прокладке между столом и стулом
Научу писать программы для пик контроллеров в ассемблере .
Научу писать программы для пик контроллеров в ассемблере .
- Котяра мартовский
- Первый раз сказал Мяу!
- Сообщения: 30
- Зарегистрирован: Чт фев 18, 2010 13:40:08
- Откуда: сатка
Re: Простые часы на микроконтроллере
А вот и доработанный напильником исходник. Под кварц 4 мгц под установку ключей n-p-n по схеме ОЭ в разряды порта D и с гашением незначащего нуля в 4 разряде и устранением фоновой засветки.
Приношу извинения в исходник закралась ошибка -найду исправлю .А пока пользуйтесь оригинальным исходником
Дальнейшие усовершенствования буду добавлять по мере возможности.
Приношу извинения в исходник закралась ошибка -найду исправлю .А пока пользуйтесь оригинальным исходником
Дальнейшие усовершенствования буду добавлять по мере возможности.
- Вложения
-
- cloc.asm
- Пробуйте и отписывайтесь.
- (7.8 КБ) 391 скачивание
Последний раз редактировалось Котяра мартовский Пт июл 23, 2010 14:39:28, всего редактировалось 2 раза.
Все проблемы ищи в прокладке между столом и стулом
Научу писать программы для пик контроллеров в ассемблере .
Научу писать программы для пик контроллеров в ассемблере .
Re: Простые часы на микроконтроллере
Valek87давай сначала про индикаторы. максимальный постоянный ток твоего индикатора - 30ма. индикация у этих часов динамическая, со скважностью 4. это значит что каждый разряд(циферка) горит какоето время, а потом три таких же куска времени - не горит(пока горят остальные). в этом случаи, для получения яркости такойже как и при постоянном токе, нужно увеличить ток пропорционально скважности. т.е. в нашем случаи постоянный ток индикатора(30ма) нужно умножит на скважность(4) и получаем 120ма. такой ток тебе нужно загнать в индикатор чтоб получить максимальную яркость на которую способен индикатор. Но чтоб "не выжимать все соки из индикаторов" лучьше снизить док миллиампер до 80, будет практически тажа яркость, но меньший износ. Теперь умножаем наши 80ма(это на один сегмент) на количество сегментов (8) и получаем что наш индикатор в пике потребляет 640ма.
плюс к этому ток потребляемый контроллером, итого рассчитывай гдето на 660ма. значит если делать по хорошему, блок питания желательно иметь на 900ма и больше.(тем более часы это устройство работающее 24/7)
Рулить такими индикаторами нужно с помощью транзисторных ключей, причем и в разрядах и в сегментах. вот примерно по такой схеме

плюс к этому ток потребляемый контроллером, итого рассчитывай гдето на 660ма. значит если делать по хорошему, блок питания желательно иметь на 900ма и больше.(тем более часы это устройство работающее 24/7)
Рулить такими индикаторами нужно с помощью транзисторных ключей, причем и в разрядах и в сегментах. вот примерно по такой схеме
Re: Простые часы на микроконтроллере
neon-f писал(а):
куда вывода подключать?
Re: Простые часы на микроконтроллере
Valek87 писал(а):Это получается, что 7-сегментный индикатор потребляет ток около 0,2 А?И если 4 разряда, то можно сказать почти ампер. Не фига себе!
Ну почитайте дальше http://radiokot.ru/start/mcu_fpga/avr/15/ сразу масса вопросов отпадет
по поводу тока, то максимальный постоянный ток через порт мк 40 мА.
- Котяра мартовский
- Первый раз сказал Мяу!
- Сообщения: 30
- Зарегистрирован: Чт фев 18, 2010 13:40:08
- Откуда: сатка
Re: Простые часы на микроконтроллере
А вот и доработанный напильником исходник. Под кварц 4 мгц под установку ключей n-p-n по схеме ОЭ в разряды порта D и с гашением незначащего нуля в 4 разряде и устранением фоновой засветки.
Приношу извинения в исходник закралась ошибка -найду исправлю .А пока пользуйтесь оригинальным исходником
Всё исправил теперь должно работать
- Вложения
-
- cloc.rar
- что непонятно-спрашивайте.
- (8.23 КБ) 418 скачиваний
Все проблемы ищи в прокладке между столом и стулом
Научу писать программы для пик контроллеров в ассемблере .
Научу писать программы для пик контроллеров в ассемблере .
- Котяра мартовский
- Первый раз сказал Мяу!
- Сообщения: 30
- Зарегистрирован: Чт фев 18, 2010 13:40:08
- Откуда: сатка
Re: Простые часы на микроконтроллере
печатка под attiny2313 в корпусе Soik и ключи в порту 'D'
- Вложения
-
- часы на attiny2313.rar
- (6.21 КБ) 466 скачиваний
Все проблемы ищи в прокладке между столом и стулом
Научу писать программы для пик контроллеров в ассемблере .
Научу писать программы для пик контроллеров в ассемблере .
- Котяра мартовский
- Первый раз сказал Мяу!
- Сообщения: 30
- Зарегистрирован: Чт фев 18, 2010 13:40:08
- Откуда: сатка
Re: Простые часы на микроконтроллере
Обновлённый вариант прошивки (теперь фоновую засветку невидно)
- Вложения
-
- PIC_2009.JPG
- В темноте...
- (80.94 КБ) 1052 скачивания
-
- cloc.rar
- (23 КБ) 474 скачивания
Последний раз редактировалось Котяра мартовский Сб июл 24, 2010 19:27:45, всего редактировалось 1 раз.
Все проблемы ищи в прокладке между столом и стулом
Научу писать программы для пик контроллеров в ассемблере .
Научу писать программы для пик контроллеров в ассемблере .
Re: Простые часы на микроконтроллере
под общий анод прошивку правил кто?
- Котяра мартовский
- Первый раз сказал Мяу!
- Сообщения: 30
- Зарегистрирован: Чт фев 18, 2010 13:40:08
- Откуда: сатка
Re: Простые часы на микроконтроллере
под общий анод прошивку правил кто?
Могу помочь.
Все проблемы ищи в прокладке между столом и стулом
Научу писать программы для пик контроллеров в ассемблере .
Научу писать программы для пик контроллеров в ассемблере .
Re: Простые часы на микроконтроллере
Котяра мартовский лично мне не нужно, просто здесь постоянно возникают вопросы о транзисторных ключах. еслиб прошивка была и под оа и под ок, то можно былобы особо не беспокоится какие у тебя индикаторы, и как ты хочешь их подключить.
например Valek87 сейчас мучается как ему подключить его довольно мощный индикатор с ок к этим часам. еслиб была прошивка с оа, то поставив по одному транзистору по схеме приведенной выше, и использовав прошивку с оа, он без труда подключил бы свой индикатор.
а вообще былобы здорово сделать независимый выбор уровня сигнала и в разряды и в сегменты, наподобии как здесь viewtopic.php?t=21235&postdays=0&postorder=asc&start=0 и вопрос подключения индикаторов пропадет сам собой. хочешь ставь транзисторы и там и там. хочешь только в разряды. хочешь вообще без транзисторов. полная свобода!!!
ooogo
например Valek87 сейчас мучается как ему подключить его довольно мощный индикатор с ок к этим часам. еслиб была прошивка с оа, то поставив по одному транзистору по схеме приведенной выше, и использовав прошивку с оа, он без труда подключил бы свой индикатор.
а вообще былобы здорово сделать независимый выбор уровня сигнала и в разряды и в сегменты, наподобии как здесь viewtopic.php?t=21235&postdays=0&postorder=asc&start=0 и вопрос подключения индикаторов пропадет сам собой. хочешь ставь транзисторы и там и там. хочешь только в разряды. хочешь вообще без транзисторов. полная свобода!!!
ooogo
40ма это не на порт, а на все порты. получается максимум на один разряд - 5ма (40/8), даже меньше, ведь сама тини тоже потребляет немного. конечо запас прочности у атмел контроллеров большой, но это уже другой разговор.по поводу тока, то максимальный постоянный ток через порт мк 40 мА.
Re: Простые часы на микроконтроллере
neon-f писал(а):40ма это не на порт, а на все порты. получается максимум на один разряд - 5ма (40/8), даже меньше, ведь сама тини тоже потребляет немного. конечо запас прочности у атмел контроллеров большой, но это уже другой разговор.
Точно не помню, но с одного порта 20 мА лично пробовал.
Re: Простые часы на микроконтроллере
А если я буду использовать данную схему, поставив ее на каждый разряд, как это отразится на свечении табло?
Я так понимаю, что если поставить транзистор, то произойдет уменьшение тока, кот. пойдет к сегменту, в h21э раз, значит и уменьшится общий ток. Верно? А из каких условий выбираются номиналы резисторов?

Я так понимаю, что если поставить транзистор, то произойдет уменьшение тока, кот. пойдет к сегменту, в h21э раз, значит и уменьшится общий ток. Верно? А из каких условий выбираются номиналы резисторов?
-
skk
- Сверлит текстолит когтями
- Сообщения: 1123
- Зарегистрирован: Вт июн 30, 2009 14:56:58
- Откуда: Казань
- Контактная информация:
Re: Простые часы на микроконтроллере
ATTINY2313V-10PU А этот микроконтроллер подойдет???????
Теория и практика иногда сталкиваются. Когда это случается, теория проигрывает. Всегда.