Цифровой термометр на базе контроллера 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