Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Архив2 / курсач docx283 / MK_Kursach.docx
Скачиваний:
56
Добавлен:
07.08.2013
Размер:
111.19 Кб
Скачать

Элементная база:

Резисторы:

Обозн.

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

Количество

R1

С2-29В-0,125Вт-10кОм0,1%

1

R2

С2-29В-0,125Вт-10кОм0,1%

1

Конденсаторы:

Обозн.

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

Количество

C1

К50-35 100 мкФ x10В (20%)

1

C2

К10-17А-М47 20пФ x50В, (10%)

1

C3

К10-17А-М47 20пФ x 50В, (10%)

1

C4

К50-35 10 мкФ x10В (20%)

1

С5

К53-1А-0.1 мкФ x10В (20%)

1

С6

К53-1А-0.1 мкФ x10В (20%)

1

С7

К50-35 100 мкФ x10В (20%)

1

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

Обозн.

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

Примечание

Количество

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. Принципиальная схема преобразователя

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Соседние файлы в папке курсач docx283