roboforum.ru

Технический форум по робототехнике.
Текущее время: 21 май 2025, 02:40

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




Начать новую тему Ответить на тему  [ Сообщений: 14 ] 
Автор Сообщение
 Заголовок сообщения: Не могу выставить задержку Тини2313
СообщениеДобавлено: 17 мар 2008, 14:40 
Не в сети
Аватара пользователя

Зарегистрирован: 14 июн 2007, 09:39
Сообщения: 19
Откуда: Благовещенск
Всем привет. Не получается выставить задержку 1 сек.

Код:
.nolist
.include "tn2313def.inc"
.list
.def   temp =r16
.def   temp2 =r20
.def    delay1 =r17
.def    delay2 =r18
.def   delay3 =r19
rjmp Init
Init:
   ser temp
   out DDRA,temp
   out DDRB,temp
   out DDRD,temp
   ldi delay1,0x00
   ldi delay2,0x35
   ldi delay3,0x0C   
Start:
   ldi temp,0b00000001
   out PinB,temp
Loop:
   subi Delay1,1
   sbci Delay2,0
   sbci Delay3,0
   brcc Loop
   clr temp2
   out PinB,temp2
Loop2:
   subi Delay1,1
   sbci Delay2,0
   sbci Delay3,0
   brcc Loop2
rjmp Start 


В реале больше 40 сек. Чувство что МК на пониженой частоте пашет.

Кварц подкидывал. Кстати он на 4 МГц. Еще по пути. Не доконца догоняю как выставлять фузы.
Галки поставил в CKSEL1 и SUT1. Остальные пустые.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Не могу выставить задержку Тини2313
СообщениеДобавлено: 17 мар 2008, 15:47 
Не в сети
Аватара пользователя

Зарегистрирован: 20 сен 2007, 11:44
Сообщения: 491
Откуда: Харьков
Skype: Victorovych_FF
прог. языки: ASM
ФИО: Иван ВикторОвич
Для начала скинь CKDIV8 в 1 (убери флажок)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Не могу выставить задержку Тини2313
СообщениеДобавлено: 17 мар 2008, 15:51 
Не в сети
Аватара пользователя

Зарегистрирован: 14 июн 2007, 09:39
Сообщения: 19
Откуда: Благовещенск
нет его там.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Не могу выставить задержку Тини2313
СообщениеДобавлено: 17 мар 2008, 16:17 
Не в сети
Аватара пользователя

Зарегистрирован: 20 сен 2007, 11:44
Сообщения: 491
Откуда: Харьков
Skype: Victorovych_FF
прог. языки: ASM
ФИО: Иван ВикторОвич
Eсли перед каждым циклом предустановку delay1..delay3 делать, то должно раз в 40 полегчать


Последний раз редактировалось Victorovych 17 мар 2008, 16:37, всего редактировалось 1 раз.

Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Не могу выставить задержку Тини2313
СообщениеДобавлено: 17 мар 2008, 16:33 
Не в сети
Аватара пользователя

Зарегистрирован: 28 дек 2004, 20:33
Сообщения: 10211
Откуда: Тольятти
Skype: Ed_Gull
прог. языки: Bascom AVR Basic
ФИО: Гуль Эдуард Викторович
Вот всё таки любим мы себе проблемы создавать на пустом месте... :D
Код:
$regfile = "attiny2313.dat"
$crystal = 4000000
$baud = 9600

Dim I As Integer

Do
  Incr I
  Print "test I = " ; I
  Waitms 1000
Loop


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Не могу выставить задержку Тини2313
СообщениеДобавлено: 17 мар 2008, 17:00 
Не в сети
Аватара пользователя

Зарегистрирован: 14 июн 2007, 09:39
Сообщения: 19
Откуда: Благовещенск
Я не волшебник. только учусь. Можите расшифровать команды, если не сложно :)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Не могу выставить задержку Тини2313
СообщениеДобавлено: 17 мар 2008, 17:04 
Не в сети
скрытый хозяин вселенной :)
Аватара пользователя

Зарегистрирован: 18 сен 2006, 12:26
Сообщения: 18018
Откуда: Тверь по прозвищу Дверь
прог. языки: псевдокод =) сила в алгоритме!
ФИО: глубокоуважаемый Фёдор Анатольевич
вот тут всё подробно описано

_________________
<telepathmode>На вопросы отвечает Бригадир Телепатов!</telepathmode>
Всё уже придумано до нас!


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Не могу выставить задержку Тини2313
СообщениеДобавлено: 17 мар 2008, 17:11 
Не в сети
Аватара пользователя

Зарегистрирован: 28 дек 2004, 20:33
Сообщения: 10211
Откуда: Тольятти
Skype: Ed_Gull
прог. языки: Bascom AVR Basic
ФИО: Гуль Эдуард Викторович
Chip15 писал(а):
Я не волшебник. только учусь. Можите расшифровать команды, если не сложно :)

какие именно?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Не могу выставить задержку Тини2313
СообщениеДобавлено: 17 мар 2008, 17:16 
Не в сети
Аватара пользователя

