Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Kursovaya.docx
Скачиваний:
0
Добавлен:
21.03.2026
Размер:
1.47 Mб
Скачать
  1. Расчет параметров огибающей:

Пусть количество точек огибающей на интервале T0: N = 100.

Рассчитаем период вывода кодов в ЦАП:

находиться в пределах от 50 до 256.

  1. Выбор элементной базы

Цифровой мультиплексор: КР1554КП15

Аналоговый мультиплексор: КР590КН6

ОЭВМ: D87C51FA

АЦП: MAX165

ЦАП: AD7533

Операционный усилитель: OP297

Логический элемент «Не»: КР1554ЛН1

  1. Документация к элементной базе

  • Цифровой мультиплексор: КР1554КП15

Рис.2 Условное графическое обозначение

Рис.3 Назначение выводов

Напряжение питания микросхем серии КР1554 - от 2 до 6 В, параметры нормируют при значениях напряжения питания 3,3 ±0,3 В и 5 В ±10%. Рабочий температурный интервал -45...+85 С. Ток, потребляемый в статическом режиме, по нормам технических условий не превышает 4 мкА для простых микросхем и 8 мкА для микросхем средней степени интеграции.

  • Аналоговый мультиплексор: КР590КН6

Микросхема КР590КН6 – восьмиканальный аналоговый коммутатор с дешифратором для коммутации напряжения от -15В до 15В.

Рис.4 Корпус типа 238.16-2

Рис.5 Функциональная схема

Рис.6 Таблица назначения выводов

Рис.7 Основные электрические параметры

  • ОЭВМ: D87C51FA

Рис.8 Условное графическое обозначение с навесными элементами (схема формирования сброса на элементах R1, C1 и схема кварцевого генератора внутренней частоты – ZQ1, C2, C3)

Рис.9 Основные параметры

  • АЦП: MAX165

Рис.10 Конфигурация контактов

Отличительные особенности:

  • Время преобразования 5 мкс

  • Встроенное УВХ

  • Максимальная ошибка преобразования ±1 LSB

  • Ширина полосы пропускания 500 кГц

  • Встроенный 1,22 В ИОН и буфер

  • 5 В однополярное питание

  • 8 битный µР интерфейс

  • Время доступа к данным 100 нс

  • Типовое потребление 15 мВт

  • Миниатюрный корпус

  • МАХ165 является совместимым по выводам усовершенствованным аналогом прибора МХ7575

  • ЦАП: AD7533

Рис.11 Конфигурация контактов

Рис.12 Основные характеристики

Рис.13 Таблица назначения контактов

  • Операционный усилитель: OP297

Рис. 14 Конфигурация контактов

Рис.15 Основные электрические параметры

  • Логический элемент «Не»: КР1554ЛН1

Рис.16 Примерный вид элемента

Рис.17 Основные электрические параметры

  1. Разработка программного обеспечения

ORG

0H

; Начало программы

JMP

MAIN

; Переход на метку начала основной программы

ORG

0BH

; Адрес подпрограммы обработки прерывания (таймер 0)

JMP

IRQ_TIMER0

; Переход к подпрограмме обработки прерывания от таймера 0

RETI

;Окончание подпрограммы прерывания

MAIN:

; Основная программа (инициализация)

CALL

INIT

; Вызов подпрограммы инициализации

LOOP:

; Основной цикл

CALL

SYNHRO

; Передача сигналов синхрогруппы

CALL

DIGIT

; Ввод и передача цифровых сигналов

CALL

ANALOG

; Ввод и передача аналоговых сигналов

JMP

LOOP

; Переход на метку LOOP

INIT:

; Подпрограмма инициализации

CALL

INIT_TIMER0

; Вызов подпрограммы инициализации таймера 0 (формирование огибающей)

CALL

INIT_TIMER2

; Вызов подпрограммы инициализации таймера 2 (несущей частоты)

MOV

DPTR, #TABSIN

; Указатель на массив огибающей

MOV

R7, #100

; Счетчик точек огибающей

MOV

IE, #10000010B

; Разрешение прерываний от таймера 0

RET

; Выход из подпрограммы

SYNHRO:

; Передача сигналов синхрогруппы

MOV

R2, #8

; Счетчик повторений

SYNHRO1:

CALL

B11

; Вызов подпрограммы формирования последовательности B11

DJNZ

R2, SYNHRO1

; Цикл

RET

; Выход из подпрограммы

B11:

MOV

A, #11100100B

