Каталог статей

Главная » Все схемы » Теория » Изучаем микроконтроллеры

Выбранная схема!!!


539
Создание программ для микроконтроллеров PIC. Шаг 2.
Установите программу MPLAB 5.70.40 и сам пакет Proteus VSM. Материал к статье тут. Желательно начать везжать
в программирование с книги “Самоучитель”, что находится в архиве.
Теперь мы можем приступить к написанию простейшей программы для PIC. Выберем к примеру микроконтроллер PIC16F84A, он лучше всех подходит для экспериментов начинающим программистам. Еще нам нужен светодиод и кнопка.
Задача: передать сигнал из кнопки на светодиод (на первый взгляд дурацкая, но для примера то, что нужно). И так запустим проект «Less_2» в ISIS, перед вами должна появится картинка как на рис.1, правда с небольшим дополнением (добавлен элемент «НЕ» и резистор подтяжки).

Жмем на кнопку плей внизу и смотрим что происходит. Если нажать кнопку в схеме, то сигнал логической 1 падает в логический 0 (потенциал с резистора закорачивается на корпус), дальше этот ноль поступает на вход логического элемента «НЕ» который на выходе дает противоположное значение — логическую 1 и поступает на вход микроконтроллера А0. Так как программа все время работает, она просто перебрасывает значение порта А на порт В. (см. рис.2).

Теперь попробуем разобраться как все таки работает сама программа, чтобы было более понятно и наглядно. Для этого остановим проект и нажмем на кнопку «пауза», после этого должно появится окно исходника программы как показано на рис.3.

Симулятор перешел в пошаговый режим исполнения команд программы. Зайдите теперь в вкладку ISIS «Отладка» и выберите 4-ый пункт «PIC CPU Registers», должно появится еще одно окно как показано на рис.4.

Теперь мы готовы к пошаговому исполнению кода. Посмотрите на состояние битов регистра PORTB в окне «PIC CPU Registers», оно может иметь случайное значение, в моем случае PORTB=00000111. Нажмите один раз F11 (только сделайте активным окно исходника) и вы выполните первую команду «CLRF PORTB». Посмотрите как изменится состояние PORTB после выполнения этой команды (он будет равен 00000000). Для удобства наблюдения за схемой сделайте расстановку окон например как на рис.5.

Теперь посмотрите на значения 5-го бита (считать нужно справа налево начиная с нулевого бита) регистра STATUS, он сейчас равен нулю. А следующая команда как раз заставит этот бит стать в единицу. Жмем F11 и убеждаемся в этом, теперь мы в первом банке, а были в нулевом. Теперь можно менять содержимое всех нужных нам регистров в этом банке. А нам нужны только два — TRISB и TRISA, чтобы настроить их согласно нашей задаче. Мы видим следующую команду CLRF TRISB, это настраивает PORTB на выход, нужно запомнить простую вещь — ноль это вывод на выход, единица — на вход. И так смотрим в окошко «PIC CPU Registers» жмем один раз F11 и смотрим как регистр TRISB стал равным 00000000. Есть! PORTB настроен на выход! Далее мы видим команду MOVLW B'00000001'. Эта команда заносит так сказать константу определенную программистом. Снова смотрите в окошко «PIC CPU Registers» какое содержимое аккумулятора W? И каким оно станет после нажатия F11? Все верно, там стало нужное нам число 00000001. Теперь мы перенесем его в регистр TRISA, жмем F11 и вывод PORTA,0 настроен на вход, куда мы и поцепили нашу кнопку через логический элемент «НЕ». Дальше следует команда BCF STATUS,5, что переведет нас в нулевой банк. Все, настройки мы сделали, и теперь можем спокойно изучить самый интересный кусочек нашей программы. Он начинается с метки Start, название этой метки может быть любым, каким вы пожелаете. Мы подобрались к команде MOVF PORTA,W, она считывает состояние входов PORTA, в нашем случае нам интересен только вывод А0. Давайте нажмем на красненький кружочек возле самой кнопки, это зафиксирует ее в нажатом положении, и даст возможность
удобно следить за работой программы. Жмем еще раз F11, мы выполнили команду MOVF PORTA,W но из-за инерционности срабатывания кнопки микроконтроллер не воспринял нажатие и передал в аккумулятор значение 00000000. Это нормально. Жмем F11 дальше, и выполняем команду MOVWF PORTB. Все верно — светодиод не горит, жмем и возвращаемся на первую команду после метки Start, на этот момент логическая единица на выводе А0 уже успела сформироваться и программа с легкостью переносит ее на светодиод :). Чтобы запустить в реальном времени программу нажмите F12. Наслаждайтесь работой программы и хорошо изучите ее.

Категория: Изучаем микроконтроллеры | Добавил: Habble (06.11.2010)
Просмотров: 7974 | Комментарии: 2 | Теги: Ar | Рейтинг: 5.0/3


Всего комментариев: 2
0
2 Habble   (12.12.2010 16:35) [Материал]
Да, желательно, но это зависит от версии, например у меня версия 7.7, работает очень стабильно.

Пожалуйста остав

0
1 andr-yildler   (12.12.2010 03:06) [Материал]
Работая с этой прогой как можно чаще сохраняйтесь

Пожалуйста остав


ВНИМАНИЕ!
Статья охраняется авторским правом.


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

Установка гиперссылок на статью не рассматривается как нарушение авторских прав.




Никто не вправе изменять или удалять из произведений информацию об авторских и смежных правах, которая идентифицирует произведение или объект смежных прав, автора, обладателя смежных прав, а также информацию об условиях их использования. Умышленное изъятие или искажение такой информации будет считаться противозаконным. Согласно п. 2 ст. 19 Закона можно хранить и использовать электронные формы произведений лишь в помещениях библиотек, без возможности их копирования.
Согласно п. 2 ст. 6 Закона об авторском праве и смежных правах (далее Закон) "Авторское право распространяется как на обнародованные произведения, так и на необнародованные произведения, существующие в какой-либо объективной форме…". И далее в п.1 ст. 9, "авторское право на произведение… литературы… возникает в силу факта его создания. Для возникновения и осуществления авторского права не требуется регистрации произведения, иного специального оформления произведения или соблюдения каких-либо формальностей".
Чтобы доказать свое авторство, вы можете посетить нотариуса, показать ему часть вашего произведения на бумажном носителе и зарегистрировать время предъявления произведения. Это предусмотрено ст. 84 Основ законодательства РФ о нотариате. Если кто-нибудь станет оспаривать ваше авторство, вы всегда сможете доказать его.

Срок охраны имущественных прав


Срок действия исключительного права на произведение следует определять по законодательству государства, в котором «испрашивается охрана».
В соответствии с частью 4 Гражданского кодекса Российской Федерации (вступившей в действие 1 января 2008 года) статьёй 1281, исключительное право на произведение действует в течение всей жизни автора и семидесяти лет, считая с 1 января года, следующего за годом смерти автора (за исключением отдельных особо оговоренных случаев). По прошествии этого срока произведение становится общественным достоянием.

ьте свои комментарии !!!!

Имя *:
Email:
Код *:

Copyright Zloy Soft (Company) © 2008 - 2024