Тахометр на микроконтроллере

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

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

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

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

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

Введение

Развитие микроэлектроники и широкое ее применение в промышленном производстве, в устройствах и системах управления самыми разнообразными объектами и процессами является в настоящее время одним из основных направлений научно технического прогресса.

Использование микроэлектронных средств в изделиях промышленного и культурно-бытового назначения не только приводит к повышению технико-экономических показателей изделий (стоимости, надежности, потребляемой мощности, габаритных размеров) и позволяет многократно сократить сроки разработки и отодвинуть строки "морального старения" изделий, но и придет им принципиально новые потребительские качества. В микроэлектронике бурное развитие получило направление, связанное с выпуском однокристальных микроконтроллеров, которые предназначены для "интеллектуализации" оборудования различного назначения. Однокристальные микроконтроллеры представляют собой приборы, конструктивно выполненные в виде БИС и включающие в себя все составные части микроЭВМ: микропроцессор, память программ и память данных, а также программируемые интерфейсные схемы для связи с внешней средой. Использование микроконтроллеров в системах управления обеспечивает достижение исключительно высоких показателей эффективности при столь низкой стоимости (во многих применениях система может состоять только из одной БИС микроконтроллера), что микроконтроллерам, видимо, нет разумной альтернативной элементной базы для построения управляющих и регулирующих систем, и в будущем микроконтроллеры будут находить все большее применение. Структурная организация, набор команд и аппаратурно-программные средства ввода/вывода информации микроконтроллеров лучше всего приспособлены для решения задач управления и регулирования в приборах, устройствах и системах автоматики, а не для решения задач обработки данных.

1. Разработка структурной схемы устройства

Составим структурную схему проектируемого устройства.

Рисунок 1 - Структурная схема устройства

Основной задачей решаемой при составлении структурной схемы является определение блоков устройства.

Проектируемое устройство содержит следующие узлы:

Кварцевый резонатор с частотой f, работает совместно со встроенным тактовым генератором микроконтроллера (далее МК). Резонатор обеспечивает повышенную стабильность частоты тактового генератора МК.

МК - микроконтроллер PIC16F886.

Индикатор - четырехразрядный семисегментный индикатор для отображения информации.

2. Разработка принципиальной схемы устройства

Принципиальная электрическая схема и перечень использованных элементов приведены в приложении А.

Устройство состоит из:

микроконтроллера;

устройства индикации.

2.1 Микроконтроллер PIC16F886

Микроконтроллер PIC16F886 выбран согласно задания.

Характеристики МК PIC16F886 [3]:

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

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

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

Тактовая частота (макс.)

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

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

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

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

256 х 8 байт EEPROM памяти данных.

Система прерываний (13 источников).

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мкА в режиме энергосбережения (SLEEP).

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

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

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

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

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

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

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

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

Многоканальный 10-разрядный АЦП.

Последовательный синхронный порт MSSP (ведущий/ведомый режим), SPI (ведущий/ведомый режим), I2C.

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

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

Основные температурные и электрические характеристики МК PIC16F886 приведены в таблице 2.1.

Таблица 2.1 - Температурные и электрические характеристики МК PIC16F876

Название параметра (характеристики)

Значение

Предельная рабочая температура

от -55°С до +125єС

Температура хранения

от -65°С до +150єС

Напряжение VDD относительно VSS

от -0,3 В до +7,5 В

Напряжение относительно VSS

от 0 В до +14 В

Напряжение на остальных выводах относительно VSS

от -0,3 В до VDD+0,3 В

Максимальный ток вывода VSS

300 мА

Максимальный ток вывода VDD

250 мА

Макс. выходной ток стока канала ввода/вывода

25 мА

Макс. выходной ток истока канала ввода/вывода

25 мА

Макс. выходной ток стока портов ввода/вывода PORTA, PORTB и PORTС

200 мА

Максимальный выходной ток истока портов ввода/вывода PORTA, PORTB и PORTС

200 мА

Цоколёвка МК приведена на рисунке 2.1.

Рисунок 2.1 - Цоколевка МК PIC16F886

Назначение используемых выводов приведены в таблице 2.2.

Таблица 2.2 - Назначение используемых выводов МК

Обозн. вывода

Номер выв.

