Разработка модуля генератора специальных функций

Кварцевый генератор:

Обозн.

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

Примечание

Количество

Z1

C-MAC IQXO-22C BU

4 МГц; 5В; TTL/КМОП

1

Индуктивности:

Обозн.

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

Количество

L1

EC24-100K, 10 мкГн, 10%

1

Микроконтроллеры:

Обозн.

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

Примечание

Количество

DD1

AT90S2313

max рабочее напряжение 6.6В; пост. ток через вывод порта 40 мА; пост. ток между VCC и GND 200 мА

1

Мультиплексоры:

Обозн.

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

Количество

MS

MC74HC4051A

1

Принципиальная схема

Рис. 3. Принципиальная схема преобразователя

Программное обеспечение

Программное обеспечение для устройства написанное и отлажено среде AVR Studio.

Рис. 4. Блок-схема программного обеспечения

Пояснения к работе программного обеспечения

В программе обрабатывается только одно прерывание - прерывание по совпадению таймера/счетчика 1

Обработка сброса:

Устанавливаем необходимые регистры:

указатель стека

инициализируем порты B и D

очищаем все необходимые временные регистры

разрешаем прерывание по совпадению таймера/счетчика 1

считываем данные с порта B

записываем эти данные в регистр сравнения таймера/счетчика 1

регистр управления таймером/счетчиком 1 A (устанавливаем режим работы таймера - 8-ми разрядный ШИМ)

регистр управления таймером/счетчиком 1 B (настраиваем коэффициент деления системной частоты)

устанавливаем сигнал на выходе PD6 порта D

Ждем прерывание (выполняется программа).

Программа представляет собой простой бесконечный цикл.

Выполняем прерывание.

Обработка прерывания по совпадению таймера/счетчика 1:

устанавливаем или сбрасываем (в зависимости от ситуации) сигнал на выходе PD6

вычитаем из временного регистра, в котором содержится период ШИМ-сигнала, длительность прошедшего ШИМ-импульса (значение, снятое с порта B)

получившееся значение записываем в регистр совпадения таймера/счетчика 1

сбрасываем таймер/счетчик 1

возвращаемся в программу

При новом совпадении регистра значения с регистром совпадения таймера/счетчика 1 программа вновь уходит на прерывание.

Листинг ПО:

.INCLUDE "2313def.inc"

;Определение сегмента кода

.CSEG

.ORG0x0000

;Таблица векторов прерываний

rjmpReset_interrupt_interruptCAPT_interruptCOMP_interruptOVF_interruptOVF_interrupt_RX_interrupt_UDRE_interrupt_TX_interrupt_interrupt:;Прерывание по сбросу микроконтроллера

;Инициализация периферии МК

;Очистка необходимых временных регистров

clrr16

clrr30

;Настройка указателя стека

ldir16, 0x7F

outSPL, r16

;Инициализация порта Br31, 0x00DDRB, r31

;Инициализация порта D

ldi r31, 0x40DDRD, r31

;Разрешение прерывания от функции выходного сравнения для таймера/счетчика 1

ldir17, 0x40

outTIMSK, r17

;Инициализация регистра выходного сравнения значением, снятым с порта B

in r31, PORTB, 0x0Cr25, 01AH, r25

out OCR1AL, r31

;Включение таймера/счетчика 1

;Установка работы таймера в режиме 8-ми разрядного ШИМ

ldir18, 0x01

out TCCR1A, r17

;Выбор делителя системной частоты 1

ldir17, 0x01

outTCCR1B, r17

;Включение входа PD5PORTD, 6

;Глобальное разрешение прерываний

;Программа:cycle ;Бесконечный цикл

;Обработчики прерыванийCOMP_interrupt:;прерывание по совпадению таймера/счетчика 1r30, PORTD;Проверка, включен лиr30, 6;выход PD6PORTD, 6;Если да, то сбрасываемr30r30, 6PORTD, 6;Если нет, то устанавливаем, 0xFF;Запоминаем период ШИМ-сигнала

Перейти на страницу: 1 2 3

Другие стьтьи в тему

Расчет цифрового фильтра
1. Для периодического сигнала, вид и параметры которого заданы в таблице 1, выполнить разложение в ряд Фурье. 2. Построить графики амплитудного и фазового спектров периодического сигнала. . Восстановит ...

Разработка электронного устройства
Разработка структурной схемы ...

Разделы

Радиоэлектроника и телекоммуникации © 2024 : www.techelements.ru