Например TDA7294

Форум РадиоКот • Просмотр темы - ATmega8 . Разработка программы .
Форум РадиоКот
Здесь можно немножко помяукать :)

Текущее время: Вс дек 07, 2025 06:54:51

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


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



Начать новую тему Ответить на тему  [ Сообщений: 15 ] 
Автор Сообщение
Не в сети
 Заголовок сообщения: ATmega8 . Разработка программы .
СообщениеДобавлено: Чт янв 03, 2013 21:15:59 
Первый раз сказал Мяу!

Зарегистрирован: Вс июл 29, 2012 19:09:48
Сообщений: 22
Рейтинг сообщения: 0
Доброго времени суток .
Помогите пожалуйста разработать и написать программу ( желательно на Assembler ) для микроконтроллера ATmega8 . Работа программы примитивна : включать светодиод по нажатию кнопки .
Имеются программы AVR Studio и Proteus ( по сути эмулятор ) .
Хочется понять сам принцип разработки программы , алгоритм ее составления , с чего начинать .
Всем заранее спасибо !


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: ATmega8 . Разработка программы .
СообщениеДобавлено: Чт янв 03, 2013 21:22:47 
Друг Кота

Карма: 27
Рейтинг сообщений: 206
Зарегистрирован: Чт ноя 26, 2009 11:16:50
Сообщений: 6015
Откуда: Москва
Рейтинг сообщения: 0
Ну принцип такой -
1.Читаются книги и даташиты.
2.Пишется несколько строчек программы, в любом тектсовом редакторе или в АВРСтудио сразу.
3.Программа компилируется в АВРСтудио, если нужно.
4.Прошивка прошивается в МК программатором, если нужно.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: ATmega8 . Разработка программы .
СообщениеДобавлено: Чт янв 03, 2013 21:23:02 
Говорящий с текстолитом
Аватар пользователя

Карма: 11
Рейтинг сообщений: 143
Зарегистрирован: Пт дек 28, 2012 21:56:46
Сообщений: 1518
Откуда: St. Petersburg
Рейтинг сообщения: 0
Вы хотели сказать, "помогите мне найти в гугле пример такой программы для новичка"?

Лучшее обучение - самостоятельное, а материалов про AVR в сети много.

PS. Да, и кстати, к ветке "Аналоговая техника" это не очень относится :))

_________________
Изображение only pure true norwegian blackx Изображение


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: ATmega8 . Разработка программы .
СообщениеДобавлено: Чт янв 03, 2013 21:29:16 
Поставщик валерьянки для Кота
Аватар пользователя

Карма: 42
Рейтинг сообщений: 161
Зарегистрирован: Вт июл 27, 2010 11:31:59
Сообщений: 2209
Откуда: Кххх
Рейтинг сообщения: 0
Вам сюда.
http://radiokot.ru/start/mcu_fpga/avr/


Вернуться наверх
 
Эиком - электронные компоненты и радиодетали
Не в сети
 Заголовок сообщения: Re: ATmega8 . Разработка программы .
СообщениеДобавлено: Чт янв 03, 2013 21:39:48 
Первый раз сказал Мяу!

Зарегистрирован: Вс июл 29, 2012 19:09:48
Сообщений: 22
Рейтинг сообщения: 0
SmarTrunk писал(а):
Ну принцип такой -
1.Читаются книги и даташиты.
2.Пишется несколько строчек программы, в любом тектсовом редакторе или в АВРСтудио сразу.
3.Программа компилируется в АВРСтудио, если нужно.
4.Прошивка прошивается в МК программатором, если нужно.


Компилировать и прошивать МК собираюсь после проверки на эмуляторе . Хочется понять больше по программной части . Изучал Assembler на KP580 , поэтому на Atmel мне не так-то легко сейчас . Очень понравилась книга Ю.Ревич , "Практическое программирование Микроконтроллеров AVR на языке ассемблера" читал , старался понять .


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: ATmega8 . Разработка программы .
СообщениеДобавлено: Чт янв 03, 2013 21:46:14 
Друг Кота

Карма: 27
Рейтинг сообщений: 206
Зарегистрирован: Чт ноя 26, 2009 11:16:50
Сообщений: 6015
Откуда: Москва
Рейтинг сообщения: 0
Да, Ревича я тоже читал. По-моему, после Ревича уже можно смело ставить Студио 4-й версии, писать программу и отлаживать


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: ATmega8 . Разработка программы .
СообщениеДобавлено: Чт янв 03, 2013 21:50:38 
Первый раз сказал Мяу!

