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

Вопросы от начинающих по МК


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

сайт хороший, автор - хороший практик

но книг его бойтесь! особенно исходников, которые он "писал по памяти, могу ошибаться" :crazy:

мне столько присылали жалоб на его книги... ууу...

сам по его "учебнику" программу писал, а он забыл написать, что надо модель определенным образом инициализировать - или не перевёл, или забыл написать...

а я трое суток мучался... :diablo:

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

Реклама: ООО ТД Промэлектроника, ИНН: 6659197470, Тел: 8 (800) 1000-321

  • Ответов
  • Создана
  • Последний ответ

Топ авторов темы

20% скидка на весь каталог электронных компонентов в ТМ Электроникс!

Акция "Лето ближе - цены ниже", успей сделать выгодные покупки!

Плюс весь апрель действует скидка 10% по промокоду APREL24 + 15% кэшбэк и бесплатная доставка!

Перейти на страницу акции

Реклама: ООО ТМ ЭЛЕКТРОНИКС, ИНН: 7806548420, info@tmelectronics.ru, +7(812)4094849

Товарищи бывалые, помогите разобраться в жизни :crazy: Вопрос по AVR. Есть такая замечательная asm команда lpm. Как я понял, она загружает значение в регистр R0 из ячейки, адрес которой предварительно загружен в регистровую пару Z. Команды состоят из 2 байтов (код команды + ее операнд), а мне, например, нужно прочесть один байт. Адрес ячейки надо умножать на 2 - вроде все логично. Но вот мне понадобилось прочесть нечетный, пусть это будет третий байт, начиная с "начала координат". Как к нему обратиться? Ведь не бывает номера 1,5.

У меня нет телевизора, поэтому я ем грибы и смотрю ковер.

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

Выбираем схему BMS для корректной работы литий-железофосфатных (LiFePO4) аккумуляторов

 Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ, также как и для других, очень важен контроль процесса заряда и разряда, а специализированных микросхем для этого вида аккумуляторов не так много. Инженеры КОМПЭЛ подготовили список имеющихся микросхем и возможных решений от разных производителей. Подробнее>>

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

(LPM из памяти программ) в регистре Z находится первый адрес где находятся данные в памяти программы! если тебе нужен третий байт ну и прибавь к адресу три (Z+3) и будет тебе адрес третьего байта!

Сергей.

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

У меня путаница, в Z записывается адрес, если так можно выразиться, системы координат счетчика команд или абсолютный (если считать все ячейки по порядку начиная с нулевой)?

У меня нет телевизора, поэтому я ем грибы и смотрю ковер.

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

Здравствуйте!

Пишу первую программу на С для PIC, но при моделировании на Proteus 7 не работает моя модель. Для обучения взял PIC16F84A. Суть модели - к выводам RA1 и RA2 подключил свтодиоды через резисторы соответственно на землю. Вывод RA0 завел на кнопку и далее на землю.

Цель работы - сделать так, что бы при нажатой кнопке светился диод , подключенный к RA2, а RA1 не горел, соответственно при отжатой кнопки - диод с RA1 светился, а с RA2-нет.

По схеме подключен кварц 4МГц.

Во вкладке Configure выставил Configuration bits в таком соответствии:

XT Oscillator - включен;

WTD - включен;

Power-Up timer - выключен;

Code protection - выключен.

Написал такую программу:

#include <pic.h>

void main (void)

{

TRISA=0b10000010;

TRISB=0b00000000;

PORTA=0;

PORTB=0;

while(1)

{

if (RA0=1)

{

RA1=0;

RA2=1;

}

else

{

RA1=1;

RA2=0;

}

}

}

Программа компилируется успешно, а светодиоды в Proteus на модели не горят вообще.

Уверен, сделал неправильно ряд моментов, прежде всего что-то не то с управлением уровней на портах, подскажите пожалуйста, как правильно сделать управление портами в таком случае. Вероятно и еще где то что то не так сделал, буду признателен за объективную критику.

Прошу не сильно "пинать ногами", ибо мое первое "творение".

Спасибо.

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

Можно, но лучше не привыкать - эффективней устанавливать несколько бит сразу чем по одному.

Учение - изучение правил. Опыт - изучение исключений.

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

эффективнее, но не всегда - лучше

когда надо потом что-то поменять, то приходится вспоминать: где и какой бит

иногда делаю одной командой, а иногда - разделяю по-битно, так как удобнее в процессе разработки

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

Для этого есть константы и операция OR. Тогда вообще на биты обращать внимания не надо, даже и последовательность соблюдать.

Учение - изучение правил. Опыт - изучение исключений.

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

я не про это, не про работу с битами

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

Adr_sender Alias Pinb ' входы от перемычек установки адреса

Button Alias Pinb.4 ' кнопка

Portb = &B_0001_0111 ' резисторы на кнопку и перемычки

Ir_out Alias Portb.3 ' Выход на ключ + IR-диоды

Config Ir_out = Output

Ir_out = 0 ' отключим св.диод и и IR-диоды

т.е, каждое определение и тут же указывать его направление

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

Изменил TRISA=0b10000001

Прекомпиллировал. МК все равно не работает. Питание на МК есть, на RA0, RA1, RA2 - НЛУ, при замыкании кнопки (подключена к RA0), ничего не происходит, на RA0 в любом положении ноль.Всю голову сломал, в чем же может быть проблема. Я так понимаю, прописывать строку _CONFIGxxxxxx не обязательно, если установить значения в Configuration Bits в MPLAB и снять галочку "прописать в коде". Даже не знаю, в чем может быть подвох, может МК уже не совсем исправный :(

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

Исправил ошибочку, так как регистор RBA имеет 5 разрядов, то изменил на TRISA=0b00001

В Proteus запустил, начинает работать, но однократно переключает ножки, цикл почему то необразовывается, в чем может быть подвох?

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

Здравствуйте, вот два архива (MPLab и Proteus):

ISISproject.rarMPlabproject.rar

Никак не могу сообразить, почему же не идет. Только один светодиод горит постоянно :(

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

Всем привет, такой вопрос по AVR. Есть нога, сконфигурированная на выход, на ней выставлен ноль. Что случится, если при записи в соотв. разряд порта единицы эта нога будет подключена к земле? Получим КЗ со всеми вытекающими?

У меня нет телевизора, поэтому я ем грибы и смотрю ковер.

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

КЗ будет у выхода, а вот выходной полевик будет работать стабилизатором тока - но лучше этого не допускать.

Учение - изучение правил. Опыт - изучение исключений.

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

Спасибо огромное! Так моя ошибка была в том, что не указал __CONFIG (XT & WDTDIS & PWRTDIS); ?

Я думал в MPLAB достаточно в Configuration bits выставить значение disabled/enabled. В чем же подвох оказался?

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

выходной полевик будет работать стабилизатором тока

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

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

Все можно наладить, если вертеть в руках достаточно долго!

Если ничто другое не помогает, прочтите, наконец, инструкцию!

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

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

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

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

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

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

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

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

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

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

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

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