Автор Тема: Сдвиговые регистры (SPI и не только...)  (Прочитано 70249 раз)

olegkaras

  • Full Member
  • ***
  • Сообщений: 196
    • Просмотр профиля
Re:Сдвиговые регистры (SPI и не только...)
« Ответ #220 : Май 10, 2011, 14:29:04 »
MIM,хочу спросить а реально написать такую программу ,например в железе накачали на датчик давления 1ат. микроконтроллер измерил напряжения , в память МК записали 1ат.и так дальше,и по этим данным программа отградуирует шкалу или что то в этом роде.

mim

  • Hero Member
  • *****
  • Сообщений: 2700
    • Просмотр профиля
Re:Сдвиговые регистры (SPI и не только...)
« Ответ #221 : Май 10, 2011, 14:41:21 »
oleg пишет:
Цитировать
MIM,хочу спросить а реально написать такую программу ,например в железе накачали на датчик давления 1ат. микроконтроллер измерил напряжения , в память МК записали 1ат.и так дальше,и по этим данным программа отградуирует шкалу или что то в этом роде.

Все можно. Но вопрос на фига это нужно???
Всегда стараются уйти от подобного подхода, на крайний случай используя эмпирическую зависимость.
В твоем случае все четко ложится в одно линейное уравнение.
Ну, а если тебе приспичит, то сначала дай себе ответ "каким прибором (какого класса точности) будешь мерять и напряжение и давление для зависимости". Китайским тестером и  манометром от насоса (которым в шинах меряют)?  :D) Я думаю что все что ты намеряешь не будет лучше.
Ты сейчас попробуй себе ответить "какова точность измерения давления тебе нужна". Я не думаю что это сотые. Ну, а десятые это за глаза. Какого класса точности у тебя датчик давления?

olegkaras

  • Full Member
  • ***
  • Сообщений: 196
    • Просмотр профиля
Re:Сдвиговые регистры (SPI и не только...)
« Ответ #222 : Май 10, 2011, 16:11:39 »
Класс точности не известный. Датчик KYGC07 0-1.6 MPa ,стоит в генераторе азота по нему микроконтроллер автоматически накачивает колесо.Десятых ат. хватит.Я имел ввиду напряжение меряем не тестером а меряет МК который в схеме стоит,заносим показания только манометра.Я спрашивал за программу потому что, например датчик подключили другой  ,а компютера под рукой нет,или это другая измеряемая величина .А может в программе МК менять какие то  вставки,я это в каких то приборах видел,по моему в тензометрии в весах .

mim

  • Hero Member
  • *****
  • Сообщений: 2700
    • Просмотр профиля
Re:Сдвиговые регистры (SPI и не только...)
« Ответ #223 : Май 10, 2011, 16:23:40 »
oleg пишет:
Цитировать
Класс точности не известный. Датчик KYGC07 0-1.6 MPa ,стоит в генераторе азота по нему микроконтроллер автоматически накачивает колесо.Десятых ат. хватит.Я имел ввиду напряжение меряем не тестером а меряет МК который в схеме стоит,заносим показания только манометра.Я спрашивал за программу потому что, например датчик подключили другой  ,а компютера под рукой нет,или это другая измеряемая величина .А может в программе МК менять какие то  вставки,я это в каких то приборах видел,по моему в тензометрии в весах .

Это называется калибровка датчика. Мерять напряжение в этом случае не обязательно.
Резистором (или еще каким образом) выводится нуль, затем запоминаются (в ЕЕПРОМ) показания АЦП через необходимые интервалы (например через десятые доли показания манометра). Запоминаются через нажатие кнопки. Таким образом создается таблица соответствия значений показаний АЦП от 0 до 1023 на интервале работы манометра.
Например АЦП показал 20, 30, 37, 89, 120...300, при этом (в МК заложен алгоритм - первое показание это 1 ат, а дальше через 0,1). Тогда в памяти будет такая таблица
20, 30, 37, 89, 120...300,
0,  0.1, 0.2, 0.3.....и т.д.
Можно и так. Все в твоих руках.

