Страница 1 из 1
DS1307+attiny2313
Добавлено: Вт янв 27, 2009 21:01:08
Pooher
Люди, ...тьфу, то есть КОТЫ:))
Второй день читаю про USI в тиньке, никак не могу до конца понять, как им пользоваться, как настроить...
Может есть у кого пример на асме?
Поделитесь пожалуйста, а то у меня совсем дело встало, а делать надо, диплом однако на носу

Добавлено: Вт янв 27, 2009 22:11:46
Ivanchik
что именно надо и какая у тебя мысль?
дс1307 по И2ц работает
Добавлено: Вт янв 27, 2009 22:35:20
Pooher
по даташиту в тиньке USI можно использовать как I2C
Добавлено: Вт янв 27, 2009 23:08:18
Pooher
вот только как...??
Добавлено: Ср янв 28, 2009 11:56:04
v000va
Есть Appnote от Atmel, ищи номер 300 и 310, там все за тебя написано, про обмен в слейв и мастер режимах.
Добавлено: Ср янв 28, 2009 12:17:39
Pooher
Читал я и их, но что то очень туго до меня доходит...
Добавлено: Чт янв 29, 2009 11:02:58
Pooher
Народ! Ну не может быть таково, чтоб никто этого не делал.
Я уже начинаю подумывать всю программу на мегу8 переводить, а очень хотелось всё сделать именно на тини, из за его цены.
Добавлено: Пт янв 30, 2009 21:01:55
Ivanchik
И2ц можно назначить любые выводы МК
к примеру назначим порт А, 0 и 1 биты:
#asm
.equ __i2c_port=0x1B ;PORTA
.equ __sda_bit=0
.equ __scl_bit=1
#endasm
#include <i2c>
i2c_init();
Затем пару подпраграмм для чтения и записи ds1307
//=============Читаем И2ц=======
unsigned char ds_read(unsigned char address)
{
unsigned char data;
i2c_start();
i2c_write(0xD0);
i2c_write(address);
i2c_start();
i2c_write(0xD1);
data=i2c_read(0);
i2c_stop();
return data;
}
//====Пишем в И2ц================
void ds_write(unsigned char address, unsigned char data)
{
i2c_start();
i2c_write(0xD0);
i2c_write(address);
i2c_write(data);
i2c_stop();
/* 10ms delay to complete the write operation */
delay_ms(10);
}
s = bcd2bin(ds_read(0x00)) //'это мы секунды считали и записали в переменную s
посмотри даташит
00 адрес секунд
01 минуты
02 часы
и т д все в хексе
ds_write(0x00,0)// запись, установка секунд в ноль
вот так примерно на скорую руку
если что спрашивай
кстате ты на чем пишешь и какой компилятор используешь???
Добавлено: Сб янв 31, 2009 12:47:17
Pooher
Пишу я на асме, компиляторы - VMLAB и AVRStudio.
В СИ разбираюсь плохо.
Так что за пример на асме объявлю особую благодарность:)
СИ конечно язык удобный, но у него есть один большой минус: слишком велик соблазн использовать готовые библиотеки не вникая в суть их работы, а тосюда - отсутствие понимания работы. Написание программы на АСМЕ раскрывает все "внутренности" протоколов.
Добавлено: Сб янв 31, 2009 18:45:35
Mamonth
Данную тему уже поднимал здесь на форуме - ищите. Там линки...
ПО поводу назначения ножек в CV - это программная эмуляция кодевижина. К реальному железному блоку отношения не имеет.
Добавлено: Сб янв 31, 2009 23:44:14
Pooher
Искал не только сдесь на форуме, весь инет перерыл. НИ ОДНОГО ПРИМЕРА! Ощущение, что это что-то нереальное...
DS
Добавлено: Пн фев 02, 2009 02:09:47
int4880053
Я на такие часики писал прогу только на 51 есть текст асм ходят нормально и там еще памяти есть немного для хранения данных
работает по I2C организован на 51 выводами портов P1.0 и P1.1
SCL и SDA соответственно
программу легко написать на PIC программа инициализации проста
программа обмена занимает конечно место так как протокол I2C
реализовать нужно все тексы есть только на asm51
DS
Добавлено: Пн фев 02, 2009 02:21:16
int4880053
Вначале нужно разобраться с протоколои обмена I2C это требует
некоторого времени описание есть в инете можно почитать пдф по вни
мательнее например на aT 24c16 там все диаграммы даны особенно
обратите внимание на старт и стоп процесса и весь заголовок в
целом фиксированная комбинация нулей и единиц в начале пакета
означает тип устройства -в данном случае память.
На эту микруху тоже в пдф все хорошо расписано я когда писал
то пользовался только пдф
Добавлено: Пн фев 02, 2009 12:53:07
Danko
Посмотри прикрепленный файлик в ветке
http://kazus.ru/forum/topics/14156.html может пригодится.
Добавлено: Вт фев 03, 2009 17:28:29
Pooher
Спасибо конечно, но я говорил, СИ не уважаю.
Вообще спасибо всем, вопрос пока снят, переписал всё под Мегу. Работает, ё-моё