Назначение вывода

OSC1, OSC2

9, 10

Подключается кварцевый резонатор

1

Вход сброса МК

Vdd

20

Питание

Vss

8, 19

Общий вывод

RA0…RA3

2…5

Порт A

T0CKI

6

Подсчет внешних импульсов

RB0…RB7

21..28

Порт B

Кварцевый резонатор (ZQ1) служит для увеличения стабильности генерируемой частоты. Конденсаторы C1 и C2 предназначены для согласования работы кварцевого резонатора и микроконтроллера. Согласно [4] их емкость составляет 30 пФ для частоты менее 1 МГц.

Вывод MCLR МК соединен с питанием для сброса при включении питания [1].

2.2 Устройство индикации

В качестве устройства индикации выбран четырехразрядный семисегментный светодиодный индикатор GNQ-3641ALS красного цвета с общими анодами.

Его характеристики: потребляемый ток от 10 до 25 мА на сегмент; рабочее напряжение сегмента (при токе 20 мА) - 2,5 В.

Семисегментный код отображаемой цифры выдается на линиям RB1-RB7. Линии RA0-RA3 управляют общими анодами индикатора. Резисторная сборка предназначена для ограничения тока сегментов инди-катора.

Рассчитаем номинал резисторной сборки по формуле

,

где U - выходное напряжение высокого уровня порта МК,

US - рабочее напряжение сегмента индикатора,

IS - потребляемый сегментом ток.

Ом

В ряду E24 такой номинал есть, подбирать его не нужно.

3. Разработка алгоритма управляющей программы

МК подсчитывает импульсы, поступающие на вход T0CKI за 1 секунду. Для того, чтобы получить число оборотов в минуту, необходимо полученное число умножить на 60. Т.к. при умножении на 60 последняя цифра всегда получается 0, то он отбрасывается. Получается, что полученное число оборотов в секунду умножается на 6. Потом число оборотов в минуту, деленное на 10, выводится на индикатор.

Интервал в 1 секунду отсчитывается с помощью таймера 1.

После индикации таймеры обнуляются и процесс повторяется.

Общий алгоритм управляющей программы представлен на рисунке 3.1.

микроконтроллер светодиодный индикатор программа

Рисунок 3.1 - Общий алгоритм управляющей программы

4. Разработка управляющей программы

MPASM 5.05 TAHOMETR.ASM 1-26-2010 18:09:07 PAGE 1

LOC OBJECT CODE LINE SOURCE TEXT

VALUE

00001

00002 #INCLUDE P16F886.INC

00001 LIST

00002; P16F886.INC Standard Header File, Version 1.00 Microchip Technology, Inc.

00614 LIST

00003; ПОДСЧЕТ ИМПУЛЬСОВ С ПРОИЗВОДИТСЯ 1 СЕКУНДУ.

00004; ЗА 1 ОБОРОТ ПРОХОДИТ 1 ИМПУЛЬС. ЗНАЧЕНИЕ В СЧЕТЧИКЕ БУДЕТ

00005; N ЗА СЕКУНДУ. ЗА МИНУТУ НАДО УМНОЖИТЬ НА 60. НА 10 МЫ ДЕЛИМ,

00006; УБРАВ РАЗРЯД ЕДИНИЦ ИЗ ИНДИКАЦИИ

00007; ПОЛУЧИМ: Nx60=>Nx6=n ОБ/МИН. 1 СЕК. ПОЛУЧАЕМ С TMR0, С ПРЕДДЕЛИТЕЛЕМ К=32:

00008;ОПРЕДЕЛЕНИЕ РЕГИСТРОВ.

00000000 00009 INDF EQU 00h;ДОСТУП К ПАМЯТИ ЧЕРЕЗ FSR.

00000001 00010 TMRO EQU 01H;TMR0.

00000081 00011 OPTION_REG EQU 81H;OPTION (RP0=1).

00000002 00012 PC EQU 02H;СЧЕТЧИК КОМАНД.

00000003 00013 STATUS EQU 03H;РЕГИСТР СОСТОЯНИЯ АЛУ.

00000004 00014 FSR EQU 04H;РЕГИСТР КОСВЕННОЙ АДРЕСАЦИИ.

