//********************************************************************
void initialize_ports(void)
{
DDRA=0x00; //установить PORTA в качестве входного порта
DDRB=0xFF; //установить PORTB в качестве выходного порта
PORTB=0x00; //включить красные светодиоды индикатора
DDRS=0xFF; //установить PORTT в качестве выходного порта
DDRP=0xFF; //установить PORTP в качестве выходного порта
}
//********************************************************************
/// /shutter(int action) : открытие и закрытие затвора
//********************************************************************
void shutter(int action) {
if (action == open) PORTP = 0x01;
if (action == close) PORTP = 0x00;
}
//********************************************************************
//position_laser(unsigned char x_pos, unsigned char y_pos): посылает
//сигнал управления для каналов X и Y гальванометра из портов PORTS
//и PORTT соответственно.
//********************************************************************
void position_laser(char x_pos,char y_pos) {
PORTS = x_pos;
PORTT = y_pos;
}
//********************************************************************
//delay(void): создает задержку
//********************************************************************
void delay(void) {
int j;
for(j=0x0000; j<0x1000; j=j+0x01) {
asm("nop");
}
}
//********************************************************************
7.2.7. Испытания устройства
До подсоединения компонентов системы к МК 68HC12, мы должны полностью проверить схему. В главе 5 мы рассматривали методики проверки, позволяющие моделировать входы системы переключателями, а выходы светодиодами. Наше устройство уже содержит переключатели и светодиоды для такой проверки. Однако, как мы проверим аналоговые сигналы? Имеется два метода, позволяющих легко проверить связь друг с другом сигналов на каналах X и Y:
1) использование перьевого X-Y графопостроителя,
2) использование классической контрольно-измерительной методики, связанной с получением так называемых фигур Лиссажу.
При первой методике, выходной аналоговый сигнал, формируемый X-каналом ЦАП, переключается с X-канала гальванометра на X-канал перьевого X-Y графопостроителя, а сигнал с Y-канала гальванометра на Y-канал на графопостроителя. Сигнал управления затвором может быть подан на драйвер пера графопостроителя, смещающийся вверх и вниз. Необходим плоттер со специальными характеристиками, чтобы определить, требуется ли схема интерфейса между ТТЛ совместимым сигналом для управления затвором от 68HC12 и управления движением пера вверх и вниз. После подключения микроконтроллера 68HC12 к графопостроителю, каждое из изображений может быть полностью проверено.
Вторая методика испытаний использует классический метод фигур Лиссажу. Чтобы получить фигуры Лиссажу, выходные сигналы с X-канала и Y-канала ЦАП подаются на соответствующие каналы осциллографа.
После подключения 68HC12 к осциллографу, каждое из изображений также может быть полностью проверено. Дополнительную информация о фигурах Лиссажу можно найти в [2].
7.2.8. Заключительные испытания системы управления
После полной проверки программного обеспечения, оно может быть испытано совместно с устройством управления лазером. Реальные устройства описываются в литературе, выпускаемой изготовителями оптических устройств и в учебниках, посвященных оптическим блокам [3, 8].
Для этого проекта мы должны разработать цифровой вольтметр (ЦВ), способный измерять входной аналоговый сигнал в диапазоне от +10 до –10 В. Измеряемое напряжение, отображается на ЖК дисплее, число знакомест которого позволяет отображать числа от 0 до 100.
Диапазон входных измеряемых напряжений для модуля аналого-цифрового преобразования ATD МК 68HC12 составляет 0…5 В. Чтобы измерить входное напряжение в более широком диапазоне, необходим внешний интерфейс. Поэтому мы преобразуем входной сигнал ±10 В в сигнал, лежащий в диапазоне от 0 до 5 В.
7.3.2. Системы 68HC12 используемые в проекте
Для реализации проекта мы должны будем использовать следующие модули в составе МК 68HC12, внешние устройства и программы управления:
• Модуль ATD в составе МК 68HC12;
• Символьный ЖК индикатор;
• Интерфейс преобразователя диапазона входного сигнала;
• Алгоритм преобразования измеряемого напряжения в ASCII код для отображения на ЖК индикаторе.
Прежде чем разрабатывать программное обеспечение, рассмотрим некоторые аппаратные решения.
Читать дальше