Преобразователь двоичной последовательности из фиксированного числа байт в ЧМ-сигнал

  • Вид работы:
    Контрольная работа
  • Предмет:
    Информатика, ВТ, телекоммуникации
  • Язык:
    Русский
    ,
    Формат файла:
    MS Word
    192,78 Кб
  • Опубликовано:
    2013-08-07
Вы можете узнать стоимость помощи в написании студенческой работы.
Помощь в написании работы, которую точно примут!

Преобразователь двоичной последовательности из фиксированного числа байт в ЧМ-сигнал















Преобразователь двоичной последовательности из фиксированного числа байт в ЧМ-сигнал

Введение

Микроконтроллер (MCU) - микросхема, предназначенная для управления электронными устройствами. Типичный микроконтроллер сочетает в себе функции процессора и периферийных устройств, может содержать ОЗУ и ПЗУ. По сути, это однокристальный компьютер, способный выполнять простые задачи. Использование одной микросхемы, вместо целого набора, как в случае обычных процессоров, применяемых в персональных компьютерах, значительно снижает размеры, энергопотребление и стоимость устройств, построенных на базе микроконтроллеров.

1.     
Микроконтроллер ATtiny2313

битный AVR микроконтроллер с 2 КБ программируемой в системе Flash памяти

Характеристики:RISC архитектура- высококачественная и низкопотребляющая RISC архитектура

команд, большинство которых выполняется за один тактовый цикл

8 битных рабочих регистра общего применения

Полностью статическая архитектура

ОЗУ и энергонезависимая память программ и данных

КБ самопрограммируемой в системе Flash памяти программы, способной выдержать 10 000 циклов записи / стирания

Байт программируемой в системе EEPROM памяти данных, способной выдержать 100 000 циклов записи / стирания

Байт встроенной SRAM памяти (статическое ОЗУ)

Программируемая защита от считывания Flash памяти программы и EEPROM памяти данных

Характеристики периферии

Один 8 - разрядный таймер / счетчик с отдельным предделителем

Один 16-разрядный таймер / счетчик с отдельным предделителем, схемой сравнения, схемой захвата и двумя каналами ШИМ

Встроенный аналоговый компаратор

Программируемый сторожевой таймер со встроенным генератором- универсальный последовательный интерфейс

Полнодуплексный UART

Специальные характеристики микроконтроллера

Встроенный отладчик debugWIRE

Внутрисистемное программирование через SPI порт

Внешние и внутренние источники прерывания

Режимы пониженного потребления Idle, Power-down и Standby

Усовершенствованная схема формирования сброса при включении

Программируемая схема обнаружения кратковременных пропаданий питания

Встроенный откалиброванный генератор

Порты ввода - вывода и корпусное исполнение

программируемых линий ввода - вывода

выводной PDIP, 20 выводной SOIC и 32 контактный MLF корпуса

Диапазон напряжения питания

от 1.8 до 5.5 В

Рабочая частота

- 16 МГц

Потребление

Активный режим:

мкА при частоте 1 МГц и напряжении питания 1.8 В

мкА при частоте 32 кГц и напряжении питания 1.8 В

Режим пониженного потребления

.5 мкА при напряжении питания 1.8 В

2. Микросхема интерфейса RS-232

Широко используемый последовательный интерфейс синхронной и асинхронной передачи данных, определяемый стандартом EIA RS-232-C и рекомендациями V.24 CCITT. Изначально создавался для связи компьютера с терминалом. В настоящее время используется в самых различных применениях.- это преобразователь уровня напряжения. Интерфейс RS232 использует +-10V, а Max232 преобразует их в 0-5V.

Алгоритм работы ПО МК:

Программа в микроконтроллере выполняется в бесконечном цикле (wait1). В данном цикле происходит прием байт с UART и их анализ. Для отправки ЧМ последовательности необходимо, чтобы с UART поступила команда 01C, далее происходит переход на процедуру отправки ЧМ сигнала (меняется частота таймера).


3. Листинг микроконтроллера

INCLUDE «C:\Program Files\Atmel\AVR Tools\AvrAssembler\Appnotes\2313def.inc»

; спецификацией регистров ввода / выводаA_LINE = 0; линия PORTB, соответствующая сигналу A

