VitPushchin 0 23 октября, 2006 Опубликовано 23 октября, 2006 · Жалоба А вот приемник ИК пульта от Самсунга (кодировка типа NEC, но со своими особенностями). Работает на АТтини2313, у меня - 11.059 мгц кварц. Собственно, по сорсам все понятно должно быть. RemoconCtrl.rar Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
SapegoAL 0 21 ноября, 2006 Опубликовано 21 ноября, 2006 · Жалоба Свой вариант библиотек LCD44780 и DS1820. Очень понравился по стилю написания вариант работы с HD44780 от protoss, но как мне кажется он не полный. Выкладываю свой. Думаю уважаемый protoss им не воспользуется, а вот начинающие - возможно. Также вариант библиотеки для работы с DS18x20. Возможности LCD44780. Есть вторичный вывод. Вывод символа в Win кодировке, прямая адресация курсора, сплитер и др. Поддерживаются стандартные п/п printf и outs вместе с форматированием. Форматирование расширено что позваляет легко делать меню. Возможности DS18x20. Позволяет подключать несколько датчиков DS1820/18b20/18s20 в любом сочетании. Позволяет динамически определять их колличество и подключать новые. Позволяет работать с ними по 2-ух проводной шине. ds1820.zip HD44780.zip Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Screw 0 29 ноября, 2006 Опубликовано 29 ноября, 2006 (изменено) · Жалоба Здравствуйте! Я вот тут решил зарегистрироваться и кое чем поделиться, ибо искал это кое что.... долго ;) А именно - исходник инициализации и работы с LCD МТ-16s2 фирмы МЭЛТ по 4-х проводному интерфейсу. Написано под WinAvr, но я за 5 минут переделал под CVAVR. Выкладываю оригинал (надеюсь автор не будет против). Вся бякость этого LCD состоит в том, что он не совсем аналог HD44780 ;) TextLCD_2.zip Изменено 29 ноября, 2006 пользователем Screw Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
yarunt 0 4 января, 2007 Опубликовано 4 января, 2007 · Жалоба Если кому интересно ,как я поборол жки нокиа3510и. farblcd.rar Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
kuber 0 8 января, 2007 Опубликовано 8 января, 2007 · Жалоба Проект на Pic MASTER-Pic16f628 Slave - Pic12f629 Monitor 2 Wire 7Adr Led Устройство состоит из блока графической индикации 5х8 точек с формирователем 2 проводной линии связи с адресными устройствами. Питание адресников осуществляется по тойже линии связи. Каждый адресник имеет 2 входа замыкаемые на массу. Блок индикации обслуживает 8 адресных устройств. Индикация, наличие адресного устройство на линии, и о замыкании у адресного устройства входных линий на землю. Адресники могут содержать фиксированный адрес 0-7, или вариант адресника с 3 перемычками задающий адрес устройства. Блок индикации является MASTEROM на линиа а адресники SLAVE. Начало обмена- команда сброс для всех адресников, далее пакет из 4 байт. 1 -адрес устройства 2 -код команды (чтение или запись из адресника) 3 -байт данттых 4 -CRC8 контрольная сумма. Мастер посылает пакет адреснику и читает ответ с линии и проверяя CRC пакета, если CRC не совпадает, MASTER повторяет посылку ещё 2 раза. Если, нет то считается что адресника нет. Весь проект с схемами, фотками и файлами -ASM,HEX Мажет пригодится кому нибудь. [email protected] arxiv.rar Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
kadrum 0 11 января, 2007 Опубликовано 11 января, 2007 (изменено) · Жалоба Поделюсь своим кодом на Ассме для организации меню на буквенно цифровом дисплее HD4478 16х2.. В программе реализована отправка строк с флеш памяти. При нажатии одной из 4 кнопок происходит прерывание Int_1, затем его обработка (со звуковым сигналом). Куда подключать кнопки и дисплей, ясно из программы, динамик-через усилительный транзистор Расчитано для работы на 4 МГц кварце. Для приминения на других частотах кварца нужно просто поменять значение, заносимое в рег r20 DELAY20MS: wdr; sbros storozhevogo timera (mozhno zapreshat' ego raboty) LDI R20,110; Сюда (20=1МГц, 40=2 и.т.д) d20: dec r20 ... если что неясно, пишите [email protected] или ICQ#: 191-851-131 :smile3046: код для HD 4478 здесь menu_HD4478.zip Изменено 11 января, 2007 пользователем Шалапут:-) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
upiter4 0 16 января, 2007 Опубликовано 16 января, 2007 · Жалоба Может кому будет полезно очень быстрое преобразование двоичного ( 4-х байтного ) числа в двоично-десятичное число . Собственный алгоритм . Взято из рабочей программы ; некогда было окультуривать. Вполне можно перенести на Си . Очень удобно когда есть неоходимость , например , вывода на экран каких либо значений , которые считаются внутри в двоичном виде . Bin32BCD8.rar Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Fakir 0 18 января, 2007 Опубликовано 18 января, 2007 · Жалоба на телесисах пробегала сылка на коллекцию исходников: http://faq.embedders.org/_examples_code/ и документации: http://lord-n.narod.ru/walla.html#faqembedders Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Сергей Борщ 119 21 января, 2007 Опубликовано 21 января, 2007 · Жалоба Часто появляются вопросы об удобном доступе к ножкам порта. Несколько раз выкладывал в разных темах очень удобные (как мне кажется) макросы. Решил выложить здесь наиболее свежую версию, чтобы потом долго не искать. Пользоваться ими так: #define LED1 PORTC,2,H // output, active high (led from PC2 to GND) #define LED2 PORTD,3,L // output, active low (led from Vcc to PD3) #define KEY1 PINB,5,L // input, active low (key from PB5 to GND, pull-up resistor) #define KEY2 PINC,7,H // input, active high (key from Vcc to PC7, pull-down resistor) #include "ascold.h" unsigned char Key1Status; unsigned char Key2Status; void main() { Key1Status = signal(KEY1); Key2Status = signal(KEY2); for(;;) { cpl(LED1); // toggle LED1 if(signal(KEY1)) // if KEY1 pressed, turn on LED2 on(LED2); else // otherwice turn off LED2 off(LED2); } }} Если в результате переразводки вывод поменялся, достаточно изменить лишь одну строчку #define Я использую с компилятором IAR для процессоров AVR, MSP430, AT91SAM7, LPC2xxx, ADuC70xx. Но они должны работать и с любым другим компиляторм. ascold.zip Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ReAl 0 22 января, 2007 Опубликовано 22 января, 2007 · Жалоба очень удобные (как мне кажется) макросы. Я тоже ими пользуюсь очень давно :-) Только signal() переименовал сразу же в bit_active() (ну и все остальные в bit_on/bit_off для однообразия). После какого-то давнего залёта со своей переменной с именем errno в борландовском С - не рискую применять имена, могущие пересечься с чем-то "очень стандартным". Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Sergei Frolov 0 30 января, 2007 Опубликовано 30 января, 2007 · Жалоба (* Вычисление дня недели в приложениях автоматического вычисления дня недели в датах от 1996 года и старше. Copyright (C) Sergei Frolov, 1998. v1.0 Jan, 4, 1998. Программа ориентирована на применение в приложениях, написанных на языке ассемблера без использования аппаратного умножения/деления и операций с плавающей запятой. *) program denned; const YEARS : array[0.. 3] of byte = (0, 2, 3, 4); MONTHS : array[1..12] of byte = (0, 3, 3, 6, 1, 4, 6, 2, 5, 0, 3, 5); DAYOFWEEKS : array[0..6] of string = ('Воскресенье', 'Понедельник', 'Вторник', 'Среда', 'Четверг', 'Пятница', 'Суббота'); var a, b, c, d, e, f, tmp : byte; day, month, year : word; begin repeat write('Число XX -> '); readln(day); if day = 0 then break; { выход } write('Месяц XX -> '); readln(month); write('Год XXXX -> '); readln(year); tmp := year - 1996; a := tmp and 3; b := (tmp shr 2) + (tmp and $FC); c := MONTHS[month]; if (a = 0) and (month > 2) then inc(c); a := YEARS[a]; e := (a + b + c + day) mod 7; writeln('Результат: ', DAYOFWEEKS[e]); writeln; until false; end. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
romastan 0 4 февраля, 2007 Опубликовано 4 февраля, 2007 · Жалоба да, эта библиотека входит в состав компилятора IAR. но в IAR 4.12 при больших значенях f_cpu 7..10 Mz возникаю тпроблемы: компилятор делает слишком много циклов, в несколько раз больше чем надо. в других версиях компилятора от IAR не пробовал. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
umup 0 4 февраля, 2007 Опубликовано 4 февраля, 2007 (изменено) · Жалоба Сергей Борщ #define LED1 PORTC,2,H // output, active high (led from PC2 to GND) Интересно, как у вас работают программы с комментариями // в #define, или компилятор это отлавливает ? Изменено 4 февраля, 2007 пользователем umup Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Сергей Борщ 119 4 февраля, 2007 Опубликовано 4 февраля, 2007 · Жалоба Сергей Борщ #define LED1 PORTC,2,H // output, active high (led from PC2 to GND) Интересно, как у вас работают программы с комментариями // в #define, или компилятор это отлавливает ? IAR не жалуется. GCC (WinAVR) тоже. Согласно http://gcc.gnu.org/onlinedocs/cpp/Initial-...tial-processing комментарии заменяются пробелами до обработки #define Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Сергей Борщ 119 21 февраля, 2007 Опубликовано 21 февраля, 2007 · Жалоба 2 svlad - interrupt.h и io.h надо поставить винавр тогда они появяться. Если кому интересно могу выложить декодировку манчестера по INT0 для 8-й меги. не уж то ни у кого нет WinAVR? :) В чем вопрос-то состоял? www.google.ru, искать по ключевому слову WinAVR. Хотя это первое, что нужно делать перед писанием в конференции. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться