уяснение для себя из обучалки местной

Если ваш вопрос не влез ни в одну из вышеперечисленных тем, вам сюда.
CyberMerlin
Встал на лапы
Сообщения: 138
Зарегистрирован: Пн сен 18, 2006 13:39:03
Откуда: Попуа Новой Гвинеи (Зимбабва)
Контактная информация:

уяснение для себя из обучалки местной

Сообщение CyberMerlin »

Итак, как вы помните, в нашем контроллере 16 РОН (регистров общего назначения): R16…R31. С любым из них мы можем сделать все что угодно. Просто полная анархия! Однако, я бы не рекомендовал злоупотреблять количеством используемых регистров. Это очень усложняет процесс написания программы. Я обычно использую 4 или 5 регистров - только самое необходимое в данный момент. Остальное - в оперативке (ОЗУ).
- а какие тогда регистры относятся к оперативке??
- и как узнать сколько у меня этих регистров
- у меня клавиатура имеет 40 кнопок, я должен их отследивать
где я их должен хранить?? (или где они хранятся сами)
как мне получить значение "0" если у меня кнопка нажалась с порта скажем "А"????
Реклама
Аватара пользователя
Mamonth
Вымогатель припоя
Сообщения: 534
Зарегистрирован: Пн янв 16, 2006 08:00:17
Откуда: Иркутск

Сообщение Mamonth »

Прочитай внимательно и вдумчиво обучалку. Там очень хорошо все написано :)))
Today fine night...
Реклама
CyberMerlin
Встал на лапы
Сообщения: 138
Зарегистрирован: Пн сен 18, 2006 13:39:03
Откуда: Попуа Новой Гвинеи (Зимбабва)
Контактная информация:

Сообщение CyberMerlin »

2 Mamonth
уважаемый Заядлый эл,
обычно я сам справляюсь и обращаюсь за помощью в крайних случаях, но ввиду какой-то огранниченности или рассеянности, я не смог разобраться, посему выписал только эти вопросы КРАТКО и, как мне кажется, ЯСНО.

Если не затрудняет плз втолкните в меня эти знания :?
буду очень признателен, а то я такими темпами до 1 ноября не здам запрограмированный ATmega162
(меня шеф посадил за это в надежде что я смогу разобраться во всем)
это конечно радует, что обо мне хорошего мнения, но откровенно не зная даже элементарных озов схемотехники, построения логической схемы работы МК - это задница..

НАДЕЮСЬ на Вас друзья
Аватара пользователя
Pa5ha
Прорезались зубы
Сообщения: 243
Зарегистрирован: Ср авг 31, 2005 20:09:08
Откуда: Петрозаводск, Карелия.
Контактная информация:

Сообщение Pa5ha »

По пунктам:
1. к оперативке относятся переменные. Напр:

.dseg

CountRate: .byte 1
MelAddL: .byte 1
MelAddH: .byte 1

