Перейти к содержанию

Помогите студенту-чайнику по МК


Рекомендуемые сообщения

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

Изменено пользователем ragnarok
Ссылка на комментарий
Поделиться на другие сайты

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

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

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

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

Сравнительное тестирование аккумуляторов EVE Energy и Samsung типоразмера 18650

Инженеры КОМПЭЛ провели сравнительное тестирование аккумуляторов EVE и Samsung популярного для бытовых и индустриальных применений типоразмера 18650. 

Для теста были выбраны аккумуляторы литий-никельмарганцевой системы: по два образца одного наименования каждого производителя – и протестированы на двух значениях тока разряда: 0,5 А и 2,5 А. Испытания проводились в нормальных условиях на электронной нагрузке EBD-USB от ZKEtech, а зарядка осуществлялась от лабораторного источника питания в режиме CC+CV в соответствии с рекомендациями в даташите на определенную модель. Подробнее>>

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

Есть программа передачи массива с одного компа на другой через 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]

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

Новый аккумулятор EVE серии PLM для GSM-трекеров, работающих в жёстких условиях (до -40°С)

Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре. 

Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств. Подробнее параметры и результаты тестов новой серии PLM по ссылке.

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

Есть программа передачи массива с одного компа на другой через 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]

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

Литиевые батарейки и аккумуляторы от мирового лидера  EVE в Компэл

Компания Компэл, официальный дистрибьютор EVE Energy, бренда №1 по производству химических источников тока (ХИТ) в мире, предлагает продукцию EVE как со склада, так и под заказ. Компания EVE широко известна в странах Европы, Америки и Юго-Восточной Азии уже более 20 лет. Недавно EVE была объявлена поставщиком новых аккумуляторных элементов круглого формата для электрических моделей «нового класса» компании BMW.

Продукция EVE предназначена для самого широкого спектра применений – от бытового до промышленного. Подробнее>>

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

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

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
Ссылка на комментарий
Поделиться на другие сайты

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

По делу.

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

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

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

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

Как советовать, так все чатлане ...

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

По делу.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Как советовать, так все чатлане ...

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

  • 2 недели спустя...

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 воспринимает всего два уровня

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

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

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

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

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

Каждый мнит себя стратегом, видя бой со стороны.

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

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

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

Каждый мнит себя стратегом, видя бой со стороны.

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

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

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

Каждый мнит себя стратегом, видя бой со стороны.

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

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

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

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

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

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

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

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

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

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

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

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

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

Как советовать, так все чатлане ...

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

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

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

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

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

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

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

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

Каждый мнит себя стратегом, видя бой со стороны.

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

  • 3 месяца спустя...

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

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

Что имеется:

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

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

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

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

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

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

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

Как советовать, так все чатлане ...

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

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

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

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

Присоединяйтесь к обсуждению

Вы публикуете как гость. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить в этой теме...

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

  Разрешено использовать не более 75 эмодзи.

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

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

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

Загрузка...
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу

×
×
  • Создать...