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

crazz

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

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

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

Доброго времени суток! Ковыряюсь с пик 16ф690 и не получается оживить входы porc,0 и  portc,1, уже вроде и аналоговый вход отключил и компоратор отключил, а вход так и не работает..., последующие порты порта С работают... В чем проблема?  

LIST      p=16F690
           #include  <P16F690.inc> 
           __CONFIG  (_MCLRE_OFF & _CP_OFF & _WDT_OFF & _INTRC_OSC_NOCLKOUT)

status        EQU        03h
porta        EQU        05h
trisa        EQU        05h
portb        EQU        06h
trisb        EQU        06h
portc        EQU        07h
trisc        EQU        07h

        org        0
         bcf        status,RP0  ; BANK 0
        bcf        status,RP1
        clrf        porta
        clrf        portb
        clrf        portc
        bcf        status,RP0  ; BANK 2
        bsf        status,RP1
        clrf        ANSEL
        clrf        ANSELH
        clrf        CM1CON0
        clrf        CM2CON0
        bcf        status,RP1    ; BANK 1
        bsf        status,RP0
        movlw        b'00001111'
        movwf        trisa
        movlw        b'01100000'
        movwf        trisb
        movlw        b'11011111'
        movwf        trisc
        bcf        status,RP0
        bcf        status,RP1
        movlw        b'11111000'
        movwf        OPTION_REG
        bcf        status,RP1  ; BANK 0
        bcf        status,RP0
        movlw        b'10101100'
        movwf        T1CON
        bcf        status,RP1  ; BANK 0
        bcf        status,RP0
        
dm3        btfss        portc,0        
        goto        dm3
        bsf        portb,4
        goto        dm3
r        goto        r
        end

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

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

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

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

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

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

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

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

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

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

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

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

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

Литиевые аккумуляторы EVE Energy и решения для управления перезаряжаемыми источниками тока (материалы вебинара)

Опубликованы материалы вебинара Компэл, посвященного литиевым аккумуляторам EVE Energy и решениям для управления перезаряжаемыми источниками тока.

На вебинаре мы представили информацию не только по линейкам аккумуляторной продукции EVE, но и по решениям для управления ею, что поможет рассмотреть эти ХИТ в качестве дополнительной альтернативы для уже выпускающихся изделий. Также рассмотрели нюансы работы с производителем и сервисы, предоставляемые Компэл по данной продукции. Подробнее>>

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

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

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

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

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

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

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

тогда выходные порты лучше включать через аккумулятор? (molw==movwf)?

Я вообще сперва думал что проблема где то кроится в выборе банков памяти, уже и расписал то их по простому  bcf   status,RP0  bcf   status,RP1, а она (программа) не работает, с четыремя банками я столкнулся первый раз,  думал что в этом вся загвоздка.. спасибо за "направление", будем пробовать изменять программу, но уже не сегодня.

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

2 часа назад, MegaVoltFS сказал:

вроде и аналоговый вход отключил

Не верю! "Вроде" не канает. Смотри даташит.

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

Так ку или не ку ?!

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

Еbit 0 ADON: A/D Enable bit
1 = A/D converter module is enabled
0 = A/D converter is shut off and consumes no operating current щё раз не верю. Регистр под адресом 1F нулевой бит

Чевойто моторчик у  форума  стал совсем противозачаточный . 

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

Так ку или не ку ?!

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

11 час назад, koms45 сказал:

Регистр под адресом 1F нулевой бит

по дефолту ADCON0 = 0x00 . ! и включение/отключение АЦП на подключение аналоговых входов не влияет , за это отвечает регистр ANSEL & ANSELH , они у товарища обнулены.

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

