Преобразователь частоты в двоичный код

Определение состава микроконтроллера: тактового генератора, памяти программ и данных, порта ввода-вывода. Изучение структурной схемы преобразователя частоты в двоичный 8-разрядный код, а также блок-схемы алгоритма и листинга разрабатываемой программы.

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

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

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

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

НОВОСИБИРСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ

ФАКУЛЬТЕТ АВТОМАТИКИ И ВЫЧИСЛИТЕЛЬНОЙ ТЕХНИКИ

Кафедра Систем Сбора и Обработки Данных

Контрольная работа

По дисциплине «Микроконтроллеры»

Преобразователь частоты в двоичный код

Группа АО-01

Студентка: Шуваева Я.В.

Преподаватель: Еленычев С.В.

Новосибирск 2013

Содержание

Задание

Введение

1. Структурная схема

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

3. Блок-схема алгоритма разрабатываемой программы

4. Листинг программы

Заключение

Список литературы

Задание

Разработать преобразователь частоты в двоичный 8-разрядный код. Входной диапазон 200 - 1224Гц, т.е. 200Гц соответствует значение кода 0х00, 1224Гц - 0xFF. Значение кода выводить через последовательный интерфейс RS-232 по запросу. В качестве запроса используется символ '?'.

Введение

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

Именно поэтому были разработаны микросхемы, которые объединяют в себе сразу все элементы микропроцессорной системы. Такие микропроцессоры называются микроконтроллерами. В советское время такие микросхемы называли «Однокристальные микро ЭВМ».

Для однокристальных микроконтроллеров понятие «центральный процессор» обычно не употребляется. Так как процессор - это все-таки отдельное устройство. Функции процессора в микроконтроллере заменяет арифметико-логическое устройство (АЛУ).

Кроме АЛУ, микроконтроллер содержит в своём составе:

¦ тактовый генератор;

¦ память данных;

¦ память программ;

¦ порты ввода-вывода.

Все эти элементы соединены между собой внутренними шинами данных и адреса. С внешним миром микроконтроллер общается при помощи портов ввода-вывода. Любой микроконтроллер всегда имеет один или несколько портов. Кроме того, современные микроконтроллеры всегда имеют встроенную систему прерываний, а также встроенные программируемые таймеры, компараторы, цифроаналоговые преобразователи и многое другое.

Если речь идёт не о большом компьютере, а о портативном устройстве управления, то в нём применяются именно микроконтроллеры. Конечно, любая реальная схема редко обходится без простых логических микросхем, триггеров, счётчиков и тому подобного. Но основой всегда является микроконтроллер. Чистые микропроцессоры в настоящее время применяются только в персональных компьютерах.

1. Структурная схема

Структурная схема нашего преобразователя частоты в двоичный 8-разрядный код имеет следующие элементарные звенья:

· Микроконтроллер - звено, которое необходимо для преобразования частоты в двоичный код;

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

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

Рис.1. Структурная схема системы

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

Данная схема определяет полный состав элементов системы и связи между ними и дает детальное представление ее о принципах работы.

В качестве микроконтроллера выбираем ATtiny2313 (DD1) серии AVR, так как он экономичен и производителен. Имеет удобный для разводки платы и пайки корпус SOIC. Расстояния между ножками относительно большое. Широко доступен в продаже. Недорог.

Для большей помехоустойчивости на порты ввода/вывода RESET (сброс) и VVC(питание) ставятся дополнительные внешние элементы: конденсаторы - для RESET и VVC, катушка индуктивности - VVC, резистор - RESET. Их номинальные значения указаны в Tаблице 1. Особенно важна помехоустойчивость для порта RESET, так как если напряжение на нем ниже допустимого, то вызывается сброс, а, следовательно, и микроконтроллер перестает работать.

Также к портам ввода/вывода XTAL1 и XTAL2 подключаем кварцевый резонатор (ZQ1). Это необходимо создания высокой стабильности тактовой частоты задающего внутреннего генератора. Также на внешнем кварце можно добиться максимальной производительности от микроконтроллера. Частота МК в данном случае определяется частотой, которую имеет кварцевый резонатор. микроконтроллер программа генератор частота

В роли последовательного преобразователя интерфейсов была выбрана микросхема ADM202 (DD1). Она является надежной, быстродействующей компонентой интерфейса RS-232. Этот преобразователь подходит для применения в средах с жесткими электрическими условиями.

Таблица 1.Позиционные обозначения элементов

Позиционное обозначение

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

Количество

С1

Конденсатор керамический - 10мкФ

1

С2

Конденсатор керамический - 10мкФ

1

С3

Конденсатор керамический - 0,1мкФ

1

С4-С5

Конденсатор керамический - 15пФ

2

С6-С10

Конденсатор керамический - 1мкФ

5

DD1

Микроконтроллер ATINY2312

1

DD2

Преобразователь интерфейсов ADM202

1

L1

Катушка индуктивности - 5мкГн

1

R

Резистор - 10кОм

1

X1

Последовательный интерфейс RS-232

1

ZQ1

Кварцевый резонатор - 16 МГц

1

