Текст программы управления светодиодом 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.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.