Jump to content
Onixx

Помогите Студенту-Чайнику По Мк

Recommended Posts

Знаний у меня почти совершенно никаких
Мда....... И вот таких у нас Инженеров выпускают из институтов :)

Мож вам воткнуть какой нибудь МК современный и всё гораздо упроститься ?

отблагодарю материально через вебмани или еще как-то
Если что стучись в личку, мы такое любим :)

Share this post


Link to post
Share on other sites

у меня специальность другая:) я системный аналитик. просто это нужно как классический предмет. как вышка или инженерная графика:))

я уже находил в инете на современных элементах, даже с экранчиком и инфракрасным модулем. но преподаватель сказал ,что "что это за курсовая - 3 элемента и провода" :)

Edited by dimivan

Share this post


Link to post
Share on other sites

Насколько я помню - этот МК умеет аж 64 килобайта ПЗУ. Переделывать практически ничего не надо.. надо взять 8 килобайт РФ или любую другую заграничную.. Даже можно взять флеш вместо РФ... И розширить на 1 2 вывода регистр защёлку D5. Я бы подключил ешё один регистр точно такой же как D4.. Ну а АЦП - там это решено как компаратор больше/меньше... Нужно будет подумать как его подключить.. Или ставить ешё шинные формирователи на вход или ставить АЦП с серийным выходом...

Share this post


Link to post
Share on other sites

Литиевые батарейки Fanso для систем телеметрии и дистанционного контроля

Системы телеметрии находят все более широкое применение во многих отраслях на промышленных и коммунальных объектах. Требования, предъявляемые к условиям эксплуатации приборов телеметрии и, как следствие, источников питания для них, могут быть довольно жесткими. Fanso предоставляет широкую линейку продукции, рассчитанной на различные условия эксплуатации, что позволяет подобрать батарейку для каждого конкретного применения, в том числе и для устройств телеметрии.

Подробнее

Добрый час! Я студент Сгау специальности биотехнические аппараты и системы, про нашу специальность говорят что готовят "лучших из лучших"

Лучших медиков среди техников и лучших техников среди медиков =) Стоит задача:

Разработать персональный монитор стресса. Суть задачи ясна: Фотоплетизмографическим датчиком измеряем пульс дальше массив данных загоняем в мк, строим гистограммы и выводим данные на дисплей! Вопрос в другом! Структурная схема всего этого супа ! Кто может помочь? Каким образом все это соединить.

Share this post


Link to post
Share on other sites

С программаторами некогда неработал, так что помогите чайнику разобраться...

Вот приобрел аналог STK500 (для AVR)...

Как подключать микроконтроллер к программатору?

В разных источниках различная информация...

В одном пишут, что достаточно 5 выходов:

reset

sck

mosi

miso

GND

И тут становится вопрос... а почему питание (+) на контроллер неподается?... :o

В другом посмотрел на разводку п/п под панельки и заметил, что там подводят:

reset

sck

mosi

miso

GND

XT1

Vcc

Так как же всетаки правильно? :blink:

И еще вопрос, когда программируешь микроконтроллер прямо в готовом устройстве то нужно ли подавать питание на само устройство?

Edited by sputnic

Share this post


Link to post
Share on other sites
                     

Приглашаем на вебинар Решения для построения ультразвуковых счетчиков жидкостей и газов на базе MSP430

Компэл совместно с Texas Instruments 23 октября 2019 приглашают на вебинар, посвященный системам-на-кристалле для построения ультразвуковых расходомеров жидкостей и газов на базе ядра MSP430. Вебинар проводит Йоханн Ципперер – эксперт по ультразвуковым технологиям, непосредственно участвовавший в создании данного решения. На вебинаре компания Texas Instruments представит однокристальное решение, позволяющее создавать точные недорогие счетчики жидкостей и газов.

Подробнее...

