42835

Электронный измеритель временных интервалов в диапазоне от 0 до 1 с, с детализацией измерений до 1 мс

Курсовая

Коммуникация, связь, радиоэлектроника и цифровые приборы

Для построения системы воспользуемся микропроцессорным комплектом К1810 (центральный процессор К1810ВМ88). Для реализации времязадающих функций воспользуемся таймером К1810ВИ54. Взаимодействие с пользователем организуем с помощью контроллера клавиатуры и индикации КР580ВВ79

Русский

2013-11-01

271.94 KB

23 чел.

Содержание

 

1. Техническое задание 3

2. Анализ технического задания 3

3. Распределение адресного пространства 4

4. Устройства системы и их программирование 5

1) Центральный процессор 5

2) Генератор тактовых импульсов 5

3) Шинные формирователи и регистры – защелки 5

4) ПЗУ 6

5) Контроллер клавиатуры и индикации 6

6) Программируемый таймер 7

5. Текст программы 9

6. ПЕРЕЧЕНЬ  ЭЛЕМЕНТОВ…………………………………………………..12

Список использованной литературы 13

  1.  
    Техническое задание

Разработать электронный измеритель временных интервалов в диапазоне от 0 до 1 с, с детализацией измерений до 1 мс. Ввод измеряемого сигнала производить напрямую, без согласующего элемента. Результаты измерений вывести на дисплей.

  1.  Анализ технического задания

Для построения системы воспользуемся микропроцессорным комплектом К1810  (центральный процессор К1810ВМ88). Для реализации времязадающих функций воспользуемся таймером К1810ВИ54. Взаимодействие с пользователем организуем с помощью контроллера клавиатуры и индикации КР580ВВ79. Программный код будем хранить в ПЗУ, организованной микросхемой К537РФ6 (аналог - M27128). Тактовый генератор для системы будем использовать К1810ГФ84. Для адекватной работы шины адреса и шины данных будем использовать буферные регистры КР580ИР82 и шинные формирователи КР580ВА86. Все микросхемы выполнены по стандартной ТТЛ технологии, поэтому могут свободно взаимодействовать друг с другом.

Так как проектируемое устройство оперирует достаточно малым количеством информации, то ОЗУ использоваться не будет. Его функции будут выполнять дополнительные регистры процессора. Это решение уменьшит стоимость оборудования, т.к. не придется устанавливать микросхемы памяти, однако увеличит размер исполняемого кода, т.к. не останется возможности для организации циклов встроенными средствами ЦП, организации подпрограмм и работы стека.

Так как устройство не представляется сложным, а алгоритм его работы достаточно прост, то принцип прерываний использовать не будем, и работу системы организуем «по опросу».  Основываясь на тех же причинах, откажемся от использования системы раздельной адресации и будем использовать общую (совмещённую) адресацию.

Тактовую частоту зададим максимально возможную – 5МГц

  1.  Распределение адресного пространства

Схематически распределение адресного пространства представлено на следующей схеме:

Устр.

Адрес в устройстве

Номер бита

10

9

8

7

6

5

4

3

2

1

0

ПЗУ

1

1

0

x

x

x

x

x

x

x

x

IOP

1

0

1

y

y

y

y

y

y

y

x

PIT

0

1

1

y

y

y

y

y

y

x

x

Примечание: [х] – изменяющиеся биты. [y] – несуществующие биты

Всего используется три информационных устройства (ПЗУ, контроллер клавиатуры и дисплея, таймер), каждое выбирается своим битом шины адреса (логическим нулем).

Рассчитаем объём занимаемого адреса для устройств:

ПЗУ: 0600h÷06FFh

IOP: 0500h÷0501h

PIT: 0300h÷0303h

Наибольшую информационную емкость имеет ПЗУ – микросхема рассчитана на 256 байт, и соответственно адресуется 8 битами. В результате младшие 8 бит шины адреса будут использоваться устройствами, следующие 3 бита будут участвовать в выборе устройства, последние 9 бит для системы не будут иметь значения.

  1.  Устройства системы и их программирование
  2.  Центральный процессор 

