- •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 Суммарные расходы на устройство
6.1 Суммарные расходы на устройство
Суммарные расходы на устройство представляют собой затраты, направляемые на создание новых, расширение, реконструкцию и техническое перевооружение действующих основных фондов производственного и непроизводственного назначения.
Суммарные расходы это единовременные затраты. В данном случае они состоят из затрат на изготовление и стоимости разрабатываемого устройства.
Суммарные расходы на устройство рассчитываются по формуле:
К=С+Кизг, (1.1)
где Кизг – Суммарные расходы для изготовления устройства;
С – стоимость устройства.
6.1.1 Расчет затрат на комплектующие
Стоимость устройства состоит из следующих компонентов:
Стоимость электронных компонентов устройства – СЭК
Монтажные затраты (затраты на припой, разъемы и т.д) – СМ;
Стоимость электронных компонентов приведена в табл.5
Таблица 5 – Стоимость электронных компонентов
-
Наименование
Компонента
Количество,
шт.
Цена за штуку,
руб.
Стоимость,
руб.
PIC16F84A
1
126,50
126,50
157УД2
2
2,5
5
К155ЛА3
2
0,6
1,2
КТ819ГМ
4
8
32
КТ815Г
2
1,4
2,8
КТ814Г
2
1,4
2,8
АОД101А
2
2,5
5
KD522
2
0,3
0,6
QRZ 4 МГц
1
10
10
Д243А
4
14
56
LM7805
1
0,7
0,7
LM7812
1
0,75
0,75
MC7912CT
1
0,75
0,75
АЛ307БМ
6
0,5
3
Конденсатор 22pF
4
2
8
Конденсатор 2200mkF
1
8
8
Конденсатор 1000mkF
3
3
9
Конденсатор 0.1 mkF
4
4
8
Конденсатор 10000mkF
2
39
78
Конденсатор 0,2 mkF
2
1
2
Резисторы 10 кОм
3
1
3
Резисторы 100 кОм
4
1
4
Резисторы 30кОм
2
1
2
Резисторы 15 кОм
2
0,3
0,6
Резисторы 24 кОм
1
0,28
0,3
Резисторы 43 кОм
1
0,25
0,3
Резисторы 510Ом
4
0,3
1,2
Резисторы 0,5Ом
4
1,2
4,8
Резисторы 4,7кОм
2
0,3
0,6
Резисторы 1,2кОм
2
0,3
2,4
Резисторы 1кОм
2
0,3
0,6
Резисторы 27Ом
2
0,3
0,6
Резисторы 10Ом
2
0,3
0,6
Резисторы СП-З 100 кОм
1
4,5
4,5
Переключатель П2Г
2
17
34
Трансфоматор ПОБС-5
1
290
290
Итого
713,1
Стоимость устройства составляет – 713,1 руб.
Монтажные затраты – затраты на изготовление печатных плат, приобретение расходных материалов (хлорное железо, припой, флюс), составляют – 350 руб.
Исходя из этих расценок стоимость устройства рассчитывается по формуле:
С= Сэл+См , (1.2)
С=713,1+350= 1063,1руб.
Расчет расходов на изготовление
Кизг рассчитывается по формуле:
Кизг= (Эфот+Эсоц)* m/n, (1.3)
где Эфот – фонд оплаты труда рабочих, производящих изготовление устройства;
Эсоц– отчисления на социальные нужды;
n – количество рабочих дней в месяце;
m – количество дней потраченных на изготовление устройства.
Годовой фонд оплаты труда (Эфот определяется по формуле:
Эфот=12*[чi*Зi*(1+К1)*(1+К2)*Кз], (1.4)
где чi – явочная численность рабочих каждой должности;
Зi – месячный тарифный оклад работника каждой должности;
К1 – доля премий и доплат за работу в ночное время, праздничные дни, и др. Для работников службы К1=0,118;
К2 – доля дополнительной заработанной платы от всей начисленной основной заработной платы. Для работников службы К2=0,02;
Кз – коэффициент, учитывающий отдаленность, Кз=1,6.
Для изготовления устройства требуется электромеханик 8 разряда и инженер программист 10 разряда.
Месячный тарифный оклад определяется по формуле:
З i=Тс1*К i, (1.5)
где Тс1 – тарифная ставка 1-го разряда, составляет 2019 руб.;
Кi – разрядный коэффициент. Для 8-го разряда Кi=2,64, для 10-го разряда Кi=3,82.
Согласно формуле (1.5) месячный тарифный оклад электромеханика 8-го разряда будет составлять:
З7=2019*2,64=5330,16 руб.,
электромеханика 10-го разряда:
З10=2019*3,82=7712,58 руб.
Тогда согласно (1.4) месячный фонд оплаты труда рабочим составляет:
Эфот=1*[1*5330,16*(1+0,118)*(1+0,02)*1,6]+1*[1*7712,58*(1+0,118)* (1+0,02)* 1,6]= 9725,28+14072,19=23797,47руб.
Отчисления на социальные нужды составляют 26,7% от Эфот, согласно этому они равны:
Эсоц=0,267*23797,47=6353,92 руб.
Считаем, что на изготовление устройства рабочие потратили 1 рабочий день (m=1).
Считая, что в одном месяце 25,6 рабочих дней (n = 25,6) найдём затраты на изготовление устройства:
Согласно (1.3) затраты на изготовление устройства составляют:
Кизг=(23797,47+6353,92)*1/25,6=1177,78 руб.
Суммарные расходы на устройство
Суммарные расходы затраченные на внедрение устройства, согласно формулы 1.1 получаем.
К= 1063,1+1177,78 =2240,88 руб
Заключение
При решении задач, поставленных в данном дипломном проекте. Разработано устройство комплексной диагностики поездной автоматической локомотивной сигнализации способное заменить испытатель ИЛС-3. Разработаны структурная и электрическая принципиальная схема устройства на базе программируемого микроконтроллера. Создано программное обеспечение, включающее собственно рабочую программу.
При разработке устройства учтены пожелания персонала цеха по приборам безопасности локомотивного депо стации Северобайкальск по функциональным возможностям. Так, например, устройство имеет, малые габариты, возможность питания от сети и аккумулятора. Применение данной разработки позволяет диагностировать и выявлять неисправности при техническом обслуживании автоматической локомотивной сигнализации непрерывного действия и устройств бдительности машиниста на подвижном составе.
Приложение
А
Перечень элементов примененных в устройстве
Поз обозн. |
Наименование |
Количество |
Примечание |
Микросхемы |
|||
DD1 |
К155ЛА3 |
2 |
4-И-НЕ |
DА1 |
LM7812 |
1 |
Стабилизатор |
DА2 |
MC7912CT |
1 |
Стабилизатор |
DА3 |
LM7805 |
1 |
Стабилизатор |
DА4 |
К157УД2 |
2 |
|
DА5 |
PIC16F84 |
1 |
Микроконтроллер |
Резисторы |
|||
R1 |
ПЭВ-5-510 Ом
|
1 |
|
R2 |
ПЭВ-5-510 Ом 1% |
1 |
|
R3, R4 |
С2-23-0,125-10 кОм 1% |
2 |
|
R5, R6 |
С2-23-0,125-15 кОм 1% |
2 |
|
R7, R8 |
С2-23-0,125-30 кОм 1% |
2 |
|
R9 |
МЛТ-0,125-43 кОм 20% |
1 |
|
R10 |
МЛТ-0,125-10 кОм 20% |
1 |
|
R11 |
МЛТ-0,125-300 Ом 20% |
1 |
|
R12 |
МЛТ-0,125-300 Ом 20% |
1 |
|
R13 |
МЛТ-0,125-300 Ом 20% |
1 |
|
R14 |
МЛТ-0,125-300 Ом 20% |
1 |
|
R15 |
МЛТ-0,125-300 Ом 20% |
1 |
|
R16 |
МЛТ-2-110 Ом 20% |
1 |
|
R17 |
МЛТ-0,125-470 Ом 20% |
1 |
|
R18, R19 |
МЛТ-0,125-180 Ом 20% |
1 |
|
R20 |
СП3-19а-0,5-100 кОм 10% |
1 |
|
R21 |
МЛТ-0,125-82 кОм 20% |
2 |
|
R22 |
МЛТ-0,125-820 Ом 20% |
2 |
|
R23 |
МЛТ-0,125-82 кОм 20% |
2 |
|
R24 |
МЛТ-0,125-1,2 кОм 20% |
2 |
|
R25 |
МЛТ-0,125-1 кОм 20% |
2 |
|
R26,R27 |
МЛТ-0,125-510 Ом 20% |
4 |
|
R28, R29 |
МЛТ-0,125-10 Ом 20% |
4 |
|
R30, R31 |
Проволочный диаметр 2мм 0,5 Ом |
4 |
|
R32 |
МЛТ-0,125-27 Ом 20% |
2 |
|
Продолжение таблицы перечня элементов
|
Конденсаторы |
|
|
С1, С2 |
10000 мкф х 50В |
2 |
|
С3, С4,С5 |
2200 мкф х 25 |
3 |
|
С6, С7 |
К73-16-160В-0,2 мкф 10% |
2 |
|
С8 ,С9 |
КМ-5б-М47-27пф 10% |
3 |
|
С10 |
КМ-6-Н90-0,1 мкф |
1 |
|
|
|
|
|
|
Транзисторы |
|
|
VT1 |
КТ815Г |
2 |
|
VT2 |
КТ814Г |
2 |
|
VT3- VT4 |
КТ819ГМ |
4 |
|
|
|
|
|
|
Диоды |
|
|
VD1-VD4 |
Д243А |
4 |
|
VD5,VD6 |
КД522А |
2 |
|
|
|
|
|
|
Оптоэлектронные приборы |
|
|
V1,V2 |
АОД101А |
2 |
|
|
Трансформатор |
|
|
Т1 |
ПОБС-5 |
1 |
|
ПРИЛОЖЕНИЕ Б Листинг программы-прошивки для PIC16F84
list p=16f84
#include<p16f84.inc>
__CONFIG _CP_OFF&_WDT_OFF&_PWRTE_ON&_HS_OSC
cblock 0x0C ; автоматическое присвоение адресов заданным именам
vrem1
vrem2
vrem3
vrem4
vrem5
pauza
end
ORG 0x000
clrf PORTA
clrf PORTB
bsfSTATUS, RP0 ; * Выбор первого банкаОЗУ *
movlw b'00011111' ; * PORTА на вход *
movwf PORTA
movlw b'00000000' ; * PORTВ на выход *
movwf PORTB
; * Проверка входных условий порта А*
nach
btfsc PORTA,3 ;пров 0 бита ,если третий бит равен 0 то след строку пропуск
goto KPTCH58
btfsc PORTA,0 ;пров 0 бита ,если нулевой бит равен 0 то след строку пропуск
goto zela
btfsc PORTA,1 ;пров 1 бита ,если первый бит равен 0 то след строку пропуск
goto gola
btfsc PORTA,2 ;пров 2 бита ,если второй бит равен 0 то след строку пропуск
goto kga
; *Циклы кодов для кптш 7,9 автоматический режим *
zel79
movlw .22 ; * цикл повторения кода 40 секунд *
movwf vrem4
zel
movlw b'00000001' ;Установка 0 бита порта В в 1
movwf PORTB
movlw d'35' ; 0,35 с первый импульс кода З
movwf vrem3
cycle1
call mc10 ; * Вызов подпрограммы mc10 *
decfsz vrem3, f
goto cycle1
movlw b'00000000' ; * переход 0 бита порта В в 0 *
movwf PORTB
movlw d'12' ;* Пауза 0,12 с импульса кода З *
movwf vrem3
cycle2
call mc10 ; * Вызов подпрограммы mc10 *
decfsz vrem3, f
goto cycle2
movlw b'00000001' ;* Переход 0 бита порта В в 1 *
movwf PORTB
movlw d'24' ; * 0,24 с Второй импульс кода З *
movwf vrem3
cycle3
call mc10
decfsz vrem3, f
goto cycle3
movlw b'00000000' ;переход 0 бита порта В в 0
movwf PORTB
movlw d'12';120 ; * пауза 0,12мс импульса кода З*
movwf vrem3
cycle4
call mc10
decfsz vrem3, f
goto cycle4
movlw b'00000001' ; * переход 0 бита порта В в 1*
movwf PORTB
movlw d'24' ; * 0,24 с третий импульс кода З *
movwf vrem3
cycle5
call mc10
decfsz vrem3, f
goto cycle5
movlw b'00000000' ; * переход 0 бита порта В в 0 *
movwf PORTB
movlw d'79' ; * пауза 0,79 с импульса кода З *
movwf vrem3
cycle7
call mc10
decfsz vrem3, f
goto cycle7
decfsz vrem4
goto zel
callsec90 ; * Вызов подпрограммы задержки 90 секунд *
; Формирование кода Желтого КПТШ 7.9
gol79
movlw .22 ; * цикл повторения кода 40 секунд *
movwf vrem4
gol
movlw b'00000001' ;переход 0 бита порта В в 1
movwf PORTB
movlw d'35' ;0,35 с первый импульс кода Ж
movwf vrem3
cycle1g
call mc10
decfsz vrem3, f
goto cycle1g
movlw b'00000000' ;переход 0 бита порта В в 0
movwf PORTB
movlw d'12' ; пауза 0,12 с импульса кода Ж
movwf vrem3
cycle2g
call mc10
decfsz vrem3, f
goto cycle2g
movlw b'00000001' ;переход 0 бита порта В в 1
movwf PORTB
movlw d'60' ; 0,6 c третий импульс кода Ж
movwf vrem3
cycle5g
call mc10
decfsz vrem3, f
goto cycle5g
movlw b'00000000 ; переход 0 бита порта В в 0
movwf PORTB
movlw d'79' ; пауза 0,79 с импульса кода З
movwf vrem3
cycle6g
call mc10
decfsz vrem3, f
goto cycle6g
decfsz vrem4
goto gol
callsec90
; Формирование кода К красного огня
kg79
movlw .22 ; * цикл повторения кода 40 секунд *
movwf vrem4
kg
movlw b'00000001' ;переход 0 бита порта В в 1
movwf PORTB
movlw d'30' ;0,3c первый импульс кода К
movwf vrem3
cycle1k
call mc10
decfsz vrem3, f
goto cycle1k
movlw b'00000000 ;переход 0 бита порта В в 0
movwf PORTB
movlw d'63';0,63c ; пауза 0,63 с импульса кода К
movwf vrem3
cycle2k
call mc10
decfsz vrem3, f
goto cycle2k
movlw b'00000001';переход 0 бита порта В в 1
movwf PORTB
movlw d'30';0,3c второй импульс кода К
movwf vrem3
cycle3k
call mc10
decfsz vrem3, f
goto cycle3k
movlw b'00000000' ;переход 0 бита порта В в 0
movwf PORTB
movlw d'63' ; пауза 0,63 с импульса кода К
movwf vrem3
cycle4k
call mc10
decfsz vrem3, f
goto cycle4k
decfsz vrem4
goto kg
callsec90
goto nach
; Формирование непрерывного кода З зеленого КПТШ 7,9
zela
movlw b'00000001' ;установка 0 бита порта В в 1
movwf PORTB
movlw d'35';350 ; первый импульс кода З
movwf vrem3
cycle1a
call mc10
decfsz vrem3, f
goto cycle1a
movlw b'00000000' ;переход 0 бита порта В в 0
movwf PORTB
movlw d'12';120 ;пауза 0,12мс импульса кода З
movwf vrem3
cycle2a
call mc10
decfsz vrem3, f
goto cycle2a
movlw b'00000001' ;переход 0 бита порта В в 1
movwf PORTB
movlw d'24' ;0,24 с второй импульс кода З
movwf vrem3
cycle3a
call mc10
decfsz vrem3, f
goto cycle3a
movlw b'00000000' ;переход 0 бита порта В в 0
movwf PORTB
movlw d'12' ; пауза 0,12 с импульса кода З
movwf vrem3
cycle4a
call mc10
decfsz vrem3, f
goto cycle4a
movlw b'00000001' ;переход 0 бита порта В в 1
movwf PORTB
movlw d'24' ; 0,24 с третий импульс кода З
movwf vrem3
cycle5a
call mc10
decfsz vrem3, f
goto cycle5a
movlw b'00000000' ;переход 0 бита порта В в 0
movwf PORTB
movlw d'79' ; пауза 0,79 с импульса кода З
movwf vrem3
cycle7a
call mc10
decfsz vrem3, f
goto cycle7a
goto nach ; переход в начало
; Формирование непрерывного кода Ж желтого КПТШ 7,9
gola
movlw b'00000001' ;переход 0 бита порта В в 1
movwf PORTB
movlw d'35' ;0,35 первый импульс кода Ж
movwf vrem3
cycle1ga
call mc10
decfsz vrem3, f
goto cycle1ga
movlw b'00000000' ;переход 0 бита порта В в 0
movwf PORTB
movlw d'12 ; пауза 0,12 с импульса кода Ж
movwf vrem3
cycle2ga
call mc10
decfsz vrem3, f
goto cycle2ga
movlw b'00000001' ;переход 0 бита порта В в 1
movwf PORTB
movlw d'60' ; 0,6 c третий импульс кода Ж
movwf vrem3
cycle5ga
call mc10
decfsz vrem3, f
goto cycle5ga
movlw b'00000000' ;переход 0 бита порта В в 0
movwf PORTB
movlw d'79' ; пауза 0,79 с импульса кода З
movwf vrem3
cycle6ga
call mc10
decfsz vrem3, f
goto cycle6ga
goto nach
; Формирование непрерывного кода Ж желтого КПТШ 7,9
kga
movlw b'00000001' ;переход 0 бита порта В в 1
movwf PORTB
movlw d'30';0,3c ; первый импульс кода К
movwf vrem3
cycle1ka
call mc10
decfsz vrem3, f
goto cycle1ka
movlw b'00000000' ;переход 0 бита порта В в 0
movwf PORTB
movlw d'63';0,63c ;пауза 0,63мс импульса кода К
movwf vrem3
cycle2ka
call mc10
decfsz vrem3, f
goto cycle2ka
movlw b'00000001' ;переход 0 бита порта В в 1
movwf PORTB
movlw d'30' ;0,3 c второй импульс кода К
movwf vrem3
cycle3ka
call mc10
decfsz vrem3, f
goto cycle3ka
movlw b'00000000';переход 0 бита порта В в 0
movwf PORTB
movlw d'63';0,63c пауза 0,63мс импульса кода К
movwf vrem3
cycle4ka
call mc10
decfsz vrem3, f
goto cycle4ka
goto nach
; Циклы кодов для кптш 5,8 автоматический режим
; * Проверка входных условий порта А*
KPTCH58
nach
btfsc PORTA,0 ;пров 0 бита ,если нулевой бит равен 0 то след строку пропуск
goto zela58
btfsc PORTA,1 ;пров 1 бита ,если первый бит равен 0 то след строку пропуск goto gola58
btfsc PORTA,2 ;пров 2 бита ,если второй бит равен 0 то след строку пропуск goto kga58
; Формирование кода З зеленого
zel58
movlw .25
movwf vrem4
zel2
movlw b'00000001' ; установка 0 бита порта В в 1
movwf PORTB
movlw d'35' ; 0,35 первый импульс кода З
movwf vrem3
cycle158
call mc10
decfsz vrem3, f
goto cycle158
movlw b'00000000' ;переход 0 бита порта В в 0
movwf PORTB
movlw d'12';120 ;пауза 0,12мс импульса кода З
movwf vrem3
cycle258
call mc10
decfsz vrem3, f
goto cycle258
movlw b'00000001' ;переход 0 бита порта В в 1
movwf PORTB
movlw d'22' ; 0,22 с второй импульс кода З
movwf vrem3
cycle358
call mc10
decfsz vrem3, f
goto cycle358
movlw b'00000000' ;переход 0 бита порта В в 0
movwf PORTB
movlw d'12' ; пауза 0,12 с импульса кода З
movwf vrem3
cycle458
call mc10
decfsz vrem3, f
goto cycle458
movlw b'00000001' ;переход 0 бита порта В в 1
movwf PORTB
movlw d'22';220 третий импульс кода З
movwf vrem3
cycle558
call mc10
decfsz vrem3, f
goto cycle558
movlw b'00000000' ;переход 0 бита порта В в 0
movwf PORTB
movlw d'57' ; пауза 0,57 с импульса кода З
movwf vrem3
cycle758
call mc10
decfsz vrem3, f
goto cycle758
decfsz vrem4
goto zel2
callsec90
; Формирование кода Ж желтого
gol58
movlw .25
movwf vrem4
gol2
movlw b'00000001' ;переход 0 бита порта В в 1
movwf PORTB
movlw d'38' ; 0,38 с первый импульс кода Ж
movwf vrem3
cycle1g58
call mc10
decfsz vrem3, f
goto cycle1g58
movlw b'00000000' ;переход 0 бита порта В в 0
movwf PORTB
movlw d'12' ; пауза 0,12 с импульса кода Ж
movwf vrem3
cycle2g58
call mc10
decfsz vrem3, f
goto cycle2g58
movlw b'00000001' ;переход 0 бита порта В в 1
movwf PORTB
movlw d'38' ; 0,38 с третий импульс кода Ж
movwf vrem3
cycle5g58
call mc10
decfsz vrem3, f
goto cycle5g58
movlw b'00000000' ;переход 0 бита порта В в 0
movwf PORTB
movlw d'72' ; пауза 0,72с импульса кода Ж
movwf vrem3
cycle6g58
call mc10
decfsz vrem3, f
goto cycle6g58
decfsz vrem4
goto gol2
callsec90
; Формирование кода К красного
kg58
movlw .25
movwf vrem4
kg2
movlw b'00000001' ;переход 0 бита порта В в 1
movwf PORTB
movlw d'23' ;0,23 c первый импульс кода К
movwf vrem3
cycle1k58
call mc10
decfsz vrem3, f
goto cycle1k58
movlw b'00000000' ;переход 0 бита порта В в 0
movwf PORTB
movlw d'57' ; пауза 0,57 с импульса кода К
movwf vrem3
cycle2k58
call mc10
decfsz vrem3, f
goto cycle2k58
movlw b'00000001' ;переход 0 бита порта В в 1
movwf PORTB
movlw d'23' ; 0,23 c второй импульс кода К
movwf vrem3
cycle3k58
call mc10
decfsz vrem3, f
goto cycle3k58
movlw b'00000000' ; переход 0 бита порта В в 0
movwf PORTB
movlw d'57' ; пауза 0,57 с импульса кода К
movwf vrem3
cycle4k58
call mc10
decfsz vrem3, f
goto cycle4k58
decfsz vrem4
goto kg2
callsec90
; Формирование непрерывного кода З зеленого КПТШ 5,8
zela58
movlw b'00000001' ;установка 0 бита порта В в 1
movwf PORTB
movlw d'35' ;0,35 c первый импульс кода З
movwf vrem3
cycle1a58
call mc10
decfsz vrem3, f
gotocycle1a58
movlw b'00000000' ;переход 0 бита порта В в 0
movwf PORTB
movlw d'12' ;пауза 0,12с импульса кода З
movwf vrem3
cycle2a58
call mc10
decfsz vrem3, f
goto cycle2a58
movlw b'00000001' ;переход 0 бита порта В в 1
movwf PORTB
movlw d'22' ;0,22 c ;второй импульс кода З
movwf vrem3
cycle3a58
call mc10
decfsz vrem3, f
goto cycle3a58
movlw b'00000000' ; переход 0 бита порта В в 0
movwf PORTB
movlw d'12' ; пауза 0,12 с импульса кода З
movwf vrem3
cycle4a58
call mc10
decfsz vrem3, f
goto cycle4a58
movlw b'00000001' ;переход 0 бита порта В в 1
movwf PORTB
movlw d'22' ;0,22 c третий импульс кода З
movwf vrem3
cycle5a58
call mc10
decfsz vrem3, f
goto cycle5a58
movlw b'00000000' ;переход 0 бита порта В в 0
movwf PORTB
movlw d'57' ; пауза 0,57 с импульса кода З
movwf vrem3
cycle7a58
call mc10
decfsz vrem3, f
goto cycle7a58
goto nach
; Формирование непрерывного кода Ж желтого
gola58
movlw b'00000001' ;переход 0 бита порта В в 1
movwf PORTB
movlw d'38' ;0,38 c первый импульс кода Ж
movwf vrem3
cycle1ga58
call mc10
decfsz vrem3, f
goto cycle1ga58
movlw b'00000000' ; переход 0 бита порта В в 0
movwf PORTB
movlw d'12' ; пауза 0,12 с импульса кода Ж
movwf vrem3
cycle2ga58
call mc10
decfsz vrem3, f
goto cycle2ga58
movlw b'00000001' ;переход 0 бита порта В в 1
movwf PORTB
movlw d'38' ;0,38 c третий импульс кода Ж
movwf vrem3
cycle5ga58
call mc10
decfsz vrem3, f
goto cycle5ga58
movlw b'00000000' ;переход 0 бита порта В в 0
movwf PORTB
movlw d'72' ; пауза 0,72 c импульса кода З
movwf vrem3
cycle6ga58
call mc10
decfsz vrem3, f
goto cycle6ga58
goto nach
; Формирование непрерывного кода К красного
kga58
movlw b'00000001' ;переход 0 бита порта В в 1
movwf PORTB
movlw d'23' ;0,23 c первый импульс кода К
movwf vrem3
cycle1ka58
call mc10
decfsz vrem3, f
goto cycle1ka58
movlw b'00000000' ;переход 0 бита порта В в 0
movwf PORTB
movlw d'57' ; пауза 0,57 с импульса кода К
movwf vrem3
cycle2ka58
call mc10
decfsz vrem3, f
goto cycle2ka58
movlw b'00000001' ;переход 0 бита порта В в 1
movwf PORTB
movlw d'23' ;0,23 c второй импульс кода К
movwf vrem3
cycle3ka58
call mc10
decfsz vrem3, f
goto cycle3ka58
movlw b'00000000' ; переход 0 бита порта В в 0
movwf PORTB
movlw d'57' ; пауза 0,57мс импульса кода К
movwf vrem3
cycle4ka58
call mc10
decfsz vrem3, f
goto cycle4ka58
goto nach
; Подпрограмма задержки на 100 миллисекунд
sec90
movlw .9
movwf vrem5
sec9
movlw d'100'; пауза 90 сек
movwf vrem3
cycle6
call mc100
decfsz vrem3, f
goto cycle6
decfsz vrem5
goto sec9
mc100
movlw .187
movwf vrem1
cycl10
movlw .176
movwf vrem2
cycl20
decfsz vrem2, f
goto cycl20
decfsz vrem1, f
goto cycl10
return
; Подпрограмма задержки на 10 миллисекунд
mc10
movlw .217
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movwf vrem1
cycl1
movlw .14
movwf vrem2
cycl2
decfsz vrem2, f
goto cycl2
decfsz vrem1, f
goto cycl1
return
end

1%