Onixx

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

698 сообщений в этой теме

ragnarok    0

спасибо за комментарии! Насчет руки и ее сопротивления, это не моя прихоть - это задание курсовика! я использую программу PROTEUS, в ней соберу схему и напишу прогу. Я понимаЮ что надо нарисовать макет с питанием, реле и клавой, я просто не знаю как это все соеденить!

Изменено пользователем ragnarok

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Guedda    1

В общем, в схеме не принципиально какой индикатор и кнопки использовать. Пожалуйста, помогите переделать код и схему. Что для этого необходимо от меня?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Hatab    0

Всем привет, у меня такой вопрос. Как работает АЦП в микроконтроллере ADuC7027, а точнее как работает встроенный в него мультиплексор который перебирает каналы. В нём я использую 8 каналов. Заранее спасибо.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
na1s    0

Есть программа передачи массива с одного компа на другой через 8251 в синхронном режиме, препод говорит, что есть две возможности синхронизировать два компа. 1 ждать DSR, вторую я не знаю. А вот моя реализация:

Но он говорит здесь есть ошибка связанная с ложной записью, кто-нибудь может подсказать в чем проблема? Пожалуйста помогите, а то достало уже. Нет ни книг описывающий как писать программы для 8251, ни препод не написал хотя бы методичку как писать.

Передатчик

mvi a, 82h	; INIT ВВ55 
out 83h 
mvi a, 36h	; INIT ВИ53 
out 87h 		; CT0, режим 3, 2 байта 
mvi a, 0a7h 	; мл. байт коэф. пересчета 
out 84h 
mvi a, 00h	; ст. байт  
out 84h 
lxi d, 3377h	; синхросимволы 
xra a 		; INIT ВВ51  
out 89h 		; поиск CI 
out 89h 
out 89h 
mvi a, 40h	; сброс 
out 89h 
mvi a, 08h	; синхр.режим, 7 бит, 2 синхр.си
out 89h 		; внутр. синхр., нет контроля 
mov a, d 	; первый синхр. символ 
out 89h 
mov a, e 	; второй синхр. символ 
out 89h 
in 88h 		; ложное чтение 
mvi a, 31h 	; TxEN ER RTS 
out 89h 
out 88h 		; ложная запись 
lxi b, 100h 	; коэф. задержки 
w1: in 89h 	; ждем TxRDY (CTS)
ani 01h 
jz w1 
w2: dcr c 	; задержка
jnz w2 
dcr b 
jnz w2 
w3: in 89h 	; ждем TxRDY 
ani 01h 
jz w3 
mvi a,55h					 ; Тупо выводим 55h
out 88h 		; выводим 
dcr b 
jnz w3 		; цикл 
rst7


Приемник

mvi a, 76h ; INIT ВИ53 
out 87h 	; CT1, режим 3, 2 байта
mvi a, 0a7h; мл. байт коэф. пересчета  
out 85h 
mvi a, 00h ; ст. байт  
out 85h 
lxi d, 3377h ; синхросимволы  
xra a 	; INIT ВВ51  
out 89h 	; поиск CI 
out 89h 
out 89h 
mvi a, 40h ; сброс 
out 89h 
mvi a, 08h; синхр. режим, 7 бит, 2 синхр.симв. 
out 89h 	; внутр. синхр., нет контроля 
mov a, d ; первый синхр. символ 
out 89h 
mov a, e ; второй синхр. символ 
out 89h 
in 88h 	; ложное чтение 
mvi a, 94h; EN ER RxEN 
out 89h 
lxi h, 0899h ; пишем в память с 0900h 
mvi b, 00h ; прием 256 символов 
w1: in 89h ; ждем DSR 
ani 80h 
jz w1 
mvi a, 06h ; RxEN DTR 
out 89h 
w2: in 89h; ждем RxRDY 
ani 02h 
jz w2 
in 88h 	; читаем 
cmp d 	; сравниваем с 1-м синхр.симв. 
jz w2 
cmp e 	; сравниваем со 2-м синхр.симв. 
jz w2 
inx h 			   ; HL++ 
mov m, a ; пишем в память 
dcr b 	; B-- 
jnz w2 	; цикл 
rst7

[/code]

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
na1s    0

Есть программа передачи массива с одного компа на другой через 8251 в синхронном режиме, препод говорит, что есть две возможности синхронизировать два компа. 1 ждать DSR, вторую я не знаю. А вот моя реализация:

