AVR studio в вопросах и ответах
Dexa, что вы имеете виду под "имитацией"? Если вам нужно, чтоб нажатие кнопки имитировалось не только программно, но и хардово, то просто переназначаем порт с кнопкой на выход и записываем в него 0 или 1 (в зависимости, от того на какой полюс источника питания замыкается реальная кнопка). Под "харовой имитацией" я имел виду, что на порте с кнопкой должен появиться такой лог. уровень, который появляется при нажатии реальной кнопки. Если же вам просто нужно, чтоб программа думала, что кнопка нажата, то так делать не следует. Просто добавьте к условию опроса кнопки, логическим "или", опрос какого-либо "флага" (бита переменной). Если нужно будет в какой-либо части программы имитировать нажатие кнопки, то просто установите этот флаг.
- Реклама
- Сообщения: 119
- Зарегистрирован: Ср ноя 07, 2007 15:17:20
Ничего не понял, но мне нужно проверить срабатывает ли прерывание, да и все программу проследить как работает. В протеусе не пашет, вот и решил прогнать в аврстудио. Кнопка весит на входе внешнего прерывания INT1, как только наступило прерывание - антидребезг кнопки, включаем реле, потом задержка на 3 секунды примерно (при этом светодиод моргает примерно каждые 0,5 секунды), потом выключили реле. Знаю задержка реализована глупо, если подскажите как лучше со сведодиодами и задержкой (а еще и научно популярно объясните) то буду только рад.
Код: Выделить всё
;AT90S2313 @ External 4Mhz
.nolist
.include "2313def.inc"
.list
;***************??????????*****************
.def temp=R16
.def temp1=r17
.def temp2=r18
.def temp3=r19
.def count=r20
.def count1=r21
;***********************************************
.cseg
.org 0
rjmp RESET ; Reset Handler
rjmp EXT_INT0 ; IRQ0 Handler
rjmp EXT_INT1 ; IRQ1 Handler
rjmp TIM_CAPT1 ; Timer1 Capture Handler
rjmp TIM_COMP1 ; Timer1 Compare Handler
rjmp TIM_OVF1 ; Timer1 Overflow Handler
rjmp TIM_OVF0 ; Timer0 Overflow Handler
rjmp UART_RXC ; UART RX Complete Handler
rjmp UART_DRE ; UDR Empty Handler
rjmp UART_TXC ; UART TX Complete Handler
rjmp ANA_COMP ; Analog Comparator Handler
EXT_INT0: ret
TIM_COMP1: ret
TIM_OVF1:ret
TIM_CAPT1 : ret
TIM_OVF0 : ret
UART_RXC : ret
UART_DRE : ret
UART_TXC : ret
ANA_COMP : ret
;***************?????????????*****************
RESET: ldi temp,RamEnd ;????????????? ?????
out SPL,temp
cli
ldi temp,0b11111111;????? ? ?????? ????? B
out DDRB,temp
ldi temp,0b10000011;????? ? ?????? ????? D
out DDRD,temp
ldi temp,0b00000000;????????? ????????? ????? B ? ????????
out PortB,temp
ldi temp,0b00000000;????????? ????????? ????? D ? ????????
out PortD,temp
ldi Temp,0b11000000;????????? ?????????? INT0 ? INT1
out GIMSK,Temp
ldi Temp,0b00001010; INT0 ?? ?? ?????????? ??????, INT1 ?? ?????????? ??????
out MCUCR,Temp
ldi Temp,0b11000000; ???????? ?????????? ?? ???????????? 1 ???????
out TIMSK, Temp
ldi Temp,0 ;????????? ???????
out TCNT1H,Temp
out TCNT1L,Temp
sei
Start:
rjmp Start; ??????????? ????
EXT_INT1:
rcall Antidrebezg
in temp3, SREG
push temp3
sbi PortB,4; ??????? ?????
rcall Zadergka
cbi PortB,4;??????? ?????
pop temp3
out SREG,temp3
reti; ????? ?? ??????????? ?????????? INT1
;*****************???????????*********************
; ??? ?????? 4 ??? ???? ?????? ????? ???????? 10 ??, ????????? ?????????? count
;???????? 2 ??????? - ???????? 20 ??
Antidrebezg:
push Temp1
push Temp2
ldi Temp1,0
ldi Temp2,50
ldi count,2
d11: dec Temp1
brne d11
dec Temp2
brne d11
pop Temp2
pop Temp1
dec count
brne d11
ret
Zadergka:
sbi PortD,0
push Temp1
push Temp2
ldi Temp1,0
ldi Temp2,0
ldi count,11
ldi count1,6
d12: dec Temp1
brne d12
dec Temp2
brne d12
dec count
brne d12;
cbi PortD,0
dec count1
brne d12
pop Temp2
pop Temp1
ret
......aлкоголь расширяет сосуды, курение их сужает, а сдают почему-то нервы......
- Сообщения: 119
- Зарегистрирован: Ср ноя 07, 2007 15:17:20
И еще вопросик - не могу понять как загружается константа
ldi R16,(0<<ISC00)|(1<<ISC01)
Что написано после запятой?
ldi R16,(0<<ISC00)|(1<<ISC01)
Что написано после запятой?
......aлкоголь расширяет сосуды, курение их сужает, а сдают почему-то нервы......
Наступил на какие-то грабли, уж не знаю виноват сам винавр или студия, в общем при написании программы на тини2313 прерывания по таймеру иногда компилируются нерабочими(основной цикл крутится, а в прерывание мы никогда не попадаем), работоспособность прерывания нелинейно зависит от кода в основном цикле. Если то же самое компилить в CVAVR, то всё работает нормально. У меня такое уже второй раз и именно на тини2313, кто-нибудь сталкивался с подобным?
Здравствуйте! У меня такая проблема, не могу а AVR Studio 4.17 просимулировать работу таймера 1 в режиме СТС при совпадении с регистром ICR1 (режим №12). TCCR1A=0b00000000, TCCR1B=0b00011010. Причём режим №4(СТС при совпадении с OCR1A) работает. Скачал специально новую версию Studio, а проблема так и осталась. Кстати, камень mega8.
- Реклама
- Сообщения: 21
- Зарегистрирован: Пт дек 04, 2009 16:35:57
Здраствуйте всем. Скачал программу AVRStudio 4.13,юзаю клик на установку,а он выдает ошибку вида "avrstudio 4.13 must be installed",подскажите пожалуйста с чем это связано
- Вложения
-
- -уменьшенное.jpg
- (29.61 КБ) 599 скачиваний
- Сообщения: 3961
- Зарегистрирован: Пн июл 13, 2009 14:37:39
- Откуда: Московская область, наукоград.....
To PeLazginec, скажите а у вас путь к установке или к файлам проекта не содержит кириллических названий? Очень американцы русских слофф не любят
Загружая на вход компьютера "мусор", на выходе получим "мусор^32".
PS. Не работаю с: Proteus, Multisim, EWB, Micro-Cap... не спрашивайте даже
PS. Не работаю с: Proteus, Multisim, EWB, Micro-Cap... не спрашивайте даже
- Сообщения: 21
- Зарегистрирован: Пт дек 04, 2009 16:35:57
Аха,вот в чем оно дело?! Значит я сейчас беру и создаю в корневом каталоге C: папку на английском,перемещаю avrstudio 4... и запускаю с корневого. Правильно?Meteor писал(а):To PeLazginec, скажите а у вас путь к установке или к файлам проекта не содержит кириллических названий? Очень американцы русских слофф не любят
- Сообщения: 3961
- Зарегистрирован: Пн июл 13, 2009 14:37:39
- Откуда: Московская область, наукоград.....
Да, думаю этого будет достаточно.PeLazginec писал(а): Значит я сейчас беру и создаю в корневом каталоге C: папку на английском,перемещаю avrstudio 4... и запускаю с корневого. Правильно?
Загружая на вход компьютера "мусор", на выходе получим "мусор^32".
PS. Не работаю с: Proteus, Multisim, EWB, Micro-Cap... не спрашивайте даже
PS. Не работаю с: Proteus, Multisim, EWB, Micro-Cap... не спрашивайте даже
- Сообщения: 26
- Зарегистрирован: Пн июн 09, 2008 23:40:31
Вопрос уже задавался:
"Как в отладчике частоту МК сменить?"
Был ответ:
"В режиме отладки: меню Debug-AVR Simulator Options"
Что-то не получается. Запускал в отладчике программу:
.include "tn2313def.inc"
.cseg
.org 0
ldi r31,LOW(RAMEND)
out spl,r31
ldi r31,$ff
out ddrb,r31
Loop:
SBI PORTB,1
rcall wait
CBI PORTB,1
rcall wait
rjmp Loop
wait:
ldi r17,2
m: ldi r18,2
m1: dec r18
brne m1
dec r17
brne m
ret
Светодиод (квадратик PORTB,1) мигает, но с изменением частоты в
меню Debug-AVR Simulator Options частота мигания не меняется.
Получается, что отладчик работает с постоянной небольшой частотой.
С какой? Спасибо!
"Как в отладчике частоту МК сменить?"
Был ответ:
"В режиме отладки: меню Debug-AVR Simulator Options"
Что-то не получается. Запускал в отладчике программу:
.include "tn2313def.inc"
.cseg
.org 0
ldi r31,LOW(RAMEND)
out spl,r31
ldi r31,$ff
out ddrb,r31
Loop:
SBI PORTB,1
rcall wait
CBI PORTB,1
rcall wait
rjmp Loop
wait:
ldi r17,2
m: ldi r18,2
m1: dec r18
brne m1
dec r17
brne m
ret
Светодиод (квадратик PORTB,1) мигает, но с изменением частоты в
меню Debug-AVR Simulator Options частота мигания не меняется.
Получается, что отладчик работает с постоянной небольшой частотой.
С какой? Спасибо!
- Сообщения: 3961
- Зарегистрирован: Пн июл 13, 2009 14:37:39
- Откуда: Московская область, наукоград.....
Если не ошибаюсь по умолчанию стоит 4МГц, а то что у Вас не получилось сменить тактовую - это Ваша невнимательность
- Вложения
-
- Option1.jpg
- (30.85 КБ) 629 скачиваний
-
- Option.jpg
- (35.27 КБ) 653 скачивания
Загружая на вход компьютера "мусор", на выходе получим "мусор^32".
PS. Не работаю с: Proteus, Multisim, EWB, Micro-Cap... не спрашивайте даже
PS. Не работаю с: Proteus, Multisim, EWB, Micro-Cap... не спрашивайте даже
- Сообщения: 26
- Зарегистрирован: Пн июн 09, 2008 23:40:31
То, что я делаю что-то не так, я понимаю. Не понятно пока "что".
Последовательность нажатия кнопок:
1. Assemble and run
2. AutoStep
По скорости перемещеня курсора видно, что частотат явно не Мгц, а всего лишь несколько десятков гц.
Может я запускаю отладчик в каком-то замедленном режиме?
Программа совсем небольшая, может кто посмотрит ее в отладке и подскажет мне, что я делаю не так.
Извините за назойливость.
Последовательность нажатия кнопок:
1. Assemble and run
2. AutoStep
По скорости перемещеня курсора видно, что частотат явно не Мгц, а всего лишь несколько десятков гц.
Может я запускаю отладчик в каком-то замедленном режиме?
Программа совсем небольшая, может кто посмотрит ее в отладке и подскажет мне, что я делаю не так.
Извините за назойливость.
- Сообщения: 3961
- Зарегистрирован: Пн июл 13, 2009 14:37:39
- Откуда: Московская область, наукоград.....
Извините, а как Вы себе представляете АвтоШаг с частотой 4МГц? С отрисовкой состояний всех регистров, а их там до черта? Так не работают и студия так не работает. Тайминги можно смотреть там (файл). Симуляция нужна что бы посмотреть как работает до заливки. А после заливки все в железеlag1 писал(а):То, что я делаю что-то не так, я понимаю. Не понятно пока "что".
Последовательность нажатия кнопок:
1. Assemble and run
2. AutoStep
По скорости перемещеня курсора видно, что частотат явно не Мгц, а всего лишь несколько десятков гц.
Может я запускаю отладчик в каком-то замедленном режиме?
Программа совсем небольшая, может кто посмотрит ее в отладке и подскажет мне, что я делаю не так.
- Вложения
-
- simul.JPG
- (49.02 КБ) 624 скачивания
Загружая на вход компьютера "мусор", на выходе получим "мусор^32".
PS. Не работаю с: Proteus, Multisim, EWB, Micro-Cap... не спрашивайте даже
PS. Не работаю с: Proteus, Multisim, EWB, Micro-Cap... не спрашивайте даже
- Сообщения: 26
- Зарегистрирован: Пн июн 09, 2008 23:40:31
(Извините, а как Вы себе представляете АвтоШаг с частотой 4МГц? С отрисовкой состояний всех регистров, а их там до черта? Так не работают и студия так не работает. Тайминги можно смотреть там (файл). Симуляция нужна что бы посмотреть как работает до заливки.)
Цитата.
Да, я понимаю, что при симуляции частота явно не Мгц.
Вот мне же и хотелось узнать, с какой частотой работает АвтоШаг и
можно ли именно эту частоту изменить.
И еще, если менять частоту в меню Debug-AVR Simulator Options с
1Мгц на 8Мгц, где можно увидеть эти изменения(на что они влияют)?
Можно на примере программы мигания светодиода.
Больше вопросов постараюсь не задавать, потому как чувствую, что сильно зациклился на этой теме и уже всем надоел.
Спасибо за ответы! Удачи!
Цитата.
Да, я понимаю, что при симуляции частота явно не Мгц.
Вот мне же и хотелось узнать, с какой частотой работает АвтоШаг и
можно ли именно эту частоту изменить.
И еще, если менять частоту в меню Debug-AVR Simulator Options с
1Мгц на 8Мгц, где можно увидеть эти изменения(на что они влияют)?
Можно на примере программы мигания светодиода.
Больше вопросов постараюсь не задавать, потому как чувствую, что сильно зациклился на этой теме и уже всем надоел.
Спасибо за ответы! Удачи!
- Сообщения: 3961
- Зарегистрирован: Пн июл 13, 2009 14:37:39
- Откуда: Московская область, наукоград.....
На счет изменить скорость автошага не знаю. Такая опция есть у IAR, в студии не нашелlag1 писал(а):Вот мне же и хотелось узнать, с какой частотой работает АвтоШаг и можно ли именно эту частоту изменить.
Я Вам выделил в предыдущем посте показания частоты и времени выполнения. Выше есть еще число циклов. Как только смените тактовую у вас поплывут и значения времени. Число циклов останется тем же (для одного и того же участка кода). Успехов!lag1 писал(а): И еще, если менять частоту в меню Debug-AVR Simulator Options с
1Мгц на 8Мгц, где можно увидеть эти изменения(на что они влияют)?
Загружая на вход компьютера "мусор", на выходе получим "мусор^32".
PS. Не работаю с: Proteus, Multisim, EWB, Micro-Cap... не спрашивайте даже
PS. Не работаю с: Proteus, Multisim, EWB, Micro-Cap... не спрашивайте даже
отладчик студии - не симулятор в реальном времени, он позволяет отладить логику программы, а вовсе не насладиться миганием светодиодов. т.е. никакие временные интерваля реально не выдерживаются, только по внутренним счетчикам времени их и можно увидеть. для примера: задержку в 100 миллисекунд студия эмулирует почти минуту (зависит от процессора компа)lag1 писал(а):Светодиод (квадратик PORTB,1) мигает, но с изменением частоты в
меню Debug-AVR Simulator Options частота мигания не меняется.
Получается, что отладчик работает с постоянной небольшой частотой.
С какой? Спасибо!
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
Здравствуйте. Помогите пожалуйста разобраться. Скачал AVR Studio 4.18.
Написал программу с подпрограммами. Однако когда подпрограмма заканчивается, то возвращается совсем не к тому месту, откуда её вызывали. Причём это первый вызов подпрограммы.
Если кто знает, объясните пожалуйста, что не так. А то просто руки опускаются. То ли симулятор глюченый, то ли с прогой что-то не то. Но вроде всё правильно делаю, как учили.
Написал программу с подпрограммами. Однако когда подпрограмма заканчивается, то возвращается совсем не к тому месту, откуда её вызывали. Причём это первый вызов подпрограммы.
Если кто знает, объясните пожалуйста, что не так. А то просто руки опускаются. То ли симулятор глюченый, то ли с прогой что-то не то. Но вроде всё правильно делаю, как учили.
стек инициализируй!!!!Himik писал(а):Здравствуйте. Помогите пожалуйста разобраться. Скачал AVR Studio 4.18..
Код: Выделить всё
ldi tmp,low(ramend)
out SPL,tmp
ldi tmp,high(ramend)
out SPH,tmpСтавим плюсы: )
Эт ругается, что сама AVR Studio еще не установлена.PeLazginec писал(а):Скачал программу AVRStudio 4.13,юзаю клик на установку,а он выдает ошибку вида "avrstudio 4.13 must be installed",подскажите пожалуйста с чем это связано


