Например TDA7294

Форум РадиоКот • Просмотр темы - Bin-клоки на Attiny2313.
Форум РадиоКот
Здесь можно немножко помяукать :)

Текущее время: Вс июл 27, 2025 04:25:12

Часовой пояс: UTC + 3 часа


ПРЯМО СЕЙЧАС:



Начать новую тему Ответить на тему  [ Сообщений: 58 ]  1, ,  
Автор Сообщение
Не в сети
 Заголовок сообщения: Bin-клоки на Attiny2313.
СообщениеДобавлено: Чт дек 25, 2008 13:47:47 
Встал на лапы
Аватар пользователя

Зарегистрирован: Ср дек 10, 2008 15:10:59
Сообщений: 107
Откуда: KPACHO9PCK
Рейтинг сообщения: 0
Сделал бинарные часики на Attiny2313 но настроить никак не могу. Число сравнения не работает сколько не меняю все равно отстают на 13 сек за минуту.

http://radiokot.ru/circuit/digital/home/36/

_________________
Чем больше думаеш, тем дольше уснуть не можеш...


Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Чт дек 25, 2008 13:53:25 
Встал на лапы
Аватар пользователя

Зарегистрирован: Ср дек 10, 2008 15:10:59
Сообщений: 107
Откуда: KPACHO9PCK
Рейтинг сообщения: 0
Вот исходник


Вложения:
code.asm [6.16 KiB]
Скачиваний: 1023

_________________
Чем больше думаеш, тем дольше уснуть не можеш...
Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Чт дек 25, 2008 14:20:02 
Мучитель микросхем

Зарегистрирован: Вс июн 01, 2008 12:16:38
Сообщений: 459
Рейтинг сообщения: 0
SeamaNCOS писал(а):
Вот исходник

Бегло просмотрев, заметил следующее:
При входе в прерывание вы не сохраняете в стеке статус-регистр (SREG) и регистры, которые используются не только в прерывании. Совет: лучше настроить таймер в режим CTC, тогда таймер не нужно будет обнулять в прерывании, точность повысится.


Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Чт дек 25, 2008 14:27:17 
Встал на лапы
Аватар пользователя

Зарегистрирован: Ср дек 10, 2008 15:10:59
Сообщений: 107
Откуда: KPACHO9PCK
Рейтинг сообщения: 0
smac писал(а):
SeamaNCOS писал(а):
Вот исходник

Бегло просмотрев, заметил следующее:
При входе в прерывание вы не сохраняете в стеке статус-регистр (SREG) и регистры, которые используются не только в прерывании. .

как их настроить??

СТС в смысле писать за место
mov st,temp1
через
.dseg
Digit: .byte 6

sts Digit+1Temp1 и т.д. ????

_________________
Чем больше думаеш, тем дольше уснуть не можеш...


Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Чт дек 25, 2008 21:54:46 
Мучитель микросхем

Зарегистрирован: Вс июн 01, 2008 12:16:38
Сообщений: 459
Рейтинг сообщения: 0
SeamaNCOS писал(а):
как их настроить??

Я вам конечно помогу, но вы литературу почитайте, на этом сайте обучалка есть и в интернете информации полно. Для начала узнайте и что такое стек, что такое указатель стека и для чего они используется.
Объясню кратко: стек - область ОЗУ, организованная по принципу первым вошел-последним вышел.
Теперь собственно по теме.
1. Сохранение регистров общего назначения (r0-r31)
Код:
push r16 ; "заталкиваем" регистр r16  в стек
push r17 ; "заталкиваем" регистр r17  в стек
; теперь мы може пользоваться сохраненными регистрами как нам угодно
...some code
pop r17; "вынимаем " регистры из стека обязательно в порядке обратном "заталкиванию"
pop r16;
; теперь в регистрах появилисль значения, которые были в них до прерывания

