Изучение интегрированной среды разработки ATMEL STUDIO системы автоматизированного проектирования электронных схем PROTEUS VSM. отчет 1. Лабораторная работа 1 Изучение интегрированной среды разработки atmel studio системы автоматизированного проектирования электронных схем proteus vsm
Скачать 248.47 Kb.
|
Министерство образования Республики Беларусь Учреждение образования БЕЛОРУССКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ИНФОРМАТИКИ И РАДИОЭЛЕКТРОНИКИ Факультет инфокоммуникаций Кафедра защиты информации Лабораторная работа №1 Изучение интегрированной среды разработки ATMEL STUDIO системы автоматизированного проектирования электронных схем PROTEUS VSM
Минск 2020 Цель работы: получение навыков работы в интегрированной среде разработки и системе автоматизированного проектирования электронных схем; создание проекта в ATMEL STUDIO, отслеживание этапов выполнения управляющей программы и конечная проверка ее работоспособности с помощью виртуального микроконтроллера в системе PROTEUS VSM. Исследуемая схема устройства в PROTEUS VSM: рис. 1 - Исследуемая схема устройства Исходные данные для выполнения: value = 52 Листинг программы: #define F_CPU 1000000UL #include include void ports_init(void); void timerCounter0_init(void); void blinkBlueLeds(void); void blinkGreenLeds(void); void blinkYellowLeds(void); void blinkRedLeds(void); unsigned char blueLedsCounter=1; unsigned char blueLedsTemp=1; unsigned char greenLedsCounter=1; unsigned char greenLedsTemp=16; unsigned char redLedsCounter=1; int main(void) { unsigned char pwmState=0; portsinit(); timerCounter0_init(); while (1) { blinkBlueLeds(); blinkGreenLeds(); blinkYellowLeds(); blinkRedLeds(); _delay_ms(500); if (((PINB & (1< { OCR0=(255/3); pwmState=1 } if (((PINB & (1< { OCR0=0; pwmState=0; } } } void ports_init(void) { DDRA=0b00011111; PORTA=0b11100000; DDRB=248; PORTB=7; DDRC=(1< PORTC=0b11011101; DDRD=0xFF; PORTD=x00; } void timerCounter0_init(void) { TCNT0=0x00; OCR0=0x00; TCCR0=(1< } void blinkBlueLeds(void) { if (blueLedsCounter<=5) { PORTA=(224+blueLedsTemp); blueLedsCounter++; blueLedsTemp*=2; } else { PORTA=(224+1); blueLedsCounter=2; blueLedsTemp=2; } } void blinkGreenLeds(void) { if (greenLedsCounter<=4) { PORTB=(7+greenLedsTemp); greenLedsCounter++; greenLedsTemp*=2; } else { PORTB=(7+16); greenLedsCounter=2; greenLedsTemp=32; } } void blinkYellowLeds(void) { PORTC^=(1< } void blinkRedLeds(void) { if (redLedsCounter<256) { PORTD=redLedsCounter; redLedsCounter++; } else { PORTD=1; redLedsCounter=2; } Фотографии окон отладчика Atmel: рис. 2 - Окно регистров рис. 3 - Окно дампа памяти рис. 4 - Окно процессора рис. 5 - Окно ввода/вывода рис. 6 - Окно дампа оперативной памяти |