Помогите студенту! Стоит задача обработки некоторого массива данных, поступающих в мк последовательно (кардиоинтервалы). А именно нужно построить из этих данных гистограмму, провести несолько арифметических действий и вывести на жки результат. Помогите разобраться как это все реализуется. Вожможно у кого нибудь есть лит-ра по этой теме. И какой мк выбрать для того чтобы было удобней(легче) программировать.

Share this post


Link to post
Share on other sites

Все современные МК имеют Си-компиляторы, так-что удобство тут роли не играет.

На ASM-е ты все равно эту задачу долго отрабатывать будешь.

Теперь попытаемся осмыслить задачу.

Первое - поток входных данных.

К тебе уже приходят данные о длительности интервала, или нужно самостоятельно отлавливать QRS-комплекс?

Если полуготовые данные, то в каком виде, число в микросекундах или строб-импульсы, синхронные скажем с R-зубцом?

Если самостоятельный отлов, то с какой точностью, необходима или нет компенсация ухода средней линии (или это уже реализовано аппаратно), надо или нет учитывать аритмии, от всего этого будет зависить сложность мат-обработки.

Второе - гистограмма и несолько арифметических действий.

Што именно нужно считать, и какие данные нужны для гистограммы.

Третье - ЖКИ.

Опять-же что и как нужно выводить на индикацию.

Хватит символьного индикатора или придется с графикой работать?

Вот когда будет ясность по этим вопросам, тогда можно будет и проц выбрать под конкретную задачу.

P.S. Зайди на сайт аналога, там есть немного информации по кардиографам.

К сожалению сайт постоянно обновляется и простую и понятную статью по этой теме я найти не смог.

Если у меня в архивах осталась - выложу.

Edited by Migray

Share this post


Link to post
Share on other sites

Спасибо за ответ, теперь в голове немного начинает проясняться. А занимаюсь я дипломным проэктом и моя задача постоить персональный монитор стресса.

Поток данных идет с фотоплетизмографического датчика, целью являетя анализ вариабельности сердечного ритма, я пока не разобрался до конца со структурной схемой, но задача в том что нужно измерить длительность кардиоинтервала между ударами пульса, как я понимаю RR . Судя по всему на мк будет подаваться данные о длительности те в мс. Вот аналог структурной схемы, только в ней данные передаются на пэвм, а мне нужно что бы мк сам обрабатывал и выводил на ЖКИ. Если возможно подскажите как ее доработать.

Гистограмма.

Данные о длительности кардиоинтервала между ударами пульса те RR

По гистограмме нужно определить СКО и Индекс напряженя ИН= AMo/2M*X, где M - мода AM - амплитуда моды Х -вариационныйразмах гистграммы.

Жки.

Данные нуно представить в численном виде и в виде символического изображения.

post-67668-1227685178_thumb.jpg

Share this post


Link to post
Share on other sites

привет всем!вот собрался сделать схему на мк...но в них я полный ноль.Подскажите пожалуйста с чего начать,один человек сказал что для начало в самый раз КМ1816ВЕ51.Меня интересует программатор на него и схему с готовой прошивкой.

Share this post


Link to post
Share on other sites

Тебе не программатор нужен, и уж тем более не схема с готовой прошивкой.

Сначала книжку прочитай, Сташин В.В., Урусов А.В., Мологонцева О.Ф. 1990 Проектирование цифровых устройств на однокристальных микроконтроллерах.

Как раз по этой серии, и все доступно описано.

P.S. Кстати схемы и примеры программ там тоже есть, не только описание ядра и алгоритмы работы периферии :)

Edited by Migray

Share this post


Link to post
Share on other sites

спасибо.но это книга у меня есть...но все же не ткнете ли вы пальцем на схему программатора?

Share this post


Link to post
Share on other sites

Всех, хоть немного понимающих в МК, предлагаю обсудить такой вопрос: кто сможет дать комментарии к такому исходнику (частотомер на Тини2313)!?

Вот он текст:

Dim Frequency As Long