Зарегистрирован: Вс июл 29, 2012 19:09:48
Сообщений: 22
Рейтинг сообщения: 0
minakan писал(а):



Огромное спасибо ! пока то что нужно , позже в любом случае отпишусь )))


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: ATmega8 . Разработка программы .
СообщениеДобавлено: Пт янв 04, 2013 23:44:08 
Первый раз сказал Мяу!

Зарегистрирован: Вс июл 29, 2012 19:09:48
Сообщений: 22
Рейтинг сообщения: 0
Если я не прав , и где-то ошибка , если можно конечно , подскажите над чем мне подумать , поработать .

Подключил кнопку к порту C , светодиод к порту D .
По схеме у меня порт C - ввода , порт D - вывода .
Кнопка у нас ввод , светодиод вывод .
По умолчанию все порты настроены на ввод , поэтому настраиваем только порт D на вывод .
При нажатии кнопки на порту ввода C появляется число 10000000 , до нажатия было 00000000 .
Вводим это число в регистр .
Далее его выводим .

Изображение

У меня вопросы :
при нажатии кнопки как показано на рисунке , в порту ввода будет появляться число 10000000 или 00000000 . На KP580 включенная кнопка это 0 , тут аналогично ?
Как писать заголовок , первую строку программы , например ".include "d:\avr\avrasm\appnotes\2313def.inc" .
Нужно ли настраивать порт D на вывод ? ( объясните если можно ) .
Настройка порта D на вывод осуществляется с помощью этой команды ( ldi Temp, 0D11111111 ) ?

Заранее извиняюсь за код , старался написать базу , тело программы .

Код:
.include " C:\Program Files\Atmel\AVR Tools\AvrAssembler\Appnotes\m8def "
.def     Temp=R16
.cseg
.org 0
in DDRC,Temp
out DDRD ,Temp


Вложения:
Снимок1.jpg [147.81 KiB]
Скачиваний: 6797
Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: ATmega8 . Разработка программы .
СообщениеДобавлено: Сб янв 05, 2013 01:43:00 
Говорящий с текстолитом
Аватар пользователя

Карма: 11
Рейтинг сообщений: 143
Зарегистрирован: Пт дек 28, 2012 21:56:46
Сообщений: 1518
Откуда: St. Petersburg
Рейтинг сообщения: 0
Почитайте вот это.

Постарайтесь сначала отдельно:

1) сделать правильную схему. Например вы хотите повестить на МК кнопку и светодиод - в том же протеусе подключите все сразу так как нужно. С питанием, землей, линией сброса, защитными резисторами.

2) написать код в AVR Studio, и попробовать для начала его симуляцию именно там. Походить по шагам по коду и посмотреть как меняются квадратики и чиселки. На том же сайте поищите. Тут на радиокоте статьи неплохие, но не рассчитаны на совсем новичка.

_________________
Изображение only pure true norwegian blackx Изображение


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: ATmega8 . Разработка программы .
СообщениеДобавлено: Сб янв 05, 2013 09:23:28 
Первый раз сказал Мяу!

Зарегистрирован: Вс июл 29, 2012 19:09:48
Сообщений: 22
Рейтинг сообщения: 0
blackx писал(а):
Почитайте вот это.

Постарайтесь сначала отдельно:

1) сделать правильную схему. Например вы хотите повестить на МК кнопку и светодиод - в том же протеусе подключите все сразу так как нужно. С питанием, землей, линией сброса, защитными резисторами.

2) написать код в AVR Studio, и попробовать для начала его симуляцию именно там. Походить по шагам по коду и посмотреть как меняются квадратики и чиселки. На том же сайте поищите. Тут на радиокоте статьи неплохие, но не рассчитаны на совсем новичка.


огромное спасибо за ответ .
Постараюсь поработать над этим .
У меня самая первая ошибка в заголовке , выдает ошибку
Код:
C:\Users\kompYOUter\Desktop\project\AVR\programm.asm(1): error: Missing include file name
, подскажите как ее убрать , хочется понять .


Последний раз редактировалось RossiaForever Сб янв 05, 2013 10:02:58, всего редактировалось 2 раз(а).

Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: ATmega8 . Разработка программы .
СообщениеДобавлено: Сб янв 05, 2013 15:05:11 
Первый раз сказал Мяу!

