МИНОБРНАУКИ РОССИИ САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ ЭЛЕКТРОТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ «ЛЭТИ» ИМ. В.И. УЛЬЯНОВА (ЛЕНИНА) Кафедра БТС
ОТЧЕТ по лабораторной работе №5
по дисциплине «Микропроцессорная техника» Тема: Широтно-импульсная модуляция
Студент гр. 7502 |
|
Горелов С.А. |
|
Преподаватель |
|
|
Анисимов А.А. |
Санкт-Петербург
2020
Цель работы: Ознакомление с основными принципами работы с модулем асинхронной передачи данных в микроконтроллерах семейства
AVM (микроконтроллер ATMEGA328P) на примере задачи изменения яркости свечения светодиода.
Ход работы
Создадим программу для преобразования сигнала с потенциометра в передаваемую модулем асихронной передачи данных двоичную комбинацию.
.org 0x0000 RJMP RESET
.org 0x0012 RJMP TOVER
.org 0x002A RJMP ALOG
.org INT_VECTORS_SIZE
TOVER: cli
ldi R16,0b11001000 sts ADCSRA,R16
sei RETI
ALOG: cli
lds R16,ADCL lds R16,ADCH sts UDR0,R16 sei
RETI
RESET: cli
ldi R16,low(RAMEND) out SPL,R16
ldi R16,high(RAMEND) out SPH,R16
ldi R16,0b00000000 out DDRC,R16
ldi R16,0b00000001 out PORTC,R16
ldi R16,0b00000001 sts TIMSK2,R16
ldi R16,0b00000000 sts TCCR2A,R16
ldi R16,0b00000100 sts TCCR2B,R16
ldi R16,0b01100000 sts ADMUX,R16
ldi R16,0b10001000 sts ADCSRA,R16
ldi R16,0b00000000
2
sts ADCSRB,R16 sts UBRR0H,R16
ldi R16,0b00110011 sts UBRR0L,R16
ldi R16,0b00000000 sts UCSR0A,R16
ldi R16,0b00011000 sts UCSR0B,R16
ldi R16,0b00000110 sts UCSR0C,R16
ldi R16,0b10000000 sts OCR2A,R16
sei
MAIN:
RJMP MAIN
Для второго микроконтроллера создадим программу, передающую
комбинацию на регистр сравнения ШИМ, выдавая сигнал на диод.
.org 0x0000 RJMP RESET
.org 0x0024 RJMP REC
.org INT_VECTORS_SIZE
REC: cli
lds R16,UDR0 sts OCR2A,R16 sei
RETI
RESET: cli
ldi R16,0b00001000 out DDRB,R16
ldi R16,0b00000000 out PORTB,R16
ldi R16,0b10000011 sts TCCR2A,R16
ldi R16,0b00000100 sts TCCR2B,R16
ldi R16,0b00000000 sts TIMSK2,R16
ldi R16,0b00000000 sts UCSR0A,R16
ldi R16,0b10011000 sts UCSR0B,R16
ldi R16,0b00000110 sts UCSR0C,R16
ldi R16,0b00000000 sts UBRR0H,R16
ldi R16,0b00110011 sts UBRR0L,R16
sei
Main:
RJMP Main
3
Теперь можно создать прошивку и загрузить еѐ в микроконтроллер.
Модель и результаты симуляции представлены на рисунках 1–4.
Рисунок 1 – Собранная модель
4
Рисунок 2 – Первый промежуточный результат симуляции
Рисунок 3 – Второй промежуточный результат симуляции
5
Рисунок 4 – Третий промежуточный результат
Для соединения микроконтроллеров используются виртуальные
COM-порты.
Вывод: В ходе работы были запрограммированы и проведены симуляции микроконтроллера семейства AVR (ATMEGA328P) для проверки работы модуля асинхронной передачи данных. Результаты симуляции представлены на рисунках 1–4.
6