2. из датащита на микросхему. Сколько в данном случае - не знаю.
3. смотри динамическую индикацию. аналогично считывается и клавиатура. Там наверно даже есть про динамический опрос клавы (лень смотреть)
2kb of eeprom should be enought for everybody (C) Bill Gates` cat :)
Реклама
Эиком - электронные компоненты и радиодетали
Коляныч

Re: уяснение для себя из обучалки местной

Сообщение Коляныч »

CyberMerlin писал(а):
Итак, как вы помните, в нашем контроллере 16 РОН (регистров общего назначения): R16…R31.
бред! читайте даташит.
Реклама
Аватара пользователя
Mamonth
Вымогатель припоя
Сообщения: 534
Зарегистрирован: Пн янв 16, 2006 08:00:17
Откуда: Иркутск

Сообщение Mamonth »

CyberMerlin писал(а):2 Mamonth
уважаемый Заядлый эл,
обычно я сам справляюсь и обращаюсь за помощью в крайних случаях, но ввиду какой-то огранниченности или рассеянности, я не смог разобраться, посему выписал только эти вопросы КРАТКО и, как мне кажется, ЯСНО.

Если не затрудняет плз втолкните в меня эти знания :?
буду очень признателен, а то я такими темпами до 1 ноября не здам запрограмированный ATmega162
(меня шеф посадил за это в надежде что я смогу разобраться во всем)
это конечно радует, что обо мне хорошего мнения, но откровенно не зная даже элементарных озов схемотехники, построения логической схемы работы МК - это задница..

НАДЕЮСЬ на Вас друзья
Ну во-перых, статус присваевается не по знаниям а по количество постов :)
Во-вторых,
1. Оперативка - это оперативка. Если ты объявляешь переменную то данные хранятся в оперативной памяти.
Ты можешь обозвать регистр по-своему, тогда будешь работать именно с РОН и данные будут храниться там. Например:

.def Temp=R16
Определяет имя РОНу, т.е. существует только для удобства программирования, транслятор потом сам все заменит. А человек удобнее работать с чем-то определенным.

Digit: .byte 4
Обявление переменной в опреативной памяти

MyArray:
.db 1,15,4,9,12,145,67,90
Обявляется массив с именем MyArray в памяти программ.

2. У оперативки нет понятия регистров, есть понятие область. Начиная с адреса такого-то и заканчивая таким-то.

3. Используй отбор по маске, это один из самых простых способов. Есть ещё способ с использованием АЦП, но здесь он не освещался. С одной стороны он достаточно удобен, с другой не слишком надежен при большом количестве кнопок и нестабильном питании.

И смотри, есть прямая а есть косвенная адресация. Если ты програмил на языках высокого уровня, то там есть переменная, и есть переменная-указатель. Просто переменная хранит значение, а переменная-указатель адрес (ну и длину) на ячейку памяти компа.
Здесь аналогично, просто все это на асме. Использование косвенной адресации позволяет работать с блоками данных (аля массивы) на уровне адресации.

Ну вот примерно так. Надеюсь не очень сумбурно.
Today fine night...
Реклама
CyberMerlin
Встал на лапы
Сообщения: 138
Зарегистрирован: Пн сен 18, 2006 13:39:03
Откуда: Попуа Новой Гвинеи (Зимбабва)
Контактная информация:

Сообщение CyberMerlin »

1. как я понял у меня с R0-r31 - РОН причем из них R26-R31 - X-Z- регистры косвенной адресации
Digit: .byte 4
Обявление переменной в опреативной памяти
MyArray:
.db 1,15,4,9,12,145,67,90
Обявляется массив с именем MyArray в памяти программ
(а как же так получается, ведь лово стоящее до знака ":" - метка
т.е. в данном случает метки MyArray: И Digit: -)
или если я правильно понял, просто по этой метке прога будет обращаться к этой команде, а там... этот массив??
3. (по поводу клавиатуры)
я узнал что есть способ матричного расположения кнопок на портах клавы, т.е. через один порт вывод скажем единички и на другом порту (ввод) смотрится результат, если нолик - кнопка нажата
Ну вот примерно так. Надеюсь не очень сумбурно
да нет очень даже нормально - я таким же образом мыслю
Аватара пользователя
avr123.nm.ru
Вечно гонимый
Сообщения: 331
Зарегистрирован: Пн сен 04, 2006 20:25:28
Откуда: самоучитель по микроконтроллерам
Контактная информация:

Сообщение avr123.nm.ru »

Советую скачать и посмотреть АпНоуты AVR обязательно и PIC хотябы список.
Гость

Сообщение Гость »

CyberMerlin писал(а):1. как я понял у меня с R0-r31 - РОН причем из них R26-R31 - X-Z- регистры косвенной адресации
Digit: .byte 4
Обявление переменной в опреативной памяти
MyArray:
.db 1,15,4,9,12,145,67,90
Обявляется массив с именем MyArray в памяти программ
(а как же так получается, ведь лово стоящее до знака ":" - метка
т.е. в данном случает метки MyArray: И Digit: -)
или если я правильно понял, просто по этой метке прога будет обращаться к этой команде, а там... этот массив??
А вот теперь тебя точно надо в обучалку ВНИМАТЕЛЬНО читать и почитать что-нить про косвенную адресацию.
И XYZ регистры, но не только косвенной адресации... и вполне прямой тоже.
CyberMerlin
Встал на лапы
Сообщения: 138
Зарегистрирован: Пн сен 18, 2006 13:39:03
Откуда: Попуа Новой Гвинеи (Зимбабва)
Контактная информация:

Сообщение CyberMerlin »

avr123
appnotes - скачан и он один всего, но там как понял стандартная настройка портов и всякого чего я пока не знаю

Гость
- не ну конечно не только, простоэтоя уже понял, просто там последний ВЫВОД (последняя строчка) в которой так и написано что это именно косвенной адресации, ну не сцуть
все равн спасиб, за уточнение
ОБУЧАЛКУ, то читаю, т.е. изучаю...
а мне туды только по поводу Регистров x-Z посмотреть или то что про метки написано???
т.е. я чего-то не допонял про метки, объявление епремнных и массивов??типа про косвенную адресацию?
Аватара пользователя
avr123.nm.ru
Вечно гонимый
Сообщения: 331
Зарегистрирован: Пн сен 04, 2006 20:25:28
Откуда: самоучитель по микроконтроллерам
Контактная информация:

Сообщение avr123.nm.ru »

CyberMerlin писал(а):avr123
appnotes - скачан и он один всего
Фантастика! я штук 40 видел ... и у ПИК штук 600.
CyberMerlin
Встал на лапы
Сообщения: 138
Зарегистрирован: Пн сен 18, 2006 13:39:03
Откуда: Попуа Новой Гвинеи (Зимбабва)
Контактная информация:

Сообщение CyberMerlin »

тактактактак
чего-то не пойму( из обучалки ясно было, что в пакете tavrasm directories - appnotes и в ней есть аппноут - открыл, а таммм.. как понял просто конфигурирование по умолчанию МК
тогда скажи мне чего такео аппноут?? я совсем убьюсь иначе

и вопрос 2
- в обучалке сказано
Все векторы расположены в самом начале адресного пространства, и занимают первые 11 адресов ПЗУ (с $000 по $00A
чего-то не пойму, у меня таблица Reset & Interrup Vectors содержит 28 строки последний адрес 0х036 - восстановление готовности памяти программ (если правильно перевел)
или это нормальое течение вещей???
и вопрос 3
- чем отличается собственно RJMP & JMP????
первое Перейти относительно, а вторая - просто ПЕРЕЙТИ (это из gaw.ru взял) а какова разница между сим и сим????
Аватара пользователя
avr123.nm.ru
Вечно гонимый
Сообщения: 331
Зарегистрирован: Пн сен 04, 2006 20:25:28
Откуда: самоучитель по микроконтроллерам
Контактная информация:

Сообщение avr123.nm.ru »

CyberMerlin писал(а):скажи мне чего такео аппноут??
апноут - это "апликейшн ноут" - пример применения компонента публикуемый его производителем.

Я бы очень советовал вам прочитать мой курс, но меня пустили обратно на этот форум с условием чтоя не буду не него ссылаться.

Спроси пожалуйста у админа если действительно интересно.

или посмотрите соседний топик "с чего начать" ну или на мой ник обратите внимание.
Аватара пользователя
Старый ржавый электронщик
Говорящий с текстолитом
Сообщения: 1507
Зарегистрирован: Чт дек 15, 2005 17:34:48
Откуда: Петрозаводск
Контактная информация:

Сообщение Старый ржавый электронщик »

апноуты разные бывают, видимо. авр123 прав, апноут есть файлик, ПДФный скорее всего, с конкретными схемами включения, дополнительными параметрами и с примерами использования. Но видимо есть второе значение слова апноут - то самое, в котором ты и запутался
путь наименьшего сопротивления проходит по пути наитолстого провода (с) Сергей Соболь
CyberMerlin
Встал на лапы
Сообщения: 138
Зарегистрирован: Пн сен 18, 2006 13:39:03
Откуда: Попуа Новой Гвинеи (Зимбабва)
Контактная информация:

Сообщение CyberMerlin »

avr123
а я это еще вчера понял и посмотрел, только поздно было уже
спасибо большое
И КСТАТИ, а почему на ВЫ???? я лично буду на это смотреть (чтоб на ВЫ обращались) только после 75 лет... а пока мне меньше, плз на ТЫ
угу?? :-)
ОДНА книга - хорошо, а тысяча - обременительно по времени :-)
две - самое-то!!!!!
так тактак пока уйду в себя, займусь обучением, после завтра загляну, мож дае после после завтра ))

- А ЧЕГО ПО ВОПРОСАМ 2 И 3??????????
Аватара пользователя
avr123.nm.ru
Вечно гонимый
Сообщения: 331
Зарегистрирован: Пн сен 04, 2006 20:25:28
Откуда: самоучитель по микроконтроллерам
Контактная информация:

Сообщение avr123.nm.ru »

Старый ржавый электронщик писал(а):апноут есть файлик, ПДФный скорее всего, с конкретными схемами включения, дополнительными параметрами и с примерами использования.
И в большинстве случаев еще и с .ZIP архивом с готовыми РАБОТАЮЩИМИ исходниками программ ! для МК.

Обязательно нужно иметь их.
Аватара пользователя
avr123.nm.ru
Вечно гонимый
Сообщения: 331
Зарегистрирован: Пн сен 04, 2006 20:25:28
Откуда: самоучитель по микроконтроллерам
Контактная информация:

Сообщение avr123.nm.ru »

список названий (на русском языке) апноутов по АВР есть на gaw.ru
CyberMerlin
Встал на лапы
Сообщения: 138
Зарегистрирован: Пн сен 18, 2006 13:39:03
Откуда: Попуа Новой Гвинеи (Зимбабва)
Контактная информация:

Сообщение CyberMerlin »

угу спасибо с нотами разобрался
еще...
и вопрос 2
- в обучалке сказано
Цитата:
Все векторы расположены в самом начале адресного пространства, и занимают первые 11 адресов ПЗУ (с $000 по $00A

чего-то не пойму, у меня таблица Reset & Interrup Vectors содержит 28 строки последний адрес 0х036 - восстановление готовности памяти программ (если правильно перевел)
или это нормальое течение вещей???
и вопрос 3
- чем отличается собственно RJMP & JMP????
первое Перейти относительно, а вторая - просто ПЕРЕЙТИ (это из gaw.ru взял) а какова разница между сим и сим????
CyberMerlin
Встал на лапы
Сообщения: 138
Зарегистрирован: Пн сен 18, 2006 13:39:03
Откуда: Попуа Новой Гвинеи (Зимбабва)
Контактная информация:

еще вопросик по таймеру

Сообщение CyberMerlin »

1- в обучалке существует только OCIE1A бит регистра TIMSK
у меня же в ATmega162 есть еще OCIE1B, OCIE2, OCIE0.
это тоже компараторы таймера??
и в случае ОБУЧАЛКИ какой мне можно использовать??
2- почему используем TCCR1B, а не TCCR1А????

-как я понимаю используется 16-битный компаратор, а почему мы не используем 8-битный???
CyberMerlin
Встал на лапы
Сообщения: 138
Зарегистрирован: Пн сен 18, 2006 13:39:03
Откуда: Попуа Новой Гвинеи (Зимбабва)
Контактная информация:

Сообщение CyberMerlin »

почему в примерах ОБУЧАЛКИ используется ret для выхода из подпрограммы
а поцему мы не можем воспользоваться nop????
а Rcall не использовать????
Ответить

Вернуться в «Разные вопросы по МК»