Onixx

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

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

ragnarok    0

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

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

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


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

Быстрый заказ печатных плат

Полный цикл производства PCB по низким ценам!

  • x
    мм
Заказать Получить купон на $5.00
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    547

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

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

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


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

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

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

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


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

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

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


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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

На входе МК есть три ключа. на выходе 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 смайлов.

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

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

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

Загрузка...

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

    • Автор: Dmitry Suhoruk
      Доброй ночи, мне бы не помешала помощь опытных людей. Дело в том что на днях у меня на сабе Genius GHT-s200 пошло замыкание по плате. выключил снял крышку сделал пару фото погуглил, оказалось сгорели ножки на tda7265. но дело в том что на задней стороне платы по ходу перегорела еще и дорожка.. есть опытные люди в этой сфере которые подскажут что куда пхать или на какую плату лучше заменить. ? 



    • Автор: paulb
      Есть задумка собрать вольтметр постоянного напряжения (до 1000В) на ГРИ, использовав за основу популярную схему часов. Либо на базе микросхемы ICL7107, если это возможно. Знающих прошу помочь.
    • Автор: admin
      Сайт Паяльник открывает обучающий видеокурс по AVR-микроконтроллерам.
      В этой теме "обратной связи" будем постепенно добавлять новые видеоролики с нашего канала. Здесь можно задавать вопросы, давать рекомендации, критиковать, оставлять отзывы и пожелания, а также запросы на тему будущих видеоуроков.
      Ведет видеокурс наш форумчанин kobzar.
      Профиль пользователя на сайте cxem.net. Там же финансовые реквизиты для тех, кто пожелает финансово отблагодарить автора данного видеокурса
      Подписка на YouTube канал
      Краткий обзор сред разработки для различных микроконтроллеров на сайте: http://cxem.net/software/soft_mcu.php
      Внимание начинающим! Перед тем, как задавать вопросы не по теме видеоуроков, прочитать:
      Статьи по МК для начинающих
      Книга по программированию микроконтроллеров AVR
      Также, здесь же на форуме рядом с этой темой смотрите прикрепленные темы: для начинающих, по языку Си и т.д. Все вопросы не по видеокурсу задавайте только там. С этой темы подобные вопросы удаляются
      Кракозябры вместо русских букв
      Ребята - спешу сообщить что найден метод борьбы с кракозябрами вместо русских символов, при работе с ЖК. Дело в том, что у некоторых из вас, проект создается в кодировке UTF-8, а наша библиотека работает только с ср1251
      Фикс:
      1.Открываем проект
      2. File - Advanced Save Options
      3. Вместо кодировки UTF-8 выбираем Cyrillic(Windows) - cp1251
      Сохраняем, сохраняем проект - компилируем!
      Добавлено 12.01.16 :
      Изменённые версии библиотеки lcd_5110 :
      От Alex - http://forum.cxem.ne...20#comment-2287906
      От COKPOWEHEU - http://forum.cxem.net/index.php?showtopic=136229&st=1840#comment-2373820