Перейти к содержанию
    

Исходники программ и библиотек

Temperature alarm

Temperature alarm with ATMega8 and DS18S20/DS18B20. Set high and low limits with rotary switches

and device will alert you with buzzer and blinking LED's when temperature is out of limits.

 

Triac Power Regulator/Timer

Single-phase, zero crossing power regulator/timer. Can be used for switching on load for a defined time period, controlling power applied to load, or both functions combined. For example: heater control, soldering iron temperature regulation. 7-segment LED display for time/power indication.Bresenham's algorithm used for control signal distribution.

 

Countdown timer

Simple timer for switching on load for a defined time period.

Set time period, push the START button and timer will turn on for

a defined time period. After time elapses it will turn off automatically.

 

http://www.embtron.com/

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Преобразователь сигналов от трех квадратурных энкодеров в импульсы +/-1

 

Быстродействие 28 тактов. 

 

Начало обсуждения тут: http://electronix.ru/forum/index.php?showt...mp;#entry565043

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Кусочек програмки для работы с ЖКИ Nokia 1112i . Потребление 3мА , удобный крепеж ,

с подсветкой белого цвета 7мА. Дальше все можно подавать как и на 3310.

 

Схемку забыл прикрепить

1110.rar

post-33716-1239768696_thumb.png

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Посмотрите и покритикуйте "мой" наборчик шаблонов для работы с входами/выходами микроконтроллеров AVR на C++(gcc, WinAvr).

Тестировалось на gcc 4.3.0 .

При создании обьектов входа/выхода не инициализируются.

 

Пример использования:

...
__port<__port_A> port_A;
__port<__port_B> port_B;
__out<__port_A,__bit_1> out_1;
__out<__port_C,__bit_4> out_4;
__in<__port_C,__bit_5> in_0;

.....

    out_4.set();

    port_A.pin_2.as_output();
    port_A.pin_2.set();


    if(in_0.is_set())
    {
        // что то делаем
    }

avrio.rar

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Посмотрите и покритикуйте "мой" наборчик шаблонов
Имена, начинающиеся с подчеркиваний, зарезервированы за компилятором и системными библиотеками. Использовать такие имена для своих сущностей крайне не рекомендуется, можно напороться на конфликт имен. Не сейчас, так в следующей версии компилятора. Было бы интересно посмотреть на результаты компиляции.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Имена, начинающиеся с подчеркиваний, зарезервированы за компилятором и системными библиотеками. Использовать такие имена для своих сущностей крайне не рекомендуется, можно напороться на конфликт имен. Не сейчас, так в следующей версии компилятора. Было бы интересно посмотреть на результаты компиляции.

Вот тестовый проект(вся папка).

Проект для Eclipse, WinAVR-20090313, ATmega128

bitTest.rar

Изменено пользователем alex1979

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Библиотека, написанная на С++ для AVR. Пока что позволяет работать с таймерами T1, T0, интерфейсами SPI, TWI. Скоро допишу библиотеку для работы с COM-портом. :wassat:

http://gitorious.org/avrlib-cpp

Для тех, у кого есть git: git clone git://gitorious.org/avrlib-cpp/mainline.git

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Генератор прошивки для AVR на Vbasic.

 

1. Формирование данных. Например подсчет коэффициентов. (В пример не входит).

2. Подстановка данных в заранее заготовленные поля программы.

3. Подсчет контрольных сумм.

4. Запись в файл.

Название файла прошивки в примере сформировано из конкретных коэффициентов.

Чтобы не было путаницы, каждая прошивка получается подписанной.

 

Технология очень удобная, программу можно очень быстро реализовать даже в Ворде. Доступ к программе можно закрыть.

hex_generator.zipПример asm-исходника прилагается.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Может кому-нибудь пригодится.

 

Кодер, декодер Меггита циклического (7,4)-кода Хемминга со стираниями.

Исправляет до двух ошибок.

На ассемблере под AVR.

fec.zip

Кодер при желании можно сильно облегчить, заменив на табличный.

 

Точнее гарантированно исправляет 1 ошибку + 1 стирание.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Мой вариант IR-декодера (Си), позволяющего распознавать коды пультов ДУ, для трех nec-оподобных протоколов.

Для наглядности, скрины посылок с автоповтором

nec:

post-29581-1249142878_thumb.png

JVC:

post-29581-1249142891_thumb.png

Samsung:

post-29581-1249142904_thumb.png

Формат данных: "(trigger,device_high,device_low,command)"

post-29581-1249144761_thumb.png

Разделение адресов устройств сделано для extended вариантов, когда части адресов не равны друг-другу.

Тестовый проект прикреплен. Легко переносится на любой контроллер...

nec_ir_decoder.rar

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

RTOS, кратко: вытесняющая многозадачность, простой API ядра, отдельный стек для прерываний, язык С, компилятор GCC. В архиве весь проект в котором ОС и используется.

 

http://paravozeg.narod.ru/avr_os-090825.tar.gz

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Статья и исходники для AT90USB162 USB-CDC

http://suz-avr.sblo.jp/category/780477-1.html

http://www.nmj.sumomo.ne.jp/suz-avr/USB162/

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

CORDIC - быстросходящийся алгоритм, в аттаче реализован способ быстро восстановить угол по синусу и косинусу и пример применения в USB джойстике для получения угла вращения магнита с магниторезистивного двухосевого датчика 2SA-10. (библиотеки LUFA для USB AVR качайте отдельно - http://www.fourwalledcubicle.com/LUFA.php )

 

Cod360 - Код для 360 градусов, например значение 36000.

Step - количество итераций. Чем точнее АЦП тем больше итераций имеет смысл делать. Для 10 бит АЦП, встроенного в AVR разумно делать 6-10. Таблица арктангенсов вбита для 16.

 

WinAVR C

CORDIC.rar

Изменено пользователем Dx!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Выкладываю первую версию своей библиотеки для работы с алфавитно-цифровыми ЖК-модулями на основе HD44780-совместимых контроллеров.

Библиотека написана на С++. Данная версия для микроконтроллеров AVR и компилятора GCC. Тестировалась с AVR-GCC 4.3.2 (WinAVR 20090313).

 

Цель библиотеки - максимально упростить испльзование ЖК-модулей данного типа, за счет:

- автоматической генерации кода низкоуровневых функций;

- предоставления пользователю максимальной свободы при выборе места и способа подключения ЖК-модуля;

- отсутствия ограничений на количество одновременно подключенных модулей;

- предоставления пользователю:

 

- набора базовых функций: get_status, wait_ready, send_cmd, wr_data_byte, rd_data_byte;

- набора типовых функций вывода: символов, чисел, строк, а так же вспомогательных функций;

- набора функций, реализующих некоторые визуальные эффекты.

 

Более подробное описание в файле SDL_info.txt.

 

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

Библиотека тестировалась на модуле DV16100 и на моделях Протеуса, поэтому просьба к тем, у кого есть возможность(и желание),

проверить библиотеку на реальных ЖК-модулях и написать, если возникнут проблемы.

 

SDLibrary__v1.0_AVR_GCC.7z

внутри два архива:

SDLibrary++v1.0_AVR_GCC_11.09.2009.7z - содержит библиотеку с примерами,

SDLibrary++_show.7z - содержит файл проэкта Протеуса, на который расчитаны примеры.

 

PS: Модели Протеуса не отображают самую нижнюю строку пикселей (предназначенную для отображения курсора) при использовании пользовательских символов,

из-за чего наблюдаются искажения при отображении эффектов типа level. В реальном модуле все должно выглядеть нормально.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...