Jump to content

Recommended Posts

PICKit 3 Programmer (Beta Release)

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

Edited by дямон

Share this post


Link to post
Share on other sites

Технология Maxim Integrated nanoPower: когда малый IQ имеет преимущества

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

Подробнее

Всем привет, выручайте :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

Edited by дямон

Share this post


Link to post
Share on other sites
                     

Платы Nucleo на базе STM32G0: чего можно добиться с помощью связки Nucleo и Arduino

Платы Nucleo и платы расширения X-NUCLEO от STMicroelectronics можно интегрировать в платформу Arduino с помощью библиотеки STM32duino. Связка плат Nucleo и платформы Arduino, и наличие готовых библиотек – представляет удобный инструмент для создания прототипов и конечных приложений в условиях ограниченного времени. Статья содержит пошаговые инструкции по установке библиотек и запуску примеров для Nucleo.

Подробнее...

МК - 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

Share this post


Link to post
Share on other sites

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

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

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

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

Edited by Broka

Share this post


Link to post
Share on other sites

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

trisB = %00000000

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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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

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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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

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

Share this post


Link to post
Share on other sites

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

Edited by koms45

Share this post


Link to post
Share on other sites

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

Edited by дямон

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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

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

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

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

Edited by Kinoton

Share this post


Link to post
Share on other sites

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

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

Dim var As Byte

Busin $EF, $AA, [var]

Print At 1,1,Dec var

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

МК 16Ф627.

Edited by koms45

Share this post


Link to post
Share on other sites

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

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

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

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

Edited by дямон

Share this post


Link to post
Share on other sites

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

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

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

  • Similar Content

    • By duty
      Привет, участникам форума! Подскажите, пожалуйста, как можно реализовать связь микроконтроллера pic с адресным ключом (ds2405 или ds2408) по 1-wire (на шине будут висеть несколько ключей)  для считывания pio ключа, во входном режиме, т.е на pio поступает сигнал  с магнитоконтактного датчика о срабатывание его или нет.    Datasheet читал, но мало чего понял.  Тестирование произвожу в proteus 8.6
    • By Максим123456789
      делаю диплом, в схеме у меня микроконтроллер PIC16F688 и мне нужно его заменить на ATmega. Не могу найти похожий
    • By Anton Bondarenko
      Всем привет
      Прошу не ругать, впервые подобный вопрос задаю.
      Хочу сделать прибор, который будет посылать сигнал, когда возле прибора будет проходить металлический предмет. 
      — угол отслеживания до 30° а лучше прямая линия, траектория
      — время реакции очень высокое до 100 мс
      — ширина проема в котором нужно сканировать от 10 до 20метров,
      — передача сигнала через вифи
      Может есть готовые решения, или отдельные компоненты.
      Подскажите пжл в каком направлении искать.
      Смотрел датчики движения, но главная проблема — время реакции.
      Спасибо
       
    • By Sofia Vin
      Предлагаем проектную работу в Москве:
      Микроконтроллер STM32F103.
        
      Есть встроенный код с использованием функций библиотеки FreeRTOS, код имеет описанный протокол для связи с внешним миром.
        
      Необходимо проводить доработку кода под задачи программиста верхнего уровня и его тестирование в составе оборудования. 
      Работа в лаборатории (м.Университет) и удаленно. 
      Оплата по договоренности.
      Если Вы обладаете опытом схемотехнического проектирования и программирования микроконтроллеров, и Вас заинтересовала данная возможность, ждем Ваши отклики по контактным данным:
      8 (925) 023-60-02   Алексей
      E-mail: nassa@marathon.ru
       
×
×
  • Create New...