реклама на сайте
подробности

 
 
> Исходники программ и библиотек, у вас есть чем поделиться?
Waso
сообщение Dec 19 2005, 16:29
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 268
Регистрация: 4-11-05
Пользователь №: 10 470



Предлагаю сюда скидывать (кому не жалко) свои инклюды для работы с периферийными устройствами, предназначенные для работы в IAR. Дело в том, что например для WinAVR такую библиотеку можно найти в сети. CodeVision имеет свою библиотеку. А ИАР этим не богат. Приходится либо писать свое с нуля, либо переделывать то что есть. Гемора в этих двух занятиях поровну.
Самому мне правда пока нечего выкинуь. Наоборот, нужны исходники для стандартного текстового ЖКИ-дисплея, клавиатуры 4х4, АЦП, ШИМ и пользовательского интерфейса. Так как с ИАРом (и вообще с Си) только знакомлюсь - дело идет медленно.
Go to the top of the page
 
+Quote Post
13 страниц V  « < 2 3 4 5 6 > »   
Start new topic
Ответов (45 - 59)
VitPushchin
сообщение Oct 23 2006, 14:23
Сообщение #46


Участник
*

Группа: Участник
Сообщений: 56
Регистрация: 13-10-05
Пользователь №: 9 568



А вот приемник ИК пульта от Самсунга (кодировка типа NEC, но со своими особенностями).
Работает на АТтини2313, у меня - 11.059 мгц кварц. Собственно, по сорсам все понятно должно быть.
Прикрепленные файлы
Прикрепленный файл  RemoconCtrl.rar ( 1.83 килобайт ) Кол-во скачиваний: 14409
 
Go to the top of the page
 
+Quote Post
SasaVitebsk
сообщение Nov 21 2006, 00:01
Сообщение #47


Гуру
******

Группа: Свой
Сообщений: 2 712
Регистрация: 28-11-05
Из: Беларусь, Витебск, Строителей 18-4-220
Пользователь №: 11 521



Свой вариант библиотек LCD44780 и DS1820.

Очень понравился по стилю написания вариант работы с HD44780 от protoss, но как мне кажется он не полный. Выкладываю свой. Думаю уважаемый protoss им не воспользуется, а вот начинающие - возможно. Также вариант библиотеки для работы с DS18x20.

Возможности LCD44780. Есть вторичный вывод. Вывод символа в Win кодировке, прямая адресация курсора, сплитер и др. Поддерживаются стандартные п/п printf и outs вместе с форматированием. Форматирование расширено что позваляет легко делать меню.

Возможности DS18x20. Позволяет подключать несколько датчиков DS1820/18b20/18s20 в любом сочетании. Позволяет динамически определять их колличество и подключать новые. Позволяет работать с ними по 2-ух проводной шине.
Прикрепленные файлы
Прикрепленный файл  ds1820.zip ( 4.51 килобайт ) Кол-во скачиваний: 16120
Прикрепленный файл  HD44780.zip ( 5.85 килобайт ) Кол-во скачиваний: 15899
 
Go to the top of the page
 
+Quote Post
Screw
сообщение Nov 29 2006, 22:08
Сообщение #48


Частый гость
**

Группа: Свой
Сообщений: 149
Регистрация: 29-11-06
Из: Барнаул
Пользователь №: 22 916



Здравствуйте!

Я вот тут решил зарегистрироваться и кое чем поделиться, ибо искал это кое что.... долго wink.gif

А именно - исходник инициализации и работы с LCD МТ-16s2 фирмы МЭЛТ по 4-х проводному интерфейсу. Написано под WinAvr, но я за 5 минут переделал под CVAVR.
Выкладываю оригинал (надеюсь автор не будет против).

Вся бякость этого LCD состоит в том, что он не совсем аналог HD44780 wink.gif

Сообщение отредактировал Screw - Nov 29 2006, 22:10
Прикрепленные файлы
Прикрепленный файл  TextLCD_2.zip ( 9.05 килобайт ) Кол-во скачиваний: 14276
 
Go to the top of the page
 
+Quote Post
yarunt
сообщение Jan 4 2007, 12:14
Сообщение #49


Местный
***

Группа: Участник
Сообщений: 215
Регистрация: 13-12-06
Из: fghgfh
Пользователь №: 23 476



Если кому интересно ,как я поборол жки нокиа3510и.
Прикрепленные файлы
Прикрепленный файл  farblcd.rar ( 23.83 килобайт ) Кол-во скачиваний: 8615
 


--------------------
Нельзя впихнуть,невпихуемое?МОЙ БЛОГ
Go to the top of the page
 
+Quote Post
kuber
сообщение Jan 8 2007, 23:03
Сообщение #50


Участник
*

Группа: Участник
Сообщений: 31
Регистрация: 6-01-07
Пользователь №: 24 153



Проект на 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

Мажет пригодится кому нибудь.
aralgen@mail.ru
Прикрепленные файлы
Прикрепленный файл  arxiv.rar ( 80.49 килобайт ) Кол-во скачиваний: 1662
 
Go to the top of the page
 
+Quote Post
Шалапут:-)
сообщение Jan 11 2007, 04:56
Сообщение #51


Участник
*

Группа: Участник
Сообщений: 52
Регистрация: 11-01-07
Пользователь №: 24 303



Поделюсь своим кодом на Ассме для организации меню на буквенно цифровом дисплее 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
...
если что неясно, пишите kadrum@narod.ru или ICQ#: 191-851-131
smile3046.gif

