Code Monkey home page Code Monkey logo

attiny13_asm's Introduction

Attiny13_asm

Small example work with Attiny13 on assembly

Небольшие примеры работы с контроллером Attiny13 на ассемблере

Примеры содержат настройку работы с таймером, перифeрией.

Компиляция

Компилировать можно в avr(atmel)studio или компилятором avra. Если компилируем через avra надо в asm файлах раскомментировать вторую и третью строку.

Прошиваем в avrdude

  • программатор USBASP:
    • прошивка: avrdude -p t13 -c usbasp -P usb -U flash:w:ИМЯ_ФАЙЛА.hex
    • посмотреть фьюзы: avrdude -p t13 -c usbasp -P usb
  • Arduino :
    • шьём в ардуино скетч ArduinoISP
    • прошивка: avrdude -p t13 -c avrisp -b 19200 -P /dev/ttyUSB0 -U flash:w:ИМЯ_ФАЙЛА.hex
    • посмотреть фьюзы: avrdude -p t13 -c avrisp -b 19200 -P /dev/ttyUSB0
  1. Button.asm - работа порта ввода-вывода. Кнопка соединена с пином 4, светодиод с 3. При нажатии на кнопку состояние светодиода меняется.

    схема макет
    Схема макет
  2. SimplePWM.asm - программый шим. Присоединённый к пину светодиод светит с некоторым промежуточным значением.

    схема макет
    simplePWM simplePWM
  3. TunePWM.asm - управляем ШИМ кнопкой. При нажатии на кнопку яркость светодиода плавно изменяется.

    схема макет
    tunePWM tunePWM
  4. WD_interrupt - прерывания от ватчдога(WD) . В обработчике прерываний меняется состояние присоединённых к пинам 3 и 4 светодиодов.

    схема макет
    WD_intr WD_intr
  5. WDwakeUP.asm - Работа ватчдога. Запускаем таймер ватчдога и отправляем контроллер в состяние сна. По истечении работы таймера контроллер выходит из этого состояния.

    схема макет
    WDwakeUP WD_intr
  6. Eeprom.asm - запись и чтениe значения в EEPROM. При старте контроллера из EEPROM читается значение и устанавливается как яркость свечения светодиода. При коротком нажатии на кнопку меняется значение яркости. А при длительном - записывается в EEPROM текущее значение яркости свечения.

    схема макет
    EEPROM EEPROM
  7. DS18B20_thermometer - измерение температуры датчиком DS18B20. Количество ножек контроллера не позволяет подключить дисплей. Для индикации используются два диода: красный(tens_led_pin) для десятков и зелёный(ones_led_pin) для единиц. Количество блинков соответствует количеству десятков и единиц. Температура измеряется в градусах по Цельсию. Файл 1-wireProto.asm содержит подпрограммы работы с шиной "one wire" на уровне протокола( сигнал сброса, чтение и запись байта , проверка crc отсутствует).

    схема макет
    DS18B20_thermometer DS18B20_thermometer

attiny13_asm's People

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.