Микропроцессорный термометр с подключением к ПК

Заказать уникальную курсовую работу
Тип работы: Курсовая работа
Предмет: Микропроцессоры
  • 32 32 страницы
  • 6 + 6 источников
  • Добавлена 20.01.2020
1 496 руб.
  • Содержание
  • Часть работы
  • Список литературы
  • Вопросы/Ответы
ВВЕДЕНИЕ 4
ЗАДАНИЕ НА КУРСОВОЕ ПРОЕКТИРОВАНИЕ 5
1 ОПИСАНИЕ РАБОТЫ УСТРОЙСТВА ПО ФУНКЦИОНАЛЬНОЙ СХЕМЕ 7
2 РАЗРАБОТКА АЛГОРИТМА ВЫЧИСЛЕНИЙ 9
3 РАЗРАБОТКА ПРИНЦИПИАЛЬНОЙ ЭЛЕКТРИЧЕСКОЙ СХЕМЫ 14
3.1 Схема питания 14
3.2 Преобразователь уровней 14
3.3 Схема включения микроконтроллера 15
3.4 Преобразователь интерфейсов 17
4 НАПИСАНИЕ ПРОГРАММЫ НА ЯЗЫКЕ АССЕМБЛЕР 19
ЗАКЛЮЧЕНИЕ 23
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ 24
Приложение А Листинг программы 25
Приложение Б Перечень элементов……………………………………………...……..31
Фрагмент для ознакомления