00000005 00015 PORTA EQU 05H;ПОРТ А ВВОДА;ВЫВОДА.

00000006 00016 PORTB EQU 06H;ПОРТ В ВВОДА;ВЫВОДА.

00000085 00017 TRISA EQU 85H;НАПРАВЛЕНИЯ ДАННЫХ ПОРТА А.

00000086 00018 TRISB EQU 86H;НАПРАВЛЕНИЯ ДАННЫХ ПОРТА В.

0000000B 00019 INTCON EQU 0BH;РЕГИСТР ФЛАГОВ ПРЕРЫВАНИЙ.

00020

00021; ОПРЕДЕЛЕНИЕ РЕГИСТРОВ ИНДИКАЦИИ.

00000010 00022 DESI EQU 010H;ДЕСЯТКИ ИНДИКАЦИИ.

00000011 00023 SOTI EQU 011H;СОТНИ.

00000012 00024 TUSI EQU 012H;ТЫСЯЧИ.

00025

00026; РЕГИСТРЫ ДЛЯ ОРГАНИЗАЦИИ ИНДИКАЦИИ.

00000013 00027 ANOD EQU 013H;АНОД.

00000014 00028 SEGD EQU 014H;СЕГМЕНТЫ.

00029

00030; ВРЕМЕННЫЕ, ДЛЯ ХРАНЕНИЯ ПРИ ПРЕРЫВАНИИ

00000015 00031 W_TEMP EQU 015H;БАЙТ СОХРАНЕНИЯ РЕГИСТРА W ПРИ ПРЕРЫВАНИИ.

00000016 00032 STATUS_TEMP EQU 016H;БАЙТ СОХРАНЕНИЯ РЕГИСТРА STATUS ПРИ ПРЕРЫВАНИИ.

00000017 00033 FSR_TEMP EQU 017H;ВРЕМЕННЫЙ ДЛЯ FSR.

00034

00035; ОПРЕДЕЛЕНИЕ РЕГИСТРОВ СЧЕТА.

00000018 00036 DES EQU 018H;МЛАДШИЙ РАЗРЯД РЕГИСТРА СЧЕТА.

00000019 00037 SOT EQU 019H;СТАРШИЙ РАЗРЯД.

0000001A 00038 SEC EQU 01AH;СЕКУНДЫ.

0000001B 00039 SOTU EQU 01BH;ВРЕМЕННЫЙ РЕГИСТР.

00040

00041

00042; ОСНОВНАЯ ПРОГРАММА.

0000 00043 ORG 0

0000 2805 00044 GOTO INIT

0004 00045 ORG 4

0004 2875 00046 GOTO CONST

00047

00048; 1. ИНИЦИАЛИЗАЦИЯ

0005 00049 INIT

0005 1683 00050 BSF STATUS,5;ПЕРЕХОДИМ В БАНК 1.

0006 30C4 00051 MOVLW B'11000100';ПРЕДДЕЛИТЕЛЬ ПЕРЕД ТАЙМЕРОМ, К=32 ...100,

0007 0081 00052 MOVWF OPTION_REG^80H;ПОДТЯГИВАЮЩИЕ РЕЗИСТОРЫ ВЫКЛЮЧЕНЫ, ФРОНТ

00053;НАРАСТАНИЯ.

0008 30B0 00054 MOVLW B'10110000';РАЗРЕШЕНИЕ ПРЕРЫВАНИЯ = ПРИ ПЕРЕПОЛНЕНИИ ТАЙМЕРА

0009 008B 00055 MOVWF INTCON;И ИЗМЕНЕНИЮ ВХОДНОГО СИГНАЛА ПОРТА В.

000A 3018 00056 MOVLW B'00011000';RA0-RA2 НА ВЫХОД, RA3, RA4-ВХОД.

000B 0085 00057 MOVWF TRISA^80H

000C 3001 00058 MOVLW B'00000001';RB0 НА ВХОД, RBI-RB7-ВЫХОД.

000D 0086 00059 MOVWF TRISB^80H

000E 1283 00060 BCF STATUS,5;ПЕРЕХОДИМ В БАНК 0.

000F 0181 00061 CLRF TMR0;ВСЕ ОБНУЛЯЕМ И УСТАНАВЛИВАЕМ.