DSEG0xc0:.BYTE 0x10; область стекаsp_ini = stack+0x0f

CSEG

;========= Таблица векторов прерываний0x00RESET; вектор прерывания RESET0x06OVR0_isr; вектор прерывания по переполнению Timer0

;========= Основная программа:r16, sp_ini; инициализация указателя стека

out SPL, r16PORTB, A_LINE; установить A в 1

ldi r16,0x07; разрешить PB.0, PB.1, PB.2 как выходыDDRB, r16r16; занести 0 в счетчик Timer0TCNT1, r16r16,0x02; частота синхронизации Timer0 = Fosc/8

out TCCR1, r16r16,0x02

out TIMSK, r16; разрешить прерывание по переполнению Timer0

; Прерывания разрешены, прием-передача разрешен.     r16, (1<<RXEN)|(1<<TXEN)|(1<<RXCIE)|(1<<TXCIE)|(0<<UDRIE) UCSRB, r16

; Формат кадра - 8 бит, пишем в регистр UCSRC, за это отвечает бит селектор

ldi     r16, (1<<URSEL)|(1<<UCSZ0)|(1<<UCSZ1)

out    UCSRC, r16; глобальное разрешение прерыванийwait1; пустой цикл (ожидание прерывания и прием байтов с UART)

;========== Процедура отправки байта ==========_send:           sbis   UCSRA, UDRE        ; Пропуск если нет флага готовности     uart_snt     ; ждем готовности - флага UDRE        UDR, r0     ; шлем байт                            ; Возврат

;========== Ожидание байта ==========_rcv:            SBIS UCSRA, RXC     ; Ждем флага прихода байта  uart_rcv     ; вращаясь в цикле       R16, UDR           ; байт пришел - забираем.uart_counter; увеличиваем счётчик принятых байт                          ; Выходим. Результат в R16

;========== Обработчик прерывания по переполнению Timer0_isr:r16, SREG; сохранение в стеке регистра статуса

push r16PORTB, A_LINE

rjmp OVR0_m1

; 1-е состояние: A==1, B==0, C==0

cbi PORTB, A_LINE; A=0

breq next1;wait1: uart_rcvr16, 0x31; если: 1next2

brne wait1:uart_rcvr16, 0xC; если: C символ С-конец сообщения

breq send1wait1 wait1

; перенастройка частоты на 200, затем на 500 Гц

send1:r16; старт сигналTCNT1, r16

ldi r16,0xE8; частота синхронизации Timer1 1000 Гц

out TCCR1A, r16r16,0x03TCCR1B, r16VR0_isr; отправляем сигналwait1r16TCNT1, r16 r16,0xC8; частота синхронизации Timer1 200 Гц

out TCCR1A, r16

clr TCCR1B

rjmp VR0_isr; отправляем сигнал

clr r16

out TCNT1, r16

ldi r16,0x01; частота синхронизации Timer1 500 Гц

out TCCR1A, r16r16,0xF4TCCR1B, r16VR0_isr; отправляем сигналr16TCNT1, r16r16,0xD0; частота синхронизации Timer1 2000 ГцTCCR1A, r16r16,0x07TCCR1B, r16VR0_isr; отправляем сигналr16TCNT1, r16r16,0xD0; частота синхронизации Timer0 2000 ГцTCCR1A, r16r16,0x07TCCR1B, r16VR0_isr; отправляем сигнал

rjmp wait1

Перечень элементов

Наименование

Кол-во

Условное обозначение




Микросхемы



ATiny2313

1

D1

MAX232

1

D2

контроллер преобразование листинг двоичный

Заключение

В процессе работы был разработан проект контроллера осуществляющего преобразование двоичной последовательности из фиксированного числа байт в ЧМ-сигнал.

Список литературы

1.     Конспект лекций по курсу микроконтроллеры 2011 г.

.       Микроконтроллеры AVR Методическое пособие к лабораторному практикуму для студентов II-IV курсов АВТФ

Похожие работы на - Преобразователь двоичной последовательности из фиксированного числа байт в ЧМ-сигнал

 

Не нашли материал для своей работы?
Поможем написать уникальную работу
Без плагиата!