Dim Flag As Bit

Dim Overflow As Byte

Dim Cnt As Long

$crystal = 8000000 ' частота кварца

'******************************

Config Portd = Input

Config Timer0 = Timer , Prescale = 1 ' CK=8MHz - тактирование Таймер0

Config Timer1 = Counter , Edge = Rising , Noise Cancel = 1 ' включена фильтрация шумов

Config Lcd = 16 * 2 ' экран 16*2 (любой с контроллером HD44780)

Config Lcdpin = Pin , Db4 = Portb.4 , Db5 = Portb.5 , Db6 = Portb.6 , Db7 = Portb.7 , E = Portb.1 , Rs = Portb.0

'****Reset for Start***********

Stop Timer0

Stop Counter1

'******Interrupt routline setting****

On Timer0 Tm0_intsub

On Timer1 Tm1_intsub

'******Enable Interrupts, timer 0, counter1*****

Enable Interrupts

Enable Counter1

Enable Timer0

Counter1 = 0

Overflow = 0

Cnt = 31250

Flag = 0

'******Initial******

Cls ' очистка дисплея

Lcd "Frequency Meter"

Waitms 500

Start Timer0

Start Counter1

'*******Main Loop*****

Main:

Do

If Flag = 1 Then

Frequency = Overflow * 65536

Frequency = Frequency + Counter1

Cls

Cursor Off

Lcd "Freq= "

Lcd Frequency

Lcd " Hz"

Locate 1 , 1

Reset Flag

Counter1 = 0

Overflow = 0

Cnt = 31250 ' значение подобрано для захвата за 1 секунду

Start Timer0

Start Counter1

End If

Loop

'************************************************

'*******Counter1 Overflow Interrupt**************

Tm1_intsub: 'переполнение counter1 - счетчик прешедших импульсов

Incr Overflow

Return

'***********Timer0 Zero Interrupt****************

Tm0_intsub:

If Cnt <> 0 Then ' отсчет одной секунды

Decr Cnt

Else

Stop Counter1

Stop Timer0

Set Flag

End If

Return

'************End of interrupt*********************

Share this post


Link to post
Share on other sites

Здравсивуйте. Я раньше с МК дела не имел, но мне срочно приперло сделать генератор бклого шума на МК :rolleyes: Я так понимаю не особо сложная задача, но даже не знаю с чего начать, полазил по инету ничего путного не нашел :blink: Может кто поможет, буду признателен :rolleyes:

Share this post


Link to post
Share on other sites

Неактуально, курсак здан на 5. Нашлись добрые люди на кажеться.сру!

Скатертью дорожка, никто вас не держит. Нехера сдесь высказывать такие вещи.

БАН вам !!!

Share this post


Link to post
Share on other sites

А зачем МК?? Генераторы шума если качественные то надо делать на аналоговом шуме.. Проще и качественей.. И для цифрового шума есть схемы на сдвиговых регистрах и исключаюшиего или... Ну а на мк пользуйте рандом генераторы..

Share this post


Link to post
Share on other sites