0010 0190 00062 CLRF DESI

0011 0198 00063 CLRF DES

0012 0191 00064 CLRF SOTI

0013 0199 00065 CLRF SOT

0014 019B 00066 CLRF SOTU

0015 0192 00067 CLRF TUSI

0016 019A 00068 CLRF SEC

00069

00070; 2. ОПРЕДЕЛЕНИЕ СОСТОЯНИЯ КНОПОК И ФЛАГОВ.

00071

0017 1D0B 00072 BTFSS INTCON,2;ЕСЛИ НЕТ ПРЕРЫВАНИЯ,

0018 285B 00073 GOTO INDZIKL0;ИДЕМ НА ИНДИКАЦИЮ.

00074

00075; 3. УМНОЖЕНИЕ

00076

0019 0818 00077 MOVFW DES;МЛАДШИЙ РАЗРЯД.

001A 0718 00078 ADDWF DES,0;1+1

001B 1803 00079 BTFSC STATUS,0;ЕСЛИ НЕТ ПЕРЕНОСА, -

001C 0A9B 00080 INCF SOTU,1;+1 В СТАРШИЙ РАЗРЯД.

001D 1003 00081 BCF STATUS,0;0.

001E 0798 00082 ADDWF DES,1;2+1.

001F 1803 00083 BTFSC STATUS,0;ЕСЛИ НЕТ ПЕРЕНОСА,

0020 0A9B 00084 INCF SOTU,1;+1 В СТАРШИЙ РАЗРЯД.

0021 0819 00085 MOVFW SOT;СТАРШИЙ РАЗРЯД.

0022 0719 00086 ADDWF SOT,0;1+1;

0023 0799 00087 ADDWF SOT,1;2+1.

0024 081B 00088 MOVFW SOTU;ПРИБАВИМ ПЕРЕНОС ИЗ МЛАДШЕГО РАЗРЯДА.

0025 0799 00089 ADDWF SOT,1;ЗАПИШЕМ В СТАРШИЙ РАЗРЯД.

0026 019B 00090 CLRF SOTU;ОБНУЛИМ ВРЕМЕННЫЙ.

00091

00092; 4. ПЕРЕКОДИРОВКА ИЗ 16-РАЗРЯДНОГО ДВОИЧНОГО В 3-Х РАЗРЯДНОЕ ДВОИЧНО-ДЕСЯТИЧНОЕ.

0027 00093 RAS

0027 0064 00094 CLRWDT

0028 0190 00095 CLRF DESI;ОБНУЛИМ РЕГИСТРЫ ИНДИКАЦИИ.

0029 0191 00096 CLRF SOTI

002A 0192 00097 CLRF TUSI

002B 1103 00098 BCF STATUS,2;ОЧИСТКА БИТА "Z" РЕГИСТРА STATUS.

002C 0899 00099 TSTF SOT;ПРОВЕРИМ НА НОЛЬ.

002D 1903 284B 00100 BZ RAS1;ЕСЛИ РАВНО, ИДЕМ.

002F 00101 RAS0

002F 3064 00102 MOVLW 64;100.

0030 00103 RAS2

0030 1403 00104 BSF STATUS,0;УСТАНОВКА БИТА "С" РЕГИСТРА STATUS.

0031 00105 RAS3

0031 0298 00106 SUBWF DES,1;ВЫЧИТАЕМ ИЗ РЕГИСТРА 100 > DES.

0032 1C03 2836 00107 BNC BINDES;ПЕРЕХОД ЕСЛИ ПЕРЕНОС.

0034 0A92 00108 INCF TUSI,1;ПРИБАВИМ 1 К ТЫСЯЧАМ РЕГИСТРА ИНДИКАЦИИ.

0035 2831 00109 GOTO RAS3;ПОВТОРИТЬ.

0036 00110 BINDES

0036 0064 00111 CLRWDT

0037 1103 00112 BCF STATUS,2;ОЧИСТКА БИТА "Z" РЕГИСТРА STATUS.

0038 0899 00113 TSTF SOT;ПРИВЕРИТЬ РЕГИСТР НА НОЛЬ.

0039 1903 283E 00114 BZ RAD;ЕСЛИ 0, ИДЕМ.