Зарегистрирован: Вс июл 29, 2012 19:09:48
Сообщений: 22
Рейтинг сообщения: 0
Компилирую программу , компилируется .
Заметил "ошибку" программы при загрузке ее в МК в Proteus , думал это Proteus виноват ( в интернете часто на программу сваливают ) . Решил отладить программу через Debug в AVR Studio , так-то и нашел ошибочку .

В пример приведу часть программы ( она компилируется ) , команда заносит в регистр R16 ( Temp ) число 11111111 :

Код:
.include "m8def.inc"

.def     Temp=R16
 
.cseg
.org 0

ldi Temp, 0b11111111
out DDRD,Temp


При отладке в Debug в регистре R16 появляется число FF ( 11111111 ) как и должно быть .
Счетчик циклов увеличивается с 0 до 4096 и т.д.
Счетчик программ (PC) = 0x000001 .
Счетчик циклов , программ и регистр R16 выделены красным цветом .

Изображение

Код:
AVR Simulator: Invalid opcode 0xffff at address 0x000002



В чем может быть ошибка ?


Вложения:
Снимок1.JPG [50.68 KiB]
Скачиваний: 6437
Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: ATmega8 . Разработка программы .
СообщениеДобавлено: Вс янв 06, 2013 00:33:11 
Родился
Аватар пользователя

Зарегистрирован: Чт фев 25, 2010 20:00:26
Сообщений: 10
Откуда: Украина
Рейтинг сообщения: 0
.org - указывает с какого адреса пойдет собственно программа. Обычно используется для создания таблицы прерываний.
Код:
.ORG $000      ; (RESET)

Но каждый такой вопрос будут ссылки на ресурсы в интернете.
Рекомендую читать:
http://easyelectronics.ru/avr-uchebnyj- ... ramma.html
http://easyelectronics.ru/avr-uchebnyj- ... mbler.html
и упомянутые здесь книги.

_________________
Не откладывай на завтра то, что не хочется делать сегодня. Завтра тоже не захочется...


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: ATmega8 . Разработка программы .
СообщениеДобавлено: Вс янв 06, 2013 10:21:55 
Первый раз сказал Мяу!

Зарегистрирован: Вс июл 29, 2012 19:09:48
Сообщений: 22
Рейтинг сообщения: 0
neon15 писал(а):
.org - указывает с какого адреса пойдет собственно программа. Обычно используется для создания таблицы прерываний.
Код:
.ORG $000      ; (RESET)

Но каждый такой вопрос будут ссылки на ресурсы в интернете.
Рекомендую читать:
http://easyelectronics.ru/avr-uchebnyj- ... ramma.html
http://easyelectronics.ru/avr-uchebnyj- ... mbler.html
и упомянутые здесь книги.


То есть программу нужно размещать в неком цикле ?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: ATmega8 . Разработка программы .
СообщениеДобавлено: Вс янв 06, 2013 11:11:51 
Первый раз сказал Мяу!

Зарегистрирован: Вс июл 29, 2012 19:09:48
Сообщений: 22
Рейтинг сообщения: 0
Перешел временно на светодиоды , бегущие огни , написал программу и решил сделать задержку в подпрограмме :

Код:

.include "m8def.inc"
.def     Temp=R16
.def     Temp1=R17
.cseg
.org 0000

Init: Ldi Temp , 0b00000001
Shift : rcall Delay
cpi Temp,0b10000000
breq Init
lsl Temp
rjmp Shift



Delay:             ; подпрограмма
Ldi Temp1 , 0
Loop:dec Temp1
brne Loop
ret



Без подпрограммы ( задержка ) все работает нормально .
При отладке программы :
по команде rcall вызывается п/п , при выходе из п/п ... снова возвращается на команду Init: Ldi Temp , 0b00000001 , и так до бесконечности . Где накосячил не могу понять , указатели стека пока немного трудно понять .


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: ATmega8 . Разработка программы .
СообщениеДобавлено: Вс янв 06, 2013 11:38:03 
Друг Кота
Аватар пользователя

Карма: 32
Рейтинг сообщений: 238
Зарегистрирован: Пт янв 29, 2010 10:27:40
Сообщений: 3868
Откуда: Москва
Рейтинг сообщения: 0
Обычная ошибка тех кто начинает писать программы - нет инициализации стека, поэтому команды RET/RETI не работают.
Код:
   LDI   r16,high(ramend) ;это делаем первым делом, ну или одним из первых
   OUT   SPH,r16      
   LDI   r16,low(ramend)
   OUT   SPL,r16      
init: 


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

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


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

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


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

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


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