Цифровой термометр на базе контроллера PIC16F877

Структурная схема цифрового термометра. Выбор микропроцессорного комплекта. Описание и расчет схемы электрической принципиальной. Нагрузочная способность портов ввода/вывода. Сопротивления делителя напряжения. Программирование в готовом устройстве.

Рубрика Коммуникации, связь, цифровые приборы и радиоэлектроника
Вид курсовая работа
Язык русский
Дата добавления 30.08.2012
Размер файла 139,4 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

Размещено на http://www.allbest.ru/

Содержание

Введение

Техническое задание

1. Структурная схема цифрового термометра

2. Выбор микропроцессорного комплекта

3. Описание и расчёт схемы электрической принципиальной

Список литературы

Принципиальная схема

Перечень элементов

Блок-схема алгоритма программы

Текст программы

Введение

В настоящее время более тридцати зарубежных фирм выпускают микроконтроллеры массового применения с разрядностью 8 бит, недорогие и пригодные для использования в самых разнообразных приложениях. Однако именно микроконтроллеры серии PIC фирмы Microchip® Technology Inc. переживают последние три-четыре года в России поистине взрывной рост популярности. Эти микроконтроллеры также крайне популярны во всём мире, как у производителей электронной техники, так и среди радиолюбителей.

Причиной такой популярности является мощная и продуманная поддержка разработчиков со стороны фирмы и низкая стоимость микросхем. Кроме того сам продукт обладает целым рядом неоспоримых достоинств. Микроконтроллеры PIC фирмы Microchip® объединили в себе все передовые технологии, применяемые в производстве микроконтроллеров: развитую RISC-архитектуру, минимальное энергопотребление при высоком быстродействии, ППЗУ, программируемое пользователем, функциональную законченность. Немаловажное значение имеет возможность защиты кода программы от несанкционированного копирования и использования.

Чёткая и продуманная внутренняя структура контроллеров и небольшая, но мощная система команд с интуитивно понятной мнемоникой значительно облегчают процесс изучения контроллеров PIC и написание для них программ.

Для производителей электронной аппаратуры микроконтроллеры PIC интересны обширным и законченным функциональным рядом, возможностью заказа дешёвых масочно-программируемых кристаллов при наличии отладочных кристаллов с флэш-памятью и УФ-стиранием

Микроконтроллеры серии PIC идеально подходят для организации и развития малого и среднего бизнеса в области производства электронной аппаратуры

Техническое задание

В работе рассматривается возможность создания устройства - «цифровой термометр» для измерения комнатных температур в диапазоне от 0…50°С с точностью измерений 7% с использованием в данном устройстве современного микропроцессорного комплекта.

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

1. Массогабаритные.

2. Несложная реализация.

3. Надежность.

4. Невысокая стоимость.

5. Удобство в применении.

1. Структурная схема цифрового термометра

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

2. Выбор микропроцессорного комплекта

Для реализации устройства был выбран PIC16F877, в корпусе PDIP. Основными факторами при выборе контроллера являлись: стоимость и достаточное количество линий ввода-вывода.

Характеристика микроконтроллера:

· Высокоскоростная RISC архитектура

· 35 инструкций

· Все команды выполняются за один цикл, кроме инструкций переходов, выполняемых за два цикла

· Тактовая частота:

Ш DC - 20МГц, тактовый сигнал

Ш DC - 200нс, один машинный цикл

· До 8к х 14 слов FLASH памяти программ

· До 368 х 8 байт памяти данных (ОЗУ)

· До 256 х 8 байт EEPROM памяти данных

· Совместимость по выводам с PIC16C73B/74B/76/77

· Система прерываний (до 14 источников)

· 8-уровневый аппаратный стек

· Прямой, косвенный и относительный режим адресации

· Сброс по включению питания (POR)

· Таймер сброса (PWRT) и таймер ожидания запуска генератора (OST) после включения питания

· Сторожевой таймер WDT с собственным RC генератором

