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

 

Введение


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

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

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


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


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


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

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

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

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

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

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


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

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

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

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


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


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

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

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

инструкций.

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

Тактовая частота (макс.)- 20 МГц, тактовый сигнал,- 200 нс, один машинный цикл.

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

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

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

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

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

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

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

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

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

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

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

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

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

Широкий диапазон напряжений питания от 2,0 В до 5,5 В.

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

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

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

мкА @ 3.0В. 32кГц,

< 1мкА в режиме энергосбережения (SLEEP).

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

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

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

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

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

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

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

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

Многоканальный 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 ВМаксимальный ток вывода VSS300 мАМаксимальный ток вывода VDD250 мАМакс. выходной ток стока канала ввода/вывода 25 мАМакс. выходной ток истока канала ввода/вывода 25 мАМакс. выходной ток стока портов ввода/вывода PORTA, PORTB и PORTС200 мАМаксимальный выходной ток истока портов ввода/вывода PORTA, PORTB и PORTС200 мА

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


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


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

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

Обозн. выводаНомер выв.Назначение выводаOSC1, OSC29, 10Подключается кварцевый резонатор1Вход сброса МКVdd20ПитаниеVss8, 19Общий выводRA0…RA3 2…5Порт A T0CKI6Подсчет внешних импульсовRB0…RB721..28Порт B

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

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


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


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

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

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

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


,

где U - выходное напряжение высокого уровня порта МК,- рабочее напряжение сегмента индикатора,- потребляемый сегментом ток.


Ом


В ряду 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 1OBJECT CODE LINE SOURCE TEXT


#INCLUDE P16F886.INC

LIST

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

00614 LIST

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

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

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

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

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

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

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

00000001 00010 TMRO EQU 01H;TMR0.

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

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

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

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

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

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

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

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

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


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

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

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

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


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

00027 ANOD EQU 013H;АНОД.

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


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

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

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

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


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

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

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

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

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



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

00043 ORG 0

2805 00044 GOTO INIT

00045 ORG 4

2875 00046 GOTO CONST


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

00049 INIT

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

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

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

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

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

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

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

B 0085 00057 MOVWF TRISA^80H

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

D 0086 00059 MOVWF TRISB^80H

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

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

0010 0190 00062 CLRF DESI

0198 00063 CLRF DES

0191 00064 CLRF SOTI

0199 00065 CLRF SOT

019B 00066 CLRF SOTU

0192 00067 CLRF TUSI

0016 019A 00068 CLRF SEC


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


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

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


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


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

A 0718 00078 ADDWF DES,0;1+1

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

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

001D 1003 00081 BCF STATUS,0;0.

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

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

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

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

0719 00086 ADDWF SOT,0;1+1;

0799 00087 ADDWF SOT,1;2+1.

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

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

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


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

00093 RAS

0064 00094 CLRWDT

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

0191 00096 CLRF SOTI

A 0192 00097 CLRF TUSI

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

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

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

F 00101 RAS0

F 3064 00102 MOVLW 64;100.

00103 RAS2

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

00105 RAS3

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

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

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

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

00110 BINDES

0064 00111 CLRWDT

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

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

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

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

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

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

E 00118 RAD

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

003F 300A 00120 MOVLW .10;10.

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

00122 RAD0

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

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

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

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

00127 BINDED

0718 00128 ADDWF DES,0;+10.

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

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

0199 00131 CLRF SOT

A 287D 00132 GOTO RECONST

B 00133 RAS1

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

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

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

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



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

00141

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

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

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

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

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

; АНОД КАТОД

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

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

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

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

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

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

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

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

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

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


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

B 00160 INDZIKL0

B 0064 00161 CLRWDT

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

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

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

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

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

00167 INDZIKL1

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

00183 REST

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

00185 REST0

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

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

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

0008 00189 RETURN


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

00192 CONST

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

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

0077 0803 00195 MOVFW STATUS;STATUS

0096 00196 MOVWF STATUS_TEMP;

0804 00197 MOVFW FSR;FSR.

A 0097 00198 MOVWF FSR_TEMP

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

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

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

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

007E 0083 00203 MOVWF STATUS;STATUS,

F 0817 00204 MOVFW FSR_TEMP

0084 00205 MOVWF FSR;FSR,

0815 00206 MOVFW W_TEMP;W.

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

00208; 9. СЧЕТ

00209 DES1

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

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

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

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

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

0089 287D 00215 GOTO RECONST

A 00216 SOT1

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

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

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

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

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

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

0091 287D 00223 GOTO RECONST

00224 FALSH

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

0198 00226 CLRF DES

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


ENDUSAGE MAP ('X' = Used, '-' = Unused)

: X---XXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX

: XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX

: XXXXXXXXXXXXXXXX XXXXX----------- ---------------- ----------other memory blocks unused.Memory Words Used: 146Memory Words Free: 8046: 0: 0 reported, 0 suppressed: 0 reported, 0 suppressed

Заключение


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

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

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

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

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

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

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

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


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

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

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

.AN849. Basic PICmicro® Oscillator Design [Электронный документ] // Microchip Tecnology Inc.: [сайт] - Режим доступа: #"justify">Приложение


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




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

Больше работ по теме:

КОНТАКТНЫЙ EMAIL: [email protected]

Скачать реферат © 2018 | Пользовательское соглашение

Скачать      Реферат

ПРОФЕССИОНАЛЬНАЯ ПОМОЩЬ СТУДЕНТАМ