Рис.2. Принципиальная схема системы

3. Блок-схема алгоритма разрабатываемой программы

4. Листинг программы

.INCLUDE:”..\appotes\2312def.inc” ; подключение файла со спецификацией

;регистров ввода/вывода

.DSEG ; объявление сегмента данных

.ORG 0x60 ; начало пользовательского ОЗУ

.CSEG ; объявление сегмента кода

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

rjmp Reset ;вектор прерывания при сбросе и включении

rjmp INT1_ interrupt ; внешний запрос на прерывание по входу INTO

rjmp INT0_ interrupt ; внешний запрос на прерывание по входу INT1

rjmp T1CAPT_interrupt ; прерывание по захвату таймера/счетчика 1

rjmp T1OVF_interrupt ; прерывание по переполнению

;таймера/счетчика 1

rjmp T0OVF_interrupt ; прерывание по переполнению

;таймера/счетчика 0

rjmpT0COMP_interrupt ; прерывание по совпадению таймера/счетчика 0

rjmp USART_RXC_ interrupt ; USARTO, прием завершен

rjmp USART_TXC_ interrupt ; USARTO, передача завершена

rjmp USART_UDRE _ interrupt ; USARTO буфер данных пуст

; Инициализация микроконтроллера

Reset:

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

ldi r16, 0x7F

out SPL, r16

; Настройка последовательного порта USART

;Настройка линии PD1 на вывод данных

ldi r17, 0x02

out DDRD, r17

;Разрешение приемника и передатчика USART

;Разрешение прерываний по окончанию приема и передачи байта данных

ldi r17, 0xD8

out UCSRB, r17

; Формат кадра - 8 бит для USART

ldi r17, 0x86

outUCSRC, r16

;Настраиваем таймер/счетчик 1 на счет внешних импульсов (захват по ;положительному фронту)

ldi r17, 0x07

out TCCR1B, r17

;Разрешение прерывания по переполнению таймера/счетчика 0

ldi r17, 0x02

out TIMSK, r17

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

sei

; Подпрограмма отправки байта

uart_send: sbis UCSRA, UDRE; Пропуск если нет флага

;готовности

rjmpuart_send; ждем готовности - флага UDRE

out UDR, r20; шлем байт

ret; Возврат

;Подпрограмма ожидания байта

uart_rcv:sbisUCSRA, RXC; Ждем флага прихода байта

rjmp uart_rcv ; вращаясь в цикле

in r19,UDR ; байт пришел - забираем.

ret ; Выходим. Результат в R19

main:

rcall uart_rvc ;Вызываем подпрограмму ожидания байта

cp r16, 0x3F ; Проверяем поступление символа “?”

breq schet ; Если получили “?”, переходим к преобразованию

;частоты в двоичный код

brne uart_rcv ;Если нет, возвращаемся ожидать символ

; Отсчет эталонного интервала (4 сек)

schet:

сlr r0 ; очищаем счетчик событий

ldi r26, 0x0F ; необходимое число переполнений таймера/счетчика 0

ldi r27, 0xA0 ; число для сравнения, необходимое для подсчета 4 сек.

;Настраиваем таймер/счетчик 0 на работу от внутреннего генератора с ;коэффициентом деления K=1024

ldi r17, 0x05

out TCCR0, r17

bred: ; загружаем в регистр сравнения число

out OCR0A, r27

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

freq:

in r21, TCNT1 ; Получение значения частоты

lrs r21 ;нормирование с учетом 4-секунд

lsr r21

ldi r22, 0xC8 ; калибровка относительно 0

sbc r21, r22

mov r25, r21

ldi r23, 0xFF ; заносим число итераций для 1 цикла

ldi r24, 0x10 ; заносим число итерации для 2 цикла

ckl1: ; умножаем частоту на 255

adc r21, r25

dec r23

breq ckl1

ckl2: ; делим частоту на 1024

lsr r21

dec r24

breq ckl2

;выводим полученное значение через USART

rcall uart_send

ret

rjmp main

; Обработчики прерываний

INT1_ interrupt:

reti

INT0_ interrupt :

reti

T1CAPT_interrupt :

reti

T1OVF_interrupt :

clr TCNT1

reti

T0OVF_interrupt :

;Обработчик прерываний по переполнению таймер/счетчика 0

inc r0 ; увеличиваем счетчик событий на 1

cp r0, r26

breq pred

clr TCNT0

reti

rjmpT0COMP_interrupt:

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

; Остановка таймера/счетчика 0

clr r3

out TCCR0, r3

rjmp frenq

reti

rjmp USART_RXC_ interrupt :

reti

rjmp USART_TXC_ interrupt :

reti

rjmp USART_UDRE _ interrupt:

reti

Заключение

Был разработан преобразователь частоты в двоичный восьмиразрядный код. В ходе разработки были приобретены практические навыки использования микроконтроллеров для решения разнообразных задач. Программное обеспечение написано с помощью команд микроконтроллера ATtinny2313.

Микроконтроллеры используются и в гораздо более сложных решениях. Это еще раз доказывает их гибкость и привлекательность для разработчиков любых электронных устройств