2. Сохранение регистра SREG в стеке:
Код:
push r16; "заталкиваем" регистр r16  в стек
in r16, SREG; читаем в r16 регистр SREG
push r16; сохраняем прочитанное значение в стеке.
.... some code
pop r16 ; читаем в r16 из стека значение, соответствующее регистру SREG до вход в обработчик прерывания
out SREG, r16; пишем это значение в SREG
pop r16; читаем из стека значение r16.
; после данных действий и в SREG и в r16 значения которые были в них до входа в обработчик прерывания.

Важное замечание: при операциях со стеком порядок извлечения регистров из стека всегда должен быть обратным относительно порядка сохранения "заталкивания" регистров в стек.


Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Чт дек 25, 2008 21:58:51 
Мучитель микросхем

Зарегистрирован: Вс июн 01, 2008 12:16:38
Сообщений: 459
Рейтинг сообщения: 0
SeamaNCOS писал(а):
СТС в смысле писать за место
mov st,temp1
через
.dseg
Digit: .byte 6

sts Digit+1Temp1 и т.д. ????

Нет, CTC (clear timer on compare) - это режим работы таймера, при котором он автоматически очищается при совпадении с регистром сравнения. Используется для обеспечения точного отсчета временных интервалов. Скачайте даташит на контроллер и посмотрите в нем (искать по слову CTC).


Вернуться наверх
 
Распродажа паяльного оборудования ATTEN!
Паяльные станции, паяльники и аксессуары по самой выгодной цене.

По промокоду radiokot скидка 10%
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Чт дек 25, 2008 22:05:20 
Мучитель микросхем

Зарегистрирован: Вс июн 01, 2008 12:16:38
Сообщений: 459
Рейтинг сообщения: 0
Вот сейчас еще косяк заметил:
Вы выходите из обработчика прерывания командой ret. это значит, что после выхода у вас глобально запрещены прерывания, поскольку при входе в обработчик прерывания, автоматически глобально запрещаются прерывания (равносильно команде cli).
Если вы хотите, чтобы при выходе из обработчика прерывания, глобально разрешались прерывания, то следует использовать команду reti. Собственно отличие reti от ret состоит именно в том что первая глобально разрешает прерывания при выходе из подпрограммы, а вторая - нет.


Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Чт дек 25, 2008 22:11:29 
Встал на лапы
Аватар пользователя

Зарегистрирован: Ср дек 10, 2008 15:10:59
Сообщений: 107
Откуда: KPACHO9PCK
Рейтинг сообщения: 0
Писал прошивку на основе http://radiokot.ru/circuit/digital/home/33/.
В этих исходниках ничего подобного не было. В коментах пишут что часы работают нормально. А я максимум чего добился (расчетом и подборкой задержки) это отставание на 2 минуты за 4 часа.
Немогу понять как расчитывать

ldi Temp1,0b00000100
out Tccr1b,Temp1 ;тактовый сигнал /256

ldi Temp1,0x7a
out Ocr1ah,Temp1
ldi Temp1,0x12
out Ocr1al,Temp1 ;запись числа сравнения 31250 (0.4сек. при 8мгц)

и где ставить

ldi Temp1,0
out Tcnt1h,Temp1
out Tcnt1l,Temp1 ;обнуление счетчика

_________________
Чем больше думаеш, тем дольше уснуть не можеш...


Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Чт дек 25, 2008 22:19:58 
Встал на лапы
Аватар пользователя

Зарегистрирован: Ср дек 10, 2008 15:10:59
Сообщений: 107
Откуда: KPACHO9PCK
Рейтинг сообщения: 0
А вот собственно и сам девайс в сборе. Кому понравиться могу скинуть схемку и ПП.


Вложения:
Картинки(025).jpg [40.92 KiB]
Скачиваний: 1695

_________________
Чем больше думаеш, тем дольше уснуть не можеш...
Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Чт дек 25, 2008 23:08:21 
Мучитель микросхем