· Программируемая защита памяти программ

· Режим энергосбережения SLEEP

· Выбор параметров тактового генератора

· Высокоскоростная, энергосберегающая CMOS FLASH/EEPROM технология

· Полностью статическая архитектура

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

· Низковольтный режим программирования

· Режим внутрисхемной отладки (используется два вывода микроконтроллера)

· Широкий диапазон напряжений питания от 2.0 В до 5.5 В

· Повышенная нагрузочная способность портов ввода/вывода (25 мА)

· Малое энергопотребление:

Ш < 0.6 мА @ 3.0 В, 4.0 МГц

Ш 20 мкА @ 3.0 В, 32 кГц

Ш < 1 мкА в режиме энергосбережения

Характеристика периферийных модулей:

· Таймер 0: 8-разрядный таймер/счетчик с 8-разрядным программируемым предделителем

· Таймер 1: 16-разрядный таймер/счетчик с возможностью подключения внешнего резонатора

· Таймер 2: 8-разрядный таймер/счетчик с 8-разрядным программируемым предделителем и выходным делителем

· Два модуля сравнение/захват/ШИМ (ССР):

Ш 16-разрядный захват (макс. разрешающая способность 12.5 нс)

Ш 16-разрядное сравнение (макс. разрешающая способность 200 нс)

Ш 10-разрядный ШИМ

· Многоканальное 10-разрядное АЦП

· Последовательный синхронный порт MSSP

Ш ведущий/ведомый режим SPI

Ш ведущий/ведомый режим I2C

· Последовательный синхронно-асинхронный приемопередатчик USART с поддержкой детектирования адреса

· Ведомый 8-разрядный параллельный порт PSP с поддержкой внешних сигналов -RD, -WR, -CS (только в 40/44-выводных микроконтроллерах)

· Детектор пониженного напряжения (BOD) для сброса по снижению напряжения питания (BOR)

3. Описание и расчёт схемы электрической принципиальной

цифровой термометр микропроцессорный программирование

Входная цепь вместе с внутренним АЦП микроконтроллера представляет собой схему преобразования «напряжение - код». При изменении температуры сопротивление терморезистора изменяется, а, следовательно, изменяется и входное напряжение на микропроцессоре. Напряжение на входе RA0 преобразуется в 10-битный цифровой двоичный код с шагом квантования

Схема включает в себя два операционных усилителя марки К140УД6. DA1 исключает влияние делителя напряжения на сопротивление терморезистора, а DA2 необходим для согласования терморезистора с микроконтроллером.

После преобразования микроконтроллер ставит в соответствие полученному коду температуру и отображает её на семисегментные индикаторы.

Для измерений используется терморезистор с отрицательным ТКС КМТ-8. Его номинальное сопротивление Rt = 510 Ом.

Терморезистор имеет нелинейную зависимость R(T), для её линеаризации параллельно терморезистору поставим резистор R3 = 1000 Ом.

Рассчитаем сопротивления делителя напряжения:

,

примем R1 = 1 КОм и R2 = 9 КОм.

Рассчитаем R*:

Рассчитаем конденсатор (на частоте 1 Гц):

R4 = 10 КОм - по условию для операционных усилителей.

Рассчитаем ограничивающие сопротивления R5 - R11:

Рассчитаем значения сопротивлений резисторов R12, R13:

Транзистор КТ315А имеет статический коэффициент усиления тока базы в=50, Максимальный ток в цепи коллектора равен:

Список литературы

1. Мэклин Э. Д. Терморезисторы.

2. Методические указания «Микроконтроллеры PIC 16F877».- Новосибирск: НГТУ, 2002.

3. Конспект лекций по дисциплине «Вычислительная техника и информационные технологии». Кривецкий А. В.

Поз. обозн.

Наименование

Кол.

Примечание

С1

Конденсатор КМ5 - 160 мкФ ± 1%

1

Резисторы

R1, R3, R*

МЛТ-0,25 - 1кОм ± 1%

3

R2

