Форум программистов, компьютерный форум, киберфорум
Наши страницы
Микроконтроллеры Atmega AVR
Войти
Регистрация
Восстановить пароль
 
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
Yaroshrostyslav
0 / 0 / 0
Регистрация: 08.06.2015
Сообщений: 35
1

Написать программу в AVR STUDIO

13.06.2016, 17:39. Просмотров 1121. Ответов 29
Метки нет (Все метки)

Должно быть схема с 3 светлодиодами. Каждая лампочка должна переключаться по очереди. То есть, когда первая потухнет, загорается вторая, когда вторая потухнет, загорается третья. И так дальше.

Схема должна быть на микроконтроллере Attiny2313.
0
Лучшие ответы (1)
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.06.2016, 17:39
Ответы с готовыми решениями:

CAVR против AVR Studio, что не так в программе под AVR Studio
Проблема такая, есть исходник, если его компилировать в CAVR заливаю в МК все работает, если этот...

AVR Studio 6 и AVR Toolchain вопросы!
Всем доброго времени суток. Решил я написать софтинку в новой студии от Атмела AVR Studyo 6. Все...

GCC и AVR Studio 5 и AVR Studio 4.18
Доброго дня Всем! Кто может подсказать следующее - у меня установлена AVR Studio 5 со встроеным...

AVR Studio 6 Avr simulator
Подскажите каким образом стартануть прогу в avr symulator с адреса boottooder (atmega8a, 0x0F80)....

Установить AVR Studio 6 после Visual Studio 10 SP1
При уже установленной Visual Studio 10 установщик AVR Studio 6 устанавливает Visual Studio Shell,...

29
Rom_Left
3 / 3 / 1
Регистрация: 28.05.2016
Сообщений: 18
14.06.2016, 17:11 21
Мы наверное о разном.
wait и wait1, это подпрограммы задержки, их у тебя две?
если да - сделай задержку wait1 больше чем wait и вызывай когда надо чтоб дольше светился
если нет - просто, в тупую вызови два раза wait
Пример:
ldi temp,0b00000001
out PortB,temp
rcall wait
rcall wait
0
Yaroshrostyslav
0 / 0 / 0
Регистрация: 08.06.2015
Сообщений: 35
14.06.2016, 17:37  [ТС] 22
вот мой код

Assembler
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
.include "tn2313def.inc"
 
.def temp = r16
.def delay =r17
.def delay1 = r18
.def delay2 = r19
 
ldi temp,low(RAMEND)
out spl,temp
 
ser temp
out ddrB,temp
out ddrD,temp
com temp
out PortB,temp
out PortD,temp
 
main:
ldi temp,0b11111110
out PortB,temp
rcall wait
ldi temp,0b11111101
out PortB,temp
rcall wait
ldi temp,0b11111011
out PortB,temp
rcall wait
clr temp
 
wait:
clr delay
clr delay1
wait_loop:
dec delay
brne wait_loop
dec delay1
brne wait_loop
 
ret
 
wait1:
ldi delay,1 ; с циферками можно поиграться
ldi delay1,5
ldi delay2,5
wait1_loop:
dec delay
brne wait1_loop
dec delay1
brne wait1_loop
dec delay2
brne wait1_loop
 
ret
0
Rom_Left
3 / 3 / 1
Регистрация: 28.05.2016
Сообщений: 18
14.06.2016, 17:50 23
Вот так сделай
Кликните здесь для просмотра всего текста
.include "tn2313def.inc"

.def temp = r16
.def delay =r17
.def delay1 = r18
.def delay2 = r19

ldi temp,low(RAMEND)
out spl,temp

ser temp
out ddrB,temp
out ddrD,temp

main:
ldi temp,0b11111110
out PortB,temp
rcall wait1
ldi temp,0b11111101
out PortB,temp
rcall wait
ldi temp,0b11111011
out PortB,temp
rcall wait1
ser temp
out PortB,temp
rcall wait
rjmp main

wait:
clr delay
clr delay1
wait_loop:
dec delay
brne wait_loop
dec delay1
brne wait_loop
ret

wait1:
ldi delay,1 ; с циферками можно поиграться
ldi delay1,5
ldi delay2,5
wait1_loop:
dec delay
brne wait1_loop
dec delay1
brne wait1_loop
dec delay2
brne wait1_loop
ret
1
Yaroshrostyslav
0 / 0 / 0
Регистрация: 08.06.2015
Сообщений: 35
14.06.2016, 17:54  [ТС] 24
Спасибо большое!
0
14.06.2016, 17:54
ValeryS
Модератор
7906 / 5883 / 773
Регистрация: 14.02.2011
Сообщений: 20,235
Завершенные тесты: 1
15.06.2016, 07:16 25
Rom_Left, предупреждаю
правила п 5.10
Запрещено накручивать репутацию и другую статистику пользователя любым способом, включая создание пользователей-клонов, а также склонять (агитировать) других пользователей к ее изменению.
1
Voland_
1724 / 1063 / 104
Регистрация: 04.01.2010
Сообщений: 3,638
15.06.2016, 08:48 26
Rom_Left, единственного, чего нет в вашей программе - это обработчика прерываний. В данном случае это не важно, но вообще хорошим тоном будет использование инструкций '.org NN' для задания оффсета в секции, и названия самой секции - ".code". В принципе Atmel Studio использует их по умолчанию (то есть начинает код с нуля и в области программ", но в общем случае это не так, и желательно это явно указывать в коде.
1
Rom_Left
3 / 3 / 1
Регистрация: 28.05.2016
Сообщений: 18
15.06.2016, 10:38 27
Vland, полностью с вами согласен, но решение было, как я ранее написал, в лоб и левой ногой. Обработчика прерываний нет, потому что прерываний нет (нечего обрабатывать), у AVR они по умолчанию запрещены, значит контроллер не сможет улететь непонятно куда. А вообще я только начал изучать AVRки и программирование, так что могу ошибаться.
0
Витальич
1276 / 1183 / 174
Регистрация: 02.12.2013
Сообщений: 4,886
15.06.2016, 10:43 28
Совет дня: Когда на асме под AVR пишите, то после инициализации стека я еще добавлял выключение компаратора, а то он по умолчанию включён.
1
Rom_Left
3 / 3 / 1
Регистрация: 28.05.2016
Сообщений: 18
15.06.2016, 11:08 29
Витальич, Даже если компаратор включен по умолчанию, а прерывания запрещены глобально, то ничего крамольного не произойдет. Если же прерывания используются, тогда ДА, надо делать так как написал Voland, или через '.org NN' писать то что нужно, или описать всю таблицу, а что не используем ставим RETI. Спасибо за советы
0
pyzhman
1156 / 512 / 75
Регистрация: 15.05.2012
Сообщений: 2,925
15.06.2016, 12:27 30
Цитата Сообщение от Rom_Left Посмотреть сообщение
компаратор включен по умолчанию
Правило хорошего тона - отключать его при неиспользовании, чтобы не кушал электроэнергию. Ну это так, к слову.
0
15.06.2016, 12:27
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.06.2016, 12:27

Почему AVR Studio 4, а не Atmel Studio 6?
По какой причине большинство специалистов по AVR микроконтроллерам в основном используют AVR Studyo...

Не могу написать программу в MC Studio
Записать в кодах МК К1816ВЕ1 программу , которая: - записывает в ячейку 62 константу FF; -...

avr studio 4.19 + c++
Доброго времени суток, уважаемые гуру! Пришел к вам просить помощи в настройке avr studyo. Немного...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
30
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.