Зарегистрирован: Вс июн 01, 2008 12:16:38
Сообщений: 459
Рейтинг сообщения: 0
SeamaNCOS писал(а):
Писал прошивку на основе http://radiokot.ru/circuit/digital/home/33/.
В этих исходниках ничего подобного не было. В коментах пишут что часы работают нормально.

А. Во-первых работают скорее вопреки всему, во-вторых не знаю как их тестили, в-трерьих покажите мне эти коменты.
SeamaNCOS писал(а):
я максимум чего добился (расчетом и подборкой задержки) это отставание на 2 минуты за 4 часа.

Б. По-моему ваш исходник все-же отличается от оригинала.
SeamaNCOS писал(а):
Немогу понять как расчитывать

В. Я вам уже ответил куда копать, еще раз поясню: скачайте даташит и прочитайте хотя бы про таймеры (а желательно весь). Если плохо с английсиким, то на сайте www.gaw.ru есть некоторая информация на русском языке, хотя я рекоммендую все-таки читать даташит на английском.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Помогите настроить часы на Attiny2313
СообщениеДобавлено: Пт дек 26, 2008 07:21:27 
Друг Кота

Карма: 64
Рейтинг сообщений: 1013
Зарегистрирован: Пт мар 07, 2008 06:54:43
Сообщений: 4332
Откуда: Ижевск
Рейтинг сообщения: 0
SeamaNCOS писал(а):
Сделал бинарные часики на Attiny2313 но настроить никак не могу. Число сравнения не работает сколько не меняю все равно отстают на 13 сек за минуту.

Здравствуйте.
- Проверьте, как запрограммированы биты CSEL3...0=1111 и SUT1,0=11.
- откорректировал Ваш текст, проверил формирование интервала 1 сек.
При резонаторе 8.(0) МГц интервал формируется 1 сек
С индикацией не разбирался. Часы в таком представлении индикации выше моего понимания :oops:


Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Пт дек 26, 2008 09:40:11 
Друг Кота

Карма: 64
Рейтинг сообщений: 1013
Зарегистрирован: Пт мар 07, 2008 06:54:43
Сообщений: 4332
Откуда: Ижевск
Рейтинг сообщения: 0
Вдогонку. Добавить еще одну строку
"
...
inc sek ; увелечение секунд
cpi sek,60 ; разность 60*1.0c=60c=1мин
;cpi sek,150 ; разность 150*0.4c=60c=1мин
brne Out3 ; если не ноль то выход

CLR sek ; !!!!!!!!!
...."


Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Пт дек 26, 2008 09:58:01 
Встал на лапы
Аватар пользователя

Зарегистрирован: Ср дек 10, 2008 15:10:59
Сообщений: 107
Откуда: KPACHO9PCK
Рейтинг сообщения: 0
Вот коменты на простые часы на МК http://www.radiokot.ru/forum/viewtopic. ... B%E5%F0%E5

Читаю датыш. пока мало чего понимаю но буду разбираться.

На счет индикации смотреть вот здесь http://dariod.cjb.net/ (Binary Clock)

_________________
Чем больше думаеш, тем дольше уснуть не можеш...


Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Пт дек 26, 2008 10:43:00 
Встал на лапы
Аватар пользователя

Зарегистрирован: Ср дек 10, 2008 15:10:59
Сообщений: 107
Откуда: KPACHO9PCK
Рейтинг сообщения: 0
akl с test2 сеунды вообще не идут. 1 и все.

я прошиваю через Uniprof как там фьюзы настроить CKEL3...0=1111 и SUT1,0=11 непонятно. Там просто галочки ставить можно.


Вложения:
fuses.GIF [95.21 KiB]
Скачиваний: 1060

_________________
Чем больше думаеш, тем дольше уснуть не можеш...
Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Пт дек 26, 2008 13:04:55 
Друг Кота