МЛТ-0,25 - 9 кОм ± 1%

1

R4

МЛТ-0,25 - 10 кОм ± 1%

1

R5-R11

МЛТ-0,25 - 180 Ом ± 1%

7

R12, R13

МЛТ-0,25 - 1.6 кОм ± 1%

2

Rt

Терморезистор КМТ-8 - 510 Ом ± 10%

1

Транзисторы

VT1, VT2

КТ315А

2

Микросхемы

DD1

Микроконтроллер PIC16F877

1

DA1, DA2

Операционный усилитель К140УД6

2

Индикаторы знакосинтезирующие

HG1, HG2

АЛ305А

2

НГТУ.ХХХ.ХХХ.21

Лист

12

Изм.

Лист

№ докум.

Подпись

Дата

Блок-схема алгоритма программы

Объяснение некоторых операций программы:

0°С соответствует сопротивление 340 Ом, следовательно напряжение на входе микроконтроллера будет: . Это значит, что от полученного кода необходимо отнять комбинацию, соответствующую этому напряжению. Найдём её:

5В/1024 = 4,88 мВ - шаг измерения напряжения микроконтроллером;

1.47/4.88 = 301 - вычитаемая комбинация.

Найдем шаг, соответствующий изменению температуры на 1°С:

Т. е. полученную комбинацию нужно разделить на 14.

Текст программы

list p=16f877

include «p16f877.inc»

ADRESS_1 equ 0x21

ADRESS_0 equ 0x22

CCC EQU 0x23

CCC2 EQU 0x24

CCC3 EQU 0x25

movlw b'00000000' ;команда записи в аккумулятор;

movwf ADRESS_1 ;копирует из аккумулятора в прямоуказанный регистр;

movwf ADRESS_0

movwf ССС

movwf ССС2

movwf ССС3

BSF STATUS, RP0 ;переход в первый банк

BCF STATUS, RP1

movlw b'10000000'

movwf ADCON1 ;настройка АЦП

CLRF TRISC ;обнуление регистра, настройка PORTC на выход

movlw b'00000111'

movwf OPTION_REG ;настройка TMR0

BCF STATUS, RP0 ;переход в нулевой банк

movlw b'10000001'

movwf ADCON0 ;настройка АЦП

;----------------- тело цикла --------------------

preobr BSF ADCON0, 2 ;установка флага GO/DONE

ggg BTFSC ADCON0, 2 ;пропустить следующую инструкцию, если битовое поле 2

;содержит 0

goto ggg

movf ADRESH, 0 ;копировать содержимое регистра в аккумулятор

movwf ADRESS_1 ;и записать его в переменную

movf ADRESL, 0

movwf ADRESS_0

CLRF STATUS,C ;сброс флага переноса

;вычитание 301

movf b'00101101' ;запись числа 45 в аккумулятор

SUBWF ADRESS_0,1 ;вычитает содержание аккумулятора из регистра,

;сохраняет результат в регистре.

movf b'00000001' ; запись числа 256 в аккумулятор (45+256=301)

SUBWF ADRESS_1,1

BTFSC STATUS, C

DECF ADRESS_1,1 ;команда декремента, вычитает единицу из

;прямоуказанного регистра с сохранением результата в

;регистре;

CLRF STATUS, C

;деление на 14

goto LLL

del INCF CCC, 1 ;команда инкремента, прибавляет единицу к

;содержимому прямоуказанного регистра, сохраняет

;результат в регистре

LLL movf b'00001110' ; запись числа 14 в аккумулятор

SUBWF ADRESS_0, 1

BTFSC STATUS, C

DECFSZ ADRESS_1,1; выполняет декремент прямоуказанного регистра,

;осуществляет проверку равенства результата с 0, если да, ;то, пропускает следующую команду

goto del ;результат деления хранится в регистре ССС

movf CCC, 0 ;записываем содержимое регистра ССС в регистр ССС2

movwf CCC2

;выделение единиц и десятков

