MPSKUR1 (722196), страница 2

Файл №722196 MPSKUR1 (Разработка медицинского цифрового термометра) 2 страницаMPSKUR1 (722196) страница 22016-08-01СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 2)

питания

Супервизор

напряжения

Дисплей

RESET

Vcc

D0-D7


GND

GND

E

R/W

8


RS


GND



МК

Датчик

температуры

AIN1

AIN1

Vcc



Последовательный интерфейс для связи с ПК

R2

A

AVCC

Vcc

R0


Источник

тока

B

RS

RE

DE


GND

GND

C2

AGND


АREF

7


GND



Клавиатура

GND


Ист. опор. напряжения

Vcc


GND



Рис.5.

1.3 РАЗРАБОТКА ПРИНЦИПИАЛЬНОЙ СХЕМЫ

Согласно заданию требуется разработать цифровой медицинский термометр на базе контролера AVR. Я взял микроконтроллер, потому что он имеет достаточное число выводов, напряжение питания от 2,7 до 6 В, есть программируемый полный дуплексный UART (так как мне необходимо организовать последовательную связь с компьютером). Еще в нем имеется сторожевой таймер, внутренняя память и в данном микроконтроллере имеется возможность применить языки высокого уровня для его программирования. Все остальные характеристики приведены в приложении 1.

Супервизор напряжения: я выбрал микросхему mcp100 так как она обладает следующими характеристиками:

  • напряжение питания до 5В,

  • высокий и низкий уровень сигнала Reset,

  • время сигнала Reset 350 мС, потребляемый ток 45мкА,

  • температурный диапазон от –40до +85 гр.С

По характеристикам эта схема подходит для моего устройства.

В задании оговорено, что нужно для связи с компьютером использовать интерфейс RS485. Мною была выбрана микросхема МАХ481, у нее напряжение питания тоже 5 В.

Я использовал датчик температуры 100П

Мне необходим жидко кристаллический индикатор со следующими характеристиками

  • напряжение питания 5В

  • двух строчечный

  • со встроенным контроллером, русским алфавитом и наиболее дешевый

Данными свойствами обладает модуль PG1602.

В задании сказано, что диапазон измеряемой температуры от 25 С0 до + 50 С0

и учитывая точность измерения 0,1, действие различных шумов получаем 500 отчетов. Таким образом встроенное 10 разрядное АЦП микроконтроллера AТmega103. В качестве источника опорного напряжения для встроенного АЦП была взята микросхема AD680.

Так как нам необходимо обеспечить 500 отчетов, то через термометр сопротивления должен протекать постоянный ток 20 мА. Следовательно, нам нужен источник постоянного тока. В данной работе источник постоянного тока выполнен по стандартной схеме с использование микросхемы AD680 и постоянного резистора R1= 70 Ом. Расчет резистора был произведен по закону Ома.

Для обеспечения питания микросхем используем стабилизатор напряжения DA37805. На данную микросхему подаем напряжение в диапазоне 10-30В, а с выхода получаем 5В. Здесь диод VD1(КЦ105) используется для того, чтобы не перепутать + и -. Электролитические конденсаторы C2,C4 (К56-100 мкФ) используется для отсечения низкочастотной помехи, а для отсечения высокочастотной помехи параллельно ставим конденсаторы С1,С3 (КМ4-0,1 мкФ). Для питания встроенного АЦП воспользуемся стандартной схемой подключения выводов где R2=100ОМ и С7=10нФ.

РАЗРАБОТКА ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ

2.1 РАЗРАБОТКА СТРУКТУРЫ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ

На рис.6 представлена структура программного обеспечения

Инициализация

(Контроллера, АЦП, ЖКИ)


Flagvyvod=1


Сброс флага


Выдача на дисплей начального приглашения


Подпрограмма выдачи на дисплей результата измерения



Просмотр флагов



USR,RxC=1

Возврат и сброс флага

Flagdan=1 и flagpr=1

Flagsbr=1

Сброс флагов, если пустой буфер


Сброс флага

Сброс флага


Подпрограмма

обработки сканкода

Flagklav=1


Подпрограмма стирания данных

Подпрограмма приема данных с комп.

Подпрограмма

выдачи данных на комп.


Программа

опроса клавиатуры

Устанавливаем

Flagklav=1

Сброс флага

Flagszap=1


Подпрограмма

записи данных


Рис.6.

В блоке инициализация делаем следующие действия. Для контроллера настройка портов, программирование таймеров, настройка UART, устанавливаем стек и т. д. Для АЦП устанавливаем частоту опроса, режим 16 бит, для ЖКИ устанавливаем разрядность шины данных=8,количество строк =2, шрифт 5х7 точек, направление сдвига курсор в право, запрещаем сдвиг дисплея вместе со сдвигом курсора и т.д.

В блоке “Выдача на дисплей начального приглашения” выдаем на дисплей следующее сообщение «Кнопка1-режим ввода, кнопка2 – режим вывода, кнопки 3 - 7 – номера ячеек памяти, кнопка 8 - очистка памяти».

