Низкочастотный частотомер

Разработка электронного частотомера в диапазоне частот от 1 до 10 Гц; распределение адресного пространства. Устройства системы и их программирование: центральный процессор, генератор тактовых импульсов, контроллер клавиатуры, интервальный таймер.

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык русский
Дата добавления 07.03.2012
Размер файла 225,1 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

Размещено на http://www.allbest.ru/

  • Содержание
  • 1. Техническое задание
  • 2. Анализ технического задания
  • 3. Распределение адресного пространства
  • 4. Устройства системы и их программирование
    • 4.1 Центральный процессор
    • 4.2 Генератор тактовых импульсов
    • 4.3 Шинные формирователи и регистры - защелки
    • 4.4 ПЗУ
    • 4.5 Контроллер клавиатуры и индикации
    • 4.6 Интервальный таймер
  • 5. Текст программы
  • Литература
  • 1. Техническое задание
  • Разработать электронный частотомер в диапазоне частот от 1 до 10 Гц, с детализацией измерений до 1 мГц. Ввод измеряемого сигнала производить напрямую, без согласующего элемента. Согласование будет обеспечиваться внешним устройством. Результаты измерений вывести на дисплей.
  • 2. Анализ технического задания
  • Для построения системы воспользуемся микропроцессорным комплектом К1810 (центральный процессор К1810ВМ86). Для реализации времязадающих функций воспользуемся таймером К1810ВИ54. Взаимодействие с пользователем организуем с помощью контроллера клавиатуры и индикации КР580ВВ79. Программный код будем хранить в ПЗУ, организованной двумя микросхемами К537РФ6. Тактовый генератор для системы будем использовать К1810ГФ84. Для адекватной работы шины адреса и шины данных будем использовать буферные регистры КР580ИР82 и шинные формирователи КР580ВА86. Все микросхемы выполнены по стандартной ТТЛ технологии, поэтому могут свободно взаимодействовать друг с другом.
  • Так как проектируемое устройство оперирует достаточно малым количеством информации, то ОЗУ использоваться не будет. Его функции будут выполнять дополнительные регистры процессора. Это решение уменьшит стоимость оборудования, т.к. не придется устанавливать микросхемы памяти, однако увеличит размер исполняемого кода, т.к. не останется возможности для организации циклов встроенными средствами ЦП, организации подпрограмм и работы стека.
  • Так как устройство не представляется сложным, а алгоритм его работы достаточно прост, то принцип прерываний использовать не будем, и работу системы организуем «по опросу». Основываясь на тех же причинах, откажемся от использования системы раздельной адресации, и будем использовать общую адресацию.
  • Тактовую частоту зададим максимально возможную - 5МГц
  • 3. Распределение адресного пространства
  • Схематически распределение адресного пространства представлено на следующей схеме:
  • Примечание: [х] - бит не важен или не существует (для сегмента)
  • Всего используется три информационных устройства (банк памяти, таймер, контроллер клавиатуры и дисплея), каждое выбирается своим битом шины адреса, причем ПЗУ выбирается уровнем логической 1 (т.к. при старте на шину старшие 16 бит выдаются равными 1), остальные устройства - логическим нулем.
  • Наибольшую информационную емкость имеет ПЗУ - каждая микросхема рассчитана на 256 байт, и соответственно адресуется 8 битами, а учитывая, что микросхем две - на их адресацию уйдет 9 бит.
  • В результате младшие 9 бит шины адреса будут использоваться устройствами, следующие 3 бита будут участвовать в выборе устройства, последние 8 бит для системы не будут иметь значения.
  • электронный частотомер процессор таймер
  • 4. Устройства системы и их программирование
  • 4.1 Центральный процессор
  • Центральный процессор К1810ВМ86 представляет собой однокристальный 16-битовый МП, выполненный по высококачественной n-МОП технологии. Кристалл микросхемы с геометрическими размерами 5.5х5.5 мм содержит около 29000 транзисторов и потребляет 1.7 Вт от источника питания +5В. Схема выпускается в 40-выводном корпусе. Синхронизируется однофазными импульсами с частотой повторения 5 МГц от внешнего тактового генератора. МП ВМ86 содержит 14 16-битовых внутренних регистров и образует 16-битовую шину данных для связи с внешней памятью и портами ввода-вывода. Шина адреса имеет 20 линий, что позволяет непосредственно адресоваться к памяти емкостью до 1 Мбайта.
  • Т.к. проектируемое устройство состоит только из одного процессора, и число сопрягаемых с ним устройств невелико, ВМ86 работает в минимальном режиме.
  • 4.2 Генератор тактовых импульсов
  • Стандартным образом к микропроцессору подключается генератор тактовых импульсов К1810ГФ84. К его входу RES подключена RC-цепочка, которая формирует сигнал сброса автоматически при включении питания либо с помощью ключа Sк.
  • 4.3 Шинные формирователи и регистры - защелки
  • При разработке структуры блока ЦП необходимо решить задачи разделения (демультиплексирования) шины адреса/данных, буферизации шины адреса и шины данных, а также задачу формирования системных управляющих сигналов для внешних устройств. Первая задача решается с помощью ИС К580ИР82, выполняющих функции адресной защёлки (в связи с тем, что адресная информация должна быть выставлена в течение всего цикла чтения/записи). Первая микросхема защёлкивает младшие 8 бит ША, вторая - старшие. Вторая задача решается с помощью двунаправленных 8-битовых шинных формирователей К580ВА86, которые усиливают сигналы системной шины данных.
  • 4.4 ПЗУ
  • Система ПЗУ состоит из двух микросхем К537РФ6, общей емкостью 512 байт. Одна микросхема подключается к младшим разрядам шины данных, вторая - к старшим. На вход выбора кристалла первой подается 0 разряд шины адреса, на вход выбора кристалла второй - BHE центрального процессора. Адресная шина с 1 по восьмой разряд заводится на адресные входы микросхем. При такой организации центральный процессор может считывать информацию словами или отдельными байтами.
  • 4.5 Контроллер клавиатуры и индикации
  • Контроллер КР580ВВ79 предназначен для ввода данных в микропроцессор с клавиатуры и вывода из микропроцессора на индикаторный дисплей. Микросхема состоит из двух функционально автономных частей: клавиатурной и дисплейной. Индикаторная часть имеет свое ОЗУ 16х8 бит, которое также можно использовать, как два ОЗУ 16х4 бита. Оно хранит воспроизводимые на индикаторе символы, загружается и опрашивается микропроцессором. Индикатор может быть основан как на светодиодах, жидких кристаллах, так и на простых лампочках. Контроллер поддерживает 2 типа вводов: ввод слева, ввод справа со сдвигом (как на калькуляторах).
  • Программирование
  • Устройство будет работать в режиме восьмиразрядного восьмисимвольного дисплея, для выбора индикатора будет использоваться внешний дешифратор. Для чего составим управляющие слова, по следующей схеме:
  • Тогда управляющее слово примет вид: 00000000, где младшие три бита для нас не имеют значения, так как управляют клавиатурой. 3-4 биты задают режим дисплея - 8 символьный 8 разрядный, со вводом слева (00). Старшие биты определяют команду, в данном случае 000 - инициализация.
  • 4.6 Интервальный таймер
  • Микросхема КР580ВИ54 - трехканальное программируемое устройство (таймер), предназначено для организации работы микропроцессорных систем в режиме реального времени. Микросхема формирует сигналы с различными временными параметрами.
  • Программируемый таймер (ПТ) реализован в виде трех независимых 16-разрядных каналов с общей схемой управления. Каждый канал может работать в шести режимах.
  • Управляющее слово определят режим работы канала, тип счета, формат чисел. Обмен информацией с микропроцессором осуществляется по 8-разрядному двунаправленному каналу данных.
  • Программирование
  • Все три канала таймера будут работать во втором режиме («импульсный генератор частоты», с автозапуском). Запись и чтение будут производиться попарно, начиная с младшего байта, режим счета - двоичный
  • Для чего составим управляющие слова, по следующей схеме:
  • Тогда управляющие слова примут вид: 00110100, 01110100, 10110100 соответственно.
  • Старшие 2 бита каждого из них определяют канал (00-0, 01-1, 10-2), младший бит определяет 16 разрядный счет (0), 1-3 биты определяют режим канала, для всех каналов режим 2 (010). 4-5 биты определяют, что загрузка и выгрузка информации будет проходить двумя подряд идущими байтами, причем первыми будут младшие разряды.
  • После загрузки управляющих слов необходимо загрузить константы пересчета (см. код программы). В данном случае первый канал содержит константу пересчета, отвечающую за деление частоты до одного микрогерца:
  • Что позволит отсчитывать каждую тысячную секунды для обеспечения точности измерений, указанной в задании.
  • Второй канал таймера будет накапливать отчеты, рассчитанные выше, ориентируясь на выход первого таймера.
  • Третьим каналом таймера будет приниматься внешний импульс для дальнейшей обработки.
  • 5. Текст программы
  • Init:
  • ;-------------------------------
  • ;Обнуление
  • ;-------------------------------
  • XOR AX,AX
  • MOV DS,AX;сегмент данных = 0
  • ;-------------------------------
  • ;Инициализация IOP
  • ;-------------------------------
  • MOV [0401h],AL;10 канал адреса=0 (выбор IOP), 0 канал=1(управление)
  • ;AL=0 - нулевой режим дисплея
  • InitTimer:
  • ;-------------------------------
  • ;Инициализация таймера
  • ;-------------------------------
  • MOV BX,0400h;11 канал адреса (выбор таймера)
  • MOV [BX+3],34h;0 и 1 каналы = 1 (управление)
  • ;канал 0, запись 2 байт, 2 режим, двоичный счет
  • MOV [BX],18h;1318h константа пересчета для точности
  • MOV [BX],13h
  • MOV [BX+3],74h;канал 1, запись 2 байт, 2 режим, двоичный счет
  • MOV [BX+1],FFh;FFFFh максимальная константа пересчета
  • MOV [BX+1],FFh
  • MOV [BX+3],B4h;канал 2, запись 2 байт, 2 режим, двоичный счет
  • MOV [BX+2],FFh
  • MOV [BX+2],FFh
  • ReadSignal:
  • ;-------------------------------
  • ;Считать внешний сигнал
  • ;-------------------------------
  • MOV BX,0400h;Выбор таймера
  • MOV [BX+3],80h;Извещаем таймер о чтении третьего канала
  • MOV CL,[BX+2];Читаем младший байт
  • MOV CH,[BX+2];Читаем старший байт
  • SUB CX,FFFFh;Инвертируем результат (таймер обратносчетный)
  • ;-------------------------------
  • ;Считать результат измерений
  • ;-------------------------------
  • MOV [BX+3],40h;Извещаем таймер о чтении второго канала
  • MOV DL,[BX+2];Читаем младший байт
  • MOV DH,[BX+2];Читаем старший байт
  • SUB DX,FFFFh;Инвертируем результат (таймер обратносчетный)
  • ;-------------------------------
  • ;Поступил сигнал?
  • ;-------------------------------
  • CMP CX,1
  • JE CheckFreq;Да
  • ;Нет - далее
  • ;-------------------------------
  • ;Результат выше предела измерений?
  • ;-------------------------------
  • CMP CX,0
  • JNE DisplayError
  • CMP DX,7530h;7530h=30 000 (10 Герц при учете кванта в 0,001 сек)
  • JNA ReadSignal;Нет - перейти на чтение сигнала
  • DisplayError:
  • ;-------------------------------
  • ;Вывод сообщения об ошибке
  • ;-------------------------------
  • MOV BX,0400h;Выбор IOP
  • XOR AX,AX;Очищаем AX
  • MOV [BX+1],90h;Извещаем IOP о записи в память дисплея
  • MOV [BX],AL;Очищаем дисплей (5 ячеек)
  • MOV [BX],AL
  • MOV [BX],AL
  • MOV [BX],AL
  • MOV [BX],AL
  • JMP InitTimer;Перейти к инициализации аймера
  • CheckFreq:
  • ;-------------------------------
  • ;Результат ниже предела измерений?
  • ;-------------------------------
  • CMP DX,03E8h;03E8h=1 000(1 Герц при учете кванта в 0,001 сек)
  • JB DisplayError;Да - перейти на отображение ошибки
  • ;-------------------------------
  • ;Расчет частоты
  • ;-------------------------------
  • MOV DX,000Fh;Эти две команды устанавливают DX:AX в 1 000 000
  • MOV AX,4240h
  • DIV CX;Делим 1 000 000 на период в мсек,
  • ;получаем частоту в AX в мГц
  • ;-------------------------------
  • ;Вывод частоты
  • ;-------------------------------
  • MOV BX,0400h;Выбор IOP
  • MOV [BX+1],90h;Извещаем IOP о записи в память дисплея
  • MOV CX,0Ah;Для вывода на дисплей будем делить на 0Ah, тоесть на
  • 10
  • XOR DX, DX;Обнуляем DX для деления, в AX уже нужное число
  • DIV CX
  • MOV DX,[DX+Digits]
  • MOV [BX],DX;Первая цифра по адресу :остаток от деления + база
  • массива цифр
  • XOR DX,DX
  • DIV CX
  • MOV DX,[DX+Digits]
  • MOV [BX],DX;Вторая цифра
  • XOR DX,DX
  • DIV CX
  • MOV DX,[DX+Digits]
  • MOV [BX],DX;Третья цифра
  • XOR DX,DX
  • DIV CX
  • MOV [BX],[DX+Digits];Четвертая цифра
  • CMP AX,1;Если пятая цифра - 1 то выводим один, иначе пустой экран
  • JNE BlankDigit
  • MOV DX,[Digits+1]
  • MOV [BX],DX
  • JMP InitTimer;Цикл закончен - переининциализируем таймер и заново
  • BlankDigit:
  • MOV [BX],0
  • JMP InitTimer
  • ;-------------------------------
  • ;Точка входа
  • ;-------------------------------
  • 1F0:
  • JMP 00:0E00;Переход в начало памяти и задание CS
  • Digits:
  • ;-------------------------------
  • ;Наборы бит для отображения цифр
  • ;-------------------------------
  • FCh;0
  • 60h;1
  • DAh
  • F2h
  • 66h
  • B6h
  • BEh
  • E0h
  • FEh;8
  • F6h;9
  • Литература