Обнуляем регистр-флаг zamer.Загружаем из ячеек памяти 0200H:0201H результаты измерения N.Выполняем первую расчетную операцию – умножение. Вторая расчетная операция – сложение. Передача рассчитанное значение температуры двумя байтами (младший, старший) в формате вещественного числа с фиксированной запятой в дополнительном коде в ПК. Возвращаемсяк началу бесконечного циклаДалее переходим к описанию обработчика прерывания по совпадению таймера Т0. При входе в подпрограмму запрещаем прерывания, сохраняем в стекесодержимое регистров, которые модифицируется при работе подпрограммы: temp и регистр состояния SREG [6].Измерительный период 1с формируется 40 циклами совпадения таймера Т0. Счетчик циклов Т0 организован в регистре cycle_counter. Первые тридцать девять пропускаем – переходим к стадии завершения работы обработчика прерываний.Сороковой цикл – рабочий. Обнуляем регистр счетчика циклов.Считываем результат замера из Т/С1. Для этого переносим содержимое регистровой пары счетчика Т/С1 TCNT1H: TCNT1L в ячейки памяти данных 0201H:0200H.Передаем основной программе информацию о том, что измерение произведено, в ячейках памяти данных 0201H:0200H находится результат. Для этого в регистр-флаг zamer записываем единицу.Завершающая стадия работы обработчика прерываний. Восстанавливаем из стека сохраненные при входе в подпрограмму обработчикарегистры SREG и temp, разрешаем прерывания, выходим из подпрограммы обработчика.ЗАКЛЮЧЕНИЕВ рамках курсового проекта выполнена разработка микропроцессорного термометра с передачей измерительной информации в персональный компьютер (ПК) по последовательному каналу связи RS-232.В качестве первичного преобразователя использован датчик температуры (ДТ) с частотным выходным сигналом. Схема триггера Шмитта, реализованная на базе компаратора, выполняет согласование уровней выходного сигнала датчика с входными КМОП логическими уровнями микроконтроллера (МК). МК производит расчет значения температуры и последовательно, в двоичном коде, через интерфейс RS-232 передает полученную информацию в ПК.В процессе работы над проектом решены следующие задачи:-выполнено описание работы устройства по его функциональной схеме;-составлен алгоритм вычислений;-разработана принципиальная электрическая схема устройства;-написана управляющая программа встроенного контроллера измерительного устройства на языке Ассемблер.Цель курсового проекта – закрепление, расширение и углубление полученных навыков и знаний в области проектирования измерительной техники на базе микроконтроллера достигнута.СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВL78L33 Техническая документация[интернет ресурс] http://pdf1.alldatasheet.com/datasheet-pdf/view/22618/STMICROELECTRONICS/L78L33AB.html (дата обращения 30.10.19).MAX986ESA Техническая документация [интернет ресурс] https://pdf1.alldatasheet.com/datasheet-pdf/view/73918/MAXIM/MAX986ESA.html - (дата обращения 30.10.19).ATmega8515L-8PIТехническая документация[интернет ресурс] https://pdf1.alldatasheet.com/datasheet-pdf/view/80276/ATMEL/ATMEGA8515.html (дата обращения 30.10.19).ADM8324WCA29ARТехническая документация[интернет ресурс]https://pdf1.alldatasheet.com/datasheet-pdf/view/572721/AD/ADM8324.html(дата обращения 30.10.19).ADM3232ARU Техническая документация [интернет ресурс] https://pdf1.alldatasheet.com/datasheet-pdf/view/166285/AD/ADM3232E.html(дата обращения 30.10.19).Евстифеев А.В. Микроконтроллеры AVR семейства Mega. Руководство пользователя. — М.: Издательский дом «Додэка-ХХ1», 2007. — 592 с: ил. (Серия «Программируемыесистемы»).ПРИЛОЖЕНИЕАЛистинг программы.include "m8515def.inc" ; Загрузить файл с именами; регистров ввода-вывода для МК ATmega8515.DEFtemp = r16.DEFcycle_counter = r17.DEFzamer = r18.cseg.org $0rjmpreset ;векторсброса.org $0ErjmpT0_comp ;вектор прерывания при совпадении Т0reset:;Инициализациястекаlditemp,HIGH(RAMEND)outsph,templditemp,LOW(RAMEND)outspl,temp;Инициализация порта B (PB0 на вывод, остальные на ввод)lditemp,0x01outDDRB,temp;Инициализация порта D (PD1 на вывод, остальные на ввод)lditemp,0x02outDDRD,temp;Инициализация таймера 0;обнуляем счетный регистр T0clrtempoutTCNT0,temp; записываем в регистр сравнения OCR0 число 195lditemp,195outOCR0,temp;запуск таймера Т0 с предделителем CLK/1024;режим CTC (сброс при совпадении);выход OC0 - переключение при совпаденииlditemp,0x1DoutTCCR0,temp;Инициализация таймера/счетчика 1clrtempoutTCCR1A,templditemp,0x08outTCCR1B,temp;Инициализация UART, асинхронный;2400бод, 8 Data, 1 Stop, No ParityclrtempoutUCSRA,tempoutUBRRH,templditemp,0x08outUCSRB,templditemp,0x86outUCSRC,templditemp,0x33outUBRRL,temp;Маскирование прерывания по совпадению Т0lditemp,0x01outTIMSK,tempclrcycle_counter; обнулитьсчетчикцикловclrzamer; Обнулить признак наличия результата измеренияsei;разрешение прерываний;Начало бесконечного циклаmain:;цикл ожидания результатов измеренияcpizamer,1 ; проверяем, прерывание обработано?brnemain ; нет, вернуться;даclrzamer; обнуляем регистр-флаг;Первая операция: умножение N1=К'* N;[r0:r1]*[r20:r21:r22:r23:r24:r25]=[r10:r11:r12:r13:r14:r15];Загрузка результатов измерения Nldsr0,NH ; стldsr1,NL ; мл;Загрузка K'clrr20clrr21ldir22,0x01 ;стldir23,0x11ldir24,0x11ldir25,0x11 ;мл;Начальное значение результатаclrr10clrr11clrr12clr r13clrr14clrr15;Установить счетчик сдвиговlditemp,16OBRAT:lsrr0rorr1 ;показать значение младшего разряда множителя в СbrccNO_SUMMIR ; если С=0, пропустить суммирование; С=1 суммировать значение множимого с частичным результатомSUMMIR:addr15,r25adcr14,r24adc r13,r23adcr12,r22adcr11,r21adc r10,r20NO_SUMMIR:lslr25rol r24rolr23rolr22rolr21rolr20dectempbrneOBRAT; результат: N1=[r10:r11:r12:r13:r14:r15];Вторая операция: сложение N2=N1+B';[r20:r21:r22:r23:r24:r25]=[r20:r21:r22:r23:r24:r25]+[r10:r11:r12:r13:r14:r15];Загрузка В'ldir25,0xFFldir24,0xDCldir23,0x95ldir22,0x3Fldir21,0x7Bldir20,0xEE;Сложениеaddr20,r10addr21,r11add r22,r12add r23,r13add r24,r14add r25,r15Передача результата в ПКlab02: sbisUCSRA,UDRE; ожидание готовности UART на передачуrjmplab02outUDR, r21; передача ст. байтаlab03: sbisUCSRA,UDRE; ожидание готовности UART на передачуrjmplab03outUDR, r22; передача мл. байта;Переход на начало бесконечного циклаrjmpmain;Обработчик прерывания по совпадению Т0T0_comp:cli;запрет прерыванийpushtemp; сохранение tempintemp,SREG;сохранение регистра SREGpushtemp;Проверка закончен ли измерительный интервал 1с?inccycle_counter;инкрементсчетчикацикловcycle_counter;циклкрайний?cpicycle_counter,40brnelab01 ; нет;да, измерительный цикл 1сек завершенclrcycle_counter ; обнулить счетчик циклов;считать результат замера из Т/С1;запись содержимого TCNT1L в ячейку памятиintemp, TCNT1Lsts 0x0200,temp;запись содержимого TCNT1H в ячейку памятиintemp, TCNT1Hsts 0x201,temp;очистка содержимого счетного регистра T/C1clrtempout TCNT1H,tempout TCNT1L,temp;установка признака наличия результата измеренияldizamer,1 ; запись 1 в регистр-флаг ;восстановление регистров,завершение обработки прерыванияlab01:poptempoutSREG,temp;восстановление регистра SREGpoptemp;восстановление tempsei;разрешение прерыванийretiПоз.обозн.НаименованиеКол.ПримечаниеКонденсаторыC1К50 – 35 - 10 мкФ ± 10% * 25 В± 10%1C2,C5К50 – 35-1мкФ ± 10% * 16 В± 10%2C3,C9К50 – 35- 0,1мкФ ± 10% * 6,3 В± 10%3C4,C12К50 – 35-0,1 мкФ ± 10% * 16 В± 10%2C6К50 – 35-1мкФ ± 10% * 16 В± 10%1C7,C8KD – 2 – SL – 22 пФ2МикросхемыDA1L78L331DA2MAX986ESA1DD1ADM8324WCA29AR1DD2ADM3232ARU1DD3ATMEGA8515-8PI1РезисторыR1,R7C1 – 4 – 0,125 – 10 кОм ± 5%2R2,R3C1 – 4 – 0,125 – 100 кОм ± 5%2R4C1 – 4 – 0,125 – 100 кОм ± 5%1R5C1 – 4 – 0,125 – 180 Ом ± 5%1R6C1 – 4 – 0,125 – 2,2 кОм ± 5%1ДиодыVD1-D41N1484VD5KP-3216MGC1КП-02068717-12.03.01-КБ6-40з-19ИзмЛист№ докум.Подп.ДатаРазраб.Державин Г.А.Микропроцессорный термометр с подключением к ПКЛит.Лист Листов Пров.Москаленко О.В.д12ИВЗООПБЗ-34-16Н.контр.Утв.Поз.обозн.НаименованиеКол.ПримечаниеРазъемыX1,X2300 – 02 V1 -132X3300 – 10 V1 -131X4DB9M1Кварцевый резонаторZQ1РПК01 РС – 49S – 8.000 M - 61КП-02068717-12.03.01-КБ6-40з-19Лист2ИзмЛист№ докум.Подп.Дата