Нашел причину, все, оказывается работало! Все как обычно - "недобдел")) Программу я тестил на готовой плате устройства, устройство это работает от декодера DTMF на м/с 8870, сам декодер это китайский уже запаянный модуль. Вся проблема оказалась в том что напряжения выходов Q1-Q4 составляют 3,6 в, а напряжения выхода ST всего 2,3 в... А программа ждет именно сигнал ST, чтоб идти дальше, а это напряжение не соответствует лог. 1. Собрал на макетке, для проверки порта, с той программой что привел выше - все работает - ставлю в плату - ни чего не работает... Замеряю напряжение на декодере на  Q1,Q2 оно 3,6в, снова контроллер ставлю в макетку, на вход даю сигнал  единицы напряжением 3,6 - все работает... ставлю снова в плату - ничего не работает... уже немножко начал офигевать - что за хрень??? , а потом решил померить напряжения на выводе ST, а оно 2,3в, снова контроллер ставлю в макетку, подаю 2,3 - и фиг - ни чего не работает... А я то померив напряжения на Q1,Q2 подумал что оно на всех выходах такое же... Всем спасибо!

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

Доброго времени суток! Рано радовался, снова ни чего не работает))) Вобщем какая то фигня - если работают  ноги portc,0 и portc,1 (они на вход) то не работает TMR1 (  счетчик работает, но вроде как будто сбивается предделитель на 1:1, хотя по настройкам стоит 1:4, сидит на внутреннем такте) А если сделать чтоб работал таймер1, то порты portc,0 и portc,1 не работают на вход, остальные работают, отключаются только эти два порта!  Куда копать? Компараторы отключены...

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

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

Доброго времени суток! Добрался я до ЖК 1602. Информацию на него выводить получилось, все работает. Вопрос - как из регистра с трехзначным числом сделать три регистра с однозначным, ну т.е. сделать регистры с количеством сотен, десятков и единиц. Хочу вывести АЦП на экран. Так то можно конечно из регистра АЦП вычитать единицу и эту еденицу накидывать в регистр едениц и как будет в регистре едениц 10, то накинем одну еденицу в регистр десяток и так далее пока регистр АЦП не дойдёт до нуля, но это как то долго. Есть ли способ это сделать проще? Заранее спасибо! Делаю на Асме.

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

11 минуту назад, MegaVoltFS сказал:

какой командой на 10 делить

Используйте обычное деление / и операцию вычисления остатка %

x = 345;

sotni = x / 100;   равно 3, количество сотен кладём в регистр сотен
x = x % 100;    равно 45, остаток от деления на 100
des = x / 10;   равно 4, количество десятков кладём в регистр десятков
edin = x % 10;  равно 5, остаток от деления на 10 и равно количеству единиц.

 

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

Это то я понял, как "математически" найти значения, но теперь не понятно как на ассамблере делить на 100, на 10, какой командой это делается? На два то можно разделить командой сдвига вправо, а на 10 или тем более 100, не повторять же эту команду по 5, по 50 раз... Пока организовал все на вычитании, сложении, сравнении, ну как изначально я писал в вопросе. Так то все работает, но хотелось бы это все организовать более правильно...

Чет я сейчас посмотрел, в пик 16 то и нет команд умножения деления, так что эти операции нужно переводить в сложения вычитания.... Значит надо не делить на 100, а вычитать по 100. И не делить на 10, а вычитать по 10....

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

Не нужно делить на 100, 1000, ... Нужно всего-лишь деление на 10 с остатком.
Делите число на 10, остаток складываете в регистры результата. И так пока число не будет нулевым (ну, или пока не будет нужного количества цифер). Всё просто.

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

Команд деления в пик16 нет, можно только путём пятикратного сдвига разделить на десять, а остаток высчитывать... Вот только результат будет неправильным при числах менее 10..

Завтра ещё попробую..

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

Изобретаете велосипед. погуглите код для PIC-ов который называется BIN2BCD, когда-то я такой находил и успешно применял. Они похожи на код укуренного программиста(т.е. вы их работу гарантированно не поймёте), но на самом деле разрабатывались математиками и есть в разных вариантах - с оптимизацией по размеру кода, по скорости его работы и по размерности цифр.

Официальные библиотечные процедуры - так и работают, сначала вычитает сотни пока число не станет меньше 100, потом десятки а остаток окажется единицами.

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

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

2 часа назад, MegaVoltFS сказал:

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

Что-то у Вас с математикой не то... 5 делений на 2 будет деление на 32 (2^5) :)
Ищите готовые примеры, их есть в тырнете.

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

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

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

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

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

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

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

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

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

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

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

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

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

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