Микропроцессорный тахометр
Разработка структурной и принципиальной схем микропроцессорного тахометра. Микроконтроллер PIC16F886 и устройство индикации тахометра. Основные температурные и электрические характеристики микроконтроллера. Разработка алгоритма управляющей программы.
Рубрика | Коммуникации, связь, цифровые приборы и радиоэлектроника |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 07.07.2013 |
Размер файла | 527,0 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru
Размещено на http://www.allbest.ru
ФГАОУ ВПО «УРАЛЬСКИЙ ФЕДЕРАЛЬНЫЙ УНИВЕРСИТЕТ ИМЕНИ ПЕРВОГО ПРЕЗИДЕНТА РОССИИ Б.Н.ЕЛЬЦИНА»
КАФЕДРА АВТОМАТИКИ
Отчет
по курсовой работе
на тему «Микропроцессорный тахометр»
Руководитель Мокрецов В.П.
Студент Сажин М.А.
Группа Р-390102
Екатеринбург
2012
Содержание
Введение
1. Разработка структурной схемы устройства
2. Разработка принципиальной схемы устройства
2.1 Микроконтроллер PIC16F886
2.2 Устройство индикации
3. Разработка алгоритма управляющей программы
4. Разработка управляющей программы
Заключение
Список использованной литературы
Приложение А
Введение
Развитие микроэлектроники и широкое ее применение в промышленном производстве, в устройствах и системах управления самыми разнообразными объектами и процессами является в настоящее время одним из основных направлений научно технического прогресса.
Использование микроэлектронных средств в изделиях промышленного и культурно-бытового назначения не только приводит к повышению технико-экономических показателей изделий (стоимости, надежности, потребляемой мощности, габаритных размеров) и позволяет многократно сократить сроки разработки и отодвинуть строки "морального старения" изделий, но и придет им принципиально новые потребительские качества (расширенные функциональные возможности, модифицируемость, адаптивность и т.д.).
В микроэлектронике бурное развитие получило направление, связанное с выпуском однокристальных микроконтроллеров, которые предназначены для "интеллектуализации" оборудования различного назначения. Однокристальные микроконтроллеры представляют собой приборы, конструктивно выполненные в виде БИС и включающие в себя все составные части микроЭВМ: микропроцессор, память программ и память данных, а также программируемые интерфейсные схемы для связи с внешней средой. Использование микроконтроллеров в системах управления обеспечивает достижение исключительно высоких показателей эффективности при столь низкой стоимости (во многих применениях система может состоять только из одной БИС микроконтроллера), что микроконтроллерам, видимо, нет разумной альтернативной элементной базы для построения управляющих и регулирующих систем, и в будущем микроконтроллеры будут находить все большее применение.
Структурная организация, набор команд и аппаратурно-программные средства ввода/вывода информации микроконтроллеров лучше всего приспособлены для решения задач управления и регулирования в приборах, устройствах и системах автоматики, а не для решения задач обработки данных.
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оС.
Список использованной литературы
Предко М. Справочник по PIC-микроконтроллерам: Пер. с англ.-М.: ДМК Пресс, 2004.-512 с.
Тавернье К. 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.: [сайт] - Режим доступа: http://ww1.microchip.com/downloads/en/AppNotes/00849a.pdf, язык англ.
Приложение А
Схема электрическая принципиальная
Размещено на Allbest.ru
Подобные документы
Разработка структурной и принципиальной схем электронного тахометра. Изучение принципа работы датчика магнитного поля. Выбор микроконтроллера. Проектирование управляющей программы для микроконтроллера. Адаптация устройства к промышленному применению.
курсовая работа [1,1 M], добавлен 22.01.2015Разработка структурной и принципиальной схемы устройства. Микроконтроллер PIC16F886, температурные и электрические характеристики. Четырехразрядный семисегментный светодиодный индикатор. Разработка алгоритма управляющей программы, общий алгоритм.
курсовая работа [497,4 K], добавлен 31.01.2013Процесс создания и программная реализация устройства электронных часов на основе микроконтроллера Attiny 2313. Разработка структурной и принципиальной схемы цифрового тахометра, сборка самого устройства, проверка и оценка его на работоспособность.
курсовая работа [1,9 M], добавлен 28.04.2012Разработка структурной, функциональной и принципиальной схемы тахометра. Выбор генератора тактовых импульсов, индикаторов и микросхем для счетного устройства. Принцип действия индикатора. Описание работы тахометра. Расчет потребляемой тахометром мощности.
курсовая работа [322,3 K], добавлен 30.03.2012Описание объекта и функциональная спецификация. Структурная схема, расположение выводов, конструктивные размеры микроконтроллера РIС16F84A. Алгоритм программы тахометра. Описание функциональных узлов МПС. Описание выбора элементной базы и работы схемы.
курсовая работа [2,4 M], добавлен 27.12.2009Разработка электронной принципиальной схемы цифрового тахометра. Характеристика его особенностей, принципа работы и основных компонентов. Изучение порядка построения, изложения и оформления конструкторской документации. Составление маршрутной карты.
курсовая работа [415,9 K], добавлен 03.11.2014Условия эксплуатации микропроцессорного устройства "Светодиодные фонари с электронным управлением" на базе МК ATtiny 15. Техническое описание микроконтроллера. Разработка структурной и электрической принципиальной схем, интерфейса управления и индикации.
курсовая работа [267,5 K], добавлен 01.05.2015Описание алгоритма работы игры и применяемых в ней функций. Составление программы работы системы управления с использованием языка С. Основные характеристики микроконтроллера, его функциональные группы. Принципиальная схема микропроцессорного модуля.
курсовая работа [756,1 K], добавлен 14.01.2013Разработка структурной схемы микроконтроллера. Проектирование подсистемы памяти. Разработка адресного дешифратора, "раскраска" адресной шины. Расчет нагрузочной способности шин. Разработка принципиальной схемы. Программа начальной инициализации системы.
курсовая работа [1,3 M], добавлен 02.05.2016Принцип действия и обоснование конструкции универсального тахометра. Методы обеспечения технологичности конструкции радиоэлектронных средств. Измерения радиальной скорости. Расчет минимальной ширины печатного проводника, контактных отверстий и площадок.
дипломная работа [2,2 M], добавлен 27.11.2014