- •1 Введение
- •2 Постановка задачи
- •3 Анализ методов диагностики алсн и клуб.
- •3.1 Назначение Автоматической локомотивной сигнализации и клуб
- •3.2 Сравнение устройств диагностики алсн
- •3.2.1 Переносные устройства диагностики алсн и клуб
- •3.2.2 Стационарный пульт статив
- •3.3 Недостатки устройств диагностики и способы их устранения
- •3.3.1 Переносные испытатели илс-3
- •3.3.2 Стационарный пульт статив.
- •3.4 Анализ проблемы и выбор вариантов её решения.
- •4 Разработка микроэлектронного устройства диагностики алсн
- •4.1Выбор структурной схемы устройства.
- •4.1.1 Описание структурной схемы илс-3.
- •4.2 Разработка принципиальной схемы устройства
- •4.2.1 Выбор принципиальной схемы компонентов устройства диагностики.
- •4.4 Выбор элементной базы
- •4.4.1 Описание микроконтроллера pic16f84
- •4.4.2 Структура микроконтроллера pic16f84
- •4.4.3 Способ подключения кварца и цепей начального сброса
- •4.4.4 Набор регистров микроконтроллера pic16f84
- •4.4.5 Сторожевой таймер wdt
- •4.4.6 Тактовый генератор
- •4.4.7 Схема сброса
- •5 Программирование pic16f84.
- •5.1 Выбор среды программирования
- •5.2 Разработка алгоритма программы программирования
- •5.2.1 Алгоритм прошивки
- •5.2.2 Программирование микроконтроллера.
- •5.3 Дополнительные компоненты
- •5.4Технология разработки печатной платы
- •6 Техника безопасности
- •6.1 Требования к видео дисплейным терминалам и персональным электронно-вычислительным машинам
- •6.2 Требования к помещениям для эксплуатации видео дисплейных терминалов и персональных электронно-вычислительных машин
- •6.3 Требования к организации и оборудованию рабочих мест с видео дисплейными терминалами и персональными электронно-вычислительными машинами для взрослых пользователей
- •6.4 Общие требования к организации режима труда и отдыха при работе с видео дисплейными терминалами и персональными электронно- вычислительными машинами
- •6.5 Требования к освещению помещений и рабочих мест с видео дисплейными терминалами и персональными электронно-вычислительными машинами
- •6.6 Расчёт освещённости по методу использования светового потока
- •7. Расчет экономической эффективности устройства диагностики
- •6.1 Суммарные расходы на устройство
4.4.2 Структура микроконтроллера pic16f84
Архитектура основана на концепции раздельных шин и областей памяти для данных и для команд (Гарвардская архитектура).
Рисунок 2.4- Архитектуры микроконтроллеров
Шина данных и память данных (ОЗУ) - имеют ширину 8 бит, а программная шина и программная память (ПЗУ) имеют ширину 14 бит. Такая концепция обеспечивает простую, но мощную систему команд, разработанную так, что битовые, байтовые и регистровые операции работают с высокой скоростью и с перекрытием по времени выборок команд и циклов выполнения. 14-битовая ширина программной памяти обеспечивает выборку 14-битовой команды в один цикл. Двухступенчатый конвейер обеспечивает одновременную выборку и исполнение команды. Все команды выполняются за один цикл, исключая команды переходов. В PIC16F84 программная память объемом 1К14 расположена внутри кристалла. Исполняемая программа может находиться только во встроенном ПЗУ.
Командный цикл выполняется за четыре такта. Эти четыре такта называют Q1, Q2, Q3 и Q4. Тактирование производится со входа OSC1. На Q1 инкрементируется счетчик программы (PC). Остальные три такта инструкция копируется из программной памяти в командный регистр.
Одновременно, в течение всего цикла выполняется инструкция, помещенная в командный регистр за прошлый цикл.
Рисунок 2.5 – Диаграмма командных циклов
4.4.3 Способ подключения кварца и цепей начального сброса
Контроллер питается от напряжения от 4.5 до 5.5 Вольт, потребляет от 2 до 100 мА (сильно зависит от тактовой частоты и подключенных нагрузок). Вывод MCLR должен быть подключен к питанию, иначе контроллер будет находиться в режиме 'сброс'. Частота кварцевого резонатора является тактовой частотой. Используйте только кварцы с первой гармоникой.
Рисунок 2.6 – Схема подключения кварца к микроконтроллеру PIC16F84
Таблица 1- Набор команд PIC микроконтроллеров семейства PIC16F84
Мнемоника |
Описание |
Циклы |
Флаги |
|||||
1 |
2 |
3 |
4 |
|||||
Байт-ориентированные команды |
||||||||
ADDWF f,d |
Сложение W с f |
1 |
C,DC,Z |
|||||
ANDWF f,d |
Логическое "И" W с f |
1 |
Z |
|||||
CLRF f |
Сброс регистра f |
1 |
Z |
|||||
CLRW |
Сброс регистра W |
1 |
Z |
|||||
COMF f,d |
Инверсия регистра f |
1 |
Z |
|||||
DECF f,d |
Декремент регистра f |
1 |
Z |
|||||
DECFSZ f,d |
Декремент f, пропустить команду, если 0 |
1(2) |
Z |
|||||
INCF f,d |
Инкремент регистра f |
1 |
Z |
|||||
INCFSZ f,d |
Инкремент f, пропустить команду, если 0 |
1(2) |
Z |
|||||
IORWF f,d |
Логическое "ИЛИ" W c f |
1 |
Z |
|||||
MOVF f,d |
Пересылка регистра F |
1 |
Z |
|||||
MOVWF f |
Пересылка W в F |
1 |
|
|||||
NOP |
Холостая команда |
1 |
|
|||||
RLF f,d |
Вращение f влево через перенос |
1 |
C |
|||||
RRF f,d |
Вращение f вправо через перенос |
1 |
C |
|||||
SUBWF f,d |
Вычитание W из f |
1 |
C,DC,Z |
|||||
SWAPF f,d |
Обмен местами тетрад в f |
1 |
|
|||||
XORWF f,d |
Исключающее "ИЛИ" W и f |
1 |
Z |
|||||
Операции с константами и управляющими регистрами |
||||||||
ADDLW k |
Сложение константы с W |
1 |
C,DC,Z |
|||||
ANDLW k |
Логическое "И" константы и W |
1 |
Z |
|||||
IORLW k |
Логическое "ИЛИ" константы и W |
1 |
Z |
|||||
SUBLW k |
Вычитание W из константы |
|
|
|||||
|
|
|
|
|||||
MOVLW k |
Пересылка константы в W |
1 |
|
|||||
XORLW k |
Исключающее "ИЛИ" константы и W |
1 |
Z |
|||||
OPTIONS |
Загрузка OPTIONS регистра |
1 |
4 |
|||||
TRIS f |
Загрузка TRIS регистра |
1 |
4 |
|||||
Бит-ориентированные команды |
||||||||
BCF f,b |
Сброс бита b в регистре f |
1 |
1,2 |
|||||
BSF f,b |
Установка бита b в регистре f |
1 |
1,2 |
|||||
BTFSC f,b |
Пропустить команду, если бит b=0 |
1(2) |
3 |
|||||
BTFSS f,b |
Пропустить команду, если бит b=1 |
1(2) |
3 |
|||||
Переходы |
||||||||
CALL k |
Вызов подпрограммы |
2 |
- |
|||||
CLRWDT (k) |
Сброс Watchdog таймера |
1 |
/TO,/PD |
|||||
GOTO k |
Переход по адресу |
2 |
- |
|||||
RETLW k |
Возврат из подпрограммы с загрузкой константы в W |
2 |
- |
|||||
RETFIE |
Возврат из прерывания |
2 |
- |
|||||
RETURN |
Возврат из подпрограммы |
2 |
- |
|||||
SLEEP |
Переход в режим SLEEP |
1 |
/TO,/PD |
|||||