Центральный процессор К1810ВМ88 (полный аналог Intel 8088) представляет собой однокристальный 16-битовый МП, выполненный по высококачественной n-МОП технологии. Кристалл микросхемы с геометрическими размерами 5.5х5.5 мм содержит около 29000 транзисторов и потребляет 1.7 Вт от источника питания +5В. Схема выпускается в 40-выводном корпусе. Синхронизируется однофазными импульсами с частотой повторения 5 МГц от внешнего тактового генератора. МП ВМ88 содержит 14 16-битовых внутренних регистров и образует 8-битовую шину данных для связи с внешней памятью и портами ввода-вывода. Шина адреса имеет 20 линий, что позволяет непосредственно адресоваться к памяти емкостью до 1 Мбайта.  

Т.к. проектируемое устройство состоит только из одного процессора, и число сопрягаемых с ним устройств невелико, ВМ88 работает в минимальном режиме.

  1.  Генератор тактовых импульсов

Стандартным образом к микропроцессору подключается генератор тактовых импульсов К1810ГФ84. К его входу RES подключена RC-цепочка, которая формирует сигнал сброса автоматически при включении питания либо с помощью ключа SA.

  1.  Шинные формирователи и регистры – защелки

При разработке структуры блока ЦП необходимо решить задачи разделения (демультиплексирования) шины адреса/данных, буферизации шины адреса и шины данных, а также задачу формирования системных управляющих сигналов для внешних устройств. Первая задача решается с помощью ИС К580ИР82, выполняющих функции адресной защёлки (в связи с тем, что адресная информация должна быть выставлена в течение всего цикла чтения/записи). Первая микросхема защёлкивает младшие 8 бит ША, вторая – старшие. Вторая задача решается с помощью двунаправленного 8-битового шинного формирователей К580ВА86, который усиливает сигналы системной шины данных.

  1.  ПЗУ 

ПЗУ состоит из микросхемы К537РФ6, емкостью 256 байт. На вход выбора кристалла подается 9 разряд шины адреса (А8). Адресная шина с 0 по 7 разряд заводится на адресные входы микросхем.

  1.  Контроллер клавиатуры и индикации

Контроллер КР580ВВ79 предназначен для ввода данных в микропроцессор с клавиатуры и вывода из микропроцессора на индикаторный дисплей. Микросхема состоит из двух функционально автономных частей: клавиатурной и дисплейной. Индикаторная часть имеет свое ОЗУ 16х8 бит, которое также можно использовать, как два ОЗУ 16х4 бита. Оно хранит воспроизводимые на индикаторе символы, загружается и опрашивается микропроцессором. Индикатор может быть основан как на светодиодах, жидких кристаллах, так и на простых лампочках. Контроллер поддерживает 2 типа вводов: ввод слева, ввод справа со сдвигом (как на калькуляторах).

Программирование:

Устройство будет работать в режиме восьмиразрядного восьмисимвольного дисплея, для выбора индикатора будет использоваться внешний дешифратор. Для чего составим управляющие слова, по следующей схеме:

Тогда управляющее слово примет вид: 00000000, где младшие три бита для нас не имеют значения, так как управляют клавиатурой. 3-4 биты задают режим дисплея – 8 символьный 8 разрядный, с вводом слева (00). Старшие биты определяют команду, в данном случае 000 – инициализация.

  1.  Программируемый таймер

Микросхема КР580ВИ54 – трехканальное программируемое устройство (таймер), предназначено для организации работы микропроцессорных систем в режиме реального времени. Микросхема формирует сигналы с различными временными параметрами.  

Программируемый таймер (ПТ) реализован в виде трех независимых 16-разрядных каналов с общей схемой управления. Каждый канал может работать в шести режимах.

Управляющее слово определят режим работы канала, тип счета, формат чисел. Обмен информацией с микропроцессором осуществляется по 8-разрядному двунаправленному каналу данных.

Программирование:

0 и 1 каналы таймера будут работать во втором режиме («импульсный генератор частоты», с автозапуском). Запись и чтение будут производиться попарно, начиная с младшего байта, режим счета – двоичный. 2 канал не используется.

Для чего составим управляющие слова, по следующей схеме:

Тогда управляющие слова примут вид: 00110100, 01110100 соответственно.

