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

brown    0

Все это есть внутри процедуры РВР I2CWRITE.

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


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

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

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

  • x
    мм
Заказать Получить купон на $5.00
alder    0

""""""А ещё что-нибудь такоеже хорошее есть (для начинающих)?""""""

Нет, пока.

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

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


Ссылка на сообщение
Поделиться на других сайтах
The_Voice    0
Все это есть внутри процедуры РВР I2CWRITE.

хз-хз. пока я эти сигналы не сформировал вручную нихрена у меня не работало

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


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

хз-хз. пока я эти сигналы не сформировал вручную нихрена у меня не работало

У меня с тда7313д работает. У Вас что за девайс?

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


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

Кто-нибудь пробывал писать проги для ДУ RC-5?

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


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

Люди пожалуйста подскажите что означает строяка

High PORTB.2

а точнее PORTB.2

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


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

PORTB.2 означает: бит 2 порта B.

Бит 2 порта B связан с выводом RB2.

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


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

Спасибо

а теперь такой вопрос

как вывести 1 или 0 на определёный пин

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


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

а теперь такой вопрос

как вывести 1 или 0 на определёный пин

PortOUT VAR PORTB.3

TRISB.3 = 0

loop:

LOW PortOUT ' или PortOUT = 0

PAUSE 500

HIGH PortOUT ' или PortOUT = 1

PAUSE 500

GOTO loop

Вариант с PortOUT = 1 предпочтительнее, так как занимает меньше места.

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

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


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

Что это значит

у меня это компилятор отсекает

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


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

Нужен совет про 16F628 !

Ни чего не получается с ADC

Любые действия и компилятор ругается.

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


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

Что это значит

у меня это компилятор отсекает

Любой вывод порта можно запрограммировать, чтоб он работал как выход, или же как вход.

TRISB.3 = 0 программирует вывод порта B для работы на выход (можно один раз в начале программы), при этом на выводе (ножке) установится низкий логический уровень (0 вольт), и если подключить светодиод, через резистор, между плюсом питания и этим выводом, то светодиод будет светится (ток пройдет от светодиода, через открытый транзистор внутри микросхемы и на минус питания, внутри микросхемы).

Если следующая строка программы будет

HIGH PORTB.3

то на выводе установится высокий логический уровень, который запрет светодиод и светодиод погаснет, при этом строка программы TRISB.3 = 0 сохранит свое действие, и вывод останется выходом.

LOW PORTB.3 опять засветит светодиод.

Если светодиод подключить между выводом и корпусом, то тогда команда HIGH будет засвечивать светодиод.

TRISB.3 = 1 установит вывод для работы как вход, при этом (внутри микросхемы) к выводу подключиться подтягивающий резистор, между плюсом и выводом. На выводе установится высокий логический уровень (за счет резистора). Теперь между выводом и корпусом можно подключать кнопку, и выполнять команды PicBasic для считывания показаний кнопки. Вместо кнопки может быть любой датчик, с двумя логическими состояниями на выходе датчика.

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


Ссылка на сообщение
Поделиться на других сайтах
alder    0
Нужен совет про 16F628 !

Ни чего не получается с ADC

Любые действия и компилятор ругается.

На сколько я знаю, в ПИК16Ф628 нет аналого-цифрового преобразователя, используйте микроконтроллер с АЦП (ADC).

Здесь много примеров готовых программ, с комментариями на английском в том числе и с использованием ADC:

http://www.microengineeringlabs.com/resources/samples.htm

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

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


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

Спасибо за совет.

А на схеме есть надпись RA0/AN0 и т.д

Я и подумал что есть аналоговые входы.

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


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

В PIC16F1628 имеется аналоговый компаратор, вроде даже два, (но не АЦП).

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

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


Ссылка на сообщение
Поделиться на других сайтах
denmur    0
В PIC16F1628 имеется аналоговый компаратор, вроде даже два, (но не АЦП).

С АЦП эксперементировал а вот с компараторами нет, можно любой пример в Бейсике ?

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


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

http://www.microengineeringlabs.com/resour...bp/cmp877Ax.bas

Эта программа демонстрирует установку и использование аналоговых компараторов.

А это вырезки из даташита, по установке аналоговых компараторов:

post-1371-1171786044_thumb.jpg

post-1371-1171786095_thumb.jpg

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


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