Дык нк спорю, но надо на МК :( А по подробнее можно, я же говорю что чайник :rolleyes:

Edited by Nik39

Share this post


Link to post
Share on other sites

Здравствуйте может я не в тему скажу извиняюсь. :huh: А правда чтобы запрограмировать микроконтроллер нужен какой то код что без нево и как нельзя запрограмировать тот самый микроконтроллер.спасибо что выслушали меня tit раз извеняюсь. :unsure:

Share this post


Link to post
Share on other sites

А в каком виде по вашему хранится программа в памяти микроконтроллера? В виде бинарного кода. Который сам из ничего не рождается, а пишется программистом. Точнее, программист пишет программу на каком-то языке программирования, а уже затем компилятор из этой программы делает объектный код, понятный микроконтроллеру.

Share this post


Link to post
Share on other sites

Я имею виду чтобы открыть микроконтроллер нужен какой то код а потом забрасывать программу :rolleyes:

Share this post


Link to post
Share on other sites

Join the conversation

You are posting as a guest. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

  • Similar Content

    • By Anton Bondarenko
      Всем привет
      Прошу не ругать, впервые подобный вопрос задаю.
      Хочу сделать прибор, который будет посылать сигнал, когда возле прибора будет проходить металлический предмет. 
      — угол отслеживания до 30° а лучше прямая линия, траектория
      — время реакции очень высокое до 100 мс
      — ширина проема в котором нужно сканировать от 10 до 20метров,
      — передача сигнала через вифи
      Может есть готовые решения, или отдельные компоненты.
      Подскажите пжл в каком направлении искать.
      Смотрел датчики движения, но главная проблема — время реакции.
      Спасибо
       
    • By Sofia Vin
      Предлагаем проектную работу в Москве:
      Микроконтроллер STM32F103.
        
      Есть встроенный код с использованием функций библиотеки FreeRTOS, код имеет описанный протокол для связи с внешним миром.
        
      Необходимо проводить доработку кода под задачи программиста верхнего уровня и его тестирование в составе оборудования. 
      Работа в лаборатории (м.Университет) и удаленно. 
      Оплата по договоренности.
      Если Вы обладаете опытом схемотехнического проектирования и программирования микроконтроллеров, и Вас заинтересовала данная возможность, ждем Ваши отклики по контактным данным:
      8 (925) 023-60-02   Алексей
      E-mail: nassa@marathon.ru
       
    • By Антон Плюшкин
      В общем есть небольшая тривиальная задача - сделать свитюльку. Контроллер управляет светодиодиками, цвета меняются, людишки довольны.
      Схема проста: Attiny44a -> 2n3904 x3 -> RGB-светодиод.
      Собрал, протестил, всё норм, но!
      Как только в коде я использую функцию задержки - _delay_ms (util/delay.h) - контроллер повисает!
      #define F_CPU 16000000UL #include <avr/io.h> #include <util/delay.h> int main(void) { // Input/Output Ports initialization // Port A initialization // Function: Bit7=Out Bit6=Out Bit5=In Bit4=In Bit3=In Bit2=In Bit1=In Bit0=In DDRA=(1<<DDA7) | (1<<DDA6) | (0<<DDA5) | (0<<DDA4) | (0<<DDA3) | (0<<DDA2) | (0<<DDA1) | (0<<DDA0); // State: Bit7=0 Bit6=0 Bit5=T Bit4=T Bit3=T Bit2=T Bit1=T Bit0=T PORTA=(0<<PORTA7) | (0<<PORTA6) | (0<<PORTA5) | (0<<PORTA4) | (0<<PORTA3) | (0<<PORTA2) | (0<<PORTA1) | (0<<PORTA0); // Port B initialization // Function: Bit3=In Bit2=Out Bit1=In Bit0=In DDRB=(0<<DDB3) | (1<<DDB2) | (0<<DDB1) | (0<<DDB0); // State: Bit3=T Bit2=0 Bit1=T Bit0=T PORTB=(0<<PORTB3) | (0<<PORTB2) | (0<<PORTB1) | (0<<PORTB0); // Timer/Counter 0 initialization // Clock source: System Clock // Clock value: 16000,000 kHz // Mode: Phase correct PWM top=0xFF // OC0A output: Non-Inverted PWM // OC0B output: Non-Inverted PWM // Timer Period: 0,031875 ms // Output Pulse(s): // OC0A Period: 0,031875 ms Width: 0 us // OC0B Period: 0,031875 ms Width: 0 us TCCR0A=(1<<COM0A1) | (0<<COM0A0) | (1<<COM0B1) | (0<<COM0B0) | (0<<WGM01) | (1<<WGM00); TCCR0B=(0<<WGM02) | (0<<CS02) | (0<<CS01) | (1<<CS00); TCNT0=0x00; OCR0A=0x00; OCR0B=0x00; // Timer/Counter 1 initialization // Clock source: System Clock // Clock value: 16000,000 kHz // Mode: Ph. correct PWM top=0x00FF // OC1A output: Non-Inverted PWM // OC1B output: Disconnected // Noise Canceler: Off // Input Capture on Falling Edge // Timer Period: 0,031875 ms // Output Pulse(s): // OC1A Period: 0,031875 ms Width: 0 us // Timer1 Overflow Interrupt: Off // Input Capture Interrupt: Off // Compare A Match Interrupt: Off // Compare B Match Interrupt: Off TCCR1A=(1<<COM1A1) | (0<<COM1A0) | (0<<COM1B1) | (0<<COM1B0) | (0<<WGM11) | (1<<WGM10); TCCR1B=(0<<ICNC1) | (0<<ICES1) | (0<<WGM13) | (0<<WGM12) | (0<<CS12) | (0<<CS11) | (1<<CS10); TCNT1H=0x00; TCNT1L=0x00; ICR1H=0x00; ICR1L=0x00; OCR1AH=0x00; OCR1AL=0x00; OCR1BH=0x00; OCR1BL=0x00; // Timer/Counter 0 Interrupt(s) initialization TIMSK0=(0<<OCIE0B) | (0<<OCIE0A) | (0<<TOIE0); // Timer/Counter 1 Interrupt(s) initialization TIMSK1=(0<<ICIE1) | (0<<OCIE1B) | (0<<OCIE1A) | (0<<TOIE1); // External Interrupt(s) initialization // INT0: Off // Interrupt on any change on pins PCINT0-7: Off // Interrupt on any change on pins PCINT8-11: Off MCUCR=(0<<ISC01) | (0<<ISC00); GIMSK=(0<<INT0) | (0<<PCIE1) | (0<<PCIE0); // USI initialization // Mode: Disabled // Clock source: Register & Counter=no clk. // USI Counter Overflow Interrupt: Off USICR=(0<<USISIE) | (0<<USIOIE) | (0<<USIWM1) | (0<<USIWM0) | (0<<USICS1) | (0<<USICS0) | (0<<USICLK) | (0<<USITC); // Analog Comparator initialization // Analog Comparator: Off // The Analog Comparator's positive input is // connected to the AIN0 pin // The Analog Comparator's negative input is // connected to the AIN1 pin ACSR=(1<<ACD) | (0<<ACBG) | (0<<ACO) | (0<<ACI) | (0<<ACIE) | (0<<ACIC) | (0<<ACIS1) | (0<<ACIS0); ADCSRB=(0<<ACME); // Digital input buffer on AIN0: On // Digital input buffer on AIN1: On DIDR0=(0<<ADC1D) | (0<<ADC2D); // ADC initialization // ADC disabled ADCSRA=(0<<ADEN) | (0<<ADSC) | (0<<ADATE) | (0<<ADIF) | (0<<ADIE) | (0<<ADPS2) | (0<<ADPS1) | (0<<ADPS0); unsigned char VL_OCR0A = 0, VL_OCR0B = 0, VL_OCR1A = 0; OCR0A = 0; OCR0B = 0; OCR1A = 0; while(1) { _delay_ms( 100 ); VL_OCR0A = VL_OCR0A + 1; VL_OCR0B = VL_OCR0B + 1; VL_OCR1A = VL_OCR1A + 1; if( VL_OCR0A >= 250 ){ VL_OCR0A = 0; } if( VL_OCR0B >= 250 ){ VL_OCR0B = 0; } if( VL_OCR1A >= 250 ){ VL_OCR1A = 0; } OCR0A = VL_OCR0A; OCR0B = VL_OCR0B; OCR1A = VL_OCR1A; } } Т.е. если указать задержку в начале цикла, то светодиод не светится вообще.
      Если задержку убрать - светодиод немного подсвечивает всеми цветами.
      while(1) { _delay_ms( 100 ); // <--- ЗАДЕРЖКА --- VL_OCR0A = VL_OCR0A + 1; VL_OCR0B = VL_OCR0B + 1; VL_OCR1A = VL_OCR1A + 1; if( VL_OCR0A >= 250 ){ VL_OCR0A = 0; } if( VL_OCR0B >= 250 ){ VL_OCR0B = 0; } if( VL_OCR1A >= 250 ){ VL_OCR1A = 0; } OCR0A = VL_OCR0A; OCR0B = VL_OCR0B; OCR1A = VL_OCR1A; } Где я накосячил?
      З.Ы.: Замечаний по поводу оптимизации кода, излишних переменных и п.р. прошу не писать - изощряюсь как могу ибо не пойму почему не работает
    • Guest Денис
      By Guest Денис
      В общем, есть такое чудо китайской техники (фото)
      Что оно может:
      1. Заряжаться через microUSB порт
      2. Кнопка вкл/выкл, она же переключает режимы
      3. 3 режима свечения светодиода (он светит разными цветами)
      Что я хочу сделать:
      1. Пункты 1 и 2 выше
      2. Разнообразить количество режимов, переливание статичный цвет и тд...
      Вопрос: как это сделать? что купить?

      P.S. К сожалению, в гугле не нашел подробной инструкции, а я в электронике я дуб дубом


    • By Reptile
      Доброго времени суток. Пытаюсь восстановить работоспособность колонок Top Device TDE 261/2.1. Колонки не раз ремонтировалась по части УНЧ, при очередном ремонте по ошибке (одинаковые разъемы) с трансформатора было подано переменное питающее напряжение на входы (разъем AUX/MP3) аудиопроцессора PT2313L  (3,10,14 ноги - AGND, R_IN2 L_IN2). В результате чего выгорел сам аудиопроцессор PT2313L. PT2313L был заменен. Но колонка по прежнему не запускается. Как я понял, не запускается сам PT2313L, на его аудиовыходах (ноги 24, 25) сигнала нет. Передняя панель работает: индикация, кнопки, енкодер. Имеется подозрение, что вместе с процессором выгорели линии DATA и/или CLK на MCU, так как MCU и PT2313L соединены по этим линиям напрямую друг с другом. В МК и всей этой цифровой штуке не очень шарю, не знаю, как грамотно проверить работоспособность этой цифровой части, поэтому прошу помощи - Возможно ли какими-либо способами восстановить колонку или уже всё... 
      Из приборов, к сожалению, только мультиметр, осциллограф отсутствует.
      Ниже немного измерений.
      Напряжения на линиях: STD-BY-ждущий режим (в скобках рабочий режим):
      DATA - 2.31В (1.9В).
      CLK - 0.125В (0.135В).
      Сопротивление между выводами:
      CLK_MCU-DATA_MCU - 47 Ом. 
      CLK_MCU/DATA_MCU-GND - около 0.22 Ом и там и там. Звонится в обе стороны.
      Питание MCU 5В, (4.6В STD-BY-ждущий режим, 4.0В рабочий режим и со временем также почему-то может падать до 3.6В)
      MCU - не известен, нет маркировки. 18 Выводов, DIP.
      Ноги MCU, которые удалось опознать:
      1 - DATA
      18 - CLK
      3 - GND (?)
      5 - GND (?)
      ? - они соединены вместе
      14 - VCC
      17 - not used (n/a)
      15, 16 - OSC
      ET6202 - управление индикатором, Control LED drive circuit
      Фото плат (под сполером) и даташиты прилагаются.
      Схемы данных колонок не имеется. Все что удалось найти это схема чуть более старшей модели TDE280/2.1, с данными колонками она мало что общего имеет, лишь общий принцип, узлы довольно сильно отличаются, но прикреплю на всякий, для общей информации.
      PT2313L
      ET6202
      TDE280
       
×
×
  • Create New...