Преобразователь частоты в двоичный код
Определение состава микроконтроллера: тактового генератора, памяти программ и данных, порта ввода-вывода. Изучение структурной схемы преобразователя частоты в двоичный 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.2012Cт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