код для HD 4478 здесь

Сообщение отредактировал Шалапут:-) - Jan 11 2007, 05:09
Прикрепленные файлы
Прикрепленный файл  menu_HD4478.zip ( 5.48 килобайт ) Кол-во скачиваний: 2486
 


--------------------
Роботы делают роботов - предел автоматизации
Go to the top of the page
 
+Quote Post
Yuriy_AVR
сообщение Jan 16 2007, 20:08
Сообщение #52


Участник
*

Группа: Участник
Сообщений: 38
Регистрация: 12-01-07
Из: Крым
Пользователь №: 24 378



Может кому будет полезно очень быстрое преобразование двоичного ( 4-х байтного ) числа в двоично-десятичное число . Собственный алгоритм . Взято из рабочей программы ; некогда было окультуривать. Вполне можно перенести на Си . Очень удобно когда есть неоходимость , например , вывода на экран каких либо значений , которые считаются внутри в двоичном виде .
Прикрепленные файлы
Прикрепленный файл  Bin32BCD8.rar ( 400 байт ) Кол-во скачиваний: 2303
 
Go to the top of the page
 
+Quote Post
Fakir
сообщение Jan 18 2007, 11:55
Сообщение #53


Частый гость
**

Группа: Свой
Сообщений: 123
Регистрация: 21-04-05
Пользователь №: 4 350



на телесисах пробегала сылка на коллекцию исходников: http://faq.embedders.org/_examples_code/
и документации: http://lord-n.narod.ru/walla.html#faqembedders
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Jan 21 2007, 01:19
Сообщение #54


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



Часто появляются вопросы об удобном доступе к ножкам порта. Несколько раз выкладывал в разных темах очень удобные (как мне кажется) макросы. Решил выложить здесь наиболее свежую версию, чтобы потом долго не искать. Пользоваться ими так:
Код
#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 ( 1.15 килобайт ) Кол-во скачиваний: 2506
 


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post
ReAl
сообщение Jan 22 2007, 14:42
Сообщение #55


Нечётный пользователь.
******

Группа: Свой
Сообщений: 2 033
Регистрация: 26-05-05
Из: Бровари, Україна
Пользователь №: 5 417



Цитата(Сергей Борщ @ Jan 21 2007, 00:19) *
очень удобные (как мне кажется) макросы.

Я тоже ими пользуюсь очень давно :-)
Только signal() переименовал сразу же в bit_active() (ну и все остальные в bit_on/bit_off для однообразия).
После какого-то давнего залёта со своей переменной с именем errno в борландовском С - не рискую применять имена, могущие пересечься с чем-то "очень стандартным".


--------------------
Ну, я пошёл… Если что – звоните…
Go to the top of the page
 
+Quote Post
Sergei Frolov
сообщение Jan 30 2007, 16:34
Сообщение #56


Участник
*

Группа: Участник
Сообщений: 23
Регистрация: 28-05-05
Из: Питер
Пользователь №: 5 495



Код
(*
   Вычисление дня недели в приложениях автоматического вычисления
   дня недели в датах от 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.
Go to the top of the page
 
+Quote Post
umup
сообщение Feb 4 2007, 20:30
Сообщение #57


Местный
***

Группа: Свой
Сообщений: 226
Регистрация: 2-06-06
Пользователь №: 17 720



Сергей Борщ
Цитата
#define LED1 PORTC,2,H // output, active high (led from PC2 to GND)

Интересно, как у вас работают программы с комментариями // в #define, или компилятор это отлавливает ?

Сообщение отредактировал umup - Feb 4 2007, 20:31
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Feb 4 2007, 23:16
Сообщение #58


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



Цитата(umup @ Feb 4 2007, 19:30) *
Сергей Борщ
Цитата

#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


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Feb 21 2007, 10:20
Сообщение #59


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



Цитата(svlad @ Feb 20 2007, 20:09) *
Цитата(Kuzmi4 @ Feb 20 2007, 14:21) *

2 svlad - interrupt.h и io.h надо поставить винавр тогда они появяться.
Если кому интересно могу выложить декодировку манчестера по INT0 для 8-й меги.

не уж то ни у кого нет WinAVR? smile.gif
В чем вопрос-то состоял? www.google.ru, искать по ключевому слову WinAVR. Хотя это первое, что нужно делать перед писанием в конференции.
Эскизы прикрепленных изображений
Прикрепленное изображение
 


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post
Kuzmi4
сообщение Feb 21 2007, 10:57
Сообщение #60


Гуру
******

Группа: Свой
Сообщений: 3 304
Регистрация: 13-02-07
Из: 55°55′5″ 37°52′16″
Пользователь №: 25 329



Драсте всем!
В прикреплённом файле - ф-ция и интерупт с помощъю которых я ловил манчестер для эм-мариновских карт - у них манчестерская кодировка данных + хитрый протокол передачи,кому надо - может пообкусывать чё не надо.
Прикрепленные файлы
Прикрепленный файл  Shnyaga.txt ( 7.38 килобайт ) Кол-во скачиваний: 1813
 
Go to the top of the page
 
+Quote Post

13 страниц V  « < 2 3 4 5 6 > » 
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 20th July 2025 - 13:15
Рейтинг@Mail.ru


Страница сгенерированна за 0.01498 секунд с 7
ELECTRONIX ©2004-2016