Технические разделы

Основные конструкции и процедуры, используемые для написания программы

При разработке проекта необходимо подключить заголовочные файлы:

1. #include <p18f4520.h> - стандартный заголовочный файл с объявлением специальных регистров и битов микроконтроллера PIC18F4520;

2. #include <delay.h> - позволяет организовать задержки;

3. #include <stdlib.h> - позволяет использовать функции преобразующие целочисленные значения в символы, которые можно вывести на LCD;

. p18lcd.asm - набор стандартных функций для работы с LCD.

Примеры наиболее значащих для проекта функций приведены в таблице 4.2.

Таблица 4.2 Описание основных функций программы.

Имя функции

Описание

main

Точка входа в программу

start

Вызывается первой, при входе в функцию main(). Выполняет настройку системы для дальнейшей работы. В частности, выполняет инициализацию экрана и интерфейса передачи данных

d_write

Производит автоматический вывод на экран содержимого глобальной переменной temp_wr

LCDInit

Выполняет настройку и разрешает доступ к LCD

LCDLine_1, LCDLine_2

Выполняет переход виртуального курсора на первую (вторую) строку экрана

stan_char_1, stan_char_2

Отображают на экране последовательность символов в зависимости от значения ptr_pos на соответственно 1ю и 2ю строках LCD

itoa

Преобразовывает целочисленные значения в символы, которые можно вывести на LCD

Разберем подробней наиболее важные функции.

void stan_char_1(void);stan_char_2(void);

(). Функция выполняет настройку необходимых для нормальной работы устройства модулей микроконтроллера. К таковым можно отнести модуль LCD-экрана,MSSP,USART и CCP.

Функция LCDInit() описана в файле p18LCD.ASM.

void start (void)

{();=0b10100100; //initialize USART=25;=0b10010000;

.TRISC2=0; // initialize CCP=0x80;L=0x80;CONbits.CCP1X=0;CONbits.CCP1Y=0;CON=0x05;

//initialize timer2.TRISA4=1; //knopki S1 I S2 aktivni.TRISB0=1;

}

itoa(). Функция преобразует, полученную в качестве параметра переменную типа int в переменную типа *char и помещает её в массив char который обрабатывается в зависимости от входного значения int. Это стандартная функция, для обращения к ней подключаем библиотеку stdlib.h.

menu(). Функция организует в бесконечном цикле вывод на LCD меню, которое позволяет выбрать подпрограммы реализующие вольтметр, звуко-излучатель, термометр и часы.

void menu(void)

{_count=16;_pos=5;_char_1();_pos=6;_char_2();KTCYx(900);(scroll==0){};(select==0){};

//------------------ VOLT MEASUREMENT ----------------------------(1){_pos=0;_char_1();_pos=4;_char_2();(scroll==1) {if (select==0) {voltmeter();break;}} ;(select==0){};while (scroll==0){};

……….

};}

(). Функция реализует работу вольтметра измеряющего напряжение на контактах потенциометра. Задавая необходимые значения регистрам управления модуля USART, получает значения с выхода АЦП в цифровом представлении. Преобразует числовое значение температуры в строку выводим на LCD. Повторяется в цикле пока не нажата S3.

void voltmeter(void)

{

….

bits.ADON=1;=0b00001110;=0x01;

_pos=10;_char_1();

{bits.GO=1;(ADCON0bits.GO==0){};=ADRESH;*=2;(temph,tempv_char);(temph<10) {temph_char[0]=zero[0]; temph_char[2]=zero[0]; temph_char[3]=tempv_char[0];}

… _2();(i=0;i<ptr_count;i++)

{_char=temph_char[i];_wr=temp_char;_write();

} //for i

}while(select==1);

}

buzzer().Функция реализует работу звуко-излучателя с помощью модуля широтно-импульсной модуляции. Нажатие S2 приводит к увеличению длительности импульса, соответственно значение хранится в CCPR1L. Нажатие S3 приводит к увеличению периода возникновения импульсов, соответственно значение хранится в PR2. Повторяется в цикле пока одновременно не нажаты S2 и S3.

Перейти на страницу: 1 2

Еще статьи по технике и технологиям

Термоконтроль для ПК
Проектирование - разработка описаний нового или модернизированного технического объекта в объеме и составе достаточном для реализации этого объекта в заданных условиях. Процесс проектирования делят на этапы, состав и содержание кото ...

Расчет параметров систем документальной электросвязи
Данная курсовая работа состоит из 2 основных частей: проектирования узла документальной электросвязи, а так же решения задач, по использованию различных технологий, таких как X-25, Frame Relay и MPLS. В первой части, проектирование т ...

© 2019 | www.techexpose.ru