Программирование на языке Си процедур управления. Основы разработки и отладки управляющих программ на языке Си для микроконтроллеров семейства PIC18, страница 4

Текст программы управления светодиодом VD1 с частотой мигания 1 Гц (периодом 1 с) может иметь вид:

/*********************************************

led3.c – программа управления светодиодом VD1

**************************************************/

#include<p18f242.h>

#include<delays.h>

#pragma config WDT = OFF, OSC = HS

void main(void)

{

PORTC = 0;

TRISC = 0;

while( 1 )

{

PORTCbits.RC0 = 1;     // включить VD1

Delay10KTCYx(50);     // задержка на 0,5 с

PORTCbits.RC0 = 0;    // выключить VD1

Delay10KTCYx(50);     // задержка на 0,5 с

}

}

3.3.1. Создайте проект с именем pr6  в новой папке, которую можно назвать proj6.

3.3.2. Наберите текст программы  led3.c  в окне редактора (с использованием цветовой кодировки текста при наборе).

3.3.3.  Теперь необходимо внести исходный файл led3.c и файл сценария линкера 18f242.lkr в созданный проект pr6.

3.3.4.  Далее необходимо проверить установки опций для создания проекта с помощью пункта меню Project > Build Options... > Project.  

3.3.5. После того, как были выполнены все указанные выше пункты по предварительной подготовке проекта, можно приступить к его построению, используя пункт меню Project > Build All .

3.3.6. В случае успешной компиляции проекта выполните тестирование программы с помощью симулятора MPLAB SIM.  С этой целью выберите пункт меню  Debugger > Select Tool > MPLAB SIM . Затем с помощью пункта меню  View > Watch откройте окно наблюдения Watch и занесите в него переменную PORTC (выбрать из списка SFR – регистры специальных функций).

3.3.7. Далее нужно подготовить средства для измерения временных параметров программы led3.c. С этой целью необходимо установить тактовую частоту работы МК. Для этого выберите пункт меню Debugger > Settings…. В открывшемся окне Simulator Settings выберите вкладку Osc/Trace. Установите в поле Processor Frequency число 4, что соответствует тактовой частоте  4 МГц. Вид окна для установки частоты процессора приведен на рис. 2.

3.3.8. С помощью пункта меню Debugger > Stopwatch откройте окно секундомера  Stopwatch, как показано на рис. 3.

3.3.9. Теперь нужно установить в окне редактора с текстом программы  led3.c  точки останова. С этой целью подведите курсор к строке программы  с текстом PORTCbits.RC0 = 1; и дважды щелкните левой кнопкой мыши. В строке должен появиться красный кружок с буквой B – breakpoint (точка останова). Далее переместите курсор на строку с текстом PORTCbits.RC0 = 0; и установите на ней вторую точку останова.

3.3.10. Выполните  программу в автоматическом режиме. С этой целью щелкните по значку Reset, а затем по значку Run. Выполнение программы остановится на первой точке останова, что индицируется зеленой стрелкой внутри нее. В окне секундомера индицируется время (Time) в микросекундах, которое прошло от момента запуска до момента останова программы. Секундомер покажет 40 мкс.

Сбросьте секундомер нажатием на кнопку Zero. Вновь запустите программу в режиме Run. Выполнение программы остановится на второй точке останова. Секундомер покажет 500,001 миллисекунды. Это число и будет определять величину задержки, реализуемой функцией Delay10KTCYx(50). Как видно, задержка реализована с очень высокой точностью.

Вновь запустите программу в режиме Run. Выполнение программы остановится на первой точке останова.

3.3.11. Сверните окно программы MPLAB IDE.

3.4. Проверка работы МКУ с помощью Proteus MPLAB Viewer

Необходимо разработать МКУ, где микроконтроллер PIC18F242 управляет светодиодом, присоединенным к линии RC0 порта С. Принципиальная схема такого МКУ может иметь вид, приведенный на рис. 2.

Рис. 2. Принципиальная схема МКУ

3.4.1. Запустите программу ISIS.exe пакета Proteus VSM с помощью ярлычка с надписью ISIS на рабочем столе компьютера. Создайте новый проект, используя пункт меню File > New Design.

На экране появится диалоговое окно Create New Design, предлагающее выбрать шаблон для создания нового проекта. Щелкните мышью по варианту DEFAULT (проект с параметрами по умолчанию), а затем по кнопке OK.