Старшие 2 бита каждого из них определяют канал (00 – 0 канал, 01 – 1 канал); младший бит определяет 16 разрядный счет (0); 1-3 биты определяют режим канала, для всех каналов режим 2 (010). 4-5 биты определяют, что загрузка и выгрузка информации будет проходить двумя подряд идущими байтами, причем первыми будут младшие разряды.

После загрузки управляющих слов необходимо загрузить константы пересчета (см. код программы). В данном случае первый канал содержит константу пересчета, отвечающую за деление частоты до одной микросекунды:

Это позволит отсчитывать каждую тысячную секунды для обеспечения точности измерений.

Второй канал таймера будет накапливать отчеты, рассчитанные выше, ориентируясь на выход первого таймера.

  1.  
    Текст программы

0000h:

; ----------------------------------------------------------------

; Обнуление

; ----------------------------------------------------------------

XOR AX,AX   

MOV DS,AX  ;сегмент данных = 0

; ----------------------------------------------------------------

; Инициализация IOP

; ----------------------------------------------------------------

 MOV [0501h],AX ;настройка стартового состояния дисплея

   ;т.к. AX=0 - нулевой режим дисплея

 

InitPIT:

; ----------------------------------------------------------------

; Инициализация PIT

; ----------------------------------------------------------------

MOV AL,34h  ;канал 0, запись 2 байт (младший, потом старший),

 MOV [0303h],AL ;2 режим, двоичный счет

MOV AL,C4h  ;младший байт константы пересчета для точности в 1 мс (09С4h)

MOV [0300h],AL  

MOV AL,09h  ;старший байт константы пересчета для точности в 1 мс (09С4h)

MOV [0300h],AL  

MOV AL,74h  ;канал 1, запись 2 байт (младший, потом старший),

MOV [0303h],AL ;2 режим, двоичный счет

MOV AL,FFh  ;младший байт максимальной константы пересчета(FFFFh)

MOV [0301h],AL   

MOV AL,FFh  ;старший байт максимальной константы пересчета(FFFFh)

MOV [0301h],AL  

 

ReadSignal:

; ----------------------------------------------------------------

; Проверка наличия измеряемого интервала времени

; ----------------------------------------------------------------

MOV AL,40h  ;команда CLC, защёлкивание канала 1

 MOV[0303h],AL

MOV AL,74h  ;команда запроса на чтение канала 1

 MOV [0303h],AL

 MOV CL,[0301h] ;считывание младшего байта буферного регистра OL

 MOV CH,[0301h] ;считывание старшего байта буферного регистра OL

 MOV AX,FFFFh  

SUB AX,CX  

 CMP AX,1h  ;проверка на наличие сигнала

JE CheckTime ;если сигнал есть - переходим по метке, если нет - далее

JB ReadSignal ;если AX<1,значит сигнал не поступил,

   ; следовательно, начинаем сначала

   ;AX не может быть больше 1, т.к. тактовая частота процессора

   ;в 5000 раз больше, чем частота работы 1 канала таймера(1кГц),

   ;следовательно пропустить 1 квантующий импульс мы не можем

CheckTime:

; ----------------------------------------------------------------

; Расчёт длительности измеряемого интервала

; ----------------------------------------------------------------

MOV AL,40h  ;команда CLC, защёлкивание канала 1

MOV [0303h],AL

MOV AL,74h  ;команда запроса на чтение канала 1

MOV [0303h],AL

MOV CL,[0301h] ;считывание младшего байта буферного регистра OL

MOV CH,[0301h] ;считывание старшего байта буферного регистра OL

MOV AX,FFFFh ;записываем в АХ максимальную константу пересчёта

SUB AX,CX  ;после вычитания в AX останется длительность

   ;измеряемого временного интервала в мс

 MOV BX,AX  ;копируем АХ в ВХ

; ----------------------------------------------------------------

; А вдруг результат выше предела измерений?

; ----------------------------------------------------------------

MOV CX,03E8h ;сравниваем количество измеренных импульсов с

CMP AX,CX  ;максимально допустимым количеством

   ;импульсов (03E8h=1000мс=1с)

JA DisplayError ;если больше - ошибка, если меньше - далее

; ----------------------------------------------------------------

; Вывод на индикаторы

