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

КЭС    1 144

нет. каким софтом программируете?

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


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

PICKit 3 Programmer (Beta Release)

Пробовал МПлабом - такой дурной программы я не видел ещё. Так всё запутано и сложно, и постоянно ошибки выдаёт. Разбирался-разбирался и плюнул на неё, перешёл на PICKit 3 Programmer и всё им прекрасно шилось до последнего раза. Комп в норме, программатор тоже. Другую прошивку норм шьёт, которая на СИ. Но я его почти не знаю и нормального справочника по СИ для PIC нету, а прошить чипы надо как можно скорей.

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

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


Ссылка на сообщение
Поделиться на других сайтах
IMXO    1 358
и нормального справочника по СИ для PIC нету,
вы это серьезно?... язык Си (одинаков для любых контроллеров)... Изменено пользователем IMXO

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


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

Найдите миллионы труднодоступных

электронных компонентов

дямон    6

Всем привет, выручайте :help:

Я уже писал выше в чём моя проблема, но напишу ещё раз, тк прошло уже пол года, а не сдвинулось ничего

У меня не работает ни одна программа которую я пишу на пик бэйсике. Причём "неработать" стало внезапно, будто провод отрезали :-(

Думал, что накосячил в программе ( делал ШИМ контроллер двигателя, причём первая версия программы исправно работала) - написал простую мигалку - порт Б переключается с 0 на 1 с периодом 0,5 секунды. Эта мигалка тоже не запустилась. Потом Kinoton написал мне такую же мигалку, без понятия на чём - его программа нормально мигает светодиодом - значит программатор в норме!

Думал что компилятор тупит - пробовал на 3(!!!) компах везде всё одинаково - моя программа не работает (никакая) а программа Kinoton пашет как трактор. В чём косяк? Пробовал разные версии компиляторов - не помогло

Пробовал Flowcode - он тоже не работает - раньше работал, правда только на 1 компе пробовал.

Вот моя мигалка:

define osc 20
trisB = %00000000
portB = %00000000
main:
portB = %00000000
pause 1000
portB = %11111111
pause 1000
goto main
end

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

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


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

МК - 16f877a, пробовал так-же и на 870 компилить - ноль. Тут прошивка на 877а

код басика:

define osc 20
trisB = %00000000
portB = %00000000
main:
portB = %00000000
pause 1000
portB = %11111111
pause 1000
goto main
end

Hex:

:100000002328A301A200FF30A207031CA307031C9F
:100010001E280330A100E6300F200328A101FC3E7A
:10002000A000A109031C1A28FF300000A007031834
:100030001528A0076400A10F1428080083130313D8
:100040008312640008008316860183128601033040
:10005000A300E8308A010220FF3086000330A300AD
:10006000E8308A0102208A01262863008A013528A7
:02400E00753FFC
:00000001FF

ассемблер басика:

; PICBASIC PRO(TM) Compiler 2.50c, (c) 1998, 2008 microEngineering Labs, Inc. All Rights Reserved. 
PM_USED   EQU 1
INCLUDE "16F877.INC"

; Define statements.
#define  CODE_SIZE   8
#define  osc   20
RAM_START		 EQU 00020h
RAM_END		   EQU 001EFh
RAM_BANKS		 EQU 00004h
BANK0_START	   EQU 00020h
BANK0_END		 EQU 0007Fh
BANK1_START	   EQU 000A0h
BANK1_END		 EQU 000EFh
BANK2_START	   EQU 00110h
BANK2_END		 EQU 0016Fh
BANK3_START	   EQU 00190h
BANK3_END		 EQU 001EFh
EEPROM_START	  EQU 02100h
EEPROM_END	    EQU 021FFh
R0			    EQU RAM_START + 000h
R1			    EQU RAM_START + 002h
R2			    EQU RAM_START + 004h
R3			    EQU RAM_START + 006h
R4			    EQU RAM_START + 008h
R5			    EQU RAM_START + 00Ah
R6			    EQU RAM_START + 00Ch
R7			    EQU RAM_START + 00Eh
R8			    EQU RAM_START + 010h
FLAGS			 EQU RAM_START + 012h
GOP			   EQU RAM_START + 013h
RM1			   EQU RAM_START + 014h
RM2			   EQU RAM_START + 015h
RR1			   EQU RAM_START + 016h
RR2			   EQU RAM_START + 017h
_PORTL			 EQU  PORTB
_PORTH			 EQU  PORTC
_TRISL			 EQU  TRISB
_TRISH			 EQU  TRISC
INCLUDE "UNTITL~1.MAC"
INCLUDE "PBPPIC14.LIB"
MOVE?CB 000h, TRISB
LABEL?L _main
MOVE?CB 000h, PORTB
PAUSE?C 003E8h
MOVE?CB 0FFh, PORTB
PAUSE?C 003E8h
GOTO?L _main
END?
END

mac файл:

NOLIST
; PICBASIC PRO(TM) Compiler 2.50c, (c) 1998, 2008 microEngineering Labs, Inc. All Rights Reserved. 
LABEL?L macro Label
    RST?RP
   ifdef PM_USED
    LALL
Label
    XALL
   else
Label
   endif
   endm
END? macro
   local loop
loop    sleep
    L?GOTO  loop
   endm
GOTO?L macro Label
    L?GOTO  Label
   endm
PAUSE?C macro Cin
   if (((Cin) >> 8) == 0)
    MOVE?CA Cin
    L?CALL  PAUSE
   else
    MOVE?CB (Cin) >> 8, R1 + 1
    MOVE?CA low (Cin)
    L?CALL  PAUSEL
   endif
   endm
PAUSE_USED = 1

LIST

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


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

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

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

На сколько я знаю... Пишиться вот так примерно....

Config wdt_off, lvp_off, pwrte_on..... Ну и так далее и т.п.

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

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


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

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

trisB = %00000000

- порт на выход

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


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

Порт В не подтянут. Кварц вместо HS XT стоит. В протеусе работает. Схему свою выкладывай.

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


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

схема:

два провода на + и -, кварц и светодиод через резистор к порт Б

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


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

Порт В не подтянут. Кварц вместо HS XT стоит. В протеусе работает. Схему свою выкладывай

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

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


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

Будет выход с открытым коллектором (стоком). Смотря как нагрузку включить. Если между ногой и плюсом, тогда можно и не подтягивать.

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


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

я нашёл проблему :yes:

короче суть вот в чём: программатор у меня - пиккит 3 и программка для него тоже - pickit 3 programmer. И надо выставлять слово конфигурации именно в pickit 3 programmer а не в самой программе. Она по умолчанию ставит источник тактирования не кварцевый

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


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

Cлепил моргалку в железе сегодня. Пробовал Бейсик, асм. Убедился - при TRISB.x = 0 внутренний pullup почему-то не нужен. Без него хорошо. Получается насчет подтяжки я был не прав. Привычка осталась от AT89... (там внешнюю лепить надо), однако. Протеус козлит! Не взирая на то, что есть на ноге MCLR (кроме чистого нуля) заставляет проект работать (F84, F877).

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

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


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

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

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

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


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

наверно также как и в других компиляторах через регистр OPTION или нет?

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


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

День добрый для настройки подтягивающих резисторов нужен регистр OPTION,

В PicBasicPro он прописывается так :

OPTION_REG = %............

А в частности OPTION_REG / bit7 / RBPU (PORTB Pull-Up Enable bit) смотрим даташит на контроллер Pic16F877A стр 23. Удачи

Изменено пользователем Kinoton
  • Одобряю 1

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


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

asm

OPTION_REG.7 = 0

endasm Учи матчасть .

Изменено пользователем koms45
  • Одобряю 1

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


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

Проблемка, однако.

Протон IDE. Считанные с датчика BMP180 по I2c данные кудой-то пропадают. Суть вопроса:

Dim var As Byte

Busin $EF, $AA, [var]

Print At 1,1,Dec var

На дисплее (в железе) наблюдаю символ в виде ноля. Цепляю лог.анализёр. Вижу что устройство работает нормально, протокол понимает, ответило 1F. А на дисплее ноль.

МК 16Ф627.

Изменено пользователем koms45
  • Одобряю 1

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


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

Всем привет, необходимо подключить экранчик от нокиа 5110 к пику, он вроде как по SPI протоколу пашет - скиньте образец на басике, кому не жалко) Пожалуйста)

