• Объявления

    • admin

      Просьба всем принять участие!   24.11.2017

      На форуме разыгрывается спектроанализатор Arinst SSA-TG LC (цена 18500 руб). Просьба всем перейти по ссылке ниже и принять участие!

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

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

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

  • x
    мм
Заказать Получить купон на $5.00
КЭС    973

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

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


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

PICKit 3 Programmer (Beta Release)

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

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

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


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

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


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

наверно также как и в других компиляторах через регистр 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    509

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

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

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


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

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

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

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

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

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

Войти

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

Войти сейчас


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

    • Автор: Serega4789
      Привет всем! пишу программу для pic16f84a кривошипный пресс, получилось запустить один режим (одноходовый) без блокировок и защит , для реализации двурукого включения нужно, чтобы нажимались 2 кнопки , при этом нужно чтобы программа следила за интервалом времени между нажатием 2х кнопок , при одновременном нажатии программа запоминает это событие и через 3-5 циклов сбрасывает ошибку и блокирует схему до сброса , при интервале 0,5 сек между нажатием кнопок программа выполниться без ошибок , при превышении интервала в 0,5с придется заново нажать на кнопки !
      Не хватает знаний команд и опыта для построения кода
      LIST p=16F84A 
      __CONFIG 03FF1H 
      status equ 03h 
      portb equ 06h 
      trisb equ 06h 
      porta equ 05h 
      trisa equ 05h 
      Reg1 equ 20h 
      Reg2 equ 21h 
      Reg_1 equ 10h 
      Reg_2 equ 11h 
      Reg_3 equ 12h 
      org 0 
      clrf portb 
      bsf status,5 
      clrf trisb 
      bcf status,5 
      back bcf portb,2 
      bcf portb,1 
      btfsc porta,2 
      goto m1 
      goto back 
      m1 btfsc porta,0 
      goto m2 
      goto back 
      m2 bsf portb,1 
      m5 btfsc porta,1 ;1111 
      goto m3 
      goto m5 
      m3 movlw .0 
      movwf Reg1 
      Metka incf Reg1,1 
      bcf status,2 
      movlw .10 
      subwf Reg1,0 
      btfsc status,2 
      goto m4 
      goto Metka 
      m4 clrf Reg1 
      bsf portb,2 
      btfss porta,2 
      goto back 
      goto m4 
      end
      Привет всем! пишу программу для pic16f84a кривошипный пресс, получилось запустить один режим (одноходовый) без блокировок и защит , для реализации двурукого включения нужно, чтобы нажимались 2 кнопки , при этом нужно чтобы программа следила за интервалом времени между нажатием 2х кнопок , при одновременном нажатии программа запоминает это событие и через 3-5 циклов сбрасывает ошибку и блокирует схему до сброса , при интервале 0,5 сек между нажатием кнопок программа выполниться без ошибок , при превышении интервала в 0,5с придется заново нажать на кнопки !
      Не хватает знаний команд и опыта для построения кода
      LIST p=16F84A 
      __CONFIG 03FF1H 
      status equ 03h 
      portb equ 06h 
      trisb equ 06h 
      porta equ 05h 
      trisa equ 05h 
      Reg1 equ 20h 
      Reg2 equ 21h 
      Reg_1 equ 10h 
      Reg_2 equ 11h 
      Reg_3 equ 12h 
      org 0 
      clrf portb 
      bsf status,5 
      clrf trisb 
      bcf status,5 
      back bcf portb,2 
      bcf portb,1 
      btfsc porta,2 
      goto m1 
      goto back 
      m1 btfsc porta,0 
      goto m2 
      goto back 
      m2 bsf portb,1 
      m5 btfsc porta,1 ;1111 
      goto m3 
      goto m5 
      m3 movlw .0 
      movwf Reg1 
      Metka incf Reg1,1 
      bcf status,2 
      movlw .10 
      subwf Reg1,0 
      btfsc status,2 
      goto m4 
      goto Metka 
      m4 clrf Reg1 
      bsf portb,2 
      btfss porta,2 
      goto back 
      goto m4 
      end
      Привет всем! пишу программу для pic16f84a кривошипный пресс, получилось запустить один режим (одноходовый) без блокировок и защит , для реализации двурукого включения нужно, чтобы нажимались 2 кнопки , при этом нужно чтобы программа следила за интервалом времени между нажатием 2х кнопок , при одновременном нажатии программа запоминает это событие и через 3-5 циклов сбрасывает ошибку и блокирует схему до сброса , при интервале 0,5 сек между нажатием кнопок программа выполниться без ошибок , при превышении интервала в 0,5с придется заново нажать на кнопки !
      Не хватает знаний команд и опыта для построения кода
      LIST p=16F84A 
      __CONFIG 03FF1H 
      status equ 03h 
      portb equ 06h 
      trisb equ 06h 
      porta equ 05h 
      trisa equ 05h 
      Reg1 equ 20h 
      Reg2 equ 21h 
      Reg_1 equ 10h 
      Reg_2 equ 11h 
      Reg_3 equ 12h 
      org 0 
      clrf portb 
      bsf status,5 
      clrf trisb 
      bcf status,5 
      back bcf portb,2 
      bcf portb,1 
      btfsc porta,2 
      goto m1 
      goto back 
      m1 btfsc porta,0 
      goto m2 
      goto back 
      m2 bsf portb,1 
      m5 btfsc porta,1 ;1111 
      goto m3 
      goto m5 
      m3 movlw .0 
      movwf Reg1 
      Metka incf Reg1,1 
      bcf status,2 
      movlw .10 
      subwf Reg1,0 
      btfsc status,2 
      goto m4 
      goto Metka 
      m4 clrf Reg1 
      bsf portb,2 
      btfss porta,2 
      goto back 
      goto m4 
      end

    • Автор: Qwer11
      Здравствуйте.
      У меня есть микроконтроллер pic18f4550,
      я научился мигать светодиодом в flowcode и хотел бы сделать гирлянду,
      и небольшую вывеску из светодиодов.
      Как я понимаю на ножку микроконтроллера смогу не много поставить светодиодов т.к. там ограничение по току будет.
      поэтому исходя из схемы что я нашёл, используют транзистор для включения линии из светодиодов,
      какой транзистор по хар-кам подойдёт для включения 20 светодиодов в линии, (20мАх20=400мА)

      и как например я смогу включать светодиоды поочерёдно в одной линии,
      я читал что есть74HCT595, для экономии ножек например, при подключении индикатора светового,
      как я понимаю, для включения 20 светодиодов поочерёдно нужно или 20 портов использовать и 20 проводов,
      или перед каждым светодиодом поставить микросхемку какую нибудь, которая будет давать сигнал на включение.
      Спасибо.
    • Автор: Serge77
      Обязанности:
      · Разработка радиоэлектронных и GSM-устройств: разработка схем, программирование, разводка печатных плат, разработка документации.
      · Программирование микроконтроллеров STM, AVR, ARM, PIC на языке С/С++
       
      в личку или en@argument74.com
    • Автор: east1095
      Здравствуйте, давно читаю форум, зарегистрировался только сегодня, хочу попросить советов у вас для очередной работы.
       
      1. Мощность 30 кВт, напряжение 2 кВт, 15 А ток.
      2. Планирую полумост;
      вопросы:
      1. Шим контроллер должен поддерживать регулировку к.заполнения, с заданным dU/dT, это планирую делать с МК, потому что в случае пробоя быстроействуюий ключ даст сигнал об остановке преобразователя, потом будет строб, потом пуск источника, при этом он должен выйти на напряжение на котором произошла остановка работы с более коротким (быстрее) dU/dT, это можно реализовать с МК, завести сигнал с датчика КЗ.
      При этом нужна регулировка напряжение и регулировка уставки максимального тока(в приципе в схеме защиты от КЗ она уже реализована)
       
      2. Полумоста хватит на такую мощность?
      3. Можно ли с помощью софта рассчитать трансформатор на такие характеристики? Lite_calcIT не осилил такую задачу.
      4. 1 трансформатор или набор модулей соединенных последовательно для обеспечения нужного напряжения?
      5. Ткните носом в краткую но понятную ветку/статью о резонансных и квазирезонансных и других типах схем, т.к. я недостаточно в этом подкован, немного другие интересы, однако.
       
      Заранее спасибо!
    • Автор: пафнут
      доброго времени! недавно начал изучать pic контроллеры, бошка пухнет. вопрос в следующем: как в ассемблере реализуется процедура шим
      1)к пример у меня имеется одна кнопка и переключаю я ей три светодиода по принципу регистра сдвига и мне нужно чтобы каждому из трех светодиодов соответствовал к примеру коэффициент заполнения 30, 60, и 100%( делаю себе подогрев жопы к зиме)
      2) можно ли обращаться к кнопке при организации процедуры выполнения 15 минутной  задержки, чтобы я мог в любой момент его выключить до истечения 15 минут
      в прикрепленках сама схема в протеусе , но программу я написал только для включения одного светодиода, чтоб с одним хотя бы разобраться и тайминг поставил 5 сек, так сказать для наглядности
      pic.asm
      pic16.DSN