olegkaras

  • Full Member
  • ***
  • Сообщений: 196
    • Просмотр профиля
Re:Сдвиговые регистры (SPI и не только...)
« Ответ #224 : Май 10, 2011, 16:58:35 »
Спасибо ,так сделать было бы не плохо. И со временем параметры датчика могут уплывать в разные стороны ,сразу подогнал  и все.

olegkaras

  • Full Member
  • ***
  • Сообщений: 196
    • Просмотр профиля
Re:Сдвиговые регистры (SPI и не только...)
« Ответ #225 : Май 10, 2011, 18:44:26 »
MIM, проверил в железе то уравнение которое ты написал  ,показание давления на сегментах ленейны ,так что тестер у меня видать не китайский ,еще раз спасибо.

mim

  • Hero Member
  • *****
  • Сообщений: 2700
    • Просмотр профиля
Re:Сдвиговые регистры (SPI и не только...)
« Ответ #226 : Май 10, 2011, 20:25:47 »
swa_f_trade пишет:
Цитировать
Во! mim, классная идея!!!!
тока новое значение циферки должно тош сверху "вываливаца" :)
я теперь кнопочки еще месяц прикручивать буду :)


 
Специальные часы - для подводной охоты на DS1307. :D)

варп

  • Newbie
  • *
  • Сообщений: 36
    • Просмотр профиля
Re:Сдвиговые регистры (SPI и не только...)
« Ответ #227 : Май 11, 2011, 13:03:07 »
Как я пытался вывести биты последовательно не используя SPI....                                                - в связи с недостатком портов TINY13 , поставлена абстрактная задача - вывезти через порт B0 последовательно в двоичном коде  значение трех цифр с АЦП . Вывод каждого бита должен сопровождаться кратковременным появлением сигнала высокого уровня в порте B1 - это - типа сигнал синронизации для записи во внешний регистр сдвига...
Практической пользы от программы искать не надо - всё равно код этой программы в память проца не влезет...
Комментариев в программе нет , поэтому поясню здесь
- переменная P - то , что выходит с АЦП...
- переменные P1,P2,P3 это значения старшего , среднего и младшего разрядов с АЦП...делаются так -
P1 = P / 100
P2 = P / 10 - P1 * 10
P3 = P - P2 * 10 - P1 * 100

Переменные P1,P2,P3 выводяться последовательно , но прежде преобразуются в дополнительные переменные -

D4 = P1
D3 = D4 >> 1 (сдиг D4 вправо )
D2 = D3 >> 1
D1 = D2 >> 1
 затем D4,D3,D2,D1 по очереди выводятся в порт В , но не целиком, а только младший бит В0, при помощи маски  порта В...на выходе имеем последовательный двоичный четырёх битный код P1 , затем P2 и P3...
Бит синронизации формируется в порту В1 при выводе D4-D1 , так же при помощи маски.Главный вопрос - можно-ли так делать?Любая критика только приветствуется - пытаюсь программировать всего месяц - любые глупости позволительны... ;))

mim

  • Hero Member
  • *****
  • Сообщений: 2700
    • Просмотр профиля
Re:Сдвиговые регистры (SPI и не только...)
« Ответ #228 : Май 11, 2011, 13:17:27 »
Читай для начала форум.
Если ты программируешь только месяц, то другие форум наполняют намного больше (для таких как ты).
Для поиска по форуму "SHIFT_BYTE". И сиди изучай.
А то что ты выложил, не выдерживает ни какой критики.
Кроме того, ты бы хоть посмотрел что в этой ветке выложили...

Taska

  • Hero Member
  • *****
  • Сообщений: 1801
    • Просмотр профиля
Re:Сдвиговые регистры (SPI и не только...)
« Ответ #229 : Май 11, 2011, 13:23:47 »
Ну по поводу программы это код влезет в тиньку.
По точкам переходов я тебе показал как от них избавиться,
ну а про остальное мим тебе подсказал