Список литературы

1. Документация к микроконтроллеру AVR Attiny2313.

2. Голубцов М.С.: Микроконтроллеры AVR: от простого к сложному.

3. Ревич Ю. : Практическое программирование микроконтроллеров Atmel AVR на языке ассемблера

Интернет-источники

1. http://chipenable.ru - микроконтроллеры AVR

2. http://avr.ru - микроконтроллеры AVR

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

...

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

  • Алгоритм умножения двоичных чисел. Выбор и описание структурной схемы операционного автомата. Реализация содержательной граф-схемы алгоритма. Построение отмеченной граф-схемы и структурной таблицы переходов и выходов. Правила кодирования на D-триггерах.

    курсовая работа [273,2 K], добавлен 01.04.2013

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

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

  • Изучение архитектуры микроконтроллера AT89C52 фирмы Atmel. Разработка проектной схемы вывода рисунков на графический ЖК-индикатор на основе микроконтроллера. Составление программы по обработке и выводу на жидкокристаллический дисплей данных с LPT порта.

    курсовая работа [76,1 K], добавлен 23.12.2012

  • Характеристики схемы генератора прямоугольных импульсов. Определение ёмкости конденсатора. Причины возникновения дребезга контактов. Схема защиты от дребезга с кнопочным генератором импульсов. Описание работы двоичного четырёхразрядного счётчика.

    контрольная работа [1,8 M], добавлен 13.01.2015

  • Описание алгоритма работы и разработка структурной схемы МКС. Схема вывода аналогового управляющего сигнала, подключения ЖК-дисплея, клавиатуры и аварийного датчика. Разработка блок-схемы алгоритма главной программы работы МКС. Функция инициализации.

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

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

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

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

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

  • Создание рабочего модуля аналого-цифрового преобразователя с минимальным количеством микросхем на основе микроконтроллера ATmega8L. Описание блок-схемы АЦП. Схема запуска преобразования. Программа микроконтроллера в среде программирования CodeVision.

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

  • Проект цифрового устройства для передачи сообщения через канал связи. Разработка задающего генератора, делителя частоты, преобразователя кода, согласующего устройства с каналом связи, схемы синхронизации и сброса, блока питания; оптимизация автомата.

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

  • Анализ возможности разработки системы автоматизированного контроля на базе микроконтроллера МК51. Анализ структурной схемы МК51, портов ввода/вывода данных, возможности организации доступа к внешней памяти. Обзор системы команд МК51. Резидентная память.

    курсовая работа [108,7 K], добавлен 15.01.2012

  • Cтpyктypнaя модель функционирования пapикмaxepcкoй: описание временной диаграммы и Q-схемы системы. Разработка машинной имитационной модели на специализированном языке GPSS: составление блок-схемы, детализированного алгоритма и листинга программы.

    курсовая работа [425,1 K], добавлен 02.07.2011

  • Назначение и преимущества использования среды программирования LabView. Передняя панель и блок-схема простого виртуального прибора VI. Разработка структурной и принципиальной схем преобразователя напряжения и частоты, алгоритм его функционирования.

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

  • Использование двоичной системы представления данных и принцип хранимой программы Неймана. Периферийные устройства: клавиатура, мышь, накопитель, принтеры и протеры. Базовая система ввода-вывода BIOS и операционная система DOS. Внешняя и внутренняя память.

    шпаргалка [35,2 K], добавлен 01.02.2009

  • Методика разработки и апробации обучающей программы о двоичных сумматорах, позволяющей пользователю понять принцип работы двоичных сумматоров, а также научиться складывать числа в двоичной системе счисления. Листинг и оценка эффективности программы.

    курсовая работа [910,6 K], добавлен 27.10.2013

  • Разработка транслятора упрощенного языка ассемблера. Преобразование файла в мнемокодах в файл, содержащий объектный двоичный код. Анализ набора команд. Выбор формата ассемблерной команды. Методика определения типа операнда. Формирование строки листинга.

    курсовая работа [189,2 K], добавлен 14.02.2016

  • Описание алгоритма решения задачи графическим способом. Вывод элементов массива. Описание блоков укрупненной схемы алгоритма на языке Pascal. Листинг программы, а также ее тестирование. Результат выполнения c помощью ввода различных входных данных.

    контрольная работа [150,4 K], добавлен 03.05.2014

  • Разработка компьютерного устройства RAM-диск, позволяющего считывать, записывать и хранить информацию в модулях динамической памяти типа SDRAM под управлением микроконтроллера. Составление структурной и принципиальной схемы устройства, листинг программы.

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

  • Назначение и применение микроконтроллеров - интегральных микросхем, предназначенных для управления электронными схемами. Описание способа адресации. Разработка программы, описание электрической и структурной схемы разрабатываемого микроконтроллера.

    курсовая работа [177,6 K], добавлен 30.06.2014

  • Особенности dirent как входной структуры каталога, независимой от файловой системы. Получение содержимого каталога и информации о файле. Разработка блок-схемы алгоритма программы. Изучение программного обеспечения для реализации поставленной задачи.

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

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

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

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