Блок опроса флагов: происходит постоянный опрос флагов, если какой-либо флаг установлен, то переходим на соответствующую подпрограмму обработки, которая после окончания своей работы возвращается в то место, откуда была вызвана и сбрасывает соответствующий флаг.

Программа опроса клавиатуры: постоянно опрашивает клавиатуру, и записывает ее состояние в заданный регистр1, как только в этом регистре1 появляется указанное число, она устанавливает Flagklav=1.

Подпрограмма обработки сканкода активизируется, когда Flagklav=1. Сначала проверяем, если действительно в регистре1 число (т.е. устраняем дребезг контактов), анализируем содержание регистра1 и в зависимости от того какое число там записано переходим на ту или иную подпрограмму обработки. В конце подпрограммы сбрасываем Flagklav.

Подпрограмма выдачи на дисплей результата измерения активизируется когда установлен флаг Flagvyvod=1. В зависимости от содержания регистра1, выводим данные из той или иной ячейки памяти.

Подпрограмма записи данных активизируется когда установлен флаг Flagszap=1, и в зависимости от содержания регистра1, записываем данные в ту или иную ячейку памяти.

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

Подпрограмма выдачи данных на компьютер начинает выполнятся когда Flagdan=1 и flagpr=1, далее выполняется выдача данных на компьютер и сброс флагов происходит в том случае, если буфер с данными пуст.

2.2 РАЗРАБОТКА АЛГОРИТМА ОДНОГО ИЗ СОСТАВНЫХ ЧАСТЕЙ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ

Алгоритм инициализации ЖКИ представлен на рис.7.



Сделать задержку 15 мСек



Записать в регистр ЖКИ команду 0000110000



Сделать задержку 4мСек и более



Записать в регистр ЖКИ команду 0000110000



Сделать задержку 100 мкСек



Записать в регистр ЖКИ команду 0000110000



Записать в регистр ЖКИ последовательно следующие команды

0000111000 ;устанавливаем разрядность шины данных=8,

количество строк =2, шрифт 5х7 точек

0000001000 ; включить дисплей, зажечь курсор

0000000001 ; очистить дисплей и установить курсор в

нулевую позицию

0000000110 ; устанавливаем направление сдвига курсора

в право, запретить сдвиг дисплея вместе со

сдвигом курсора


Рис.7.

Программа инициализации ЖКИ составленная по данному алгоритму и написанная на языке Ассемблер будет выглядеть так:

initlcd:

rcall del

ldi r25,30h

rcall icom

rcall del

ldi r25,30h

rcall icom

rcall del

ldi r25,30h

rcall icom

ldi r25,38h ; устанавливаем разрядность шины данных=8,

количество строк =2, шрифт 5х7 точек

rcall icom

ldi r25,08h ; включить дисплей, зажечь курсор

rcall icom

ldi r25,01h ; очистить дисплей и установить курсор в нулевую позицию

rcall icom

ldi r25,06h; устанавливаем направление сдвига курсор в право, запретить

сдвиг дисплея вместе со сдвигом курсора

rcall icom

ret

del:

ldi r17,150 ;задержка ~15 ms при кварце 4 МГц

l: ldi r18,200 ;

l1: dec r18 ;

brne l1 ;

dec r17 ;

brne l ;

ret

icom:

in r0,portA

sbi r0,2 ; установит RS в 1

out portA,r0

in r0,portA

сbi r0,1 ; установит W/R в 0

out portA,r0

in r0,portA

sbi r0,0 ; установит Е в 1

out portC,r0

out portB,r25 ;записать в ЖКИ команду из регистра r25

in r0,portA

cbi r0,0 ;сбросить Е в 0

out portA,r0

in r0,portA

sbi r0,1 ; установит W/R в 1

out portA,r0

ret

2.3 НАПИСАНИЕ ПРОГРАММЫ

Текст программы составленный по структурной схеме на рис.6 приведен ниже

.include "Atmega103.inc"

.def flag=r1

.def flagszap =0

.def flagklav =1

.def flagsbr =2

.def flagvyvod =3

.def flagdan =4

.def flagpr =5

.def tmp=r20

.cseg

.org 0H

rjmp main

main:

rcall init ; инициализация контроллера

rcall initlcd ; инициализация ЖКИ

rcall priglashenie ;программа выдачи начального приглашения

Характеристики

Тип файла
Документ
Размер
745 Kb
Тип материала
Учебное заведение
Неизвестно

Список файлов реферата

Свежие статьи
Популярно сейчас
Почему делать на заказ в разы дороже, чем купить готовую учебную работу на СтудИзбе? Наши учебные работы продаются каждый год, тогда как большинство заказов выполняются с нуля. Найдите подходящий учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6376
Авторов
на СтудИзбе
309
Средний доход
с одного платного файла
Обучение Подробнее