Разделы сайта

Моделирование устройства

Рис.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[4], 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;

[0] = 0x09;[1] = 0x03;[2] = 0x06;[3] = 0x0C;

= 0;

}

Листинг программы контроллера опорно-поворотного устройства антенны

/*****************************************************: Контроллер опорно-поворотного устройства антенны

Chip type : ATmega8535

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

#include <mega8535.h>

// Alphanumeric LCD Module functions

#asm

.equ lcd_port=0x1B ;PORTA

#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

Самое читаемое:

Модернизация канала формирования импульсов запуска блока Т-17М
Постоянное совершенствование средств воздушного нападения, опыт войн и вооруженных конфликтов последних десятилетий предъявляют повышенные требования к возможностям зенитных комплексов ближнего действия по обнаружению, сопровождению и поражению воздушных целей в различных условиях обстановки. Однако подавляющее большинство зенитны ...

www.techstages.ru : Все права защищены! 2024