Для совсем начинающих

  • ILYAUL
I
ILYAUL
  • 9 Мар 2008
Для совсем начинающих
Вчера эксперементируя с шимом спалил ATMEGA 164 - заказал , но будет только после праздников . Слава богу Dragon выжил . И вот от не фига делать решил кое чем поделится.
Кстати о заказе  ссылка скрыта от публикации  - не в порядке какой либо рекламы , но я у них получал и достаточно быстро любую ATMEL/ Сама контора ( главный офис) в Питере.
Ну ладненько- И так с чего начать изучение AVR - да с самого простого. Скачать с сайта  ссылка скрыта от публикации  aStudio4b528.exe (74MB) . В него встроенно практически всё . Там же и прочтёте. И отмечу сразу - писать в нём можно на двух языках - какой больше нравиться.
При установке он попросит регистрацию - бояться совершено нечего- простой сбор данных маркетинга ATMEL - прога FREE

Установили - запускаем "D:\AVR\AVR Tools\AvrStudio4\AVRStudio.exe"- это мой путь, у Вас он может быть любой.
И сразу ступор , что тут и как. Перед Вами картинка (START- прикреплён) - получив её стоит призадуматься и решить с каким ATMELом Вы будете работать .
Решив ,для себя эту задачу, смело жмём NEW PROJECT - и получаем вопросик - какой язык будете использовать? Т.К. я пишу на асме , то тут выбираю его , а AVR GCC-понятно .
Как только выбирите язык , Вам тут же предложат озаглавить проект иначе дальше не пройти - Заполняем графу "Project NAME" заполнять ТОЛЬКО на латинице (AVR - русского не понимает и возникают проблемы при отладке) жмём NEXT - чем дальше тем страшнее :) получаем картинку "ПРОЦЕССОР" - точка принятия решения- В левой колонке симуляторы разработанные ATMEL для сей проги , в правой перечень процессоров которые они поддерживают. Проблем почти никаких - всё можно купить уже на Российском рынке.
Но, что делать у кого таких возможностей пока нет.
Выбираем "AVR Simulator" - жмём FINISH - всё вошли. AVRStudio.gif
Перед Вами 4 окна - в левом проект или процессор ( можно поиграться переключая вкладки - безопасно!) В правом Ваш процессор со всеми его устройствами (тоже можно пощёлкать, но толку пока мало) Внизу - пока забудьте- Вам нужно окно посредине.

Пишем программу - в ценральном окне
Я вложил файл ASM для самого простого примера кнопка и светодиод- начинать советую именно так- главное понять приципы работы программы. Лучше , если писать будете сразу под свой процессор - по аналогии с моей программой.
.include присоединяет к основной программе файл описания для Вашего процессора - найдите свой файл по аналогичному пути- в нём содержится всё чем "знаменит" Ваш процессор -его можно создавать самому , но пока рано.( Это коротко- но можете найти в инете и почитать про эту директиву сами) Кстати и другие директивы я опишу коротко.
.device - сообщает асму для кого пишется программа и для кого её транслировать
.def - макрокоманда - присваивает регистру обычное " народное" имя - называть можно как хотите - в примере TEMP
Остановлюсь - главным регистром временного хранения должен быть регистр способный работать со всеми остальными регистрами AVR - у AVR это обычно регистры от 16-го до 31-го ( рабочие регистры)
.cseg (dseg,eseg) у AVR три памяти Flash SRAM EEPROM - cseg- сегмент кода программ (память программ) я не буду описывать зачем это делается - единственное она (директива) , где будут потом помещены коды программы.
.org- :mrgreen: засада! - директива предписывающая по какому адресу должна начинаться запись данной програмы в память программ. И вот здесь надо кое чему научиться сразу- младшие адреса в AVR отведены для векторов прерываний различными устройствами - в программе ( для AVR164 ) их не большой списочек- активен только RESET , с него при сбросе ( почитайте формирование сброса ) всё и начинается - поэтому там и записан первый переход на основную программу, все остальные блокированы " ; ". В асме этот значок поставленный где угодно означает, что после него идут комменты и роли не играют никакой.
Я уже привык для любого процессора записывать все векторы прерывания сразу и ставить перед ними " ; " , если они не используются - во FlASH они не попадут - но в случае чего всегда под рукой -достаточно убрать ; и написать обработку. И вставлять их не сложно . Я обычно просто копирую их из DATASHEET на процессор ( PDF -великая вещь) и определяю .org следующим адресом после них.
И так с RESET "перелетаем" на определение STACK . Верхушка памяти RAM , куда в случае возникновения прерываний будут занесён адрес возврата (Читайте о нём отдельно и очень внимательно!!)
Определить его необходимо сразу!!! В моей программе полный адрес стека прописывается для старшего и младшего байта адреса - в процессорах Tiny достаточно и одной команды ldi temp, RAMEND RAMEND - это значение записано для каждого процессора в файле ****.inc и Вы его подключили директивой include , так, что асм сам разберётся где она эта верхушка.
Инициализация порта - можно работать и с одним и с двумя . Я написал для одного.
У всех портов AVR существуют 3 регистра DDRx PORTx и PINx
DDRx - регистр направления передачи данных - запись 1 в бит порта озночает , что данный бит работает выходом - 0 входом
Запись регистра PORTx - выводит информацию Считывание PINx вводит информацию.
Все остальные команды описаны в DATASHEET и так или иначе их придётся понимать самим и конечно постораться запомнить.

Программа Вами дописана - давайте проверять.
Можем нажать F7 или поводить по значкам пока не найдём (лучше поводить - подсказки к значкам несут полезную инфу ) " Assamble F7" жмём - "оживает" нижнее окно , где появляются всякие сообщения о ходе трансляции , ошибках, предупреждениях , или ошибок нет.
Рядом с каждой ошибкой ( нет ошибок - не интересно и рассказывать) появляется кружок и само описание , если нажать на кружок - Вас переместят на строчку с ошибкой - исправляете все - жмете F7 или иконку - пока не будет сообщения
Assembly complete, 0 errors. 0 warnings
И вот тут начинается самое интересное - ибо Вы полностью готовы посмотреть как будет вести себя Ваш проц с Вашей программой.
Даже , если этого проца у Вас пока нет .
Вверхней строчке находим DEBUG и жмём START Debbuging ( там , есть значёк и он соответствует иконке - просто описать его сложно и предложил этот путь)
Появляется желтая стрелочка на первой выполняемой команде тамже находим команду STEP Into ( у нее тоже есть иконка - тест на сообразительность) -и жмём пока не надоест - пошагово выполняется вся программа , а вот с правой стороны , если окрыть порт вы будете видеть как по ходу программы изменяется его состояние, слева можно посмотреть на регистры проца . А щёлкнув по биту PIN4 с правой стороны можно иммтировать нажатие и выкл кнопки и смотреть , что происходит с битом вкл-откл светодиод.

Наиграетесь - можно записать в сам проц не выходя из проги - но это другая история.
:mrgreen:

start_526.jpg


avrstudio_209.gif


__________582.jpg


buttom.rar
 
K
KVI
  • 9 Мар 2008
ILYAUL, Привет, Илья.
Что можешь сказать по поводу этих книг для начинающих:

book_avr_175.png
 

Информация Неисправность Прошивки Схемы Справочники Маркировка Корпуса Сокращения и аббревиатуры Частые вопросы Полезные ссылки

  • Справочная информация

    Этот блок для тех, кто впервые попал на страницы нашего сайта. В форуме рассмотрены различные вопросы возникающие при ремонте бытовой и промышленной аппаратуры. Всю предоставленную информацию можно разбить на несколько пунктов:

    • Диагностика
    • Определение неисправности
    • Выбор метода ремонта
    • Поиск запчастей
    • Устранение дефекта
    • Настройка

    Учитывайте, что некоторые неисправности являются не причиной, а следствием другой неисправности, либо не правильной настройки. Подробную информацию Вы найдете в соответствующих разделах.

  • Неисправности

    Все неисправности по их проявлению можно разделить на два вида - стабильные и периодические. Наиболее часто рассматриваются следующие:

    • не включается
    • не корректно работает какой-то узел (блок)
    • периодически (иногда) что-то происходит

    Если у Вас есть свой вопрос по определению дефекта, способу его устранения, либо поиску и замене запчастей, Вы должны создать свою, новую тему в соответствующем разделе.
  • О прошивках

    Большинство современной аппаратуры представляет из себя подобие программно-аппаратного комплекса. То есть, основной процессор управляет другими устройствами по программе, которая может находиться как в самом чипе процессора, так и в отдельных микросхемах памяти.

    На сайте существуют разделы с прошивками (дампами памяти) для микросхем, либо для обновления ПО через интерфейсы типа USB.


    По вопросам прошивки Вы должны выбрать раздел для вашего типа аппарата, иначе ответ и сам файл Вы не получите, а тема будет удалена.
  • Схемы аппаратуры

    Начинающие ремонтники часто ищут принципиальные схемы, схемы соединений, пользовательские и сервисные инструкции. Это могут быть как отдельные платы (блоки питания, основные платы, панели), так и полные Service Manual-ы. На сайте они размещены в специально отведенных разделах и доступны к скачиванию гостям, либо после создания аккаунта:


    Внимательно читайте описание. Перед запросом схемы или прошивки произведите поиск по форуму, возможно она уже есть в архивах. Поиск доступен после создания аккаунта.
  • Справочники

    На сайте Вы можете скачать справочную литературу по электронным компонентам (справочники, таблицу аналогов, SMD-кодировку элементов, и тд.).


    Информация размещена в каталогах, файловых архивах, и отдельных темах, в зависимости от типов элементов.

  • Marking (маркировка) - обозначение на электронных компонентах

    Современная элементная база стремится к миниатюрным размерам. Места на корпусе для нанесения маркировки не хватает. Поэтому, производители их маркируют СМД-кодами.


  • Package (корпус) - вид корпуса электронного компонента

    При создании запросов в определении точного названия (партномера) компонента, необходимо указывать не только его маркировку, но и тип корпуса. Наиболее распостранены:

    • DIP (Dual In Package) – корпус с двухрядным расположением контактов для монтажа в отверстия
    • SOT-89 - пластковый корпус для поверхностного монтажа
    • SOT-23 - миниатюрный пластиковый корпус для поверхностного монтажа
    • TO-220 - тип корпуса для монтажа (пайки) в отверстия
    • SOP (SOIC, SO) - миниатюрные корпуса для поверхностного монтажа (SMD)
    • TSOP (Thin Small Outline Package) – тонкий корпус с уменьшенным расстоянием между выводами
    • BGA (Ball Grid Array) - корпус для монтажа выводов на шарики из припоя

  • Краткие сокращения

    При подаче информации, на форуме принято использование сокращений и аббревиатур, например:

      Сокращение   Краткое описание
    LEDLight Emitting Diode - Светодиод (Светоизлучающий диод)
    MOSFETMetal Oxide Semiconductor Field Effect Transistor - Полевой транзистор с МОП структурой затвора
    EEPROMElectrically Erasable Programmable Read-Only Memory - Электрически стираемая память
    eMMCembedded Multimedia Memory Card - Встроенная мультимедийная карта памяти
    LCDLiquid Crystal Display - Жидкокристаллический дисплей (экран)
    SCLSerial Clock - Шина интерфейса I2C для передачи тактового сигнала
    SDASerial Data - Шина интерфейса I2C для обмена данными
    ICSPIn-Circuit Serial Programming – Протокол для внутрисхемного последовательного программирования
    IIC, I2CInter-Integrated Circuit - Двухпроводный интерфейс обмена данными между микросхемами
    PCBPrinted Circuit Board - Печатная плата
    PWMPulse Width Modulation - Широтно-импульсная модуляция
    SPISerial Peripheral Interface Protocol - Протокол последовательного периферийного интерфейса
    USBUniversal Serial Bus - Универсальная последовательная шина
    DMADirect Memory Access - Модуль для считывания и записи RAM без задействования процессора
    ACAlternating Current - Переменный ток
    DCDirect Current - Постоянный ток
    FMFrequency Modulation - Частотная модуляция (ЧМ)
    AFCAutomatic Frequency Control - Автоматическое управление частотой

  • Частые вопросы

    Как мне дополнить свой вопрос по теме Для совсем начинающих?

    После регистрации аккаунта на сайте Вы сможете опубликовать свой вопрос или отвечать в существующих темах. Участие абсолютно бесплатное.

    Кто отвечает в форуме на вопросы ?

    Ответ в тему Для совсем начинающих как и все другие советы публикуются всем сообществом. Большинство участников это профессиональные мастера по ремонту и специалисты в области электроники.

    Как найти нужную информацию по форуму ?

    Возможность поиска по всему сайту и файловому архиву появится после регистрации. В верхнем правом углу будет отображаться форма поиска по сайту.

    По каким еще маркам можно спросить ?

    По любым. Наиболее частые ответы по популярным брэндам - LG, Samsung, Philips, Toshiba, Sony, Panasonic, Xiaomi, Sharp, JVC, DEXP, TCL, Hisense, и многие другие в том числе китайские модели.

    Какие еще файлы я смогу здесь скачать ?

    При активном участии в форуме Вам будут доступны дополнительные файлы и разделы, которые не отображаются гостям - схемы, прошивки, справочники, методы и секреты ремонта, типовые неисправности, сервисная информация.


  • Здесь просто полезные ссылки для мастеров. Ссылки периодически обновляемые, в зависимости от востребованности тем.



I
ILYAUL
  • 9 Мар 2008
Приветик! У меня есть все и брал всего по немногу для учёбы из каждой , где-то описано лучше , где-то хуже , но лишняя инфа не помешает.
 
K
KVI
  • 10 Мар 2008
 ссылка скрыта от публикации /