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

Страницы работы

Содержание работы

Программирование  PIC-микроконтроллеров

на языке Си

Лабораторная работа № 2

             Программирование на языке Си процедур управления

1. Цель работы

Изучить основы разработки и отладки управляющих программ на языке Си для микроконтроллеров семейства PIC18  с помощью программных пакетов MPLAB IDE и Proteus VSM.

2.   Основные теоретические сведения

Для рассмотрения примеров программирования типовых функций управления будем использовать микроконтроллер PIC18F242, который имеет три порта ввода/вывода (PORTA, PORTB, PORTC). Принципиальная схема МКУ приведена на рис. 1.

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

Рассмотрим пример программы, которая после включения питания выводит  высокие уровни (логические 1) на линии RC0-RC3 и низкие уровни (логические 0) на линии RC4-RC7 порта С.

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

output.c – программа вывода байта в порт С

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

#include<p18f242.h>                      // подключить файл описания регистров МК

#pragma config WDT = OFF, OSC = HS   // отключить сторожевой таймер,

// генератор МК – кварцевый высокочастотный                                                      

void main(void)

{

PORTC = 0;                          // очистить регистр данных порта С

TRISC = 0;                           // настроить все линии порта С на вывод

PORTC = 0b11110000;       // вывести двоичное число 11110000 в порт С

while( 1 )                              // зацикливание программы

;

}

Компилятор С18 позволяет управлять отдельными битами регистров специальных функций. Имена регистров и их разрядов определены в заголовочном файле  p18f242.h.

Можно задать значение любого разряда порта МК, используя формат

PORTxbits.Rxy, где  x обозначает порт (A, B, C); y – номер разряда этого порта.

Например:

PORTAbits.RA0 = 1;      // установить разряд порта RA0 = 1

PORTBbits.RB1 = 0;      // сбросить разряд порта RB1 = 0

3. Порядок выполнения работы

3.1. Управление отдельными разрядами портов

3.1.1. Рассмотрим пример программы, которая после запуска производит попеременное включение и выключение светодиода VD1 в схеме МКУ на рис. 1.

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

led1.c –программа  на Си для PIC18

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

#include<p18f242.h>

#pragma  config  WDT = OFF,  OSC = HS

void  main(void)                         

{

PORTC = 0;                         // очистить регистр данных порта С

TRISC = 0;                          // настроить все линии порта C на вывод

while( 1 )

{

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

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

}

}

3.1.2. Проверьте   на  диске  E  наличие своей папки для хранения  проектов разрабатываемых программ. Полный путь к вашей папке может быть:

E:\Users\MPT\PM-41\Ivanov

Примечание. Буквы в именах директорий (папок) должны быть обязательно  латинские. При использовании кириллицы возможна некорректная работа среды MPLAB IDE.

3.1.3. Запустите программу MPLAB IDE с помощью ярлычка на рабочем столе компьютера.

3.1.4. Выберите тип микроконтроллера, который будет использоваться в проекте: PIC18F242.

3.1.5. Далее создайте проект с именем pr4  в новой папке, которую можно назвать proj4. С этой целью выберите пункт меню  Project > New. На рабочем столе MPLAB IDE откроется окно New Project. Введите имя создаваемого проекта  pr4  в строку Project Name. Затем переведите курсор в строку Project Directory и запишите полный путь  к проекту, который будет находиться в новой папке с именем  proj4:

e:\Users\MPT\PM-41\Ivanov\proj4

Щелкните по кнопке OK. При этом на экране появится окно с текстом “The directory e:\Users\.....\proj4 does not exist. Would you like to create it?” (Директория  e:\Users\....\proj4 не существует. Желаете ее создать?) Щелкните по кнопке OK для подтверждения выбора.

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

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

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

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

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

Похожие материалы

Информация о работе