на 3 линии выводится от 0 до 7, а на сегментник 1-8. ))nictrace писал(а):как это Вы числа от 1 до 9 тремя линиями кодируете?.. Максимум - 1...8
ВСЁ по прошивке и программированию AT90S2313/ATTiny2313
- -=MindHunteR=-
- Открыл глаза
- Сообщения: 62
- Зарегистрирован: Пн мар 23, 2009 16:20:56
- Откуда: From the Middle of Nowhere
- Контактная информация:
- Реклама
- -=MindHunteR=-
- Открыл глаза
- Сообщения: 62
- Зарегистрирован: Пн мар 23, 2009 16:20:56
- Откуда: From the Middle of Nowhere
- Контактная информация:
- -=MindHunteR=-
- Открыл глаза
- Сообщения: 62
- Зарегистрирован: Пн мар 23, 2009 16:20:56
- Откуда: From the Middle of Nowhere
- Контактная информация:
- Реклама
Че там 5 часов делать то.-=MindHunteR=- писал(а):Ну это примерно то, что я делал на протяжении 5 часов.
У вас должна быть промежуточная переменная. Проверьте что значение с кнопок в нее ложиься. Антидребезг вам не нужен просто опрашивайте кнопки 50 раз в секунду в прервании таймера например.
Входы кнопок у вас должны быть с подтяжками - т.е. красным гореть в протеусе когда не нажаты, а нажатве синим.
- -=MindHunteR=-
- Открыл глаза
- Сообщения: 62
- Зарегистрирован: Пн мар 23, 2009 16:20:56
- Откуда: From the Middle of Nowhere
- Контактная информация:
Сделал как Вы сказали.
Заработало.
Спасибо!
2 Вопроса общего характера:
1) стоит ли пользоваться вотчдогом?
2) По поводу прерываний. Я напишу, а вы скажите правильно или нет.
Чтоб запустить прерывание по таймеру, я выполняЮ:
Это врубает мне интеррапты вообще.
Потом я врубаю переполнение на таймер1
Отрубаю ШИМ и аутпут и выставляю раз в сколько тактов будет тикать таймер
И ставлю скоко раз надо тикнуть, чтоб переполниться...
Я прав?
Заработало.
Спасибо!
2 Вопроса общего характера:
1) стоит ли пользоваться вотчдогом?
2) По поводу прерываний. Я напишу, а вы скажите правильно или нет.
Чтоб запустить прерывание по таймеру, я выполняЮ:
Код: Выделить всё
#asm
sei
#endasmПотом я врубаю переполнение на таймер1
Код: Выделить всё
TIMSK=0x80;Код: Выделить всё
TCCR1A=0x00;
TCCR1B=0x05;Код: Выделить всё
TCNT1=ШЕСТНАДЦАТИБИТНОЕ ЧИСЛО- GP1
- Поставщик валерьянки для Кота
- Сообщения: 2401
- Зарегистрирован: Пт май 23, 2008 19:32:22
- Откуда: Россия, Волгоград
- Контактная информация:
Не совсем, ваш Т1 будет тикать 0xFFFF-"шестнадцатибитовое число", т.е. он будет считать от вашего числа до 0xFFFF, потом сбросится и если TCNT1 не обновить будет считать от 0x0000 до 0xFFFF.
Если вам надо чтобы счетчик отсчитывал определенное число тиков лучше использовать один из режимов "по совпадению"
p.s. юзаю только ASM
Если вам надо чтобы счетчик отсчитывал определенное число тиков лучше использовать один из режимов "по совпадению"
p.s. юзаю только ASM
- -=MindHunteR=-
- Открыл глаза
- Сообщения: 62
- Зарегистрирован: Пн мар 23, 2009 16:20:56
- Откуда: From the Middle of Nowhere
- Контактная информация:
Обычно прерывания включаю глобально уже после настрое таймера.
в примерах CVAVR есть пример как это пишут
#asm("sei")
А потом загружают число в регистр таймера.
В задаче 6 курса есть счет с 0 до заданого числа, тогда его не надо обновлять после каждого отсчета.
в примерах CVAVR есть пример как это пишут
#asm("sei")
А потом загружают число в регистр таймера.
В задаче 6 курса есть счет с 0 до заданого числа, тогда его не надо обновлять после каждого отсчета.
да и 1 тоже может быть 16 битным и 0x1000 тоже пожалуй.GP1 писал(а):Не совсем, ваш Т1 будет тикать 0xFFFF-"шестнадцатибитовое число"
- -=MindHunteR=-
- Открыл глаза
- Сообщения: 62
- Зарегистрирован: Пн мар 23, 2009 16:20:56
- Откуда: From the Middle of Nowhere
- Контактная информация:
- -=MindHunteR=-
- Открыл глаза
- Сообщения: 62
- Зарегистрирован: Пн мар 23, 2009 16:20:56
- Откуда: From the Middle of Nowhere
- Контактная информация:
Ну учитывая, что во время симуляции на моем древнем лапте проц. загружен на 100%, я полагаю, что ПРОТЕУС может не успевать обрабатывать все что надо...
Хотя когда я ставлю дилей в 2 секунды, счет проиходит быстрее (чуть больше одной сек.) Не знаю почему.
Частоту кварца я указываю только в свойствах проекта в CVAVR и в ПРОТЕУСЕ в свойствах чипа?
Так что с вотчдогом? Делать? Или к черту?
Хотя когда я ставлю дилей в 2 секунды, счет проиходит быстрее (чуть больше одной сек.) Не знаю почему.
Частоту кварца я указываю только в свойствах проекта в CVAVR и в ПРОТЕУСЕ в свойствах чипа?
Так что с вотчдогом? Делать? Или к черту?
- -=MindHunteR=-
- Открыл глаза
- Сообщения: 62
- Зарегистрирован: Пн мар 23, 2009 16:20:56
- Откуда: From the Middle of Nowhere
- Контактная информация:
добый день всем котам.
помогите плиз новичку.
возможно, уже кто-то задавал этот вопрос, но или я невнимательный, или не там смотрел.
взял tiny2313 в исполнении SOIC20, подключил по 5 проводкам, прошил в cvavr2 через LPT. всё было хорошо.
но потом захотел поменять фьюзы, отвечающие за частоту, cksel 0...3.
и перепутал парочку случайно. наверное, установил недопустимую комбинацию. другие фьюзы не трогал. то есть сначала прочёл дефалтные заводские, сменил вот эти и записал обратно. всё. больше таня не подключалась. то есть не определялась программатором. хотя на той же плате у меня другие МК стоят, с ними всё норм.
я так понял, нужно подать тактовый импульс на XTAL1? как его подать? помогите, люди добрые, буду очень признателен.
помогите плиз новичку.
возможно, уже кто-то задавал этот вопрос, но или я невнимательный, или не там смотрел.
взял tiny2313 в исполнении SOIC20, подключил по 5 проводкам, прошил в cvavr2 через LPT. всё было хорошо.
но потом захотел поменять фьюзы, отвечающие за частоту, cksel 0...3.
и перепутал парочку случайно. наверное, установил недопустимую комбинацию. другие фьюзы не трогал. то есть сначала прочёл дефалтные заводские, сменил вот эти и записал обратно. всё. больше таня не подключалась. то есть не определялась программатором. хотя на той же плате у меня другие МК стоят, с ними всё норм.
я так понял, нужно подать тактовый импульс на XTAL1? как его подать? помогите, люди добрые, буду очень признателен.
Блуд не любит флуд = )


