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

Заказать уникальную курсовую работу
Тип работы: Курсовая работа
Предмет: Микропроцессоры
  • 25 25 страниц
  • 5 + 5 источников
  • Добавлена 21.01.2020
1 496 руб.
  • Содержание
  • Часть работы
  • Список литературы
  • Вопросы/Ответы
СОДЕРЖАНИЕ

Введение 4
Задание на курсовое проектирование 5
1 Описание работы устройства 6
2 Разработка алгоритма вычислений 9
3 Разработка принципиальной электрической схемы 13
3.1 Схема подключения к датчику температуры 13
3.2 Схема подключения к персональному компьютеру
по интерфейсу RS-232 14
3.3 Схема питания 16
3.4 Схема подключения к супервизору питания 19
4 Написание программы на языке Ассемблер 21
Заключение 24
Список используемых источников 25
Приложение А. Текст программы 26


Фрагмент для ознакомления

include "m162def.inc" ; Подключение файла с описанием ; регистров общего назначения для ATmega162 – 8М.org 0; Переход на адрес 0jmp reset; Вектор сбросаreti; INT 0reti; INT1reti; INT2reti; PCINT0reti; PCINT1reti; TIMER3 CAPTreti; TIMER3 CAMPAreti; TIMER3 CAMPBreti; TIMER3 OVFreti; TIMER2 COMPreti; TIMER2 OVFreti; TIMER1 CAPTreti; TIMER1 COMPAreti; TIMER1 COMPBreti; TIMER1 OVFreti; TIMER0 COMPjmp timer0_ovf ; Прерывание по переполнению Т/С0reti; SPI_STC reti; USATR0_RXCreti; USATR1_RXCreti; USATR0_UDREreti; USATR1_UDREreti; USATR0_TXCreti; USATR1_TXCreti; EE_RDYreti; ANA_COMPreti; CPM_RDYreset:cli; Запрет на прерывание во время настройки; *****Т/С 0*****ldi r16, 0x06 ; Загрузка в Т/С0 числаout TCNT0, r16; шесть (предустановка таймера)ldi r16, 0b00000101; Включение нормального режима ( подсчетout TCCR0, r16; импульсов)ldi r16, 0b00000001; Настройка Т/С0 по переполнениюout TIMSK, r16 out TIFR, r16; *****Т/С 1*****ldi r16, 0x00; Очистка Т/С1 путем загрузки в счетныйout TCNT1H, r16; регистрнуляout TCNT1L, r16ldi r16, 0b00000000; Настройка регистра управления Т/С1out TCCR1A, r16ldi r16, 0b00000111; Настройка для счета импульсов поout TCCR1B, r16; фронту сигналаldi r17, 0x00; Настройка портов A на прием сигналаldi r16, 0b00000000; Настройка портов 0, 1 модуля DDRA out DDRA, r16; на прием сигналовldi r16, 0x01; Загрузка указателя стекаout SPH, r16ldi r16, 0x60; Загрузка указателя стекаout SPL, r16; *****Настройка модуля для передачи*****ldi r16, 0x00; Настройкаout UBRR0H, r16; модуля USARTldi r16, 0x06; скорость 9600 бит/сout UBRR0L, r16; при Fт г =1,024 МГц,ldi r16, 0b10000110; 8 бит в посылке,out UCSR0C, r16; 1 стоп-бит,ldi r16, 0b00011000; контроль данных отключен, out UCSR0B, r16; асинхронный стандартный режимldi r16, 0b00000000; Очистка r16out UCSR0A, r16; Включение модуля USARTsei; Глобальное разрешение прерываний;*****Основная программа*****main: nop; Начало основной программыcpi r17, 0x01; Проверка регистра r17 путем загрузки в него 0brne main; Если в r17 пуст, то переход к mainldi r17, 0x00; Если в r17 занят, то его нужно очиститьmov r24, r21; Копируем частоту в регистрыmov r23, r20ldi r25, 0x03ldir26, 0x8С; Загрузка K’=D28Cldi r27, 0xD2;*****Умножение*****clr r10; Очистка регистров под результат умноженияclr r11clr r12clr r13clr r14mul r23, r27; Умножение регистров r23 и r27mov r10, r0; Запись данных регистра r0 в регистр r10mov r11, r1; Запись данных регистра r1 в регистр r11mul r23, r26; Умножение регистров r23 и r26clr r16; Очистка регистра r16 для данных бита переносаadd r11, r0; Прибавление данных регистра r0 к регистру r11adc r12, r1; Прибавление с переносом данных регистра r1 к; регистру r12mul r23, r25; Умножение регистров r23 и r25add r12, r0; Прибавление данных регистра r0 к регистру r12adc r13, r1; Прибавление с переносом данных регистра r1 к; регистру r13adc r14, r16; Прибавление данных переноса к регистру r14mul r24, r27; Умножение регистров r24 и r27add r11, r0; Прибавление данных регистра r0 к регистру r11adc r12, r1; Прибавление с переносом данных регистра r1 к; регистру r12mul r24, r26; Умножение регистров r24 и r26clr r16; Очистка регистра r16 для данных бита переносаadd r12, r0; Прибавление данных регистра r0 к регистру r12adc r13, r1; Прибавление с переносом данных регистра r1 к; регистру r13mul r24, r25; Умножение регистров r24 и r25add r13, r0; Прибавление данных регистра r0 к регистру r13adc r14, r1; Прибавление с переносом данных регистра r1 к; регистру r14;*****Сложение*****ldi r30, 0xF8; Загрузка В’ в дополнительном коде 169FFFFFF8ldi r29, 0xFFldi r28, 0xFFldi r27, 0x9Fldi r26, 0x16add r10, r26; Прибавление данных регистра r26 к регистру r10adc r11, r27; Прибавление с переносом данных регистра r27 к; регистру r11adc r12, r28 ; Прибавление с переносом данных регистра r28 к; регистру r12adc r13, r29; Прибавление с переносом данных регистра r29 к; регистру r13adc r14, r30; Прибавление с переносом данных регистра r30 к; регистру r14clr r6; Очистка регистра r6 под знак результата; вычисленийmov r31, r14 ; Копируем самый старший разряд для проверки; флага переносаrol r31; Сдвигаем флаг переноса, если 0 то перейти на brcc m2; m2, если 1 ,тоinc r6 ; записываем в r6 1 (означает знак "-")ldi r18, 0x01; Загружаем единицу в регистр r18 для ; вычитания из дополнительного кодаldi r19, 0x00; Загружаем нуль в регистр r19 для ; вычитания из дополнительного кодаsub r10, r18; Вычитаем единицу из дополнительного кодаsbc r11, r19; Вычитаем нуль из дополнительного кодаsbc r12, r19sbc r13, r19 sbc r14, r19com r10; Инвертируем обратный кодcom r11com r12com r13 com r14m2: sts 0x0161, r6; Загружаем знак температуры в ячейку 0161sts 0x0162, r14; Загружаем значение температуры в ячейки sts 0x0163, r13; памяти 0162 - 0166sts 0x0164, r12sts 0x0165, r11 sts 0x0166, r10clr r0; Очищаем регистры для загрузки в них данныхclr r1clr r6; Очищаем регистр r6 для загрузки в данных порта Аin r6, PINA; Загрузка данных порта A в регистр r6ror r6; Сдвиг данных регистра r6, если во флаге нуль, brcc m3; то переход на m3inc r0; если единица – запись в регистр r0 единицыm3: ror r6; Сдвиг данных регистра r6, если во флаге нуль,brcc m4; то переход на m4inc r1; если единица – запись в регистр r1 единицыsts 0x0167, r0; Запись данных датчиков в ячейки sts 0x0168, r1; памяти 0167 - 0168m4: sbis UCSR0A, 7; Определение флага бита № 7 – RxC, если тамjmp main; нуль, переход на main, если единица, то in r16, UDR; «вытаскиваем» данные из RxC, и «гасим» флаг ; путем записи в него нуляldi r26, 0x61; Указание первой ячейки памяти с даннымиldi r27, 0x01; в регистровую пару Хldi r28, 0x08; Указание количества ячеек с даннымиp1: sbis UCSR0A, 5; Проверка флага №5 – UDRE0, если регистр занятjmp p1; переход на р1, если регистр пуст, то ld r16, x+; скопировать данные в регистр r16 из; ячейки памяти, адрес которой указан в ; регистровой паре и переход на следующую; ячейкуout UDR0, r16; Загрузка в UDR0 данных из регистра r16dec r28; Декремент регистра r28, если он не обнулилсяbrne p1; переход на р1jmp main; Переход на main; *****Подпрограмма прерывания Т/С0*****timer0_ovf: push r16in r20, TCNT1L; Копирование содержимого TCNT1L в; регистрr20in r21, TCNT1H; копирование содержимого TCNT1H в; регистр r21ldi r16, 0x00; Очистка Т/С1 путем загрузки в счетный out TCNT1L, r16; регистрнуляout TCNT1H, r16ldi r16, 0x06; Загрузка в Т/С 0 числа шестьout TCNT0, r16ldi r16, 0x01; Загрузка в r16 числа 1 lsl r20rol r21rol r22; Умножение на 2lsl r20rol r21rol r22; Умножение на 2 pop r16reti; Возврат из подпрограммы прерывания