Но он говорит здесь есть ошибка связанная с ложной записью, кто-нибудь может подсказать в чем проблема? Пожалуйста помогите, а то достало уже. Нет ни книг описывающий как писать программы для 8251, ни препод не написал хотя бы методичку как писать.

Передатчик

mvi a, 82h	; INIT ВВ55 
out 83h 
mvi a, 36h	; INIT ВИ53 
out 87h 		; CT0, режим 3, 2 байта 
mvi a, 0a7h 	; мл. байт коэф. пересчета 
out 84h 
mvi a, 00h	; ст. байт  
out 84h 
lxi d, 3377h	; синхросимволы 
xra a 		; INIT ВВ51  
out 89h 		; поиск CI 
out 89h 
out 89h 
mvi a, 40h	; сброс 
out 89h 
mvi a, 08h	; синхр.режим, 7 бит, 2 синхр.си
out 89h 		; внутр. синхр., нет контроля 
mov a, d 	; первый синхр. символ 
out 89h 
mov a, e 	; второй синхр. символ 
out 89h 
in 88h 		; ложное чтение 
mvi a, 31h 	; TxEN ER RTS 
out 89h 
out 88h 		; ложная запись 
lxi b, 100h 	; коэф. задержки 
w1: in 89h 	; ждем TxRDY (CTS)
ani 01h 
jz w1 
w2: dcr c 	; задержка
jnz w2 
dcr b 
jnz w2 
w3: in 89h 	; ждем TxRDY 
ani 01h 
jz w3 
mvi a,55h					 ; Тупо выводим 55h
out 88h 		; выводим 
dcr b 
jnz w3 		; цикл 
rst7


Приемник

mvi a, 76h ; INIT ВИ53 
out 87h 	; CT1, режим 3, 2 байта
mvi a, 0a7h; мл. байт коэф. пересчета  
out 85h 
mvi a, 00h ; ст. байт  
out 85h 
lxi d, 3377h ; синхросимволы  
xra a 	; INIT ВВ51  
out 89h 	; поиск CI 
out 89h 
out 89h 
mvi a, 40h ; сброс 
out 89h 
mvi a, 08h; синхр. режим, 7 бит, 2 синхр.симв. 
out 89h 	; внутр. синхр., нет контроля 
mov a, d ; первый синхр. символ 
out 89h 
mov a, e ; второй синхр. символ 
out 89h 
in 88h 	; ложное чтение 
mvi a, 94h; EN ER RxEN 
out 89h 
lxi h, 0899h ; пишем в память с 0900h 
mvi b, 00h ; прием 256 символов 
w1: in 89h ; ждем DSR 
ani 80h 
jz w1 
mvi a, 06h ; RxEN DTR 
out 89h 
w2: in 89h; ждем RxRDY 
ani 02h 
jz w2 
in 88h 	; читаем 
cmp d 	; сравниваем с 1-м синхр.симв. 
jz w2 
cmp e 	; сравниваем со 2-м синхр.симв. 
jz w2 
inx h 			   ; HL++ 
mov m, a ; пишем в память 
dcr b 	; B-- 
jnz w2 	; цикл 
rst7

[/code]

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Onixx    0

Здравствуйте! Уважаемые форумчане, скажите как управлять светодиодным драйвером

MIB5026 с помощью МК-Atmega32 (4 порта)

У MIB5026 есть 5 входов управляющих сигналов:

1)CLK 2)SDI 3)LE 4)OE 5)Вход для резистора задающего ток на 16-ти выходах

post-54440-1212507246_thumb.jpg

post-54440-1212507260_thumb.jpg

На сколько я понимаю

1)На вход CLK мы подаем тактовую частоту

2)Если на SDI приходит +5В и на CLK в течении этого времени произошло нарастание

переднего фронта, то по соответствующему номеру импульса CLK включается

соответствующий светодиод, и т.д. до LE

3)LE - +5 задает момент окончание приема SDI (на одном форуме читал что он(LE) не работает)

4)время на которое загорятся светодиоды

А теперь вопрос, уважаемые знатоки :rolleyes:

Что в таблице обозначает Dn?

Получается, мне надо тратить 4 ножки МК на подключение всего одного драйвера?

И что делать, если у меня имеется матрица светодиодов и мне нужно соединить 32 драйвера

(еще несколько контроллеров, либо ключ поставить, либо еще что либо)?

