Strijar 06 ноя 2007 предложил "Давайте делиться наработками, обсуждать, помогать с оптимизацией." но топик viewtopic.php?f=5&t=3250 забили иным ...
Прошу тут выкладывать архив с исходником (короткий исходник или кусок программы можно в тексте сообщения выложить) - обязательно:описание что делает устройство, для какого процессора, компилятора, симулятора и прочее. + ключевые слова - например: ATmega8 WinAVR PROTEUS LCD 7segLED max712 апроксимация филmnрация заряд АКБ
Оформляем все красиво! Вот так например:
Название: биппер Язык: Си Компилятор: WinAVR CPU: МК ATmega8
Примечание: Очень полезная программа - бикает каждые 10 секунд.
Для такого оформления копируете текст из листинга ниже и правите под себя:
[b]Название:[/b] короткое название исходника [b]Язык:[/b] на чем писали [b]Компилятор:[/b] ваш компилятор [b]CPU:[/b] ваш МК
[b]Примечание:[/b] Ваше большое и мудрое описание того добра, что приложили к сообщению.
ЖЕЛАТЕЛЬНО !!! выкладывать исходник с файлами проекта, что бы легко было запустить не переспрашивая про настройки среды и т.п.
Обсуждение и вопросы в специальном топике !viewtopic.php?f=2&t=3911 Иначе получится как на других форумах - 4 исходника и 20 страниц топика ... Фиг чего найдешь !
Сообщения без исходников (в том числе и благодарности1) в данном топике будут удаляться модераторами без предупреждения.
Давайте покажем Рунету как должен выглядеть склад исходников
Ниже приведены файлы для CV v2 по работе с микросхемой PCF 8574A 8 bit I/O expander for I2C-bus. Очень полезная щтука, например можно организовать и2с сеть из такий микросхем и обслуживать множество датчиков или микросхем драйверовов, для каково нибудь большого объекта, и все данные будут поступать в главный контроллер по и2с ну а дальше дело техники.
Название Часики реального времени Язык Си Компилятор CVAVR CPU ATmega16
Хочу сделать часы реального времени по примерам из cvavr (апноут123). Чтобы на терминал в proteus выводились. И чет не получается! Посмотрите исходник, мужики, кто знает подскажите, как правильно.
В архиве проект на КВ2, Протеус 7.4, библиотека для КВ2(для КВ1 непробовал?). Важно, сначала поместите файлы либ и аш в соответствующие каталоги КВ2, только токда запускайте (может чуть кривавато но работает, пригадится для первого их запуска, когда доработаю добавлю новые файлы). Функций калибровки по температуре не включал.
unsigned char C=0b00000100; unsigned char CS=0b11001000; unsigned char AO=25; это настройки будильника, калибровки, прерывания и пр. (так задал по умолчанию). Где встречается название дс1307 не обращайте внимания не успел отр., так спешил. Точнее эти биты см. в ДШ (прилагается). Использованы только базовые ф-й. (шаблон с библиотеки для дс1307)
Добавлено спустя 3 минуты 21 секунду: Запитал их от 5В (и2с тоже 5В), прошло где то 2 недели --- полет нормальный.
Библиотека для памяти и2с 24с01(02). Иногда требуется. Вчистую скопировал шаблон из справки для Кв. Проги: CodeVisionAVR V2.03.9 Протеус 7.5 сп3 (флэш типа 24с01(02,,,16) в 7.4 сп3 страшно глючит, покрайней мере у меня).
В архиве доки, библиотека, проект под КВ и Протеус.
Совместно с Gfer. Библиотека для памяти 24LC(AA and FC)256. Тагже теоритически потдерживает память этого типа, но иного размера с адресацией типа: «Адрес устройсва + Старший байт памяти + Младший байт памяти.» В «железе» провералась для 24LC256.
Вывод информации по 1 ножке AVR на сдвиговый регистр 74hc164 для представления в параллельном виде. Регистры можно каскадировать последовательно - т.е. получать 8, 16, 24 и так далее выходов.
Вывод МК подключен к входу CLOCK (8 нога 74hc164) и через фильтр НЧ из резистора 1 кОм и конденсатора 10 нФ к входам DATA (1 и 2 в 74hc164).
Я думаю что такое решение - передача данных по 1 проводу - можно применить для "индикаторной головки" - устройства отображения информации без микроконтроллера ( если там есть МК то конечно есть формат UART и 1-wire ). Этот иникатор может подключаться к устройству когда нужно что-то проконтролировать - удобство в том что нужно простое внешнее гнездо - земля, питание и сигнал - например стерео аудио разъем 3.5 или 2.5 мм.
Индикатор может быть один на несколько совершенно разных устройств. Причем устройства могу слать отладочную информацию всегда - т.е. им не нужно сообщать о подключении индикатора.
Название: Бортовой компьютер на инжектор Язык: СИ Компилятор: CVAVR 2.03.4 standart CPU: Atmega8
Задумок было много, все в 8 мегу не поместились В наличии: подсчет суммарного расхода,суммарного пробега, средний расход на основании этих данных. остаток топлива в баке. мгновенный расход л/100 (показания обновляются каждые 10 грамм прошедшие через форсунки, поэтому под горку при отпущеной педали "замораживаются") Напряжение, включение ближнего света на скорости более 60км/ч. Переключение между режимами индикации (всего 2), а также выход из настроек- кнопка режим.
удержание кнопки "режим" в основном режиме- сброс пробега и расхода. удержание кнопки "+" в основном режиме- вход в режим настроек (переход по настройкам- удержание кнопки "режим"): 1-ввод заправленного кол-ва бенз-на, 2-производительность форсунки. 3-кол-во импульсов датчика скорости на 1 км.
Название: ЖКИ 16х2 к любым пинам! Язык: Bascom Компилятор: BascomAVR CPU: ATmega16 Автор: ??? Примечание: Часто возникает необходимость подключить стандартный ЖКИ 16х2 к любым пинам. Эта библиотека и демка именно для этого!
Название: Библиотека для работы с графическими ЖКИ на KS0108 (напр. Winstar WG12864) Язык: С Компилятор: WinAVR CPU: ATmega32 Автор: Drunya Примечание: как всегда, поиск библиотеки для граф. индикатора не удовлетворил требований и пришлось изобретать велосипед. Особенности: нет чтения из индикатора, видео-ОЗУ находится в контроллере (1 кБ), плюс такого подхода - скорость. Отправка данных на индикатор происходит по команде glcd_update();. Т. о. можно нарисовать много объектов и затем обновить их за один заход. Функции:
[quote="Drunya"]Название: Запись чтение flash memory W25Q32 Язык: assembler Компилятор: AVR Studio 4 CPU: ATmega88 Автор: Sergey777 Примечание: Из PC по RS-232 передаются данные, пакетом по 16 байт в AVR и записываются flash memory W25Q32, затем, через переключатель можно передать данные другому AVR через USART, который управляет каким либо устройством, у меня шаговыми двигателями