Зарегистрирован: 14 июн 2007, 09:39
Сообщения: 19
Откуда: Благовещенск
Код:
$regfile = "attiny2313.dat"
$crystal = 4000000
$baud = 9600

Dim I As Integer

Do
  Incr I
  Print "test I = " ; I
  Waitms 1000
Loop


эти


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Не могу выставить задержку Тини2313
СообщениеДобавлено: 17 мар 2008, 17:20 
Не в сети
Аватара пользователя

Зарегистрирован: 28 дек 2004, 20:33
Сообщения: 10211
Откуда: Тольятти
Skype: Ed_Gull
прог. языки: Bascom AVR Basic
ФИО: Гуль Эдуард Викторович
ну давай так, сам-то как думаешь какая команда что означает?

Добавлено спустя 1 минуту 20 секунд:
а то я даже как-то растерялся... :D
на асме пишешь, а бейсиковские команды не знаешь... :D


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Не могу выставить задержку Тини2313
СообщениеДобавлено: 17 мар 2008, 17:31 
Не в сети
Аватара пользователя

Зарегистрирован: 14 июн 2007, 09:39
Сообщения: 19
Откуда: Благовещенск
Код:
$regfile = "attiny2313.dat"   
$crystal = 4000000               ;частота кристала
$baud = 9600                       ;скорость

Dim I As Integer                   ;объявление переменной

Do
  Incr I                                ;инкремеентирование переменной
  Print "test I = " ; I             ; вывод в уарт строки test I = "номер попытки"
  Waitms 1000                    ;ждем 1 сек               
Loop


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Не могу выставить задержку Тини2313
СообщениеДобавлено: 17 мар 2008, 17:33 
Не в сети
Аватара пользователя

Зарегистрирован: 20 сен 2007, 11:44
Сообщения: 491
Откуда: Харьков
Skype: Victorovych_FF
прог. языки: ASM
ФИО: Иван ВикторОвич
Код:
.include "tn2313def.inc"
.list
.def   temp =r16
.def   temp2 =r20
.def    delay1 =r17
.def    delay2 =r18
.def   delay3 =r19
rjmp Init
Init:
   ser temp
   out DDRA,temp
   out DDRB,temp
   out DDRD,temp
   ldi delay1,0x00
   ldi delay2,0x35
   ldi delay3,0x0C   
Start:
   ldi temp,0b00000001
   out PinB,temp
Loop:
   subi Delay1,1
   sbci Delay2,0
   sbci Delay3,0
   brcc Loop
   ldi delay1,0x00
   ldi delay2,0x35
   ldi delay3,0x0C 
   clr temp2
   out PinB,temp2
Loop2:
   subi Delay1,1
   sbci Delay2,0
   sbci Delay3,0
   brcc Loop2
   ldi delay1,0x00
   ldi delay2,0x35
   ldi delay3,0x0C 
rjmp Start


так попробуй


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Не могу выставить задержку Тини2313
СообщениеДобавлено: 17 мар 2008, 17:35 
Не в сети
Аватара пользователя

Зарегистрирован: 28 дек 2004, 20:33
Сообщения: 10211
Откуда: Тольятти
Skype: Ed_Gull
прог. языки: Bascom AVR Basic
ФИО: Гуль Эдуард Викторович
ай маладца
9600 скорость уарта
print это вывод в уарт

Добавлено спустя 1 минуту 11 секунд:
Incr I - это не объявление, а инкрементироваие переменной, т.е. прибавление к ней единички


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Не могу выставить задержку Тини2313
СообщениеДобавлено: 18 мар 2008, 05:27 
Не в сети
Аватара пользователя

Зарегистрирован: 14 июн 2007, 09:39
Сообщения: 19
Откуда: Благовещенск
Victorovych , уже лудше. Возник вопрос:
1. Задержка примерно 3 сек. Из за чего так? У мя емкости в обвязке кварца на 33 стоят. (по дш 22 надо)

Добавлено спустя 26 минут 6 секунд:
Все. Исправил. Немного поправил прогу и задержка стала расчетной :)
Вставил rcall Delay
Всем огромное спасибо. Помогли "чайнику" :) Буду осваивать дальше :)

Код:
.include "tn2313def.inc"
.list
.def   temp =r16
.def   temp2 =r20
.def    delay1 =r17
.def    delay2 =r18
.def   delay3 =r19
rjmp Init
Init:
   ser temp
   out DDRA,temp
   out DDRB,temp
   out DDRD,temp
Delay:
   ldi delay1,0x00
   ldi delay2,0x35
   ldi delay3,0x0C   
Start:
   ldi temp,0b00000001
   out PinB,temp
Loop:
   subi Delay1,1
   sbci Delay2,0
   sbci Delay3,0
   brcc Loop
   rcall Delay
   ret
   clr temp2
   out PinB,temp2
Loop2:
   subi Delay1,1
   sbci Delay2,0
   sbci Delay3,0
   brcc Loop2
   rcall Delay
   ret
rjmp Start


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 14 ] 

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


Кто сейчас на конференции

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


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

Найти:
Перейти:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
phpBB SEO