Просба давать ответы только с наборами Atmega + MIB

а тут и даташит естьmbi5028.pdf

Изменено пользователем Onixx

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Migray    5

А как на счет выложить ссылку на даташит этой самой MIB5026?

По делу.

Обрати внимание на вывод SO.

Цепляешь его к выводу SI следующего за ним драйвера и радуешься жизни.

LE должен переписывать из сдвигового регистра принятую информацию в паралельный.

Его дергаешь после передачи данных для всех драйверов.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Onixx    0
По делу.

Обрати внимание на вывод SO.

Цепляешь его к выводу SI следующего за ним драйвера и радуешься жизни.

LE должен переписывать из сдвигового регистра принятую информацию в паралельный.

Его дергаешь после передачи данных для всех драйверов.

Спасибо Migray, а насчет логики действия этого MIB'a я правильно написал выше?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Migray    5

Почти правильно.

На вход SI выдаем информацию

На вход CLK мы подаем импульсы, по которым сдвигается информация в сдвиговом регистре

Из сдвигового регистра инфа выталкивается на вывод SO, для каскадирования микросхем.

Синхронизация не обязана быть какой-то фиксированной частотой.

Можно выставить инфу, на что-то другое отвлечься, потом и CLK перебросить.

Во время всего этого процесса, если LE в "0", информация на выходах не меняется.

После того, как записали информацию во все сдвиговые регистры, даем импульс записи на вывод LE

По этому импульсу инфа переписывается в регистры хранения, обычные паралельные "защелки".

Хотя в принципе LE независим от CLK, и дергать его можно сколько хочешь, что-бы наблюдать процесс :)

OE разрешает отображать информацию, хранящуюся в "защелках".

Можно подвязать к постоянному уровню и не париться.

В целях экономии батарей этим выводом можно отключать индикацию в переносных приборах.

Или регулировать яркость, подавая ШИМ-сигнал.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Onixx    0

Migray, спасибо за ответ. А вот еще такой вопрос: Как управляется MIB5028?

Если я правильно понимаю, имеется 2 режима, 1-ый обычный как для MIB5026.

2-ой - режим управления током

При подаче 101 на LE, включается выбор режима,

и если со следующим передним фронтом CLK на OE приходит:

1-то включается режим изменения тока.

0- включается обычный режим.

В режиме изменения тока, по SDI мы задаем значение каждого бита

0 бит не используется, 1 бит HC, 2 бит CC0 , 2 бит CC1 ... , 7 бит CC5,

7-15 биты не используются.

рассчитываем коэффициенты

G = (1 + HC) x (1 + D/64)/2

D = CC0 x (25^5)+ CC1 x (24^4)+ CC2 x (23^3)+ (CC3 x 22^2)+ CC4 x (21^1)+ CC5 x (20^0);

(0.63Volt x G / Rext ) x 15. - выходной ток на ВСЕХ выходах микросхемы

Затем посылаем 1 на LE и значение тока сохраняется

Потом посылаем на LE 101 на OE 1 и переходим в обычный режим.

И еще один вопрос: при большом количестве параллельно включенных MBI2028 нужны ли какие-либо дополнительные элементы (кроме токоограничительных резисторов для диодов и Rext) может фильтры какие- нибудь?

OE разрешает отображать информацию, хранящуюся в "защелках".

Можно подвязать к постоянному уровню и не париться.

В целях экономии батарей этим выводом можно отключать индикацию в переносных приборах.

Или регулировать яркость, подавая ШИМ-сигнал.

Каким образом можно регулировать? OE воспринимает всего два уровня

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
maksim_6666    2

Ребята, горю!!! Срочно нужна самая простая схемка схедующего типа.

На входе МК есть три ключа. на выходе 4 лампочки. При замыкании первого ключа, горит первая лампочка, при замыкании второго - вторая, при замыкании третьего - 3-я лампочка.

Когда замкнуты все три ключа с выхода МК поступает сигнал на др устройство. Вместо устройства для наглядности нужно использовать еще одну лампочку.

Нужно всю эту схему представить в EWB (Electronic WorkBench). Напряжение 12В, элементы не критичны, главное не использовать ничего лишнего. Ребята, срочно нужно!!! Помогите!!!

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Alex    546

Какой тип выходного сигнала на другое устройство ? И скажите применение этой девайсины.

И почему именно МК ? Это и без МК можно сделать.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
maksim_6666    2

