Пользовательского поиска

Словами же пояснить работу подпрограммы можно следующим образом. В начале своей работы программа проверяет, лежит ли трубка телефонного аппарата (по сигналу от схемы анализа цепи постоянного тока). Если трубка положена, то проверяется, нажата ли кнопка “Вызов”, и если нажата, то контроллер начинает посылать импульсы 50 Гц пачками (пачка 1 с, пауза 3 с) по линии подачи звонковых импульсов. Если не нажата, то делается вывод о разрыве, вызванном импульсным набором номера, и вызывается соответствующая подпрограмма обслуживания этого набора (которая в случае длительного разрыва сделает вывод о положенной трубке и завершит очередной цикл).

Если же трубка снята, то устройство переходит в один из режимов генерации сигнала, который зависит от состояния клавиш “занято” и “контроль”. В случае нажатия клавиши “занято” программа вызывает подпрограмму busy_sig, которая имитирует сигнал “занято” АТС (50 Гц, пачка и пауза – 0,3 с). Если же нажата клавиша “Контроль вызова”, то вызывается подпрограмма ctrl_call, имитирующая контрольный сигнал вызова другого абонента (425 Гц, пачка 1 с, пауза 3 с). В случае если не нажата ни одна из этих кнопок (или нажаты обе), вызовом подпрограммы  gene_50hz_1 генерируется обычный сигнал ответа АТС (50 Гц, непрерывный). После этого работа подпрограммы заканчивается, и начинается новый цикл работы программы.

Остальные подпрограммы (обслуживание клавиатуры, индикации) являются стандартными, и приводить их описание не имеет особого смысла. Спецификации на подпрограммы приведены ниже:

 

Подпрограмма Ring_in

Назначение: генерация звонковых импульсов и подача их на соответствующую линию;

Входные параметры: отсутствуют;

Выходные параметры: сигнал на линии P3.1;

Вызывается подпрограммой Mainwork;

 

Подпрограмма Busy_sig

Назначение: генерация сигнала АТС “Занято” и подача его на выходную линию;

Входные параметры: отсутствуют;

 

Яндекс цитирования Rambler's Top100

Главная

Тригенерация

Новости энергетики