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

brown    0

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

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


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

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

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


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

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

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

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

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

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

Войти

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

Войти сейчас


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

    • Автор: Сергей Скопинцев
      Нужно разработать циклическую программу сбора информации от 10 измерительных источников. Период повторения цикла - одна секунда
      Источники:
       М - тензопреобразователь давления. Мостовая схема питается постоянным напряжением, выходной сигнал от 0 до 100 милливольт
       Т, ТМ, ТА- три канала измерения изменения напряжения в диапазоне от 400 до 600 милливольт (тоже нужен мост?)
       ЛМ - анализатор максимума напряжения (от 0 до 5 Вольт) по 10 точкам более-менее распределённых в измерительном цикле. Найденный максимум потом должен участвовать в анализе, постепенно уменьшаясь на 20% каждый цикл
       ВЛ - измерить напряжение на Малой емкости (50 пФ) с помощью емкостного делителя по алгоритму:
                         Снять Землю со средней точки емкостного делителя, подать на емкостной делитель положительный Импульс
                         Замерить нужное нам напряжение в средней точке делителя
                         Снять положительный Импульс с делителя, посадить на землю среднюю точку делителя
      - остальные каналы К7...К10  служебные
      Разрядность данных - 16 двоичных.

      Результаты писать на MicroSD текстовым файлом, на первом месте в строке текущее время в секундах, остальные каналы разделены пробелами
      Порядок каналов:
      Т - М -ТМ - Вл - ЛМ -...
      Коэффициенты усиления по каждому информационному каналу должен иметь возможность изменить оператор по формуле y = Ax + B
      Прибор автономный, питается от + 5 Вольт.
       
    • Автор: Ru_s
      Здравствуйте. Подскажите пожалуйста, возможно ли на attiny13 реализовать такую штуку. Мне в процессе работы программы нужно поменять режим работы таймера/счетчика с fast PWM на обычный счёт, отсчитать длительный промежуток времени и опять вернутся в режим ШИМ. Т.е. я подаю на ногу сигнал ШИМ и когда он в максимальном значении, я его отключаю, и тупо подаю на ногу высокий лог. уровень. В это время Т/С по идее свободен, и мне надо посчитать время работы выхода на максимальном лог. уровне, при достижении какого-то значения времени нужно перевести т/с обратно в ШИМ. Возможно ли это? И как приблизительно это реализовать
    • Автор: Kiraspbkiev Kira
      День Добрый. Есть два вопроса от новичка: 1) Правильная ли схема сделанная мною? 2) если схема верна то как правильно подключить к atmega328p-mu usb на чипе cp2102-grm?
      На схеме колодка JP1 это AVR ISP а JP2 это UART
      С проектированием столкнулся в первый раз, цель узнать что то новое и сделать своими руками:)

    • Автор: GeloMik
       
      Я новичок в программировании AVR контроллеров, хотя знаю +/- C++.
      Проблема заключается в том, что я не могу написать прошивку к своему маленькому проекту. Используемый мною контроллер - ATTiny45. У него на борту имеется 1 АЦП с выходом на 4 ноги. Нужно, чтобы фактически одновременно брался замер с 3, 4 и 5 порта по АЦП, и при появлении 1 на одном из них МК должен подать 5В на 1 или 2 порты. Источник АЦП AREF. 
      Сюда прикреплю схему самого робота, если кого не затруднит помочь написать прошивку, буду очень благодарен 

    • Автор: Stratix
      Здравствуйте, у меня проблема с прошивкой разных устройств из-за программаторов. Дело в том что у меня есть некоторое количество китайских и самодельных программаторов для разных производителей, с ними постоянно какие-то проблемы, некоторые отказываются нормально работать на windows 10(другие версии ПО не устраивают), другие не работают с последними версиями сред разработки и т.д. Так же нужно прошивать схемы памяти. Хочу прошивать устройства без постоянной сборки программаторов и неудобств. Думаю о двух вариантах: взять оригинальные программаторы для всех производителей: altera, xlinx, arm, pic, avr(некоторые найти сложно, например оригинальный usb-blaster и высокая стоимость в сумме), второй вариант: взять универсальный программатор, который бы поддерживал все новые микросхемы, а вот с этим проблема, большинство универсальных программаторов не шьют stm, плис. Есть ли вообще реально универсальные программаторы? Мне было бы намного удобнее если на столе б лежал один программатор, а не куча. Смотрел список микросхем chipprog-48, пока что самый большой, к сожалению не поддерживает новые fpga, например: cyclone IV. Связывался, сказали что поддержки не будет и в будущем. Стоит ли взять chipprog-48 в 2018 году или есть программаторы лучше, с большим списком микросхем?
  • Сообщения

    • Василичь! Прописано в ГОСТе. Смотри выше, надоело повторяться. А про сотни фирм - так приводят, Василичь, приводят. Я, только вчера - сегодня выложил данные и Magnat, и Dinaco, и Luxman, и  McIntosh. У всех написагно 1% или менее. А ты, как слепой. Кроме своих картинок ничего не видишь. Ты, Василичь, как репродуктор на стенке. Ему что не говори, а он своё - Начинаем утреннюю зарядку.   Василичь! Ну, хоть народ не смеши. Я упомянул Luxman MQ-3600, McIntosh MC75,  Magnat RV 1, Dynaco ST-70. И привёл их параметры. Кто из них шарманка типа ресивер транзисторная? Ей Богу, глядя на тебя понимаешь - с возрастом далеко не ко всем приходит мудрость. Иных посещает иное. Ты много и долго говорил. Как всегда, не о том. Мне ужасно интересно немного другое. Ты тут сказал Василичь! Умоляю! Поясни мне, что такое в 0,1 раза  всего. С картинками на 3 экрана, с красными стрелками, ну, как ты любишь. Правда, не понимаю я твоей математики. Как понять - если при 250 милливатт мощности уровень гармоник равен уровню шума? С каких делов он равен? Откуда 71 дБ? Просто сложили котов с табуретками? Было 2 цифры 46 и 25 дБ. Что с ними делать? Только сложить. Ну, не вычитать же.
    • Предлагаю четвертый вариант: скачать и почитать вот эту книжку.
    • предлагаю третий вариант : щупы на выводы индуктивности, осцил - триггер по напряжению
    • Конечно изначально контролирую ток через лампы по контрольным резисторам, хотя по большому счету разве существенна разница есть резисторы, 1ом, 10 ом или их нет мы то все равно видим  по мультиметру (только разное положение переключателя диапазонов измерений) какой ток течет через лампу, можно и без резисторов и по падению на сопротивлении обмотки по закону ома посчитать,  а "0"  в милливольтах мы все равно видим между анодами выходных ламп если схема симметрична, или снова я не правильно понимаю? Прошу сильно не ругать, я только учусь. Ведь потому и пишу, что ставлю лампы с разным током (проверенные) с обмотками у которых разное сопротивление и в итоге при такой "установке" ноль между анодами и получается при минимальной разности по сопротивлениям (хорошая симметрия?) на подстроечных и постоянных (фазоинвертор) резисторах по искажениям и одинаковом токе через лампы на контрольных 10ом (70-75мА) резисторах, а если я ставлю лампы с одинаковым током (установлено по одной точке при подборе) то ток разный через лампы получается и настройка проходит трудней.
    • "Правов" нет, но навык вождения, всякого самобеглого, имеется. Сказалась буйная молодость, сельхоз десанты и картофельные командировки на месяц, когда в технаре обучался. Велик не брошу, он гораздо пользительнее "белоруса".  И соляру не жрёть.
    • Вопрос довольно интересный, возникла та же ошибка как и у многих, перепаял 5 штук мег8 безрезультатно, 
      начал все проверять, взял мегу в ДИП шьется нормально ставлю в TQFP  опять ощибка и так много раз,
      потом взял другой программатор и все пошло, 
      прикол наверное вот в чем, программатор который не шьет TQFP ремонтировался пришел из китая нерабочий , 
      и прошит новой прошивкой, а второй не стал перепрошивать на новую прошивку , и он работает нормольно.
      Стало быть дело в прошивках в новых что-то не то, или со старым софтом не дружат.
    • Ну ты реально дебил, Валера... Я НИ РАЗУ не писал, что ВНОСИТСЯ емкостое. Я писал о ПАРАЗИТНОЙ ЕМКОСТИ между витками и бидоном. Эта емкость не вноситься из магнитной связи. И никакого отношения к НЧ измерению осциллографом не имеет. Либо перейди на измерение экспоненты на 1 кГц, либо оставь в покое свой LC-метр. Чувак с липовым дипломом непонятно чего  пытается учить математике и физике радиоинженера с КРАСНЫМ дипломом и 37 годами стажа в разработке (включая работу в ведущем НИИ 1-го Главка МЭПа)... Я просто х..ею с этого дебила... Ты хоть в курсе относительно объема математики и физике на радиофакультете? Ты ваще чего там кончал? Коридорные курсы простигосподи? Иди в жопу, пионЭр. Пиши свои никчемные каракули.