Да без разницы. Я собрал в EWB схемку на логическом "И". Но преподу не понравилось. Сказал, чтоб было на МК. На выходе сигнал любой. Другое устройство должно включаться в зависимости от сигнала на выходе МК: есть сигнал - ус-во работает, нет сигнала - курит)))

Изменено пользователем Alex
Зачем править посты ?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Alex    546

Тогда к Вам вопрос. Вы же знаете прекрасно где нужно постить по студенческой теме. Почему новую тему создаёте ?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
maksim_6666    2

Представим, что я не студент)))

Есть какие-нить соображения? Какие есть МК в EWB для решения данной задачки???

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Migray    5

Насколько я помню, у этих микросхем встроенные источники тока, поэтому токоограничивающие резисторы не нужны.

Достаточно с помощью Rext или цифрового способа задать ток, и он будет поддерживаться на этом уровне для всех включенных каналов.

При включении большого числа микросхем нужно учитывать нагрузочную способность выводов МК, которые будут управлять LE, OE и CLK

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

ШИМ - это Широтно-Импульсная Модуляция, т.е. мы меняем ширину импульса при неизменной частоте.

Для примера возьмем частоту 100 Гц, что-бы не видеть мерцания.

Период равен 10 мсек.

Если мы будем выдавать разрешающий сигнал на OE в течении 1 мс, а 9 мс - запрет, то на светодиоды попадет 10% энергии.

Соответственно 5 мс импульс и 5 мс паузы - 50% мощности и т.д.

Варьируя ширину импульса на ОЕ можно в довольно широких пределах менять яркость светодиодов, при одном и том-же установленном Rext токе.

По крайней мере на TLC5921 это замечательно работало.

Нужно только помнить, что в режим стабилизации тока микросхема мгновенно не войдет, и задавать частоту ШИМ в десяток килогерц :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Alex    546
Ребята, горю!!! Срочно нужна самая простая схемка схедующего типа.

На входе МК есть три ключа. на выходе 4 лампочки. При замыкании первого ключа, горит первая лампочка, при замыкании второго - вторая, при замыкании третьего - 3-я лампочка.

Когда замкнуты все три ключа с выхода МК поступает сигнал на др устройство. Вместо устройства для наглядности нужно использовать еще одну лампочку.

Нужно всю эту схему представить в EWB (Electronic WorkBench). Напряжение 12В, элементы не критичны, главное не использовать ничего лишнего. Ребята, срочно нужно!!! Помогите!!!

Дак схема то не проблема, даже думаю для тебя. А прошивку для МК сам напишешь ?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
maksim_6666    2

А прошивка это уже, как говорится, не моя забота))) Моя задача схему собрать))) Но я уже разобрался, срочно нужно было на понедельник. Уже разобрался.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
g_arkady    0

Доброго времени суток ! нужна помощь.

Цель задачи. Управлять с компьютера набором моторчиков( от 1 до 8) через rs232.

Что имеется:

1)компьютер с выходом RS-232. (никаких улучшений типа синего зуба или юсб не требуется)

2)Набор логики которая получает два бита и по ним решает куда крутить (или не крутить) моторчик

Подключил это «чудо» к параллельному выходу lpt. Всё работает.

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
antzol    2

2 g_arkady

Преобразователь интерфейса (MAX232) + любой микроконтроллер, лучше, если с аппаратным usart (к примеру, какая-нибудь atmega).

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
gan    0

для такой простой задачи можно обойтись и без контроллера, с помощью регистра сдвига 74НС595

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Migray    5

Если 2 бита, то и регистра сдвига не надо, одного ADM/MAX 232 вполне хватит.

Если 2-битовое устройство нужно на каждый моторчик, то тогда да, сдвиговый регистр потребуется.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
krant    7