1. «Микропроцессорный комплект К1810: структура, программирование, применение. Справочная книга» Казаринов, Номоконов, Филиппов - Москва, 2010г.

2. Методическое пособие №1882 «Освоение ассемблера» Мичурина М.М., Сушкин И.Н.

3. Методическое пособие №2000 «Контроллер клавиатуры и индикации» Мичурина М.М.

4. Методическое пособие №2187 «Цифровые устройства и микропроцессоры. Архитектура микропроцессоров Intel» Мичурина М.М.

5. Информация сети Internet

Размещено на Allbest.ru


Подобные документы

  • Применение цифровых микросхем для вычисления, управления и обработки информации. Назначение микропроцессора и устройств микропроцессорной системы, их структурная и принципиальная схемы. Системная шина процессора и распределение адресного пространства.

    курсовая работа [1,5 M], добавлен 29.02.2012

  • Состав однокристального микроконтроллера и его базовая организация. Совмещение логических линий для сокращения ширины физического интерфейса. Распределение адресного пространства. Разработка электрической принципиальной схемы и программного обеспечения.

    курсовая работа [231,3 K], добавлен 22.10.2012

  • Виртуальная память и организация адресного пространства Windows NT4/2000: файл подкачки, PAE, Application Memory Tuning, Address Windowing Extensions. Производительность, архитектурные ограничения, RAM, 64–битные процессоры и адресные пространства.

    курсовая работа [3,5 M], добавлен 14.07.2012

  • Операционные системы, среды и оболочки. Компоненты персонального компьютера: центральный процессор, память, устройства ввода-вывода, контроллер видеопамяти. Управление диском, способы установки драйверов. Алгоритм начальной загрузки операционной системы.

    презентация [113,9 K], добавлен 24.07.2013

  • Как изготавливается процессор. Выбор процессора для офисного, игрового и домашнего компьютеров. Как заменить центральный процессор в компьютере. Повышение быстродействия процессоров, тактовой частоты, быстродействия памяти, понижение таймингов.

    дипломная работа [1,7 M], добавлен 29.04.2014

  • Проектирование элементов микросхем ПЗУ и ОЗУ с помощью приложения MS Visio 2010. Деление и расширение адресного пространства. Расчет дополнительного оперативного запоминающего устройства и проверка компонентов системы на электрическое взаимодействие.

    курсовая работа [174,9 K], добавлен 08.11.2014

  • Организация центрального процессора. Подключение интерфейсных программируемых БИС. Методы адресации и примеры команд. Программирование таймера и контроллера прерываний. Программная модель микропроцессорной системы. Программирование на языке ассемблера.

    реферат [82,6 K], добавлен 05.12.2010

  • Средства индикации, сигнализации, подключения. Датчики и исполнительные органы. Краткая характеристика технических средств и технологии отладки аппаратной и программной сред контроллера. Распределение адресного пространства. Алгоритм работы устройства.

    курсовая работа [870,4 K], добавлен 16.01.2015

  • Создание одной из форм обучения с использованием средств новых информационных технологий - электронного учебника. Администрирование электронного учебного пособия на тему "Линейное программирование". Проектирование структуры электронного учебника.

    курсовая работа [1,7 M], добавлен 09.06.2010

  • Функционально-структурная организация ЭВМ: архитектура, назначение основных блоков компьютера, принцип взаимодействия устройств. Физические характеристики компонентов ЭВМ: центральный процессор, память, шина; устройства ввода информации; периферия.

    реферат [25,5 K], добавлен 24.03.2011

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.