Рис.6.1 - Устройство инициализировано, готово к работе
Рис. 6.2 - Обработка прерывания при нажатии кнопки «MENU», установка в ноль текущего угла поворота антенны
Рис. 6.3 - Поворот антенны на право на 1 градус
Рис. 6.4 - Поворот антенны на лево в случае, когда кнопка «LEFT» нажата более 0,3 с
ЗАКЛЮЧЕНИЕ
Разработан контроллер опорно-поворотного устройства антенны. Написана программа для микроконтроллера ATmega8535 на языке Assembler AVR и СИ. Произведено моделирование синтезированного устройства в среде Proteus.
ПРИЛОЖЕНИЕ
Листинг
программы
инициализации
устройства
// прерывания кнопок
// меню
#define MENUPORT PORTB
#define MENUDDR DDRB
#define MENUBIT 2
#define INT_MENU EXT_INT2
// лево
#define LEFTPORT PORTD
#define LEFTDDR DDRD
#define LEFTPIN PIND
#define LEFTBIT 2
#define INT_LEFT EXT_INT0
// право
#define RIGHTPORT PORTD
#define RIGHTDDR DDRD
#define RIGHTPIN PIND
#define RIGHTBIT 3
#define INT_RIGHT EXT_INT1
// двигатель
#define MOTORPORT PORTC
#define MOTORDDR DDRC
char nSteps, nCurrentStep;
/*****************************************************
*** Функция InitButtons ***
*** Инициализация прерывания кнопок ***
*****************************************************/InitButtons(void)
{
// настройка портов.MENUBIT = 1;
MENUDDR.MENUBIT = 1;
LEFTPORT.LEFTBIT = 1;.LEFTBIT = 1;.RIGHTBIT = 1;.RIGHTBIT = 1;
// Настройка прерываний
// INT0: On
// INT0 Mode: Falling Edge
// INT1: On
// INT1 Mode: Falling Edge
// INT2: On
// INT2 Mode: Falling Edge|=0xE0;=0x0A;=0x00;=0xE0;
}
/*****************************************************
*** Функция InitMotor ***
*** Инициализация двигателя ***
*****************************************************/InitMotor(void)
{= 0x00;= 0xFF;
= 0x09; = 0x03; = 0x06; = 0x0C;
= 0;
}
Листинг программы контроллера опорно-поворотного устройства антенны
/*****************************************************: Контроллер опорно-поворотного устройства антенны
Chip type : ATmega8535
*****************************************************/
#include <mega8535.h>
// Alphanumeric LCD Module functions
#endasm #include <lcd.h> // Standard Input/Output functions #include <stdio.h> #include <delay.h> // настройки платы #include <BoardConfig.h> // прототипы фунцийRotateLeft(unsigned short nCount);RotateLeftStep(unsigned short nCount);RotateRight(unsigned short nCount);RotateRightStep(unsigned short nCount);ShowCurrentAngle(void);Initialization(void); Перейти на страницу: 1 2 3 4 Активный фильтр нижних частот каскадного типа Используя в качестве элемента схемы ОУ, можно синтезировать характеристику любого RLC-фильтра без применения катушек индуктивности. Такие безындукционные фильтры известны под названием «активные фильтра» благодаря включению в их схему активного элемента (усилителя). Активные фильтры можно использовать в качестве фильтров низких ... Популярное: