Реализация инверсного бегущего огня на МК ATmega 8535
Автор: Максим Стрижаков • Апрель 1, 2022 • Лабораторная работа • 262 Слов (2 Страниц) • 359 Просмотры
Лабораторная работа №4
Реализация инверсного бегущего огня на МК ATmega 8535.
Задание: Реализовать инверсный бегущий огонь на основе МК ATmega 8535 с использованием функции сдвига (>>) или (<<).
Ход работы:
На основе программы, реализующей бегущий огонь на порту микроконтроллера сделать инверсный бегущий огонь.
Текста программы:
//ICC-AVR application builder : 18.01.2018 16:39:28
// Target : M8535
// Crystal: 8.0000Mhz
#include <iom8535v.h>
#include <macros.h>
void port_init(void)
{
PORTA = 0x00;
DDRA = 0x00;
PORTB = 0x00;
DDRB = 0x00;
PORTC = 0x00; //m103 output only
DDRC = 0x00;
PORTD = 0x00;
DDRD = 0x00;
}
//call this routine to initialize all peripherals
void init_devices(void)
{
//stop errant interrupts until set up
CLI(); //disable all interrupts
port_init();
MCUCR = 0x00;
GICR = 0x00;
TIMSK = 0x00; //timer interrupt sources
SEI(); //re-enable interrupts
//all peripherals are now initialized
}
void main(void)
{
while(1)
{
if ((PORTA)==0)
PORTA=1;
PORTA=PORTA<<1;
}
}
Бегущий огонь: [pic 1] | Инверсный бегущий огонь: [pic 2] |
Лабораторная работа выполняется на лабораторном стенде – модуль микроконтроллера. Внешний вид модуля приведен на рис. 1. Модуль «Микроконтроллер» предназначен для программирования и изучения функций микроконтроллера ATmega8535 семейства AVR, выпускаемого фирмой Atmel.
[pic 1]
Рис. 1. Модуль «Микроконтроллер»
В состав стенда входят:
- модуль микроконтроллера, содержащий микроконтроллер AVR типа ATmega8535 и периферийные устройства (тумблеры, кнопки, светодиоды и т.д.) для проверки работоспособности программ;
- программное обеспечение «Image Craft ICC AVR», предназначенное для ввода программы на языке высокого уровня Си;
- программное обеспечение «AVR Studio», предназначенное для отладки программы на симуляторе и записи отлаженных программ в микроконтроллер.
Программа «ImageCraft C» (в дальнейшем ICCAVR) специально разработана для работы с микроконтроллерами AVR на языке Си. Она позволяет, имея базовые знания языка Си и изучив специальные функции и макросы, свободно работать с микроконтроллерами. Результатом этапа программирования является листинг прикладной программы с расширением «*.с» (и файл проекта «*.prj»), который после компиляции преобразуется в файл «*.hex», содержащий коды команд процессора микроконтроллера.
...