1 L78L33 Техническая документация [интернет ресурс] http://pdf1.alldatasheet.com/datasheet-pdf/view/22618/STMICROELECTRONICS/L78L33AB.html (дата обращения 30.10.19).
2 MAX986ESA Техническая документация [интернет ресурс] https://pdf1.alldatasheet.com/datasheet-pdf/view/73918/MAXIM/MAX986ESA.html - (дата обращения 30.10.19).
3 ATmega8515L-8PI Техническая документация [интернет ресурс] https://pdf1.alldatasheet.com/datasheet-pdf/view/80276/ATMEL/ATMEGA8515.html (дата обращения 30.10.19).
4 ADM8324WCA29AR Техническая документация [интернет ресурс] https://pdf1.alldatasheet.com/datasheet-pdf/view/572721/AD/ADM8324.html (дата обращения 30.10.19).
5 ADM3232ARU Техническая документация [интернет ресурс] https://pdf1.alldatasheet.com/datasheet-pdf/view/166285/AD/ADM3232E.html (дата обращения 30.10.19).
6 Евстифеев А.В. Микроконтроллеры AVR семейства Mega. Руководство пользователя. — М.: Издательский дом «Додэка-ХХ1», 2007. — 592 с: ил. (Серия «Программируемые системы»).

Вопрос-ответ:

Для чего предназначен микропроцессорный термометр с подключением к ПК?

Микропроцессорный термометр с подключением к ПК предназначен для измерения температуры и передачи полученных данных на персональный компьютер.

Какова основная функция устройства по функциональной схеме?

Основная функция устройства по функциональной схеме - измерение температуры с помощью датчика и передача полученных данных на ПК.

Каким образом определяется разрядность переменных?

Разрядность переменных определяется исходя из требуемой точности измерения и диапазона значений температуры.

Какие компоненты входят в принципиальную электрическую схему микропроцессорного термометра?

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

На каком языке программирования написана программа для микропроцессорного термометра?

Программа для микропроцессорного термометра написана на языке ассемблера.

Как работает микропроцессорный термометр с подключением к ПК?

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

Каков алгоритм вычислений в микропроцессорном термометре?

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

Какая электрическая схема используется в микропроцессорном термометре?

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

Какая программа используется для работы с микропроцессорным термометром?

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