РАДИОСХЕМЫ



СТАРЫЙ ФОРУМ

Форум на ЭЛВО


РАДИОФОРУМЫ


СХЕМЫ И СТАТЬИ



Архив - только для чтения
Первые шаги в микроконтроллерах
Сообщение # 261        
aleksanderhaitrov11
аватар
  Постов: 5   ОК 
Добрый день, помогите советом с чего начать? есть датчик в машине, который выдает 0.4-1 вольт. Мне нужно научится програмировать какую-нибудь микросхему, которая будет получать на вход показания этого датчика и выдавать немного скорректированное напряжение. Типа
"если на вход подается напряжение 0.4, тогда на выход подать напряжение 0.6
если на вход подается напряжение 0.5, тогда на выход подать напряжение 0.65" и т.д. Куда копать, с чего начать? ничего сложнее заливания прошивки на микрухи в кассах я не пробовал
Сообщение # 262        
булат
аватар
  Постов: 554   Друзья 
Взять например атмега8(любую с ацп),измеряем вх напряжение,вычисляем и выводим на выход-можно шим,но проще постую цепь цап на R-2R
Сообщение # 263        
mjsalnikov
аватар
  Постов: 1   ОК 
wacko Доброго времени.
подскажите, пожалуйста, (я очень близок к 0 в радиоэлектронике)
нужна штуковина Х, которая замкнет А1 и В1, когда А2 и В2 уже как полминуты(например) замкнуты.


т.е. есть штука М которая периодически замыкает А2 и В2, а нужно чтобы на устройстве П замыкались А1 и В1 только когда уже с полминуты замкнуты контакты штуки М, по этому я врисовал штуку Х, которая "фильтровала" бы немного..

вроде бывают какие то шняжки NE555, но не уверен что подходит. честно сказать я даже не знаю как поискать нужное мне...
и хотел даже посмотреть нечто подобное на али, но не пойму как искать и что смотреть...
Файлы: 7639941.jpg (31.1 Kb)
Сообщение # 264        
evgen87
аватар
  Постов: 358   Друзья 
Кто силён в picbasic подскажите как это зашить в pic16f628

My WebPage
Файлы: GRTEREDIHEX.hex (7.8 Kb) · GrTeReDi.bas (29.1 Kb)
Сообщение # 265        
GRAB9142
аватар
  Постов: 175   Х 
Цитата mjsalnikov ()
вроде бывают какие то шняжки NE555
Файлы: --_NE555__DRIVE.pdf (1.48 Mb)
Сообщение # 266        
mongol791
аватар
  Постов: 128   Друзья 
Подскажите как PicKit 3 прошить ATXMega32. в описание должен шить в меню програмы нету такого. может кто знает?
Сообщение # 267        
Denhik019
аватар
  Постов: 174   ОК 
mongol791 Где то я встречал описание,попробую найти.

Добавлено (03.01.2019, 18:43)
---------------------------------------------
mongol791, Вбей в поисковике Pickit2 И Avr.

Сообщение # 268        
sergeu15794
аватар
  Постов: 65   U 
скажите как из цыфр зделать НЕХ файл
Сообщение # 269        
nolpofaze
аватар
  Постов: 442   Друзья 
sergeu15794, как-то не понятно вопрос звучит...
Например вот содержимое хекса:
Код
:020000020000FC
:1000000012C018951895E0C01895189540C118951C
:10001000D9C0EEC01895189518951895189518958B
:1000220018951895E0E6F0E000270193F430E9F71F

а что за цифры у Вас на входе????
Сообщение # 270        
globusvrn1974
аватар
  Постов: 92   Друзья 
Прошу помощи сообщества!
Я учксь программировать ATtiny13. Уже получилось написать первую программу, зашить ее и увидеть моргающий светодиод. Теперь надо получить данные от АЦП. Но что-то не выходит. Подскажите, пожалуйста, где сидит козявка!
АЦП запускается разово, обработка прерываний не используется. Ловим бит завершения цикла преобразования

Код

#include <avr/io.h>
#define BitSet(x,y)  x|=(1 << y)
#define BitDrop(x,y)    x&=~(1 << y)

char AAA;

void Delay_us(int US)
{
for (int i = 0; i<=US; ++i)
{
asm("nop");
}
}
void Delay_ms(int MS)
{
for (int i = 0; i<=MS; ++i)
{
Delay_us(900);
}
}

char BitTest(unsigned aValue, unsigned aNumber)
{
if( aValue & (1 << aNumber)) {return(1);} else {return(0);}
}

char ReadAnalog(char pin)
{
BitDrop(ADMUX,MUX0);
BitDrop(ADMUX,MUX1);
switch (pin)
{
case 1:
{
BitSet(ADMUX,MUX0);
}
break;
case 2:
{
BitSet(ADMUX,MUX1);
}
break;
case 3:
{
BitSet(ADMUX,MUX0);
BitSet(ADMUX,MUX1);
}
break;
}
BitDrop(ADMUX,REFS0);    //    Vref = Vcc
BitSet(ADCSRA,ADLAR);    //    форматирование выходных данных левое
BitDrop(ADCSRA,ADIE);    //    не используем прерывания
BitDrop(ADCSRA,ADATE);    //
ADCSRA = (1 << ADPS2)|(1 << ADPS1)|(1 << ADPS0);    //    предделитель = 128
DIDR0 |= (1 << ADC3D); // запрещаем цифровой вход на ноге аналогового входа
BitSet(ADCSRA,ADEN);    //    включаем АЦП понеслась!
// Ждем окончания преобразования
while (BitTest(ADCSRA,ADSC) == 1);
char a = ADCH;
char b = ADCL;
BitDrop(ADCSRA,ADEN);    //    выключаем АЦП
return(a);
}

int main(void)
{
BitSet(DDRB,4);  // выход данных
BitDrop(DDRB,3);    // измеритель напряжения
while (1)
{
//моргаем светодиодом с частотой, пропорциональной данным от АЦП
AAA = ReadAnalog(3);
BitDrop(PORTB,4);    // выкл светодиод
Delay_ms(AAA);
BitSet(PORTB,4);    // вкл светодиод
Delay_ms(AAA);
}
}


часть строк пока отключена. Когда получится взять правильно данные, можно уже говорить и о правильном соединении двух байт в слово...
Поиск:

Внимание! Форум переехал на Tehnodium.ru



© 2010-2022 "Форум Радиосхемы". All Rights Reserved  Почта  PDA