Экранчик у меня такой есть, заведомо рабочий - тк с ардуино работает стабильно, но есть крайне острая необходимость всунуть его в прибор с PIC16F877

SPI пробовал программно организовать, но выводился всякий шлак. Мне нужен пример, где можно хотя бы вывести просто точку в определённом месте. Самое простейшее. Заранее спасибо :)

Nokia-5110-LCD.jpgBEST-BI00079-2.jpg

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

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


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

Что там в SPI может быть замудрёного ? Выставил данные, дал строб. Всё. Обычное ногодрыганье.

Язык - дело второстепенное. Читайте доку на экран. Скорее всего неправильно управляете им.

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


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

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

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

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

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

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

Войти

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

Войти сейчас


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

    • Автор: Kudich
      Всех приветствую!
      Сам я программирую на стандартной среде ардуинки, и в одном проекте потребовалось увеличить частоту ШИМ на портах 5,6,9,10,11,13 Arduino Micro. На этой ардуино стоит Atmega32u4, есть тут знатоки avr? Как повысить частоту на этих пинах?
    • Автор: Splav
      Речь пойдет о таймере цикличного включения вентиляции гаража.
      Стояла задача обеспечить принудительную вентиляцию гаража.
      Оставлять включенным вентилятор круглые сутки - неоправданно.
      Включать его периодически вручную... Неудобно и лишено смысла.
      Поэтому было решено включать его на определенное время через разные интервалы времени, в зависимости от субъективного восприятия наличия сырости в гараже.
      Вменяемых вариантов в продаже я не нашел.
      Можно, конечно, приобрести на Али программируемый суточный таймер или что-то подобное...
      Да, можно, но мне кажется, что собрать из подручных деталей тоже можно, ну и мозги потренировать.
      За основу был выбран PIC12F675, потому что он у меня был.
      По уму здесь должен стоять PIC12F629, он дешевле, в нем нет АЦП, который в конструкции не используется и отключен.
      Итак.
      Время работы выбрано фиксированным и неизменным - 1 час.
      Время простоя - в зависимости от режима.
      1 час - 2 часа - 3 часа.
      (Изначально я планировал другие задержки: 2-3-5 часов. На практике в моих гаражных условиях эти интервалы оказались слишком большими)
      Индикация осуществляется всего 1 светодиодом.
      Переключение режимов и управление - всего 1 кнопкой.
      Схема:

      Коротко о работе:
      Кнопка.
      Опрос кнопки 10 раз в секунду. Антидребезг и подавление помех 0,3с - 3 опроса подряд кнопка нажата.
      Короткое нажатие на кнопку(от 0,3 до 2 с) - переключение режимов по кругу. 1 - 2 - 3 - OFF - 1 - 2 -  ....
      Длинное нажатие на кнопку (дольше 2 с) - смена состояния реле.
      Если оно было включено - выключается.
      Если было выключено - включается. Интервалы работы реле при этом соответствуют режиму.
      В режиме OFF длинное нажатие ничего не меняет.
      Переключение режима или смена состояния реле происходят при отпускании кнопки.
      Светодиод.
      Индикация режимов светодиодом:
      1 - 1 раз в 2 секунды загорается, если реле не включено. Проблеск света.
            1 раз в 2 секунды гаснет, если реле включено. Проблеск тени.
      2 - 1 раз в секунду загорается, если реле не включено.
            1 раз в секунду гаснет, если реле включено.
      3 - 2 раза в секунду загорается, если реле не включено.
            2 раза в секунду гаснет, если реле включено.
      OFF - загорается раз в 5 секунд. Контроль того, что МК не завис.
      Режимы работы.
      Время работы циклического таймера по режимам:
      1 - 1 час работы / 3 часов отдых. 6/24
      2 - 1 час работы / 2 часа отдых.  8/24
      3 - 1 час работы / 1 часа отдых.  12/24
      Работа.
      При отключении питания, пока не разрядились конденсаторы фильтра, МК отключает все выходы, сохраняет текущие данные в память, ждет 15 сек в таком состоянии и возобновляет работу, если отключение было кратковременным и емкостей фильтра питания хватило.
      Если отключение питания было длительным то, при возобновлении питания, загружает сохраненные данные из памяти и продолжает работу.
      При первом включении, после программирования МК, устройство работает в 1-ом режиме.
      Программа писалась в MPLab X IDE v4.05.
      Прошивка:fan_cycle_timer.hex

      Плата для устройства не разрабатывалась. Все было собрано на макетке.
      В блоке питания использован стандартный трансформатор для монтажа на плату ТПК 2х9V с 2-мя вторичными обмотками на 9В.
      Использовал только одну из них. Вторая - не подключена, в "воздухе"
      Реле - HLS-14F1D-DC12V-C. С обмотка на 12В, и одной группой переключающих контактов на 10А/240VAC.
      Устройство собрано в корпусе щитка для автоматов на 8 модулей. Производитель VIKO.
      Закреплена плата на щиток через резьбовые дистанционные втулки с резьбой М3.
      В качестве вентилятора - вытяжной вентилятор диаметром 125мм ВЕНТС 125С
      Устройство на данный момент отработало в гараже все лето, температура воздуха в тени доходила до 32 градусов.
      Перегревов элементов и зависаний контроллера пока не было.
       
      Несколько фото для общего представления о конструкции.

    • Гость Keil
      Автор: Гость Keil
      Добрый день, ситуация такая - попались мне под руку куча рассыпухи в числе которых достаточное количетво тинек и прочей лабуды - пытась хеловродить, попробовал взять готовый пример работы тиньки и лсдишника здесь также имею ардуинку как  Айсипи и чудесно мигаю светодиодом на мк прошитом ею же  так вот при попытке залить код который по ссылке чуда не произошло.
      курение мануалов лсдишника дало понять лиш одно что старший и младший биты одинаковы с лсдишником со статьи - лсдишник рабочий (игрался контрастом одной строки через V0  и потенциометр ) - как в прочем и мк, было задумано ковырнуть все это в протеусе и атмельстудии, но результатом не увенчалось. Пожалуйста тыкните носом что да где не так.
      fail.zip
    • Автор: В гостях у Михалыча
      Приветики. На днях купил колонку сгоревшую под ремонт. При нажатии на кнопку включения сразу же нагревается микросхема (B6THM1016 1516arz) В интернете вообще нет ничего о ней. Как я понял, это контроллер сенсорных кнопок и питания (даже если включить зарядку, то микруха не греется, пока не нажмешь на кнопку), ибо есть еще две микросхемы, одна из них усилитель, а вторая-блютуз. Может ее получится как-то заменить или выкинуть вообще? 


    • Автор: Rusteka
      Продам микросхемы. Все микросхемы новые, в наличие.
      1. PIC18LF4550-I/P Microchip 65шт
      2. ATtiny85-20PU [DIP-8] Atmel 200шт
      3. PIC18LF452-I/L Microchip 50шт
      4. A29L040L-70F Amic 50шт
       
       

       



       
  • Сообщения

    • Начав плотно заниматься ИИП, я понял что не такие и дорогие железные трансы  Конечно какой-нибудь простецкий убогенький ИИП на 2153 будет дешевле транса, но только из-за своей убогости. 
    • Гость Индивид
      По СЧНЧ динам никаких значимых резисторов нет последовательно (ну кроме индуктивностей только что) оммическое сопротивление 4 ома на входе колонки. У ВЧ дина в фильтре  есть два последовательных сопротивления примерно 1,2 и 0,8 ом. То есть получается ,что общее сопротивление при 8 омной катушке динамика будет ещё больше
    • Есть методика расчёта фильтров. Там два главных критерия - частота среза и сопротивление головки.
    • Пасаны друг другу, в личку, котеков шлют.  Милотааааа.
    • Гость Индивид
      "Проверьте настройку фильтров, может они рассчитаны на 4-х омные  твитеры."- Спасибо , теперь хоть что то вырисовывается.... А это реально? Как  рассчитывается настройка?Схему фильтра я перерисовал, могу чуть позже выложить её сюда если понадобится
    • Не среза, а вам заняться совсем больше нечем. Сидели бы в каком нить нии космические аппараты собирали. У меня специализация в другой области. И сбор/ремонт унч такое же хобби как и готовка. Я не стремлюс. в шеф повары. Для меня хватает моих знаний. Это замер при частоте 1кгц, просто 1кгц,не среза. Довольны? Да, 4,7 у нее в бридже. Не ту строчку глянул. Ну и вы собственно дальше 1ой страницы не смотрели, либо с англ не дружите. В таблице в даташите приведены подробные данные при min typ max sup volt и равны они 3-9-12. Я уже купил ТДА2615 и сделал плату, сверланул дырки для доп охлаждения и все норм. А вы дальше идите несите свои познания, великий гуру. Да да да, что ж вы ламповые тогда слушаете и на транзисторах собираете с КНИ 0,000000000000001%. Ставьте эту микруху везде и самые дорогие колонки. И вот она зазвучит! Я не верю ничему и никому и вам в том числе. Всю информацию я предварительно анализирую. И моя самооценка в отличии от участников данный дискуссии на должном уровне. И мне не требуется наезжать на новичков, чтобы потешить свое ЧСВ. Вы силой физической тоже с детьми меряетесь? Или считаете, что это прям такая великая наука, что никто не сможет ничего повторить? А вот и неправда. Нет ничего сложного в изготовлении унч на м/сх. Поклеить ровно обои и то сложнее. Я вам про фому, а вы мне про ерему. Просто можно было ответить какая м/сх лучше. Явно в китай колонки за 100р не ставят микросхему за 200. Все, тема закрыта. Идите чесать чсв в другую.