Перейти к содержимому

Фотография

Програмирование Микроконтроллеров с "Нуля"


Сообщений в теме: 63

#41
rgb

    Продвинутый пользователь

  • Разработчик MICROCHIP
  • 865 сообщений
  • ГородКременчуг
Gipsy, дай совет на что присесть?

#42
rgb

    Продвинутый пользователь

  • Разработчик MICROCHIP
  • 865 сообщений
  • ГородКременчуг
HELP!!! МК PIC 18F2550 прога работает но не могу использовать ноги 15 и 16, видно что то не отключил. Кто в курсе подскажите.

#43
delta24

    Продвинутый пользователь

  • Проверенные
  • 249 сообщений
  • ГородМосква
Подпесался на тему так как именно это меня и интересует пишу на Си++ софт такой же как и указан.

#44
lesha008

    Новичок

  • Пользователи
  • 2 сообщений
здравствуйте! помогите настроить мой первый программатор k-150 подключается по usb а все программы для прошивки поддерживают com порт.
винда7 говорит что нет подходящих дров, пытался поставить уже не один десяток дров но ни чего не выходит. что посоветуете?

#45
rgb

    Продвинутый пользователь

  • Разработчик MICROCHIP
  • 865 сообщений
  • ГородКременчуг
Сам с таким К-150 не сталкивался, заитересовало в нете глянул, но особо не было время разобраться. Думаю ось не подходит. Это и не удевительно. Если есть возможность пробуй на другом компе с другой виндой.

#46
rgb

    Продвинутый пользователь

  • Разработчик MICROCHIP
  • 865 сообщений
  • ГородКременчуг
Исходник на ASMе пример програмного ШИМ на три канала (лампа настроения) МК PIC12F629/

Прикрепленные файлы

  • Прикрепленный файл  lampa nastroeniy pic629.rar   241.49К


#47
Якут

    Новичок

  • Пользователи
  • 4 сообщений
  • ГородКиргизия

Исходник на ASMе пример програмного ШИМ на три канала (лампа настроения) МК PIC12F629/

Спасибо буду вникать.

#48
rgb

    Продвинутый пользователь

  • Разработчик MICROCHIP
  • 865 сообщений
  • ГородКременчуг
Якут , если ищете современую среду програмирования, я тут советов давать не буду, в поисковеке можно найти отзывы и интересные дискусии.

#49
Якут

    Новичок

  • Пользователи
  • 4 сообщений
  • ГородКиргизия

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

Все понятно. Нет пока не ищу мне нужно именно на АSM.

#50
goda

    Продвинутый пользователь

  • Проверенные
  • 565 сообщений
Переведенный на русский язык справочник HELP к компилятору MicroC for PIC 6.2.1.0 в удобном HTML формате может кому пригодиться.
Распаковать и в папке с установленной програмой английский help заменяем на русский теперь он доступен при нажатии на клавшу F1 при работе с компилятором.

Прикрепленные файлы

  • Прикрепленный файл  HELP_RUS.rar   1.72МБ
  • Прикрепленный файл  скрин.png   101.14К


#51
chaynik

    Продвинутый пользователь

  • Пользователи
  • 171 сообщений
Спасибо за такую тему ребята. Очень помогли ваши посты и ссылки. Вот сделал такое устройство.


#52
goda

    Продвинутый пользователь

  • Проверенные
  • 565 сообщений
Хочу поделиться очень нужной програмкой для трансляции русских символов в MikroC ,удобна тем ,что можно писать сразу все слово по русски ,а не каждый символ отдельно и потом собирать все в одну переменную.
автор програмки не известен но большое ему спасибо.

Прикрепленные файлы

  • Прикрепленный файл  MikroCStringTranslate.rar   264.91К
  • Прикрепленный файл  СКРИН ПРОГРАММЫ.png   4.23К


#53
leucopsis

    Продвинутый пользователь

  • Пользователи
  • 37 сообщений
  • ГородОренбург

Добрый день!

 

Начал изучать микропаскаль для PIC, так как хочется создавать свои проекты. Если можно, буду задавать здесь вопросы.

 

МК - pic12f629. Написал программу включения/выключения светодиода по нажатию кнопки. Сначала кнопку привязал к линии GP3 (в даташите прочитал, что она как раз только на вход). Программа откомпилировалась, но в Протеусе не работала. Потом опрашивать состояние кнопки стал на  линии GP1, а GP3 через резистор подключил к питанию. Тогда все заработало.

Потом поискал в интернете - пишут, что GP3 нужен для перехода МК в режим программирования и для начальной инициализации. То есть, чтобы заработало, нужно краковременно подать питание на линию GP3. Однако, как я понял, можно как-то настроить конфигурацию, чтобы просто использовать GP3 как линию входа, подключив к нему кнопку, и не подключая питание. Скажите, пожалуйста, где и как настраивается конфигурация, или где почитать про это?

 

Текст программы:

program ButtonPic12f629;
var
  oldstate : byte;

begin                    // Начало программы
  GPIO:=0;
  CMCON:=7;              // gp0,gp1 - дискретные линии
  TRISIO := %00001010;   // все линии на вывод кроме gp1 и gp3
  oldstate:=1;
 while TRUE do           // основной цикл
   begin
      if GPIO.1=0 then
        oldstate:=0;
      if ((oldstate=0) and GPIO.1=1) then
        begin
          GPIO.0 := not GPIO.0;
          oldstate := 1;
        end;
    end;