Люди Для тех в танке помоему ВиньАВР Форева. <_<

Прочитайте книгу Шпак Ю.А. Програмирование ПИК и АВР на С

--Мне очень понравилось--

Линк не дам ишите на www.dasbook.ru

Но обязательно www

Если расмотреть асамблерный код то С намного быстрее "Басика" если я не прав скажите почему

<--Ну я пошел дальше-->

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


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

Кароче зайдите на PicBook.ru там есть инфа па извращениям на даном язЫке

Ну я пошёл дальше... ;)

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


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

Ia skacial pic basic pro 2.47 i ne uspel instalirovat'!Mojno kto to znaet ob etom.

Posle razpakovki poluciaets'a papku s polno bas files i nekotorie exe files [PBP i PBPW],no ni odin exe ne puskaet prog.Mojno eto rabotaet sovmesto s drugim prog?

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


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

Народ привет!

кто нить с прерываниями на пик бейсике разбирался? как по таймеру сделать прерывание раз в 10 сек примерно что переходил к определенной подпрограмме. ***** запарка :) в отместку могу поделиться подключенияи различных устройств и микрах к пику (но тока с тем чем я работал)

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


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

На kazus.ru есть примеры программ на РВР. Там файл clockx.bas -

часы, которые используют прерывание по таймеру. Берешь обработчик

прерываний и изменяешь под свои цели. Только нужно в начале своей

проги правильно настроить МК, если используеться Кварц отличный от

4 МГц. Возможны еще кое-какие тонкости...

Я работал с таймером по его флагу в проге по раскодировке сигнала

ДУ RC-5.

Удачи!

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


Ссылка на сообщение
Поделиться на других сайтах
brown    0
Ia skacial pic basic pro 2.47 i ne uspel instalirovat'!Mojno kto to znaet ob etom.

Posle razpakovki poluciaets'a papku s polno bas files i nekotorie exe files [PBP i PBPW],no ni odin exe ne puskaet prog.Mojno eto rabotaet sovmesto s drugim prog?

Работает с прогой Micro code studio.

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


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

Привет всем!!

Тоже пытаю Pic Basic

Зашел в тупик с такой задачей

На вход порта В.7 подаю импульсы

задача измерить длительность импульса

реализация:прерывание по изменению порта В

если передний фронт то

запускаем таймер TMR1

и считаем отрезки по 0.01с

как только приходит задний фронт импульса

останавливаем таймер и выводим количество отрезков по 0.01с

т.е при длительности импульсов 10мс на экране должно высветится 10000

Эмулирую работу в Proteus

и результат получается совсем иной

Вот текст проги:

-------------------------------------------------------------------------------

DEFINE LCD_DREG PORTC 'LCD data port B

DEFINE LCD_DBIT 4 'LCD data starting bit 0 or 4

DEFINE LCD_RSREG PORTC 'LCD register select port D.1

DEFINE LCD_RSBIT 1 'LCD register select bit 1

DEFINE LCD_EREG PORTC 'LCD enable port D.3

DEFINE LCD_EBIT 3 'LCD enable bit

DEFINE LCD_BITS 4 'LCD bus size 4 or 8

DEFINE LCD_LINES 2

DEFINE OSC 20

od var byte

w1 var word

od100 var byte

od1km var word

F var word

st var bit

i var word

On Interrupt Goto signal

@ device WDT_OFF

OPTION_REG = $C7

trisB=255

LCDOUT $FE, 1,"Privet Andrey",#portb

pause 500

st=1

F=0

w1=1

intcon=$C0

T1CON=0

m:

if st=1 then

LCDOUT $FE, 2, #od1km, " ", #F, " "

if PortB.7=1 and w1=1 then goto start

if PortB.7=0 and w1=0 then goto stoping

endif

n:

goto m

start:

TMR1H=254

TMR1L=12

T1CON=1

PIE1=1

w1=0

high portc.0

goto ex

stoping:

PIE1=0

T1CON=0

od1km=F*3

w1=1

F=0

low portc.0

ex:

st=1

goto n

Disable

signal:

f=f+1

TMR1H=254

TMR1L=12

PIR1=0

st=1

Resume

Enable

----------------------------------------------------------------------------------

Подскажите где ошибка????

Или может Proteus неправильно эмулирует???