003B 0399 00115 DECF SOT,1;ВЫЧЕСТЬ ИЗ РЕГИСТРА 1.

003C 0A92 00116 INCF TUSI,1;ПРИБАВИМ 1 К ТЫСЯЧАМ РЕГИСТРА ИНДИКАЦИИ.

003D 2830 00117 GOTO RAS2;ПОВТОРИТЬ.

003E 00118 RAD

003E 0798 00119 ADDWF DES,1;ВОССТАНОВИМ ДЕСЯТКИ (В АКК. - 100).

003F 300A 00120 MOVLW .10;10.

0040 1403 00121 BSF STATUS,0;ОЧИСТКА БИТА "С" РЕГИСТРА STATUS.

0041 00122 RAD0

0041 0298 00123 SUBWF DES,1;ВЫЧИТАЕМ ИЗ РЕГИСТРА 10 > DES.

0042 1C03 2846 00124 BNC BINDED;ПЕРЕХОД, ЕСЛИ ПРОПАЛ ПЕРЕНОС.

0044 0A91 00125 INCF SOTI,1;ПРИБАВИМ 1 К СТАРШЕМУ РЕГИСТРУ.

0045 2841 00126 GOTO RAD0;ПОВТОРИТЬ.

0046 00127 BINDED

0046 0718 00128 ADDWF DES,0;+10.

0047 0090 00129 MOVWF DESI;ЗАПИШЕМ В РЕГИСТР ИНДИКАЦИИ.

0048 0198 00130 CLRF DES;ОБНУЛИМ.

0049 0199 00131 CLRF SOT

004A 287D 00132 GOTO RECONST

004B 00133 RAS1

004B 1103 00134 BCF STATUS,2;ОЧИСТКА БИТА "Z" РЕГИСТРА STATUS.

004C 0898 00135 TSTF DES;ЕСЛИ ЗНАЧЕНИЕ РЕГИСТРА = 0,

004D 1903 287D 00136 BZ RECONST;ЗАВЕРШАЕМ ПРЕРЫВАНИЕ,

004F 282F 00137 GOTO RAS0;ИНАЧЕ ИДЕМ СЧИТАТЬ.

00138

00139

00140; 5. ТАБЛИЦА СЕГМЕНТОВ ДЛЯ ОБЩЕГО АНОДА.

00141

0050 00142 SEGDATA;7, б, 5, 4, 3, 2, 1, 0.

0050 0782 00143 ADDWF PCL,F;G, F, E, D, С, B, A, PR

00144;АНОД-ДЛЯ ОБЩИХ АНОДОВ

00145;КАТОД - ДЛЯ ОБЩИХ КАТОДОВ

00146;НЕНУЖНОЕ УДАЛИТЬ ИЛИ ЗАКОММЕНТИРОВАТЬ

00147; АНОД КАТОД

0051 3481 00148 RETLW B'10000001'; 0 B'01111111'

0052 34F3 00149 RETLW B'11110011'; 1 B'00001101'

0053 3449 00150 RETLW B'01001001'; 2 B'10110111'

0054 3461 00151 RETLW B'01100001'; 3 B'10011111'

0055 3433 00152 RETLW B'00110011'; 4 B'11001101'

0056 3425 00153 RETLW B'00100101'; 5 B'11011011'

0057 3405 00154 RETLW B'00000101'; 6 B'11111011'

0058 34F1 00155 RETLW B'11110001'; 7 B'00001111'

0059 3401 00156 RETLW B'00000001'; 8 B'11111111'

005A 3421 00157 RETLW B'00100001'; 9 B'11011111'

00158

00159; 7. ИНДИКАЦИЯ.

005B 00160 INDZIKL0

005B 0064 00161 CLRWDT

005C 0193 00162 CLRF ANOD;ОБНУЛЯЕМ АНОД, ЧТОБЫ ОЧИСТИТЬ СТАРШИЕ РАЗРЯДЫ.

005D 178B 00163 BSF INTCON,7;ЧТОБЫ НЕ ПРОПУСТИТЬ ПРЕРЫВАНИЕ.

005E 1413 00164 BSF ANOD,0;УСТАНОВИМ МЛ. РАЗРЯД АНОДА.