goto LLL1

LLL2 INCF CCC3, 1 ;десятки

movwf CCC2

LLL1 movlw b'1010' ;единицы

SUBWF CCC2, 0

BTFSC STATUS, C

;вывод температуры на индикаторы

goto LLL2

movf CCC2, 0

CALL dec7

movwf PORTA

BSC PORTE

CALL delay ;команда вызова подпрограммы;

BCF PORTE, 1

movf CCC3,0

CALL dec7

movwf PORTA

BSF PORTE, 0

CALL delay

BCF PORTE

goto preobr

delay

movlw 0x02 ;подпрограмма задержки на 2 мс.

movwf 0x50

delay_1

nop

call delay_2

decfsz 0x50, f

goto delay_1

return

delay_2 ; вложенная задержка на 1 мс

movlw 0xf7

movwf 0x51

delay_3

nop

decfsz 0x51, f

goto delay_3

return

;подпрограмма табличной конвертации, принимает и возвращает данные в аккумулятор

dc7

addwf PCL, f ;прибавляем к PCL число, которое нужно преобразовать

retlw b'1111110' ;цифра "0"

retlw b'0110000' ;цифра "1"

retlw b'1101101' ;цифра "2"

retlw b'1111001' ;цифра "3"

retlw b'0110011' ;цифра "4"

retlw b'1011011' ;цифра "5"

retlw b'1011111' ;цифра "6"

retlw b'1110000' ;цифра "7"

retlw b'1111111' ;цифра "8"

retlw b'1111011' ;цифра "9"

end

Размещено на Allbest.ru


Подобные документы

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

    курсовая работа [667,5 K], добавлен 13.04.2014

  • Особенности разработки и алгоритм программы для микроконтроллера АVR-Mega 128, выполняющую измерение температуры с помощью датчика ТМР-35 в режиме непрерывного преобразования. Синтез и описание схемы электрической принципиальной цифрового термометра.

    курсовая работа [891,0 K], добавлен 11.04.2010

  • Принцип построения цифрового термометра. Оформление датчика температуры. Принципиальная схема цифрового термометра. Требования к бытовым термометрам: точность измерения, малогабаритность, экономичность, автономность питания, малая тепловая инерционность.

    курсовая работа [1,3 M], добавлен 07.06.2015

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

    курсовая работа [493,2 K], добавлен 07.01.2011

  • Функциональная спецификация и структурная схема электронных автомобильных часов-термометра-вольтметра. Разработка алгоритма работы и принципиальной электрической схемы. Получение прошивки программы для памяти микроконтроллера в результате ассеблирования.

    курсовая работа [2,0 M], добавлен 26.12.2009

  • Разработка микроконтроллера для контроля ритма дыхания больного в реанимационной палате. Структурная и принципиальная схемы микропроцессорного контроллера. Модули процессора, памяти, ввода и вывода, режимы индикации. Описание работы, принципиальная схема.

    курсовая работа [197,6 K], добавлен 06.12.2013

  • Параметры делителя частоты. Теоретическое обоснование схемного решения. Асинхронный двоичный счетчик в качестве делителя частоты. Упрощенная структурная схема делителя. Ввод коэффициента деления. Составление электрической принципиальной схемы устройства.

    курсовая работа [1,2 M], добавлен 08.01.2013

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

    курсовая работа [2,4 M], добавлен 27.12.2009

  • Изучение цифрового термометра DS18B20: диапазон измерений, уникальный код, блок-схема, особенности функционирования. Устройство и назначение микроконтроллера PIC16F84, его технические характеристики. Описание алгоритма работы термометра-термостата.

    контрольная работа [2,5 M], добавлен 20.12.2012

  • Разработка аппаратных и программных средств для реализации цифрового термометра. Выбор способа измерения температуры. Функциональные возможности преобразователя DS18B20. Возможность использования LCD дисплея без подсветки и семисегментного индикатора.

    курсовая работа [2,2 M], добавлен 15.01.2013

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.