Карма: 64
Рейтинг сообщений: 1013
Зарегистрирован: Пт мар 07, 2008 06:54:43
Сообщений: 4332
Откуда: Ижевск
Рейтинг сообщения: 0
Как запрограммировать правильно FUSE-биты Вашим программатором, не знаю, потому что пользуюсь другими (AS1...AS4).
Если будет выложена схема, будет проще. Пока по программе не видно, куда выводится секунда.
Расчет простой
за 60 секунд при частоте 8000000:256 будет 31250 прерываний.
Если часы отстают на 1 секунду в минуту, то те же 31250 прерываний придут за 61 секунду. Значит частота кварца ниже, чем 8 МГц. Тогда 60:61*Х=31250 и Х=30737,705. Реальная частота кварца получается 30737,709*256=7868852 Гц.


Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Пт дек 26, 2008 13:53:48 
Встал на лапы
Аватар пользователя

Зарегистрирован: Ср дек 10, 2008 15:10:59
Сообщений: 107
Откуда: KPACHO9PCK
Рейтинг сообщения: 0
Вот схема

Не поставил галочки на Lock и теперь МК не определяеться :cry: .
завтра куплю новай тогда буду пробовать.


Вложения:
Bin CLOCK bu SeamaN.JPG [73.92 KiB]
Скачиваний: 988

_________________
Чем больше думаеш, тем дольше уснуть не можеш...
Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Вс дек 28, 2008 10:31:13 
Друг Кота

Карма: 64
Рейтинг сообщений: 1013
Зарегистрирован: Пт мар 07, 2008 06:54:43
Сообщений: 4332
Откуда: Ижевск
Рейтинг сообщения: 0
Здравствуйте. Вот что получилось после просмотра схемы и прогона в студии; если еще актуально


Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Вс дек 28, 2008 22:11:31 
Встал на лапы
Аватар пользователя

Зарегистрирован: Ср дек 10, 2008 15:10:59
Сообщений: 107
Откуда: KPACHO9PCK
Рейтинг сообщения: 0
akl СПАСИБО ОГРОМНОЕ ! ! ! ! !
вот только теперь 1 секунда длиться 8сек....
Всетаки грешу на Фьюзы. Т.К. без кварца работает так же как и с ним.

_________________
Чем больше думаеш, тем дольше уснуть не можеш...


Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Пн дек 29, 2008 06:16:11 
Друг Кота

Карма: 64
Рейтинг сообщений: 1013
Зарегистрирован: Пт мар 07, 2008 06:54:43
Сообщений: 4332
Откуда: Ижевск
Рейтинг сообщения: 0
Здравствуйте. Да, конечно, это FUSE. И еще, в обработчике прерывания вставьте две команды.
Timer1_comp1:
;*******************************************
IN R1,SREG
;*******************************************
.
.
.
;**********
out3:
;*******************************************
OUT SREG,R1
;*******************************************
RETI
Для повышения временнОй стабильности попробуйте (после получения удовлетворительных результатов) "загрунтовать" корпус резонатора и убрать конденсаторы с его лап. Если кварц достаточно активен и SUT1,0 =11 (настроены на задержку 65 ms) выиграите пару порядков по стабильности. Далее, для повышения точности можно организовать иной алгоритм, который позволит уменьшить дискрет подстройки с 32 мкс до 0.125 мкс.


Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Пн дек 29, 2008 09:45:32 
Встал на лапы
Аватар пользователя

Зарегистрирован: Ср дек 10, 2008 15:10:59
Сообщений: 107
Откуда: KPACHO9PCK
Рейтинг сообщения: 0
Уже 2а трупика есть :? с корявыми фьюзами.
uniprof не хочет считывать заводские настройки. А другие проги с программатором 5 проводков работать не хотят. Собрал программатор из обучалки и он неработает.
Подскожите пожалуйста(Хватит трупов с откл ISP)
какие галки должны стоять при проге фьюзов(рис проги выше)???

_________________
Чем больше думаеш, тем дольше уснуть не можеш...


Вернуться наверх
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ Сообщений: 58 ]  1, ,  

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 28


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y