005F 3010 00165 MOVLW 010H;ЗАПИСЬ НОМЕРА РЕГИСТРА МЛ. РАЗРЯДА

0060 0094 00166 MOVWF SEGD;В РЕгИСТР АДРЕСА РАЗРЯДА.

0061 00167 INDZIKL1

0061 0084 00168 MOVWF FSR;В РЕГИСТР КОСВЕННОЙ АДРЕСАЦИИ.

0062 0800 00169 MOVFW INDF;ВЫБИРАЕМ 2-10 ЗНАЧЕНИЕ.

0063 2050 00170 CALL SEGDATA;ПРЕОБРАЗУЕМ В СЕМИСЕГМЕНТНОЕ ДЛЯ ИНДИКАЦИИ

0064 0086 00171 MOVWF PORTB;В ПОРТ В.

0065 0813 00172 MOVFW ANOD;ЗАГРУЖАЕМ ЗНАЧЕНИЕ АНОДА.

0066 0085 00173 MOVWF PORTA;В ПОРТ А.

0067 2070 00174 CALL REST;НА ОТДЫХ.

0068 1003 00175 BCF STATUS,0;ОБНУЛИМ.

0069 0D93 00176 RLF ANOD,1;+1 В РЕГИСТР АНОДА.

006A 1993 00177 BTFSC ANOD,3;ЗАПИСЬ ЧИСЛА 3.

006B 285B 00178 GOTO INDZIKL0;ЕСЛИ РАВНО 0, ИДЕМ,

006C 0064 00179 CLRWDT;ВРЕМЯ ТАЙМЕРА - 18 МС.

006D 0A94 00180 INCF SEGD,F;+1 В РЕГИСТР АДРЕСА РАЗРЯДА.

006E 0814 00181 MOVFW SEGD;ЗАГРУЖАЕМ ЗНАЧЕНИЕ

006F 2861 00182 GOTO INDZIKL1;И ИДЕМ.

0070 00183 REST

0070 300A 00184 MOVLW .10;ЗАДЕРЖКА В 41 ЦИКЛ.

0071 00185 REST0

0071 3EFF 00186 ADDLW -01H;ВРЕМЯ НА ГОРЕНИЕ СЕГМЕНТА

0072 1D03 00187 BTFSS STATUS,2;64 ЦИКЛА=7,81 MCEK.

0073 2871 00188 GOTO REST0;ЗАЦИКЛИВАЕМСЯ

0074 0008 00189 RETURN

00190

00191; 8. СОХРАНЕНИЕ И ВОССТАНОВЛЕНИЕ ЗНАЧЕНИЙ РЕГИСТРОВ ПРИ ПРЕРЫВАНИИ.

0075 00192 CONST

0075 138B 00193 BCF INTCON,7;ЗАПРЕТ ПРЕРЫВАНИЙ.

0076 0095 00194 MOVWF W_TEMP;СОХРАНЕНИЕ ЗНАЧЕНИЙ РЕГИСТРОВ W И

0077 0803 00195 MOVFW STATUS;STATUS

0078 0096 00196 MOVWF STATUS_TEMP;

0079 0804 00197 MOVFW FSR;FSR.

007A 0097 00198 MOVWF FSR_TEMP

007B 188B 00199 BTFSC INTCON,1;ЕСЛИ ПРЕРЫВАНИЕ ПО ВХОДУ В,

007C 2810 00200 GOTO DESI;+1 В РЕГИСТРЫ СЧЕТА.

007D 00201 RECONST;ВОССТАНОВЛЕНИЕ СОХРАНЕННЫХ ЗНАЧЕНИЙ.

007D 0816 00202 MOVFW STATUS_TEMP;ВОССТАНОВЛЕНИЕ РЕГИСТРОВ:

007E 0083 00203 MOVWF STATUS;STATUS,

007F 0817 00204 MOVFW FSR_TEMP

0080 0084 00205 MOVWF FSR;FSR,

0081 0815 00206 MOVFW W_TEMP;W.

0082 0009 00207 RETFIE;ВОЗВРАТ ИЗ ПРЕРЫВАНИЯ.

00208; 9. СЧЕТ

0083 00209 DES1

0083 0818 00210 MOVFW DES;ЗАГРУЗКА ЗНАЧЕНИЙ МЛ. РАЗРЯДА В РАБ. РЕГИСТР.

