Исходный код управления программой написано в программе Keil uVision3 на языке С, имеет следующий смысл:
# Include <RTL.h>
# Include<LPC213x.H> / * LPC213x definitions * /
/ / Id1, id2 переменные - идентификаторы задач настоящего времени
OS_TIDid1, id2;
intADC1, ADC2;
/ * Предварительное описание программы * /
void task1 (void) task;
void task2 (void) task;
void task3 (void) task;
int main (void)
{
{
PINSEL0 = (1 << (8 * 2)) + (1 << (9* 2)) + (2 << 0); / / УстановитьпинP0.08 вTxD1 + P0.09 вRxD1 + P0.0 вPWM1
IODIR0 = (1 << 0) + (1 << 1); / / Установить пины P0.1 и P0.2 выходами
IOSET0 = (1 << 2); / / потушить светодиод P0.3
os_sys_init (task1) / * Старт ядра RTX, создание и выполнение task 1.* /
}
void task1 (void) task {
id1 = os_tsk_create (task2, 0); / * Создать задачу 2 и получить ее идентификатор * /
id2 = os_tsk_create (task3, 0); / * Создать задачу 3 и получить ее идентификатор * /
os_tsk_delete_self (); / / Самоуничтожение Task3
}
/ / В Task2 выполняется опрос датчиков. В следующей части кода / / реализован процесс запуска копии задачи Task2 для каждого из датчиков.
{
tsk2_1 = os_tsk_create (task2, 0); / / опросдатчикаУП
tsk2_2 = os_tsk_create (task2, 0); / / опросдатчикаС1
tsk2_3 = os_tsk_create (task2, 0); / / опросдатчикаС2
}
Функция инициализации и запуска ядра RTХ с запуском одной из задач, указанием ее приоритета и определения специального размера стека.
{Os_sys_init_user (
void (* task2) (void) / * Указатель задачи, запускается
U1 prioritu, void * stack, size of (stk1));
while (1);
}
os_dly_wait (50); / / Задержка 50 мс
{
os_sys_init_user (
void (* task3) (void) / * Указательзадачи, запускается
U2 prioritu, void * stack, size of (stk2));
while (1);
}
for (;)
{
AD1CR =(0x1 <<4);
os_dly_wait (1); / / Задержка 1 мс
ADC2 = AD1DR & (0x3ff <<4);
}
}
Заключение
В данной работе было спроектировано устройство автоматического управления и разработана структура соответствующего программного обеспечения для управления.
Были выбраны датчики, необходимые для отслеживания состояния объекта, спроектированы схемы подключения датчиков и исполнительных механизмов к микроконтроллеру, разработан блок питания системы управления.
Были разработаны структурная и функциональная схемы системы управления работой системы управления, а также блок - схема алгоритма управляющей программы.
В результате данной работы были получены и закреплены практические навыки проектирования программно-аппаратных комплексов.
Самое читаемое:
Логический синтез цифровых устройств
.1. Объект представляет собой техническое устройство, в которое поступают
различные детали. Имеются 5 датчиков, которые определяют соответствие деталей
("да"-"нет") некоторым параметрам (размер, форма, цвет,
конфигурация и т.п.). В зависимости от комбинации сигналов датчиков
f(X5,X4,X3,X2,X1) детали сортируются и ...