Автор работы: Пользователь скрыл имя, 10 Декабря 2012 в 13:21, курсовая работа
В данной курсовой работе для построения автоматизированной системы управления использовались: Микроконтроллер PIC 16F84A, устройство световой сигнализации, контактные датчики, оптрон. Устройство будет работать на микроконтроллере PIC16F84А, в системе виртуального моделирования Proteus и как следствие возможностью действия в реальном времени, без использования физических аппаратных частей системы управления.
Введение…………………………………………………………………………………………………………………..8
1. Анализ систем управления железнодорожным переездом………………………9
1.1 Обзор переездных систем………………………………………...............................9
1.2 Устройство и основные элементы……………………………………………………10
1.3 Виды переездов и их техническое оснащение……………………………..11
2. Разработка автоматической системы управления………… ……………………13
2.1 Разработка функциональной схемы автоматической системы управления…………….13
2.2 Компоненты автоматической системы управления……………………..15
3. Разработка программного кода системы управления…………...................26
3.1 Разработка схемы системы управления……………………………………..27
3.2 Разработка программного кода для PIC 16F84A………………………...27
3.3 Описание программного кода для PIC 16F84A……………………………..32
Заключение………………………………………………………………………………………………………………35
Литература…………………………………………………………………………………………………………….36
movlw .30
movwf Reg_2
movlw .1
movwf Reg_3
wr2
decfsz Reg_1, F
goto wr2
decfsz Reg_2, F
goto wr2
decfsz Reg_3, F
goto wr2
nop
nop
;-----------------------------
bcf Status,2 ;;;СЧЕТЧИК
decf Sch,F
btfsc Status,2
goto m2
goto m1
;-----------------------------
m2 bcf PortB,2
bsf PortB,1
movlw .169
movwf Reg_1
movlw .69
movwf Reg_2
movlw .2
movwf Reg_3
wr3 decfsz Reg_1, F
goto wr3
decfsz Reg_2, F
goto wr3
decfsz Reg_3, F
goto wr3
nop
nop
bcf PortB,1
bsf PortB,0
movlw .169
movwf Reg_1
movlw .69
movwf Reg_2
movlw .2
movwf Reg_3
wr4 decfsz Reg_1, F
goto wr4
decfsz Reg_2, F
goto wr4
decfsz Reg_3, F
goto wr4
nop
nop
;-----------------------------
m5 btfsc PortA,3
goto m4
goto m5
m4 bcf PortB,3
bsf PortB,4
btfsc PortA,2
goto ms
goto m4
;-----------------------------
ms clrw
clrf Sch
btfss PortA,2
goto m6
goto ms
;-----------------------------
m6 movlw .186
movwf Reg_1
movlw .4
movwf Reg_2
movlw .2
movwf Reg_3
wr5 decfsz Reg_1, F
goto wr5
decfsz Reg_2, F
goto wr5
decfsz Reg_3, F
goto wr5
nop
bcf PortB,4
bsf PortB,3
movlw .186
movwf Reg_1
movlw .4
movwf Reg_2
movlw .2
movwf Reg_3
wr6 decfsz Reg_1, F
goto wr6
decfsz Reg_2, F
goto wr6
decfsz Reg_3, F
goto wr6
nop
bsf PortB,2
goto start
;-----------------------------
end
Assembler — язык программирования низкого уровня, представляющий собой формат записи машинных команд, удобный для восприятия человеком.
Данный тип языков получил свое название от названия транслятора (компилятора) с этих языков — ассемблера (англ. assembler — сборщик). Название последнего обусловлено тем, что на первых компьютерах не существовало языков более высокого уровня, и единственной альтернативой созданию программ с помощью ассемблера было программирование непосредственно в кодах.
Язык ассемблера в русском языке часто называют «ассемблером» (а что-то связанное с ним — «ассемблерный»), что, согласно английскому переводу слова, неправильно, но вписывается в правила русского языка. Однако, сам ассемблер (программу) тоже называют просто «ассемблером», а не «компилятором языка ассемблера» и т. п.
Использование
термина «язык ассемблера»
Команды
языка ассемблера один в один соответствуют
командам процессора и, фактически, представляют
собой удобную символьную форму
записи (мнемокод) команд и их аргументов.
Также язык ассемблера обеспечивает
базовые программные
Директивы ассемблера позволяют включать в программу блоки данных (описанные явно или считанные из файла); повторить определённый фрагмент указанное число раз; компилировать фрагмент по условию; задавать адрес исполнения фрагмента, менять значения меток в процессе компиляции; использовать макроопределения с параметрами и др.
Каждая модель процессора, в принципе, имеет свой набор команд и соответствующий ему язык (или диалект) ассемблера.
Достоинства языка ассемблера:
Минимальное количество избыточного кода, то есть использование меньшего количества команд и обращений в память, позволяет увеличить скорость и уменьшить размер программы.
Обеспечение полной совместимости и максимального использования возможностей нужной платформы: использование специальных инструкций и технических особенностей данной платформы.
При программировании на ассемблере становятся доступными специальные возможности: непосредственный доступ к аппаратуре, портам ввода-вывода и особым регистрам процессора, а также возможность написания самомодифицирующегося кода (то есть метапрограммирование, причём без необходимости программного интерпретатора).
Последние
технологии безопасности, внедряемые
в операционные системы, не позволяют
делать самомодифицирующегося кода,
так как исключают
Недостатки языка ассемблера:
Большие
объёмы кода и большое число дополнительных
мелких задач, что приводит к тому,
что код становится очень сложно
читать и понимать, а следовательно
усложняется отладка и
Меньшее
количество доступных библиотек, их
малая совместимость между
Непереносимость на другие платформы (кроме двоично совместимых).
Применение:
Напрямую вытекает из достоинств и недостатков.
Поскольку большие программы на ассемблере писать крайне неудобно, их пишут на языках высокого уровня. На ассемблере же пишут небольшие фрагменты или модули, для которых критически важны:
быстродействие (драйверы);
размер кода
(загрузочные сектора, программное
обеспечение для
специальные возможности: работа напрямую с аппаратурой или машинным кодом, то есть загрузчики операционных систем, драйверы, вирусы, системы защиты.
Код программы для прошивки микроконтроллера PIC16F84A,
написанный на языке программирования assembler, представлен на страницах…….
При включение схемы, система находится в состояние «отсутствие опасности». То есть шлагбаум поднят, на светофоре отображается разрешающий сигнал, движение автомобилей через ж/д переезд разрешен. При приближение поезда с датчика D1, расположенного на расстоянии одного километра от переезда, в микроконтроллер поступает сигнал, сигнализирующий о приближении поезда. Микроконтроллер посылает исполнительному устройству сигнал о закрытие переезда: Срабатывает световая сигнализация, с помощью фотодатчика проверяется отсутствие помехи (автомобиля) в зоне опускания шлагбаума, если помеха отсутствует, шлагбаум опускается. Переезд закрыт.
После прохода последнего вагона состава, срабатывает датчик D2 и на микроконтроллер посылается сигнал об открытие переезда.
Через заданный промежуток времени поднимается шлагбаум и загорается разрешающий сигнал светофора. Проезд открыт.
3.3 Описание программного кода для PIC 16F84A
start bsf Status,5
movlw .0
movwf TrisB
bcf Status,5
movlw .7
movwf Sch
clrw
С данного участка кода, начинается выполнение программы.
Работа порта В
Значение переменной Sch =7
------------------------------
m1 bcf PortB,4 ;
bsf PortB,3 ;вывод порта В3 уст. в 1. шлагбаум поднят
bcf PortB,0 ;Красный свет не горит
bcf PortB,1 ;Желтый свет не горит
bsf PortB,2 ;Зеленый свет горит
btfsc PortA,1 ;Проверка условия. Если на порт А0 (датчик D1) подается 1
goto m3
goto start
Состояние «Опасность отсутствует»
------------------------------
m3 bcf PortB,2 ;Зеленый свет не горит
movlw .179 ;Задержка на 0.22 сек
movwf Reg_1
movlw .30
movwf Reg_2
movlw .1
movwf Reg_3
wr1 decfsz Reg_1, F
goto wr1
decfsz Reg_2, F
goto wr1
decfsz Reg_3, F
goto wr1
nop
nop
bsf PortB,2 ;Зеленый свет горит
movlw .179 ;Задержка на 0.22 сек
movwf Reg_1
movlw .30
movwf Reg_2
movlw .1
movwf Reg_3
wr2 decfsz Reg_1, F
goto wr2
decfsz Reg_2, F
goto wr2
decfsz Reg_3, F
Информация о работе Автоматическая система управления железнодорожным переездом