; ----------------------------------------------------------------

      MOV AL,90h  ;извещаем IOP о записи в память дисплея

 MOV [0501h],AL 

 MOV AX,BX  ;перемещаем в AX ранее скопированное число импульсов

 MOV BX,00E0h ;перемещаем в BX адрес массива семисегментного кода

MOV CL,0Ah  ;для вывода на дисплей будем делить на 0Ah, то есть на 10

 DIV CL  ;делим на 10

 XCHG AL,AH ;меняем местами AL и AH

 XLAT   ;выполняем замену байтов в регистре AL байтами

;из памяти по вычисленному адресу [BX+AL]

MOV [0500h],ALAL - семисегментный код цифры (4 цифра)

 MOV AL,00h  ;обнуляем регистр AL

 XCHG AL,AH ;меняем местами AL и AH (теперь в AX частное после деления)

 DIV CL  ;делим на 10

XCHG AL,AH ;меняем местами AL и AH

 XLAT   ;выполняем замену байтов в регистре AL байтами

;из памяти по вычисленному адресу [BX+AL]

MOV [0500h],ALAL - семисегментный код цифры (3 цифра)

 MOV AL,00h  ;обнуляем регистр AL

 XCHG AL,AH ;меняем местами AL и AH (теперь в AX частное после деления)

 DIV CL  ;делим на 10

XCHG AL,AH ;меняем местами AL и AH

 XLAT   ;выполняем замену байтов в регистре AL байтами

;из памяти по вычисленному адресу [BX+AL]

MOV [0500h],ALAL - семисегментный код цифры (2 цифра)

MOV AL,00h  ;обнуляем регистр AL

 XCHG AL,AH ;меняем местами AL и AH (теперь в AX частное после деления)

XLAT   ;выполняем замену байтов в регистре AL байтами

;из памяти по вычисленному адресу [BX+AL]

MOV [0500h],ALAL - семисегментный код цифры (1 цифра)

JMP InitPIT  ;цикл закончен - переининциализируем таймер и заново

DisplayError:

; ----------------------------------------------------------------

; Сообщения об ошибке на индикаторах

; ----------------------------------------------------------------

XOR AX,AX  ;очищаем AX

      MOV AL,90h  ;извещаем IOP о записи в память дисплея

MOV [0501h],AL

MOV [0500h],AL ;очищаем дисплей (4 ячейки)

 MOV [0500h],AL

MOV [0500h],AL

 MOV [0500h],AL

JMP InitPIT  ;перейти к инициализации таймера

00E0h:

; ----------------------------------------------------------------

; Семисегментный код

; ----------------------------------------------------------------

3Fh    ;0

06h    ;1

 5Bh    ;2

4Fh    ;3

66h    ;4

6Dh    ;5

7Dh    ;6

07h    ;7

 7Fh    ;8

6Fh    ;9

00F0h:

; ----------------------------------------------------------------

; Точка входа

; ----------------------------------------------------------------

 Jmp 0000h

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

Обозначение

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

Количество, шт

Микросхемы

DD1

КР1810ГФ84

1

DD2

КР1810ВМ88

1

DD3

КР580ИР82

1

DD4

КР580ВА86

1

DD5

К537РФ6

1

DD6

КР580ВВ79

1

DD7

К1810ВИ54

1

DD8

К155ИД7

1

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

С1

К-10У-5-3-10пФ20%

1

С2

К-10У-5-10-1мкФ20%

1

Резисторы

R1

МЛТ-0,5-510кОм10%

1

R2

МЛТ-0,5-1кОм10%

1

Транзисторы

VT1-VT4

КТ315А

4

Индикаторы

HL1-HL4

АЛС324Б

4

Кварц

ZQ1

Кварц 12 МГц

1

Список использованной литературы

  1.  «Микропроцессорный комплект К1810: структура, программирование, применение. Справочная книга» Казаринов, Номоконов, Филиппов – Москва, 1990г.
  2.  Методическое пособие №1882 «Освоение ассемблера» Мичурина М. М., Сушкин И. Н.
  3.  Методическое пособие №2000 «Контроллер клавиатуры и индикации» Мичурина М. М.
  4.  Методическое пособие №2187 «Цифровые устройства и микропроцессоры. Архитектура микропроцессоров Intel» Мичурина М. М.