Хотя другие работают правильно

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


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

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас


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

    • Автор: karomag
      Добрый день.
      Экспериментирую с подключение 7-сегментного индикатора к мк stm32. Индикатор с общим катодом. Соответственно для вывода цифры необходимо на анод каждого сегмента подать 1, а на общий катод 0. И тут я не могу понять какие токи будут через порты. Теоретически, пины МК подключенные через резистор 300 Ом к аноду (напряжение МК 3.3 В) то ток будет 4 мА, тогда на общем катоде должно быть 7 * 4 = 28 мА (цифра 8, т.е. горят все сегменты). Т.е. это небольшое, но превышение макс тока на ногу 20 мА. И надо общий вывод подключать через транзисторный ключ.
      Взял мультиметр. Результаты замера: ток каждого сегмента ~2.5 мА, ток общего катода 5 мА. Вот тут я подумал о школе Хогвардс))) Как все таки рассчитывается все таки ток на общем выводе? 
    • Автор: art_budka
      Ищу подрядчика для разработки проекта робота-рисовальщика. Есть бюджет, ТЗ. 
      Устройство представляет собой манипулятор передвигающий головку в плоскости XY в пределах жесткой рамы на которой установлены двигатели и направляющие перемещения. Головка представляет собой блок, отвечающий за передвижение закрепленного в фиксаторе объекта-пера по оси Z на расстояние до 20 мм. Фиксатор на элементе подъёма головки должен обеспечить жесткое закрепление предметов массой 10 - 80 грамм - кистей, шариковых ручек, карандашей и маркеров диаметром от 5 до 20 мм.
      Решение необходимо для обеспечения точных, многократно повторяющихся перемещений “пера” над плоской поверхностью. Для формирования движений в устройстве должна быть реализована электромеханическая схема, подключенная посредством USB-интерфейса к персональному компьютеру для отправки команд на манипулятор и получения обратной связи от контроллера манипулятора. 
      ТЗ, смета и бюджет через art_budka@rambler.ru 
    • Автор: green_whale
      Доброго времени суток.
      Собственно, сразу к делу. Необходимо измерить вч напряжение (частота порядка 20кГц, максимальная амплитуда 75мВ) с помощью микроконтроллера (скорее всего будет использоваться Arduino).
      Форма входного сигнала - пила (возрастает от минимального значения до максимального). Сигнал однополярный.
      Измерить нужно именно максимальное значение входящего сигнала. Измерение должно быть весьма точным (желательно, чтобы погрешность не превышала 1-2%).
      Есть пару идей :
      1. Сгладить сигнал, используя пиковый детектор (сможет ли сигнал такой частоты и формы зарядить конденсатор?).
      2. Использовать цап для генерации постепенно снижающегося напряжения и аналоговый компаратор.

      Надеюсь, кто-нибудь уже решал подобную проблему и сможет помочь советом или схемой.
    • Гость мистер_чувак
      Автор: Гость мистер_чувак
      Здравствуйте. Нашёл свои старые китайские портативные колонки, которые давно уже разобрал и потерял некоторые провода. Помогите разобраться, что к чему соединять, чтобы работало.
      фотка1
      фотка2
      фотка3
      фотка4
      фотка5
      фотка6
      фотка7
    • Автор: butyavk
      Компания "Диаконт" приглашает на собеседование по вакансии инженер-программист микроконтроллеров.
      Мы производим и поставляем современные приборы управления электроприводами для различных отраслей отечественной промышленности.
      Пополняем нашу команду программистов (готовы принять 2-3 кандидатов с различным опытом работы)!

      Основные обязанности:
      Разработка программного обеспечения для блоков управления приводами и др. вычислительных систем.
      Программирование на C++ микроконтроллеров фирмы Texas Instruments и НИИЭТ на базе ядра ARM Cortex-M4.
      Поддержка и доработка существующего программного обеспечения.
      Участие в научно-исследовательских и опытно-конструкторских работах.
      Участие во внедрении систем на объектах (редкие командировки).

      Требования к кандидатам:
      Хорошее знание схемотехники;
      Знание методов разработки и проектирования ПО для микроконтроллеров и опыт работы с их периферией;
      Знание основ управления электроприводами и ТАУ;
      Знание языков программирования высокого уровня (C++, C);
      Знание современных методов разработки ПО (ООП, ...);
      Знание английского языка (чтение технической документации);
      Приветствуется знание Python, Matlab/Octave;
      Дополнительным плюсом будет опыт автоматизированного тестирования встроенного ПО.

      Условия:
      Оплата полностью белая (на руки в зависимости от знаний и опыта от 50 000 руб до 100000 руб). Но, готовы обсуждать!;
      Карьерный и профессиональный рост;
      Предприятие с комфортными условиями труда на севере города;
      ДМС;
      График работы понедельник - пятница 9:00-17:40;
      Плавающее начало работы с 8:00-10:00;
      Льготное питание в столовой на территории предприятия;...

      Ключевые навыки
      Программирование микроконтороллеров
      C/C++
      Управление электродвигателями

      Адрес
      Санкт-Петербург, ул. Учительская 2, м. Гражданский проспект

      Тип занятости
      Полная занятость, полный день

      Резюме лучше отправлять на rykov@diakont.com 
  • Сообщения

    • Что-то тут не то. На 213-том падает 1в то есть рассеивается будет 30вт. На MBR6045 (один диод на 30а) 0,62в, то есть рассеиваемая мощность должна быть 18,6вт. Как MBR6045 греется больше?
    • Это верное замечание.  Прошу прощения я не верно нарисовал схему.    Подключение делалось по схеме 
        Что можно видеть на фотографии из параграфа "Практика" .
        Проблема можно поставить даже не в том что регуляция "отсутствует" проблема в ее недостаточной степени. Т.е. Если мы начинаем закорачивать резисторы R1 R2 ток начинает радостно расти, практически не замечая заданной LM кой отсечки.
        Еще раз. (Возможно я что то не так понимаю). Чтобы при росте напряжения в цепи, ток в ней не рос, нужно что бы это "дополнительное" напряжение где то пропадало. Как я понимаю, оно должно пропадать на схеме регулятора напряжения.    Т.е. Допустим. На V_1 мы видим: 320в,  на А_1: 0.95А (максимально допустимый стабилизатором ток). На V3 (падение напряжения на стабилизаторе) видим: 3В. Далее: мы закорачиваем резистор R1 (10ом) тем самым напряжение в цепи увеличивается на 9.5в и что соответственно должно вызвать рост тока. Соответственно в этот момент стабилизатор должен взять "дополнительное напряжение"  на себя. И на V3 мы должны увидеть как 3в -> 3в + 9.5в = 12.5в Если закоротить R1 и R2 мы должны увидеть  3в -> 3в + 9.5в  + 9.5в = 22в.  И так далее пока величина падения напряжения не превысит 37в и LM ка не сгорит. Какие падения напряжения на схеме стабилизатора я фактически наблюдаю: 1) Закоротили R1: 3в -> ~10в (A_1 скачек ~0.95A -> ~0.98A)  2) Закоротили R1 и R2: 3в -> ~10в (A_1 скачек ~0.95A -> ~1.05A)   Если 1) Еще можно назвать "Удовлетворительным" то 2) Вызывает у меня вопрос, что я не так делаю?          
    • Всем привет. Помогите определить это чудо )))
    • "Не ищи дурее себя" (с) Это так мой тесть любил говорить... Товарищи понимают Вами изрекаемое гораздо лучше, чем Вы можете себе представить. Могу сказать, что время на поиск проблем связанных с "нюансами реализации" компиляторов становится пренебрежимо малым, если  УГЛУБЛЯТЬСЯ в эти самые нюансы. ЗЫ. Эмбеддед системы отличаются тем, что по самый небалуй напичканы принципиальными противоречиями со стандартным Си. Именно поэтому в реальных проектах перенести код на иную платформу без его  переписывания заново практически невозможно.
    • Ну тогда можно попробовать иначе, наоборот, фиксировать отсутствие каких либо сигналов.
    • Тема таки снова стала актуальной.   Сварочник был вынут из закромов для починки. Может кто все ж подскажет что-то по теме? Заранее весьма благодарен!  Сделал насколько фот в полуразобранном виде. Ничего особо сильно не видно, все как-то запутанно...  Причем из корпуса без выпаивания не все и вынешь! На пример на втором фото видно, что присоединенные к мощным конденсаторам провода выходят из под них и продеты через перемычку в корпусе. Начал их вытаскивать, а провода не дают. Вероятно отпаивать/отсоединять где-то под ними надо, чтобы вытащить...