-
23.11.2002, 13:26 #1
- Регистрация
- 06.11.2002
- Адрес
- Тихвин, Ленинградская обл.
- Возраст
- 54
- Сообщений
- 131
- Поблагодарили
- 3
- Поблагодарил
- 75
учусь программировать PIC
хочу научиться программировать PIC-контролеры,но не знаю -с чего начать,зачаточные основы программирования в голове есть,но с какой стороны подходить -непонятно.
посоветуйте ссылками и литературой.Личный опыт -самый лучший совет.
-
23.11.2002, 19:21 #2
- Регистрация
- 07.06.2002
- Адрес
- Каунас
- Возраст
- 75
- Сообщений
- 1,617
- Поблагодарили
- 185
- Поблагодарил
- 170
Что ж, это похвально.
Думаю, проще всего будет начать с того что предлагает изготовитель.
Надо посетить сайты MicroChip
http://www.microchip.ru/ на русском языке и
http://www.microchip.com/1000/pline/picmicro/index.htm на англицком.
Со второго сайта обязательно скачать и установить у себя программу MPLAB. С ее помощью можно на 98% понять как же этот PIC работает. MPLAB это среда разработки программ для PIC. Здесь есть редактор текста, ассемблер и отладчик.
На сайте MicroChip есть много Application Notes с примерами программирования разных задач. На росийском сайте находится много статей и фирменной документации в переводе. Все это надо постараться почитать, разобраться. Все примеры программ можно сразу загружать в MPLAB и шаг за шагом прогонять. Это даст ясное представление о работе внутренних устройств контроллера.
После такого предварительного знакомства надо придумать себе какую нибудь практическую задачу и сесть за ее реализацию. Это всегда самая лучшая школа. А сделать на PIC можно о-о-очень многие вещи. Что касается выбора конкретного типа контроллера - советую начать с PIC16F84, как самого дешевого и доступного, к тому же многократно перепрограммируемого. Почти все с него начинали.
Когда дойдет время до испытания содеянного в железе - надо будет найти подходящую конструкцию программатора - в сети масса конструкций разной сложности.
Одна из самых простых - здесь: http://www.covingtoninnovations.com/noppp/index.html
Если возникнут вопросы, с которыми самому разобраться не получится - спрашивайте. Здесь найдется много друзей готовых помочь.
Желаю успеха.
-
19.12.2002, 15:12 #3RadionГость
я тоже хочу научиться есть кое -какие материалы и готов поделиться всем что имею, буду рад если ты будешь переписываться со мной и расказывать о своих успехах и открытиях обмен протыми программами с коментариями и ньюасах и трудностях
Радион UA9OTJ e-mail: ua9otj@mail.ru
-
19.12.2002, 16:19 #4
- Регистрация
- 06.11.2002
- Адрес
- Тихвин, Ленинградская обл.
- Возраст
- 54
- Сообщений
- 131
- Поблагодарили
- 3
- Поблагодарил
- 75
я думаю,у нас будет о чем поговорить,для начала напишу на ящик
Дмитрий
-
21.12.2002, 09:59 #5
- Регистрация
- 17.08.2002
- Адрес
- ko85mo, RDA MO-56
- Возраст
- 59
- Сообщений
- 2,983
- Поблагодарили
- 396
- Поблагодарил
- 158
Приятно читать. Никто никого не обзывает и все по теме. А Tadas-у отдельное большое спасибо.
-
21.12.2002, 11:30 #6
- Регистрация
- 06.11.2002
- Адрес
- Тихвин, Ленинградская обл.
- Возраст
- 54
- Сообщений
- 131
- Поблагодарили
- 3
- Поблагодарил
- 75
согласен,
а то ,по моему,дурной тон в этой конфе-как так и надо
начинают обсуждать интересную тему ,а потом уже обсуждают совсем не то,с чего начали(и не так)
-
25.12.2002, 12:41 #7
- Регистрация
- 15.04.2002
- Адрес
- mo-83
- Возраст
- 50
- Сообщений
- 278
- Поблагодарили
- 46
- Поблагодарил
- 16
Окото магазина "Чип и Дип" в МОСКВЕ на Прспектк Мира
продается сборник компакт-дисков под названием "Микроконтроллеры".
Там на сидюках полные руководства, туева хуча примеров со схемами и программ.
Советую.
-
25.12.2002, 16:09 #8
- Регистрация
- 06.11.2002
- Адрес
- Тихвин, Ленинградская обл.
- Возраст
- 54
- Сообщений
- 131
- Поблагодарили
- 3
- Поблагодарил
- 75
все хорошо,только я нахожусь в Ленинградской области,хотя в Питере тоже есть Чип и Дип,попробую там прозондировать
спасибо за инфу
-
27.12.2002, 17:44 #9рТПИПЦЙКГость
уПЧУЕН ОБЮЙОБАЭЙН С ВЩ РПУПЧЕФПЧБМ ОЕФПТПРСУШ Й ПУОПЧБФЕМШОП РТПЮЙФБФШ ПРЙУБОЙЕ РТПГЕУУПТБ - ЮФП Й ЛБЛ ФБН ТБВПФБЕФ, ЛБЛЙЕ ЮБУФЙ, ЪБЮЕН, ЮФП Й ЛБЛ ДЕМБАФ. рПФПН РПУНПФТЕФШ ЗПФПЧЩЕ ОЕВПМШЫЙЕ РТПЕЛФЩ, ОБРТЙНЕТ Ч Application Notes ПФ РТПЙЪЧПДЙФЕМС - ХЧЙДЙФЕ ЛБЛ ФП, Ч ЮЈН ЧЩ ЛБЛ-ФП ФПМШЛП ЮФП ТБЪПВТБМЙУШ, ТБВПФБЕФ ОБ РТБЛФЙЛЕ. рТПЗТБННЙТПЧБОЙЕ НЙЛТПЛПОФТПММЕТПЧ УЙМШОП ПФМЙЮБЕФУС ПФ РТПЗТБННЙТПЧБОЙС ОБ ЧУСЛЙИ "ЧЙЦХБМБИ" Й РТПЮЙИ БВУФТБЛГЙСИ, ФБЛ ЮФП ЧУЕЗДБ ОХЦОП РПОЙНБФШ Й ОЕ ЪБВЩЧБФШ ЮФП ЙНЕООП ДЕМБЕФ ФБ ЙОУФТХЛГЙС ЙМЙ ЖТБЗНЕОФ ЛПДБ, ЛПФПТХА ЧЩ ИПФЙФЕ РТЙНЕОЙФШ/ОБРЙУБФШ. рПЬФПНХ Й УПЧЕФХА РПФТБФЙФШ УФПМШЛП ЧТЕНЕОЙ, УЛПМШЛП РПОБДПВЙФУС, ОБ ХЗМХВМЈООПЕ ПЪОБЛПНОЕОЙЕ У ХУФТПКУФЧПН Й ТБВПФПК ЛПОФТПММЕТБ. чБЫБ РТПЗТБННБ ВХДЕФ ХРТБЧМСФШ ЙН оерпутедуфчеооп, РПЬФПНХ ПФ ЧБЫЕЗП ЪОБОЙС Й РПОЙНБОЙС ЕЗП ТБВПФЩ ЪБЧЙУЙФ ЧБЫ ХУРЕИ Ч ОБРЙУБОЙЙ РТПЗТБНН Л ОЕНХ.
хУРЕИПЧ!
-
28.12.2002, 11:24 #10
- Регистрация
- 06.11.2002
- Адрес
- Тихвин, Ленинградская обл.
- Возраст
- 54
- Сообщений
- 131
- Поблагодарили
- 3
- Поблагодарил
- 75
у меня есть книга Яценкова MicroCHIP практическое руководство,в ней все доступно написано,но с самого начала мне непонятно,что такое "прерывание" и что такое "флаги" . может эти термины и используются постоянно в программировании,но если никогда с этим делом не имел дела(hi) то становится сложновато что-либо понять.Может кто подскажет,что это за звери такие?
-
28.12.2002, 17:52 #11
- Регистрация
- 07.06.2002
- Адрес
- Каунас
- Возраст
- 75
- Сообщений
- 1,617
- Поблагодарили
- 185
- Поблагодарил
- 170
Прерывание это есть специальный способ вызова подпрограммы, обычно по какому нибудь событию. Например у PIC16x84 есть прерывания по изменению состояния выводов RB4 .. RB7, по переполнению таимера, по сигналу на выводе RB0/INT, по окончании записи в EEPROM. Сам термин "прерывание" означает, что при соответствующем событии выполнение программы прерывается для того, чтобы выполнить некоторые действия, касающиеся данного события. Это называется "обслуживание прерывания"
Для того, чтобы задействовать прерывания, надо соответственно установить необходимые биты в регистрах INTCON и OPTION. Конечно настройка должна соответствовать конкретной задаче.
Например надо выполнить какую нибудь последовательность команд через определеннные промежутки времени. Для этого записываем в TMR0 константу, соответствующую заданному времени и устанавливаем в 1 биты GIE и T0IE в регистре INTCON.
При переполнении счетчика таймера возникнет прерывание. При этом в регистре INTCON установится в 1 бит T0IF сотояние PC запишется в стек, а в РС запишется адресс 0004. По этому адрессу должна быть записана подпрограмма обслуживания прерывания.
В этой подпрограмме должна быть комманда сброса T0IF, команды перезаписи константы в TMR0 и комманды выполнения требуемых действий (например включения/выключения лампочки).
В конце этой подпрограммы должна стоять комманда RETFIE. При выполнении этой комманды в РС из стека перепишется адресс прерванной программы, и ход событий продолжится как будто ничего не бывало (за исключением затраченного времени).
Ну а флаги - это биты в регистрах процессора, значение которых изменяется в зависимости от состояния выполняемых действий. Например вышеупомянутый бит T0IF называется "флаг переполнения таймера". Сам термин "флаг" и указывает на то, что он может быть поднят, установлен (1) или опущен, сброшен (0). Флаги бывают самого разного назначения и могут в зависимости от своей сути устанавливатся/сбрасываться как аппаратно так и программно. Их значение может проверяться программно, и по этому значению может переключатьтся ход выполнения программы. Но все это тесно завязано с конкретно выполняемой задачей, так что дать какие то более общие пояснения затруднительно (да и невозможно).
Извините если несколько путанно получилось но не Шекспир я
Книги Яценкова к сожалению не видел, так что не знаю в каком стиле там все изложено. Я обычно пользуюсь фирменной документацией.
73!
|
Социальные закладки