Проектирование МПС

Пояснительная записка

Первичное применение

Справочный №

КР - 210302.65-0801664 ПЗ

КР - 210302.65-0801664 ПЗ

РФ 09-10

РФ 09-10

13

13

2

2

Лист

Лист

Лит.

Лит.

Листов

Листов

Подпись и дата

Инв. № дубл.

Взам. инв. №

Подпись и дата

Инв. № подл.


 

А также другие работы, которые могут Вас заинтересовать

14740. Використання системи AutoCAD для побудови і редагування тривимірних креслень 92.03 KB
  Звіт про лабораторну роботу №2 з дисципліни Технології проектування комп’ютерних систем на тему: Використання системи AutoCAD для побудови і редагування тривимірних креслень. Тема роботи: Використання системи AutoCAD для побу дови і редагування тривимірних кресле...
14741. Тонування зображень тривимірних креслень в системі AutoCAD 181.8 KB
  Звіт про лабораторну роботу №3 з дисципліни Технології проектування комп’ютерних систем Тема роботи: Тонування зображень тривимірних креслень в системі AutoCAD. Мета роботи: отримати практичні навики по вибору виду для тонування підбору освітлення об'єктів і завда...
14742. Використання системи КОМПАС-ГРАФІК для побудови і редагування двовимірних, тримірних креслень 120.82 KB
  Звіт про лабораторну роботу №4 з дисципліни Технології проектування комп’ютерних систем Тема роботи: Використання системи КОМПАСГРАФІК для побудови і редагування двовимірних тримірних креслень. Мета роботи: Отримати практичні навики по вибору виду для тонуван
14743. Исследование процесса гибки-формовки 1.03 MB
  Раздел МЕТОДИЧЕСКИЕ МАТЕРИАЛЫ к ЛАБОРАТОРНОЙ РАБОТЕ № 2 Исследование процесса гибкиформовки 1. Содержание лабораторной работы 1.1 Цель и задачи лабораторной работы Ознакомится с характерными особенностями и технологическими возможностями процесса гибки; в...
14744. Исследование процесса вытяжки деталей 680 KB
  Раздел МЕТОДИЧЕСКИЕ МАТЕРИАЛЫ к ЛАБОРАТОРНОЙ РАБОТЕ № 1 Исследование процесса вытяжки деталей 1. Получить у преподавателя вариант индивидуального задания на выполнение работы. 2. Вычертить эскиз детали. Указать наименование детали размеры марку материала и его т...
14745. Упрочнение термической объемной обработкой 98.35 KB
  Упрочнение термической объемной обработкой Термическая обработка включает следующие основные типы: отжиг I рода отжиг II рода закалка без полиморфного превращения закалка с полиморфным превращением отпуск и старение. Каждый из этих типов термической обработки качес...
14746. Упрочнение химико-термической обработкой 160.41 KB
  Упрочнение химикотермической обработкой Химикотермическая обработка ХТО совокупность процессов диффузионного насыщения поверхностного слоя одним или несколькими химическими элементами в сочетании с предварительной или последующей термической обработкой. ...
14747. Измерение напряжения электрических сигналов 690 KB
  Измерение напряжения электрических сигналов методические указания к лабораторной работе № 3.4 по курсам МЕТРОЛОГИЯ СТАНДАРТИЗАЦИЯ И СЕРТИФИКАЦИЯ МЕТРОЛОГИЯ И ЭЛЕКТРОРАДИОИЗМЕРЕНИЯ В телекоммуникациОННЫХ СИСТЕМАХ МЕТРОЛОГИЯ И РАДИОИЗМЕРЕНИЯ
14748. Упрощенная процедура обработки результатов прямых измерений с многократными наблюдениями 587.5 KB
  Упрощенная процедура обработки результатов прямых измерений с многократными наблюдениями методические указания к лабораторной работе № 1.4 по курсам: МЕТРОЛОГИЯ СТАНДАРТИЗАЦИЯ И СЕРТИФИКАЦИЯ МЕТРОЛОГИЯ И ЭЛЕКТРОРАДИОИЗМЕРЕНИЯ В телекоммуникациОННЫ...