end.



#54
rgb

    Продвинутый пользователь

  • Разработчик MICROCHIP
  • 865 сообщений
  • ГородКременчуг

Работа GP3 настраивается в регистре конфигурации МК, почиттать можно в даташите, благо на 629 есть Русский мануал. В Микро Паскале я не подскажу где прописывать биты _CONFIG, скорее всего в тексте программы или в специальном окне.



#55
Gipsy

    Продвинутый пользователь

  • Разработчик MICROCHIP
  • 626 сообщений
  • ГородСтаниславів

Меню Project  -> Edit project -> в окне конфигурации поставьте поле "GP3/MCLR function pin select" в значение  "Disabled" - это отключит функцию внешнего сброса контроллера и позволит использовать его как входной порт.

 

ЗЫ: Чтоб по вашей схеме обойтись без R2 на кнопке -включите  внутренние подтягивающие резисторы порта:

not_gppu_bit := 0;
wpu := 0xFF;

Когда  бит разрешения установлен, то можно включать/отключать подтяжки индивидуально к каждому пину (кроме GP3) - управление в регистре

WPU: WEAK PULL-UP REGISTER (ADDRESS: 95h)



#56
leucopsis

    Продвинутый пользователь

  • Пользователи
  • 37 сообщений
  • ГородОренбург

Меню Project  -> Edit project -> в окне конфигурации поставьте поле "GP3/MCLR function pin select" в значение  "Disabled" - это отключит функцию внешнего сброса контроллера и позволит использовать его как входной порт.

 

Спасибо! Получилось! Теперь работает такой код (попробовал использовать функцию Button):

program ButtonPic12f629;
var
  oldstate : byte;

begin                    // Начало программы
  GPIO:=0;
  CMCON:=7;              // gp0,gp1 - дискретные линии
  TRISIO := %00001010;   // все линии на вывод кроме gp1 и gp3
 while TRUE do           // основной цикл
   begin
      if Button(GPIO,3,1,1) then
        oldstate:=1;
      if ((oldstate=1) and Button(GPIO,3,1,0)) then
        begin
          GPIO.0 := not GPIO.0;
          oldstate := 0;
        end;
    end;
end.

 

Чтоб по вашей схеме обойтись без R2 на кнопке -включите  внутренние подтягивающие резисторы порта

 

Тоже получилось. Если я правильно понял, то про биты GPPU и про WPU нужно было читать в даташите (так как справка ничего не выдает)?

 

Еще обнаружил, что и GPPU, и WPU присутствуют в WatchList'е:

 

Скрытый текст

 

Вопрос: в этом списке присутствует всё нужное для настройки МК? В смысле, его можно использовать как шпаргалку, чтобы, найдя нужное в даташите, посмотреть в этом списке, как оно пишется в данном языке программирования?

 

Код для программы с кнопкой без внешнего резистора:

program ButtonPic12f629;
var
  oldstate : byte;

begin                    // Начало программы
  GPIO:=0;
  CMCON:=7;              // gp0,gp1 - дискретные линии
  TRISIO := %00001010;   // все линии на вывод кроме gp1 и gp3
  not_gppu_bit := 1;     //разрешить подтяжку входов внутренними резисторами
  //option_reg.7:=1;     //разрешить подтяжку входов внутренними резисторами -  то же самое, что и в предыдущей строке
  wpu := 0xFF;           //все входы будут подтянуты внутренними резисторами

  while TRUE do           // основной цикл
   begin
      if Button(GPIO,3,1,1) then
        oldstate:=1;
      if ((oldstate=1) and Button(GPIO,3,1,0)) then
        begin
          GPIO.0 := not GPIO.0;
          oldstate := 0;
        end;
    end;
end.

И еще вопрос: внешний резистор убирается, а подключение GP3 к питанию остается?

 

Скрытый текст


#57
Gipsy

    Продвинутый пользователь

  • Разработчик MICROCHIP
  • 626 сообщений
  • ГородСтаниславів

GP3 к питанию оставлять не обязательно. Теперь это вход, и "подтягивать" его к цепям питания нужно только если то, что к нему подключите  имеет в каком-то из  состояний высокий импеданс (как например кнопка). Если выход датчика или чего-то там еще обычный цифровой - то резистора не надо.

 

Описание названий  (регистры и константы) можно посмотреть в папке программы в поддиректории DEFs - там лежат паскалевские файлы, в вашем случае смотрите P12F629.mpas.



#58
SFT

    Продвинутый пользователь

  • Разработчик MICROCHIP
  • 49 сообщений

leucopsis - выше Gipsy указал "кроме GP3", так что для этого вывода внешняя поддтяжка необходима. При последней модернизации схемы, если нажать на кнопку будет КЗ! Если использовать вывод который имеет внутреннюю поддтяжку, то кнопку надо подключать относительно вывода МК и корпуса.



#59
leucopsis

    Продвинутый пользователь

  • Пользователи
  • 37 сообщений
  • ГородОренбург

Gipsy, SFT - спасибо большое за помощь! Буду смотреть, пробовать. У меня еще много вопросов, но сначала сам покопаюсь, чтобы совсем глупые не задавать :)



#60
Gipsy

    Продвинутый пользователь

  • Разработчик MICROCHIP
  • 626 сообщений
  • ГородСтаниславів

http://www.microchip…C12F629_675.pdf

http://www.microchip.ru/lit/?mid=1x0