0084 3CFF 00211 SUBLW 0FFH;ВЫЧЕСТЬ ИЗ РЕГИСТРА 255.

0085 1903 288A 00212 BZ SOT1;СРАВНИТЬ НА О, ЕСЛИ РАВНО, ПЕРЕЙТИ,

0087 0A98 00213 INCF DES,F;ИНАЧЕ ПРИБАВИТЬ 1 В РЕГИСТР МЛ. РАЗРЯДА.

0088 108B 00214 BCF INTCON,1;СБРОС ФЛАГА ПРЕРЫВАНИЯ.

0089 287D 00215 GOTO RECONST

008A 00216 SOT1

008A 0198 00217 CLRF DES;ОБНУЛЕНИЕ РЕГИСТРА МЛ. РАЗРЯДА.

008B 0819 00218 MOVFW SOT;ЗАГРУЗКА СТ. РАЗРЯДА В РАБ. РЕГИСТР.

008C 3CFF 00219 SUBLW 0FFH;ВЫЧЕСТЬ ИЗ РЕГИСТРА 255.

008D 1903 2892 00220 BZ FALSH;СРАВНИТЬ НА О, ЕСЛИ РАВНО, ЗНАЧИТ ОШИБКА.

008F 0A99 00221 INCF SOT,F;ПРИБАВИТЬ 1 В СТ. РАЗРЯД.

0090 108B 00222 BCF INTCON,1;СБРОС ФЛАГА ПРЕРЫВАНИЯ.

0091 287D 00223 GOTO RECONST

0092 00224 FALSH

0092 0199 00225 CLRF SOT;ОБНУЛЯЕМ.

0093 0198 00226 CLRF DES

0094 287D 00227 GOTO RECONST;НАЧИНАЕМ СНАЧАЛА.

00228

00229 END

MEMORY USAGE MAP ('X' = Used, '-' = Unused)

0000: X---XXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX

0040: XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX

0080: XXXXXXXXXXXXXXXX XXXXX----------- ---------------- ----------

All other memory blocks unused.

Program Memory Words Used: 146

Program Memory Words Free: 8046

Errors : 0

Warnings : 0 reported, 0 suppressed

Messages : 0 reported, 0 suppressed

Заключение

В результате выполнения курсового проекта был разработан тахометр, а так же следующая документация:

схема структурная,

схема электрическая принципиальная,

алгоритм работы управляющей программы,

листинг программы.

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

Устройство может эксплуатироваться в диапазоне температур от 0оС до +70оС.

Список использованной литературы

1. Предко М. Справочник по PIC-микроконтроллерам: Пер. с англ.-М.: ДМК Пресс, 2004.-512 с.

2. Тавернье К. PIC-микроконтроллеры. Практика применения: Пер. с фр. - М.: ДМК Пресс, 2003.-272 с.

3. Однокристальные 8-и разрядные FLASH CMOS микроконтроллеры компании Microchip Technology Incorporated: PIC16F882, PIC16F884, PIC16F886 (перевод технической документации DS30292С компании Microchip Technology Incorporated, USA). ООО "Микро-Чип": Москва, 2004.

4. AN849. Basic PICmicro® Oscillator Design [Электронный документ] // Microchip Tecnology Inc.: [сайт] - Режим доступа: http://ww1.microchip.com/downloads/en/AppNotes/00849a.pdf, язык англ.

Приложение

Схема электрическая принципиальная

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


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

  • Разработка структурной и принципиальной схем микропроцессорного тахометра. Микроконтроллер PIC16F886 и устройство индикации тахометра. Основные температурные и электрические характеристики микроконтроллера. Разработка алгоритма управляющей программы.

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

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

    дипломная работа [1,5 M], добавлен 19.09.2016

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

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

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

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

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

    курсовая работа [427,1 K], добавлен 20.06.2008

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

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

  • Проектирование функциональной и принципиальной схем цифрового вольтметра. Выбор устройства управления (микроконтроллера), источника и инвертора напряжения, индикаторов. Функции и структура управляющей программы, ее алгоритм и глобальные переменные.

    курсовая работа [84,8 K], добавлен 14.03.2014

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