как в CCW-PICC в процедуре delay_xx(a) заставить работать переменную "а", всё время какое я бы значение "а" не придал, оно одинаково (по осцилограмме) и не сопадает с тем значением которое должно быть на самом деле (два пика, в одном через переменную, в другом напрямую (т.е. delay_xx(100)) и сравнил осцилограммы, они на порядок различаются по врмени задержке...

подскажите как заставить работать их равнозначно ?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
antzol    2

В заголовочном файле прописана тактовая частота?

Например

#use delay (clock=4000000)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Ваша публикация должна быть проверена модератором

Гость
Вы не авторизованы. Если у вас есть аккаунт, пожалуйста, войдите.
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Восстановить форматирование

  Разрешено не более 75 смайлов.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

Загрузка...

  • Похожие публикации

    • Автор: ITSpec
      Привет всем. Это мой первый пост здесь  прошу отнестись снисходительно.
      Просматривал ролики на Ютуб и понравилась тема одного из блогеров: "Воруем у китайцев". Идея понравилась и полез на Алиэкспресс поискать какой нибудь конструктор чтобы сплагиатить.
      Выбор пал на этот.

      Схему даже с платы не пришлось перечерчивать она была на странице продавца.

      Основная часть этой схемы обычный мультивибратор, который "перемигивает" параллельно подключенные диоды. Вторая часть схемы служит для музыкального сопровождения и состоит из трех компонентов: музыкальной микросхемы, усилителя звука в виде транзистора и громкоговорителя в виде пьезового зумера.
      Такой микросхемы у меня конечно же небыло и я заменил ее на чип H-83a который не нуждался в усилителе.

      Сразу припаял на него SMD резистор и кнопку для переключения мелодий согласно схеме.

      В оригинальной схеме использовались двухцветные диоды, таких у меня тоже не было и я их заменил на обычные 3 мм двух цветов.
      Зуммер я тоже не нашел заменил динамиком от старой мобилы.

      Открыл EASYEDA и нарисовал схему.

      Потом спроектировал плату.

      После прибегнул к технологии ЛУТ.

      Припаял все элементы. Отсек для батарейки и чип посадил на термоклей.

      Вот фото окончательного устройства.

      Включается устройство от переключателя, а мелодии от кнопки на музыкальном чипе. Если кому-то хочется чтоб мелодия играла при включении вместо кнопки можно впаять перемычку.
      Ссылка на видео как собиралось:
       
    • Автор: Михаил Савин
      Добрый день. Подскажите есть устройство на плате для регулирования дроссельной заслонки от Калины. Довольно специфическое, индивидуальная разработка, аналогов не купить. Основывается на микроконтроллере ATXMEGA128A3U AU 1651. Возможно ли скопировать залитый в него код что бы изготовить данное устройство ? Или это невозможно в принципе ?
    • Автор: ficus216
      Здравствуйте всем. Такая проблема. Дорожка работала, при беге в максим. 10км/ч резко прибавила скорость до 12 наверное ( хотя только до 10 максимум она разгоняется)
      попытался убавить скорость но ничего не срабатывало, можно только переключать между табло "каллории" "скорость" "расстояние""время" ничего убавить нельзя. Дальше вытаскиваю магнит (обычно дорожка автоматически выключается после этого) в этом случае нет, она дальше работала на полной скорости.
      Снизу находится общий включатель, раньше если его вкл то пока старт не нажмешь ничего не будет. а сейчас нажимаю этот вкл снизу и сразу на 12шке херачит.
      Тестором все прозвонил, сгорел микропроцессор я так понимаю. В магзиине мне сказали. что только если на али заказать. Название сгоревшего sonyx sn8p2624kb на али нет в точности с таким названием. прилагаю ссылку
      можно ли заказать этот или любой другой с другим названием ? что делать дальше ? не нужно потом это все прошивать ? и как ?https://clck.ru/DQhDh



    • Автор: Сибирский кот
      Здравствуйте! Мой знакомый отдал мне по ненадобности пульты для заправочной станции модели "Сапсан". В одном пульте стоял микроконтроллер ATMEL AT89S51-24PU и в другом-AT89C51-24PU. Искал схемы в интернете,но ничего не нашел,кроме даташиты. Не знаю,что делать с этими микроконтроллерами-пустить в дело или в утиль. Сможете подсказать?
    • Автор: Oleg Borisov
      Добрый день. Для исследование мне необходимо разработать и собрать прибор который анализирует температуру и влажности среды.
       
      Прибор состоит из следующих блоков:
      1. Выносной датчик температуры
      2. Выносной датчик влажности
      3. Передатчик Bluetooth
      4. Батарея с возможностью подзарядки
      5. Корпус
      6. Мобильное программное обеспечение (Андройд)

      Устройство небольшого размера закрепляется на объекте и передает показания датчиков по средствам Bluetooth на мобильное устройство с предустановленным программным обеспечением.
      В приложении примерная визуализация прибора.
      Оплата договорная!