; Запись в АСС последовательности Б11

CALL

OUTA

; Вывод байта из АСС

OUTA:

; Формирование нового бита ACC.0 с помощью бита четности

MOV

B,#7

; Счётчик бит

OUTAB

RLC

A

; Сдвиг АСС влево, запись АСС.0 в Carry

CALL

SEND_CARRY

; Передача бита из CARRY

DJNZ

B,OUTAB

; Цикл

RET

; Выход из подпрограммы

DIGIT:

; Ввод и передача цифровых каналов

MOV

R0, #12

; Счетчик цифровых каналов

MOV

P3, #0

; Подключение #1 на вход P1.1

DIGIT_L:

; Цикл ввода и передачи цифровых каналов

MOV

C, P1.1

; Ввод выбранного входа в CARRY

CALL

SEND_CARRY

; Передача состояния входа

INC

P3

; Следующий цифровой канал на вход P1.1

DJNZ

R0, DIGIT_L

; Повторение опроса и передачи

RET

; Выход из подпрограммы

ANALOG_IN:

; Ввод данных из АЦП в ACC

CLR

P1.2

; Пуск преобразователя

SETB

P1.2

; Устанавливаем сигнал CS,RD

ANALOG_IN_L:

JNB

P1.3, ANALOG_IN_L

; Ожидание завершения преобразования

CLR

P1.2

; Начало чтения

MOV

A, P0

; Ввод данных в ACC

SETB

P1.2

; Завершение чтения

RET

; Выход из подпрограммы

ANALOG:

; Ввод и передача аналоговых каналов

MOV

R0, #16

; Счетчик аналоговых каналов

MOV

P3, #0

; Подключение первого аналогового канала ко входу АЦП

ANALOG_L:

CALL

ANALOG_IN

; Ввод аналоговых каналов

MOV

R1, #8

; Счетчик передаваемых бит из ACC

CALL

SEND_ACC

; Передача R1 бит из АСС

INC

P3

; Подключение следующего канала входа к АЦП

DJNZ

R0, ANALOG_L

; Цикл опроса и передачи каналов

RET

; Выход из подпрограммы

SEND_ACC:

; Передача заданного количества бит из АСС

RLC

A

; Сдвиг АСС влево -> CARRY

CALL

SEND_CARRY

; Передача бит из CARRY

DJNZ

R1, SEND_ACC

; Цикл передачи бит из АСС

RET

; Выход из подпрограммы

INIT_TIMER0:

; Подпрограмма инициализация таймера 0

MOV

TMOD, #2

; Задаем режим автозагрузки

MOV

TH0, #138

; Задаем коэффициент пересчета

MOV

TL0, TH0

; Первая загрузка из TH0

SETB

TR0

; Разрешение счета

RET

; Выход из подпрограммы

INIT_TIMER2:

; Подпрограмма инициализации таймера 2

MOV

T2CON, #4

; Инициализация таймера 2 в

MOV

T2MOD, #2

; режиме генератора частоты на выводе P1.0

MOV

RCAP2H, #255

MOV

RCAP2L, #255

RET

; Выход из подпрограммы

IRQ_TIMER0:

; Подпрограмма обработки прерывания (таймер 0)

PUSH

ACC

; Сохранение значения ACC

CLR

A

; Ввод в АСС очередной

MOVC

A, @A+DPTR

; точки огибающей

MOV

P2, A

; Вывод точки огибающей в ЦАП

INC

DPTR

; Переходим на адрес следующей точки

DJNZ

R7, IRQ_EXIT

; Цикл вывода

MOV

DPTR, #TABSIN

; Адрес первой точки огибающей

MOV

R7, #100

; Счетчик точек

SETB

P1.7

; Признак окончания периода огибающей

IRQ_EXIT:

POP

ACC

; Возвращаем в АСС сохраненное значение

RETI

; Выход из подпрограммы обработки прерывания

SEND_CARRY:

; Синхронизация передачи бита данных с периодом огибающей

JNB

P1.7, SEND_CARRY

; Ожидание завершения периода огибающей

CLR

P1.7

; Сброс признака завершения периода огибающей

JC

MOV

SEND_CARRY_1

RCAP2L, #250

; Передача F1

RET

; Выход из подпрограммы

SEND_CARRY_1:

MOV

RET

RCAP2L, #253

; Передача F2

; Выход из подпрограммы

END

; Конец программы

Соседние файлы в предмете Микропроцессорные устройства