Программно управляемый генератор линейно нарастающего напряжения сверхнизкой частоты на микроконтроллере - Курсовая работа

бесплатно 0
4.5 199
Методика проектирования генератора на основе микроконтроллера, его технические характеристики. Выбор и обоснование технического решения. Разработка принципиальной и электрической схемы устройства. Эмуляция программы в пакете VMLAB, оценка погрешностей.


Аннотация к работе
В микроконтроллер возможно записать любую программу-прошивку, определяющую алгоритм функционирования устройства на базе микроконтроллера, что позволяет использовать микроконтроллеры практически во всех устройствах, где используется обработка цифровых сигналов.Прежде, чем приступить к рассмотрению проектирования генератора на основе МК, приведем краткий обзор аналогичных вариантов реализации генератора линейно нарастающего напряжения. Достоинства такого варианта заключаются в отсутствии необходимости писать программу для МК, недостатки же заключаются в том, что в аналоговых генераторах труднее добиться идеальной формы фронтов импульса, а также обеспечить наиболее точную подстройку частоты вследствие разброса номиналов элементов схемы генератора.В данной работе для реализации генератора на базе МК будут использованы такие элементы, как микроконтроллер, ЦАП, ЖКИ и управляющие кнопки. ЦАП же позволяет формировать сигналы произвольной формы путем подачи цифрового кода мгновенного значения напряжения сигнала на его вход.Как уже было сказано выше, основными компонентами схемы генератора являются микроконтроллер, ЦАП, ЖКИ и управляющие кнопки. Кнопки регулировки амплитуды были подключены к выходам 2 и 3 порта D, которые являются входами внешних прерываний INT0 и INT1. Кнопки установки частоты подключены к выводам 4, 5, 6 и 7 порта D. Оставшиеся 3 вывода являются управляющими: вывод RS определяет, что передается по 8-разрядной шине: команды или данные (коды отображаемых символов) и подключен он к нулевому выходу порта В, вывод R/W определяет режим чтения / записи шины данных, и подключается к первому выходу порта В, по выводу Е подаются стробирующие импульсы, сопровождающие процессы чтения или записи, подключен выход Е к выводу 2 порта В.(Кнопки регулировки амплитуды подключены к выводам внешних прерываний, обработка которых будет рассмотрена позднее.) Опрос кнопок производится путем проверки соответствующего вывода порта на нулевое состояние (когда кнопка не нажата, на ее выводе стоит «1», вследствие наличия подтягивающих резисторов). Сначала на вход ЦАП подается значение амплитуды увеличенное на единицу, затем сравнивается с максимальным значением, если амплитуда не достигла максимального значения амплитуды, то значение опять увеличивается на единицу и подается на вход ЦАП. Если текущая амплитуда не равна этим значениям, то в ПП уменьшения амплитуды происходит уменьшение значения константы amplitude на 5, уменьшение константы адреса на единицу и вызов ПП индикации амплитуды, а в ПП увеличения амплитуды происходит соответственно увеличение значения amplitude на 5, увеличение константы address на единицу и вызов ПП индикации амплитуды. ; инициализация индикатора ЖКИ rcall bf_check ldi comm, 0b00001111 rcall command ldi comm, 0b00111000 rcall bf_check rcall command ldi address, 25 rcall display_ampl; индикация амплитуды по умолчанию main:; опрос кнопок ldi temp, 0b11000000 out GIMSK, temp sbis PIND, 4 rjmp mm1 sbis PIND, 5 rjmp mm2 sbis PIND, 6 rjmp mm3 sbis PIND, 7 rjmp mm4 gener:; генерация пилы out GIMSK, Const0 out PORTC, amplitude cpse amplitude, max_ampl rjmp gen1 rjmp gen2 gen1: inc amplitude rcall delay rjmp gener gen2: ldi amplitude, 0 rjmp main ; вывод пробела и буквы V rcall bf_check ldi symbol, $20 rcall data ldi symbol,$56 rcall bf_check rcall data ret command:; подпрограмма записи команды в ЖКИ out DDRA, CONSTFF out PORTB, Const0 nop nop sbi PORTB, 2 nop nop nop out PORTA, comm cbi PORTB, 2 ret data:; подпрограмма записи кода символа в ЖКИ out DDRA, CONSTFF ldi temp, 1 out PORTB, temp nop nop sbi PORTB, 2 nop nop out PORTA, symbol nop nop nop cbi PORTB, 2 ret bf_check:; подпрограмма проверки флага занятости out DDRA, Const0 out PORTA, CONSTFF bf: ldi temp, 2 out PORTB, temp nop nop nop nop sbi PORTB, 2 nop nop in temp, PINA cbi PORTB, 2 sbrc temp, 7 rjmp bf ret read_EEPROM:; подпрограмма чтения кода символа из EEPROM out EEARH, Const0 out EEARL, address ldi temp, 1 out EECR, temp in symbol, EEDR ret minus:; уменьшение амплитуды ldi temp, 25 cpse max_ampl, temp rjmp min1 rjmp min2 min1: sub max_ampl, Const5 dec address rcall display_amplРисунок - Меандр с частотой 5 ГцВ первом режиме период меандра оказывается равным 200 мс, как следствие его частота равна 5 Гц и не отличается от заданной в ТЗ. Во втором режиме период меандра равен 100 мс, а частота сигнала - 10 Гц, которая также не отличается от заданной.В итоге выполнения курсового проекта была разработана схема генератора линейно нарастающего напряжения, а также был составлен алгоритм и текст программы функционирования МК.

План
Содержание

Введение

1 Обзор аналогичных устройств

2 Обоснование выбранного варианта технического решения

3 Разработка принципиальной схемы устройства

4 Разработка алгоритма и программы функционирования устройства

5 Результаты эмуляции программы в пакете VMLAB

6 Анализ временных соотношений и оценка погрешностей

Выводы

Введение
В наше время в сфере радиоэлектроники находят широкое применение такие устройства, как микроконтроллеры, представляющие собой микропроцессорную систему, реализованную в виде интегральной микросхемы. В микроконтроллер возможно записать любую программу-прошивку, определяющую алгоритм функционирования устройства на базе микроконтроллера, что позволяет использовать микроконтроллеры практически во всех устройствах, где используется обработка цифровых сигналов. В качестве иллюстрации возможностей применения микроконтроллеров при проектировании радиотехнических устройств, в данном курсовом проекте приводится пример проектирования линейно нарастающего генератора с изменяемой частотой от 5 до 20 Гц с шагом 5 Гц, а также с дискретно меняющейся амплитудой от 0.5 до 5 Вольт, подстройка которой осуществляется двумя кнопками. Индикация амплитуды генерируемых сигналов осуществляется с помощью ЖКИ.

Вывод
В итоге выполнения курсового проекта была разработана схема генератора линейно нарастающего напряжения, а также был составлен алгоритм и текст программы функционирования МК. Полученное устройство обладает следующими характеристиками: - частота сигнала устанавливается в 4 фиксированных значения

(5, 10, 15 и 20 Гц) 4-мя кнопками. Погрешность значения частоты не превышает 0.5%;

- амплитуда сигнала изменяется в пределах от 0.5 до 5 Вольт 2-мя кнопками увеличения и уменьшения амплитуды через 0.1 Вольт;

- индикация амплитуды осуществляется с помощью ЖКИ на базе контроллера HD44780.

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



Дисциплины научных работ



Хотите, перезвоним вам?