Телесистемы
 Разработка, производство и продажа радиоэлектронной аппаратуры
На главную   | Карта сайта | Пишите нам | В избранное
Требуется программист в Зеленограде
- обработка данных с датчиков; ColdFire; 40 тыс.
e-mail:jobsmp@pochta.ru

Телесистемы | Электроника | Конференция «Микроконтроллеры и их применение»

CV

Отправлено Гудвин 14 июня 2008 г. 23:18
В ответ на: МК ATmega16, писал в самом первом вопросе... а можно поподробнее как в CVAVR... => отправлено meng 14 июня 2008 г. 23:06


unsigned char res_ds(void) // возвращает 0 если есть presence pulse
{ // возвращает 1 если нет presence pulse
char i; // возвращает 2 если линия замкнута

i=1;
#asm("cli")
if (channel==0)
{
if (PIND.2) {
PORTB.0=1;
delay_us(480);//zad(65);
PORTB.0=0;
delay_us(90);//zad(10);
i=PIND.2;
delay_us(390);//zad(50);
}
else i=2;
}
else
{ if (PIND.3) {
PORTB.1=1;
delay_us(480);//zad(65);
PORTB.1=0;
delay_us(90);//zad(10);
i=PIND.3;
delay_us(390);//zad(50);
}
else i=2;
}

#asm("sei")
return i;
}

void out_ds(unsigned char b)
{
unsigned char i;
#asm("cli");
if (channel==0)
{
for(i=0;i<8;i++)
{
PORTB.0=1;
PORTB.0=1;
PORTB.0=1;
PORTB.0=1;
PORTB.0=!(b & 1);
delay_us(70);
b=b>>1;
PORTB.0=0;
delay_us(10);
}
}
else
{
for(i=0;i<8;i++)
{
PORTB.1=1;
PORTB.1=1;
PORTB.1=1;
PORTB.1=1;
PORTB.1=!(b & 1);
delay_us(70);
b=b>>1;
PORTB.1=0;
delay_us(10);
}
}

#asm("sei");
}



unsigned char in_ds(void)
{
unsigned char i;
unsigned char a;
unsigned char b;
#asm("cli");
b=0;
if (channel==0)
{
for(i=0;i<8;i++)
{
PORTB.0=1;
delay_us(1);
PORTB.0=0;
delay_us(20); //
a=PIND.2;
delay_us(50); //
b=(b>>1)|(0x80 & (a+0x7f));
}
}

else
{
for(i=0;i<8;i++)
{
PORTB.1=1;
delay_us(1);
PORTB.1=0;
delay_us(20);
a=PIND.3;
delay_us(50);
b=(b>>1)|(0x80 & (a+0x7f));
}
}


#asm("sei");
return b;
}



Составить ответ | Вернуться на конференцию

Ответы


Отправка ответа
Имя*: 
Пароль: 
E-mail: 
Тема*:

Сообщение:

Ссылка на URL: 
URL изображения: 

если вы незарегистрированный на форуме пользователь, то
для успешного добавления сообщения заполните поле, как указано ниже:
поделите шесть пополам:

Перейти к списку ответов | Конференция | Раздел "Электроника" | Главная страница | Карта сайта

Rambler's Top100 Рейтинг@Mail.ru
 
Web telesys.ru