СПИСОК ИСПОЛЬЗУЕМЫХ ИСТОЧНИКОВ

1. Стабилизатор LDL1117S50R Техническая документация [интернет ресурс] https://www.st.com/resource/en/datasheet/ldl1117.pdf (дата обращения 05.11.19)
2. Микроконтроллер ATmega161-4PI Техническая документация [интернет ресурс] http://ww1.microchip.com/downloads/en/DeviceDoc/doc1228.pdf (дата обращения 05.11.19)
3. Супервизор MCP111T-300E/MB Техническая документация [интернет ресурс] http://ww1.microchip.com/downloads/en/devicedoc/21889d.pdf (дата обращения 05.11.19)
4. Компаратор TLC372ID Техническая документация [интернет ресурс] https://www.ti.com/lit/gpn/tlc372 (дата обращения 05.11.19)
5. Буфер RS-232 LTC1385ISW Техническая документация [интернет ресурс] https://www.analog.com/media/en/technical-documentation/data-sheets/1385fas.pdf (дата обращения 05.01.19)

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

Как работает микропроцессорный термометр?

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

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

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

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

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

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

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

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

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

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

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

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

Микропроцессорный термометр с подключением к ПК считывает данные с датчика температуры и передает их на компьютер через интерфейс RS 232. Далее данные обрабатываются программой на компьютере.

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

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

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

Для микропроцессорного термометра с подключением к ПК используются несколько схем подключения: схема подключения к датчику температуры, схема подключения к персональному компьютеру по интерфейсу RS 232, схема питания и схема подключения к супервизору питания.

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

Для написания программы на языке Ассемблер для микропроцессорного термометра с подключением к ПК нужно использовать спецификацию устройства и инструкции языка Ассемблер. Программа должна определять порядок считывания данных с датчика и передачу их на компьютер через интерфейс RS 232.