2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




 
 AVR studio.
Сообщение25.11.2013, 11:47 
Уважаемые, помогите, пожалуйста, подробно описать значение команд:
.def temp = r18;
ser temp
out DDRB, temp
START:
Очень нужно)Заранее спасибо!

 
 
 
 Re: AVR studio.
Сообщение25.11.2013, 12:29 
___ALBA___ в сообщении #792423 писал(а):
.def temp = r18;
Определяем переменную temp как регистр общего назначения № 18
___ALBA___ в сообщении #792423 писал(а):
ser temp

Устанавливаем все биты регистра в 1
___ALBA___ в сообщении #792423 писал(а):
out DDRB, temp
Выводим значение нашего регистра (все 1-цы) в спец регистр, определяющий направление порта В (вход/выход), если я правильно помню аббревиатуру DDRB, в любом случае проще посмотреть даташит
___ALBA___ в сообщении #792423 писал(а):
START:

метка для задания перехода на нее.

 
 
 
 Re: AVR studio.
Сообщение25.11.2013, 12:37 
спс) а для чего устанавливать все биты регистора в 1?

 
 
 
 Re: AVR studio.
Сообщение25.11.2013, 12:55 
Я вам расписал подробно значение команд, как вы просили. Вы не просили расписать смысл этого куска. А смысл его таков - нам в самом начале работы надо определить конфигурацию МК - состав и назначение портов ввода-вывода, настроить таймеры, состав прерываний и т.п. Конкретно ваш кусок реализует следующее - задает все выводы порта В как выходы. Для этого нам надо поместить во все биты системного регистра DDRB 1-цы, мы это проделываем через регистр общего назначения r18, который определяем как вспомогательный (и который потом скорее всего дальше по тексту программы много раз нам пригодится именно в таком качестве).

 
 
 [ Сообщений: 4 ] 


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group