PIC и mikroPascal

Особенности работы EasyPIC5 с микроконтроллерами PIC12F629

pic12f629Микроконтроллер PIC12F629 от MicroChip отличается малым количеством выводов и объемом памяти программ в 1 К слов. Максимально можно использовать 6 линий ввода/вывода (3 пин работает только на ввод). Несмотря на весьма скромные характеристики, в некоторых случаях применение этого микроконтроллера полностью оправдано. Для работы с PIC12F629 и его расширенного варианта с АЦП PIC12F675 можно воспользоваться платой EasyPIC5 и средой microPascal.

Настройка платы EasyPIC5

Для сборки схемы на PIC12F629 требуется установить МК в соответствующее гнездо на плате. При этом все остальные контроллеры должны быть удалены.

Pic12 in EasyPIC5

Вторым действием должна стать перестановка перемычек линий программирования Socket Selection.

Socketsel for pic12

Также необходимо определить способ генерации тактовой частоты. В случае использования внешнего генератора, потребуется установить кварцевый резонатор в гнездо OSC2. Микроконтроллер PIC12F629 может работать и от внутреннего генератора частоты. В этом случае устанавливаются перемычки OSC2, в положение I/O подключающее выхода микроконтроллера к элементам платы. На этом подготовка к работе закончена.

Особенности программирования

PIC12F629 имеет только один порт ввода/вывода под названием GPIO. На плате линии этого порта подключены к штыревому разъему PORTA/PORTGP и другим элементам, связанным с ним. Это позволяет производить разработку устройств и отладку программ, точно также как и для других МК. Выход температурного датчика DS18B20, имеющий возможность подключения к линии RA5 с гнездом для PIC12F629 не связан.

При запуске среды разработки открывается проект, где в первую очередь, необходимо установить используемый тип генератора частоты. Наиболее востребованным вариантом для данного кристалла будет использование внутреннего генератора. Это позволяет использовать линии GP4 и GP5 для ввода/вывода. Внутренний генератор имеет обозначение INTR_OSC_NOCLOCKOUT.  Также устанавливаются другие биты конфигурации, в зависимости от требований схемы. При необходимости установки калибровочной константы, сделать это можно после запуска программы программатора microICD.

Написание программы мало отличается от этого действия для других контроллеров при учете  особенностейPIC12F629. Главная  – название порта ввода/вывода. В IDE MicroPascal его глобальное определение GPIO, а регистр конфигурации обозначается TRISIO. Дополнительно при инициализации нужно определить назначение выводов GP0 и GP1. По умолчанию они являются входами аналогового компаратора. При использовании в качестве цифровых линий необходимо выполнить команду CMCON:=7. С ее помощью данные вывода настраиваются как линии дискретного ввода/вывода. Ну и не стоит забывать, что вывод GP3 работает только как вход. В остальном программирование PIC12F629 ничем не отличается от других контроллеров PICmicro.

Пример рабочей программы

В качестве примера ниже приведен исходный текст на языке MicroPascal, выполняющий мигание светодиодом, подключенным к порту GP0.

program PIC12F629Start;
const i=500;
begin // Начало программы
GPIO:=0;
CMCON:=7; // gp0,gp1 - дискретные линии
TRISIO := %00001000; // все линии на вывод кроме gp3
while TRUE do // основной цикл
begin
setbit(gpio,0);
Delay_ms(i);
clearbit(gpio,0);
Delay_ms(i);
end;
end.

You have no rights to post comments