Поиск

Полнотекстовый поиск:
Где искать:
везде
только в названии
только в тексте
Выводить:
описание
слова в тексте
только заголовок

Рекомендуем ознакомиться

Информатика->Реферат
Счисление, нумерация, - это совокупность приемов представления натуральных чисел В любой системе счисления некоторые символы ( слова или знаки ) служа...полностью>>
Информатика->Лабораторная работа
Программа, создаваемая в среде Delphi в процессе проектирования приложения, основана на модульном принципе Главная программа состоит из объявления спи...полностью>>
Информатика->Лабораторная работа
Запустите Delphi и создайте новый проект (см лаб раб №1) В окне Save As создайте новую папку для файлов проекта, папку назовите "Вещественное деление"...полностью>>
Информатика->Лабораторная работа
Задание 1 (Калькулятор) Создайте приложение, обеспечивающее ввод двух целых чисел и выполнение над ними арифметических операций сложения, умножения и ...полностью>>

Главная > Реферат >Информатика

Сохрани ссылку в одной из сетей:

ОНТП 24-86. Общесоюзные нормы технологического проектирования. Определение категорий помещений и зданий по взрыво- и пожароопасности. – М.: МВД СССР 1986.

  • Правила устройства электроустановок Минэнерго СССР – М .: Энергоатомиздат, 1987.

  • Список производств, профессий и должностей с вредными условиями труда, работа с которыми дает право на дополнительный отпуск и сокращенный рабочий день. / ВЦСПС – М.: Экономика, 1977.

  • Сборник нормативных актов по пенсионному обеспечению. – М.: Экономика, 1992.

  • О проведении обязательных предварительных при поступлении на работу и переодичность медицинских осмотрах трудящихся, подвергающихся воздействию вредных и неблагоприятных условий труда. Приказ №555 от 29.09.89г. – М.: Минздрав СССР, 1989.

  • СНиП 2.09.04-87. Административные и бытовые здания. — М.: Стройиздат, 1998.

  • СН 4088-86. Санитарные нормы микроклимата производственных помещений. – М.: Минздрав СССР, 1986.

  • Однокристальные микроЭВМ. М.:МИКАП,1994.-400с.

  • Сташин В.А., Урусов А.В., Мологонцева О.Ф. Проектирование цифровых устройств на однокристальных микроконтроллерах. - М.:Энергоатомиздат, 1990.-224с.

  • «Универсальные языки программирования. Семантический подход», Калинин А., Мацкевич И., -М.: Радио и связь, 1991

  • Балашов Е.П., Пузанков Д.В. Микропроцессоры и микропроцессорные системы. - М.: Радио и связь, 1981. -326 с.

  • Каган Б.М., Сташин В.В. Микропроцессоры в цифровых системах. - М.: Энергия, 1979. -192 с.

  • Соучек Б. Микропроцессоры и микро-ЭВМ. - М.: Советское радио, 979. -192с.

  • Григорьев В.Л. Программное обеспечение микропроцессорных систем. - М.: Энергоатомиздат, 1983. -208 с.

  • Микропроцессоры: системы программирования и отладки. Под ред. В.А.Мясникова, М.Б.Игнатьева. - М.: Энергоатомиздат, 1985. - 272 с.

  • Смагин А.А., Негода В.Н., Скворцов С.В. Проектирование и сопровождение микропроцессорных систем. - Саратов: СГУ,1987. -100с.

  • Интегральные микросхемы: Микросхемы для телевидения и видеотехники. Том 2, Выпуск 1 - М.:ДОДЭКА, 1993г.,314 с.

    7.Организационно-экономическая часть

    7.1.Принципы организации оплаты труда

    7.1.1.Принципиальные положения оплаты труда

    Оплата труда работников - цена трудовых ресурсов, задействованных в трудовом процессе. В значительной степени она определяется количеством и качеством затраченного труда, однако на нее воздействуют и чисто рыночные факторы, такие, как спрос и предложение труда, сложившаяся конкретная конъюнктура, территориальные аспекты, законодательные нормы (например, в США почасовые ставки регулируются законодательством).
    Рыночная экономика предлагает наличие рынка рабочей силы с территориальным помещением трудовых ресурсов, сосредоточением труда там, где на него есть спрос, и оттоком с тех мест, где ощущается избыточное предложение. Комплекс всех этих факторов и формирует конкретную оплату труда.
    Следовательно, признание потребителем и состояние конъюнктуры - вот два фактора, которые определяют уровень доходов коллектива и отдельных работников. Такая ситуация повышает зависимость производителей от широких слоев населения, увеличивая экономическую ответственность за результаты созданного продукта, уровень его качества и цены. Меняется подход к распределению по труду. За основу равной оплаты за равную работу берутся не затраты - количество часов рабочего времени и уровень квалификации, а результаты труда - признание продукта труда в качестве товара рынка.
    Предприниматель в своей деятельности сталкивается с тем, что любой фактор, вовлекаемый в производство должен быть оплачен. Он покупает станки, машины, оборудование, сырье и, чтобы начать производство, нанимает рабочую силу, и платит за труд - это и есть оплата труда. С одной стороны оплата должна компенсировать расход физических и интеллектуальных сил работника, с другой стороны, работник не должен чувствовать себя ущербным, сравнивая оплату своего труда с оплатой аналогичного труда на родственном предприятии. Однако предпринимателя ограничивает ряд факторов внешнего характера:
    • установленный государством минимальный уровень заработной платы;
    • условия договора между предпринимателем и коллективом работающих;
    • требования профсоюзных комитетов;
    При организации оплаты труда предприниматель должен:
    • определить форму и систему оплаты труда работников своего предприятия;
    • разработать систему должностных окладов для служащих, специалистов, управленческого персонала.
    В распоряжении предпринимателя имеются широкие возможности в выборе тех или иных форм или систем заработной платы, они еще шире при определении премиальных доплат, поощрений. Но искусство руководителя заключается в том, чтобы из имеющегося арсенала средств выбрать те из них, которые в наибольшей мере соответствуют конкретному предприятию и именно тому персоналу, который набран на это предприятие.

    7.1.2.Формы и системы оплаты труда

    Наибольшее распространение на предприятиях различных форм собственности получили две формы оплаты труда:
    1. Сдельная - оплата за каждую единицу продукции или выполненный объем работ;
    2. Повременная - оплата за отработанное время, но не календарное, а нормативное, которое предусматривается тарифной системой.
    Существует также целый ряд условий, при которых целесообразно применять ту или иную форму оплаты труда.
    Условия применения сдельной оплаты труда:
    • существуют количественные показатели работы, которые непосредственно зависят от конкретного работника;
    • имеется возможность точного учета объемов выполняемых работ;
    • существуют возможности у рабочих конкретного участка увеличить выработку или объем выполняемых работ;
    • существует необходимость на конкретном производственном участке стимулировать рабочих в дальнейшем увеличении выработки продукции или объемов выполняемых работ;
    • имеется возможность технического нормирования труда.
    Сдельную оплату труда не рекомендуется применять в том случае, если ее применение ведет к:
    • ухудшению продукции;
    • нарушению технологических режимов;
    • ухудшению обслуживания оборудования;
    • нарушению требованию техники безопасности;
    • перерасходу сырья и материалов.
    Условия применения повременной оплаты труда:
    • отсутствует возможность увеличения выпуска продукции;
    • производственный процесс строго регламентирован;
    • функции рабочего сводятся к наблюдению за ходом технологического процесса;
    • функционируют поточные и кон веерные типы производства со строго заданным ритмом;
    • увеличение выпуска продукции может привести к браку или ухудшению ее качества.
    В условиях рынка нет той строгой регламентации, которая была характерна для плановой экономики, поэтому предприниматель, руководство предприятия могут проверить любой из существующих вариантов оплаты труда и применять тот, который в наибольшей степени соответствует целям предприятия.
    При прямой сдельной системе заработной платы, или простой сдельной, труд оплачивается по расценкам за единицу произведенной продукции. Индивидуальная сдельная расценка за единицу продукции или работы определяется следующим образом:
    Зр = Зч / Вч или Зр = Зч * tн ,
    где Зч - часовая тарифная ставка, установленная в соответствии с разрядом выполняемой работы, руб./ч;
    Вч - часовая норма выработки данной продукции;
    tн - норма времени на единицу продукции (работы),ч.
    Общий заработок рабочего определяется путем умножения сдельной расценки на количество произведенной продукции за расчетный период.
    При сдельно-премиальной системе оплаты труда рабочий получает оплату своего труда по прямым сдельным расценкам и дополнительно получает премию. Но для этого должны быть четко установлены показатели, за которые осуществляется премирование, они должны быть доведены до каждого исполнителя.
    При косвенно-сдельной системе размер заработка рабочего ставится в прямую зависимость от результатов труда обслуживаемых им рабочих-сдельщиков. Эта система используется для оплаты труда вспомогательных рабочих (наладчиков и др.).
    Косвенная сдельная расценка Зк рассчитывается с учетом норм выработки обслуживаемых рабочих и их численности по формуле:
    Зк = Зч / Вч * р (руб. на ед. прод. или раб.),
    где Зч - тарифная часовая ставка обслуживаемого рабочего, оплачиваемого по косвенной сдельной системе, руб.;
    Вч - часовая норма выработки (производительности) одного обслуживаемого рабочего (объекта, агрегата) в единицах продукции;
    р - количество обслуживаемых рабочих (объектов, агрегатов) - норма обслуживания.
    Общий заработок рассчитывается либо путем умножения ставки вспомогательного рабочего на средний процент выполнения норм обслуживаемых рабочих-сдельщиков, либо умножением косвенно-сдельной расценки на фактический выпуск продукции обслуживаемых рабочих:
    Зобщ = Зч * Фвсп * У / 100,
    где Зобщ - общий заработок рабочего, руб.;
    Зч - часовая тарифная ставка вспомогательного рабочего, переведенного на косвенную сдельную оплату труда, руб.;
    Фвсп - фактически отработанное данным вспомогательным рабочим количество часов, ч;
    У - средневзвешенный процент выполнения норм выработки всеми обслуживаемыми данным работником рабочими, объектами, агрегатами;
    Зобщ = Sum( Зкi * Вфi ),
    где Зкi - косвенная сдельная расценка за единицу продукции, производимой i-м обслуживаемым рабочим, руб.;
    Вфi - фактическое количество продукции, произведенной в данном периоде i-м обслуживаемым рабочим в соответствующих единицах измерения.
    При аккордно-сдельной оплате труда расценка устанавливается на весь объем работы (а не на отдельную операцию) на основе действующих норм времени или норм выработки и расценок. При данной системе оплаты труда рабочие премируются за сокращение сроков выполнения работ, что усиливает стимулирующую роль этой системы в росте производительности труда.
    При сдельно-прогрессивной системе труд рабочего оплачивается по прямым сдельным расценкам в пределах выполнения норм, а при выработке сверх норм - по повышенным расценкам. Заработок рабочего при сдельно-прогрессивной оплате труда Зс.п определяется в зависимости от принятой системы прогрессивной оплаты (за весь объем или за часть объема работ, выполненных сверх нормы) по одной из следующих формул:
    Зс.п = Зт.с + [Зт.с * (Jн - Jбаз) * qпр] / Jн;
    где Зт.с - сумма основного заработка рабочего, исчисленная по прямым сдельным расценкам, руб;
    Jн - выполнение норм выработки рабочим, %;
    Jбаз - базовый уровень норм выработки, сверх которого применяется оплата по повышенным расценкам, %;
    qпр - коэффициент в долях единицы, показывающий насколько увеличивается сдельная расценка за выработку продукции сверх установленной нормы;
    При использовании сдельно-прогрессивной оплаты труда особое внимание следует уделить определению нормативной исходной базы, разработке эффективных шкал повышения расценок, учету выработки продукции и фактически отработанного времени.
    Сдельная форма оплаты труда может применяться индивидуально - для каждого конкретного работника, а может иметь коллективные формы.
    Широкое распространение получила подрядная форма оплаты труда. Суть ее в том, что заключается договор, по которому одна сторона обязуется выполнить определенную работу, берет подряд, а другая сторона, т.е. заказчик, обязуется оплатить эту работу после ее окончания. Заработок бригады рабочих Збр определяется умножением бригадной сдельной расценки за единицу производимой продукции Збр[сд] на фактически выполненный бригадой объем работ Вбр:
    Збр = Збр[сд] * Вбр.
    Если бригада производит разнообразные работы и они оцениваются по различным расценкам, общий заработок бригады определяется как сумма расценок каждого вида работ.
    При повременной заработной плате работник получает денежное вознаграждение в зависимости от количества отработанного времени, однако в силу того, что труд может быть простым и сложным, низко- и высококвалифицированным, необходимо нормирование труда, которое осуществляется с помощью тарифных систем. Составными элементами тарифной системы являются:
    • тарифная ставка - абсолютный размер оплаты труда различных групп и категорий рабочих за единицу времени. Исходной является минимальная тарифная ставка или тарифная ставка первого разряда. Она определяет уровень оплаты наиболее простого труда. Тарифные ставки могут быть часовые, дневные;
    • тарифные сетки - служат для установления соотношения в оплате труда в зависимости от уровня квалификации. Это совокупность тарифных разрядов и соответствующих им тарифных коэффициентов. Тарифный коэффициент низшего разряда принимается равным единице. Тарифные коэффициенты последующих разрядов показывают во сколько раз соответствующие тарифные ставки больше тарифной ставки первого разряда.
    Повременная заработная плата имеет две системы: простую повременную и повременно-премиальную. Заработок рабочего по простой повременой системе Зп расчитывается как произведение часовой (дневной) тарифной ставки рабочего данного разряда Зч, руб на отработанное время в данном периоде tраб (соответственно в часах или рабочих днях), т.е
    Зп = Зч * tраб.
    Для руководителей, специалистов и служащих используется система должностных окладов. Должностной оклад - абсолютный размер заработной платы, устанавливаемый в соответствии с занимаемой должностью. Он может составлять определенный диапазон - от минимального до максимального значений. Необходимы аналитические расчеты, которые существенно могут повысить эффективность установления того или иного оклада.
    При бестарифной системе оплаты труда происходит следующее, т.к. в условиях оплаты труда по тарифам и окладам достаточно сложно избавиться от уравниловки, преодолеть противоречие между интересами отдельного работника и всего коллектива, в качестве возможного варианта совершенствования организации и стимулирования труда рассмотрим бестарифную систему оплаты труда, которая нашла применение на многих предприятиях в условиях перехода к рыночным условиям хозяйствования. По данной системе заработная плата всех работников предприятия от директора до рабочего представляет собой долю работника в фонде оплаты труда или всего предприятия или отдельного подразделения. В этих условиях фактическая величина заработной платы каждого работника зависит от ряда факторов: квалификационного уровня работника; коэффициента трудового участия; фактически отработанного времени.

    7.2.Расчет стоимости разработки КПП МВВ для МФПУ-1.

    7.2.1.Расчет затрат на разработку программы

    Определить точную стоимость разработки КПП не представляется возможным по следующим причинам:

    • быстрое изменение цен на рынке оплаты труда;

    • долгосрочная разработка полного программного обеспечения, в состав которой входит КПП (несколько лет);

    • постоянное изменение курса национальной валюты.

    Затраты на разработку программного продукта рассчитываются по формуле:
    Zрпп = Zзп + Zзпд + Остр + Оам + Zээ + Rкосв , (1)
    Где:
    Zзп - затраты на заработную плату программисту, руб.;
    Zзпд- затраты на дополнительную заработную плату, руб.;
    Остр - отчисление на социальное страхование, руб.;
    Оам - амортизационные отчисления, руб.;
    Zээ - затраты на электроэнергию во время разработки программы, руб.;
    Rкосв - косвенные расходы, руб.
    Разработка программы производилась инженером-программистом, с заработанной платой 1500 рублей в месяц. На разработку программы ушло 4 месяца, поэтому затраты на зарплату составляют:
    Zзп = 1500 * 4 = 6000 (руб.)
    Дополнительная заработная плата составляет 30% от основной заработной платы, тогда затраты на дополнительную заработную плату:
    Zзпд = Zзп * 0.3 = 6000 * 0.3 = 1800 (руб.)
    Отчисления на социальное страхование составляют 37% от общей заработной платы, то есть
    Остр = (Zзп + Zзпд)*0.37 = (6000 + 1800)*0.37 = 2886 (руб.)
    Стоимость ПЭВМ, используемой для разработки программы составляет 12000 руб. и 25000 руб. Срок службы персонального компьютера составляет 8 лет. Тогда на данный момент амортизационные отчисления за месяц составляют:
    Оам1 = (12000 + 25000) / ( 8 * 12 ) = 385 (руб.)
    За 4 месяца:
    Оам = 385 * 4 = 1540 (руб.)
    На отладку и тестирование программы с использованием ПЭВМ затрачено 55 рабочих дней, из них, в среднем каждый день по 3 часа. Стоимость электроэнергии 0.14 руб. за киловатт. Мощность, потребляемая ПЭВМ 300 Вт. Посчитаем затраты на электроэнергию во время разработки программы, руб.;
    Zээ = ( 55 * 3 ) * 0.14 * 0.300 = 7 (руб.)
    Косвенные расходы составляют 110% от основной заработанной платы программиста:
    Rкосв = 6000 * 1.1 = 6600 (руб.)
    Таким образом, подставляя вычисленные значения затрат в формулу (1), получим стоимость затрат на разработку программы:
    Zрпп = 6000 + 1800 + 2886 + 1540 + 7 + 6600 = 18833 (руб.)

    7.2.2.Расчет экономической эффективности от внедрения программного продукта

    Рассчитаем экономическую эффективность от внедрения разработанного программного продукта на примере сравнения годовых затрат на содержание отдела рефератированния (5 человек) и содержание ПЭВМ, обслуживающего персонала (1 человек) и консультанта по работе с технической информацией, заменяющих вышеназванный отдел.
    Экономическую эффективность рассчитаем по формуле:
    Eэ = Zдв - Zпв, (2)
    где
    Zдв - затраты до внедрения;
    Zпв - затраты после внедрения.

    7.2.3.Затраты до внедрения

    Затраты до внедрения программного продукта рассчитаем по формуле:
    Zдв = Zзп + Zзпд + Oстр, (3)
    где
    Zзп - затраты на заработную плату работнику, руб.;
    Zзпд - затраты на дополнительную заработную плату, руб.;
    Остр - отчисление на социальное страхование, руб.;
    Средняя заработанная плата работников отдела технической информации составляет 1400 руб., тогда:
    Zзп = 1400 * 5 * 12 = 84 000 (руб.)
    Дополнительная заработная плата составляет 30% от основной заработной платы, тогда затраты на дополнительную заработную плату:
    Zзпд = Zзп * 0.3 = 84 000 * 0.3 = 25 200 (руб.)
    Отчисления на социальное страхование составляют 37% от общей заработной платы, тогда:
    Oстр =(Zзп + Zзпд)* 0.37 , то есть
    Остр = (84 000 + 25 200) * 0.37 = 40 404 (руб.),
    Таким образом, подставляя вычисленные значения затрат в формулу (3), получим стоимость затрат до внедрения программы:
    Zдв = 84 000 + 25 200 + 40 404 = 149604 (руб.).

    7.2.4.Затраты после внедрения

    Затраты после внедрения программного продукта рассчитаем по формуле:
    Zпв = Zзп + Zзпд + Oстр + Zээ + Oам + Sпо + Zвпп, (4)
    где
    Zзп - затраты на заработную плату программисту, руб.;
    Zзпд - затраты на дополнительную заработную плату, руб.;
    Остр - отчисление на социальное страхование, руб.;
    Zээ - затраты на электроэнергию для ПЭВМ, руб.;
    Оам - амортизационные отчисления, руб.;
    Zвпп - затраты на внедрение программного продукта, руб.
    Заработанная плата программисту равна 1500 руб., тогда:
    Zзп = 1500 * 12 + 1400 * 12 = 24 800 (руб.).
    Дополнительная заработная плата составляет 30% от основной заработной платы, тогда затраты на дополнительную заработную плату:
    Zзпд = Zзп * 0.3 = 24 800 * 0.3 = 7 440 (руб.).
    Отчисления на социальное страхование составляют 37% от общей заработной платы, тогда:
    Oстр = ( Zзп + Zзпд ) * 0.37 , то есть
    Oстр = (24 800 + 7 440) * 0.37 = 11 930 (руб.).
    ПЭВМ на рабочем месте работает 8 часов в день. Количество рабочих дней в году 264. Стоимость электроэнергии 0.14 руб. за киловатт. Мощность, потребляемая ПЭВМ 300 Вт. Посчитаем годовые затраты на электроэнергию, потребляемую ПЭВМ, руб.;
    Zээ = (8 * 264) * 0.14 * 0.300 = 88 (руб.).
    Стоимость ПЭВМ, используемых при эксплуатации разработанной программы составляет 12000 и 25000 руб. Срок службы персонального компьютера составляет 8 лет. Тогда амортизационные отчисления за год составляют:
    Oам = (12000 + 25000) / 8 = 4625 (руб.).
    Стоимость программного обеспечения равняется себестоимости программного продукта, посчитанной в предыдущем пункте данной главы. Следовательно:
    Sпо = 18 833 (руб.).
    В затраты на внедрение программного продукта входят затраты на изготовление сопроводительной документации, на заработную плату службы сопровождения программного продукта, затраты на обучение пользователя работе с программой, на установку программного продукта, на адаптацию программного продукта к условиям пользователя и т.д. Так как размер данных затрат зависит от конкретных условий, то стоимость затрат на этапе внедрения можно оценить только качественно, и можно сказать что она будет соизмерима со стоимостью затрат на этапе разработки. Затраты на внедрение программного продукта составляют 110% от затрат на этапе разработки программного обеспечения:
    Zвпп = 18 833 * 1.1 = 20 717 (руб.)
    Таким образом, подставляя вычисленные значения затрат в формулу (4), получим стоимость затрат после внедрения программы:
    Zпв = 24 800 + 7 440 + 11 930 + 88 + 4625 + 18 833 + 20 717 = 88 433 (руб.)

    Подставляя рассчитанные затраты до и после внедрения программы в формулу (2), получим значение экономической эффективности от внедрения разработанного программного продукта:
    Eэ = Zдв - Zпв = 149 604 - 88433 = 61 171 (руб.)

    Список используемых источников

    1. КИВШ.00225-01 92, Многофункциональный пульт управления МФПУ, «Протокол взаимодействия центрального процессора и модуля ввода-вывода».
    2. КИВШ.00223-01 91, Многофункциональный пульт управления МФПУ, «Контрольно-проверочная программа», техническое задание.
    3. КИВШ.00225-01 91, Многофункциональный пульт управления МФПУ, «Специальное программное обеспечение модуля МВВ», техническое задание.
    4. КИВШ.00225-01 31, Многофункциональный пульт управления МФПУ, «Специальное программное обеспечение модуля МВВ», пояснительная записка.
    5. КИВШ.00225-01 92, Многофункциональный пульт управления МФПУ. «Описание модуля МВВ».
    6. КИВШ.00225-01 92, Многофункциональный пульт управления МФПУ. «Программно-аппаратный интерфейс».
    7. Гигиенические требования к видеодисплейным терминалам, ПЭВМ и организации работы: Санитарные правила и нормы. СанПиН 2.2.2.542-96.- М.: Информационно-издательский центр Госкомсанэпиднадзора России, 1996.-64с.
    8. Гончар С.Т. Экологичность и безопасность объекта дипломного проектирования: Учебное пособие. –Ульяновск, 1993. –128 с.
    9. СН 245-71. Санитарные нормы проектирования промышленных предприятий. –М.: Стройиздат, 1972.
    10. СНиП 2.09.04.-87. Административные и бытовые здания. –М.: Стройиздат, 1988.
    11. ОНТП 24-86. Общесоюзные нормы технол. проектирования. Определение категорий помещений и зданий по взрывопожарной и пожарной опасности.–М.:МВД СССР,1986.
    12. Правила устройства электроустановок / Минэнерго СССР. –М.: Энергоатомиздат, 1987.
    13. Список производств, профессий и должностей с вредными условиями труда, работа в которых дает право на дополнительный отпуск и сокращенный рабочий день /ВЦСПС. –М.: Экономика, 1977.
    14. Сборник нормативных актов по пенсионному обеспечению. –М.: Экономика, 1992.
    15. О проведении обязательных предварительных при поступлении на работу и периодических медицинских осмотров трудящихся, подвергающихся воздействию вредных и неблагоприятных условий труда. Приказ N 555 от 29.09.89 / Минздрав СССР. –М., 1989.
    16. СНиП 11-4-79. (с изменениями). Естественное и искусственное освещение. Нормы проектирования // Светотехника, 1991. N6.
    17. ГОСТ 12.1.005 - 88 “ССБТ. Общие санитарно - гигиенические требования к воздуху рабочей зоны”. - М.: Изд-во стандартов, 1988.
    18. ГОСТ 12.0.004-79 “Организация обучения работающих безопасности труда. Общие положения”. -М.: Изд-во стандартов, 1979.
    19. ГОСТ 12.1.006 -84 “ССБТ. Электромагнитные поля радиочастот”. - М.: Изд-во стандартов, 1984.
    20. ГОСТ 12.1.003 - 83 “ССБТ. Шум. Общие требования безопасности”. - М.: Изд-во стандартов, 1983.
    21. ГОСТ 12.1.019 - 79 “ССБТ. Электробезопасность. Общие требования”. - М.: Изд-во стандартов, 1979.
    22. ГОСТ 12.1.018 - 86 “ССБТ. Статическое электричество. Искробезопасность. Общие требования.” - М.: Изд-во стандартов, 1986.
    23. ГОСТ 12.1.004 - 89 “ССБТ. Пожаробезопасность. Общие требования”. - М.: Изд-во стандартов, 1989.

    Приложение 1: МВВ – «Контроль аппаратуры обмена»

    /*---------------------------------------------------
    автор Кулагин А.Г.
    СПО МВВ-34 МФПУ
    КИВШ.00225-01
    Программа контроля аппаратуры обмена с МПР
    файл KontObm.cpp
    разработка 2000 года
    --------------------------------------------------*/
    #include "SpoMww.h"
    int sost_sl; //прототипы "Слова состояния",
    int upr_sl; // "Управляющего слова"
    int old_upr_sl=0; // "старого" "Управляющего слова"
    int old_sost_sl; // "старого" "Слова состояния"
    void (*Ptr)();
    uint volatile OK_ERROR=0;
    uint number_sf; //Номер семафора
    uint mem; //Адрес памяти
    int tst1; //Эталон 1 для проверки передачи информации
    int tst2; //Эталон 2 для проверки передачи информации
    //---------------------------------------------------
    //Устанавливает 1 в 0-ом разряде слова состояния - OK
    void SetOK (void)
    {
    CtenMpr(SL_SOST,&sost_sl);
    //sost_sl &= 0xFFFC;//очищаем 2 мл.бита
    sost_sl |= 1;
    ZapisMpr(SL_SOST,sost_sl);
    }
    //Устанавливает 1 в 1-ом разряде слова состояния - ERROR
    void SetError (void)
    {
    CtenMpr(SL_SOST,&sost_sl);
    //sost_sl &= 0xFFFC;//очищаем 2 мл.бита
    sost_sl |= 2;
    ZapisMpr(SL_SOST,sost_sl);
    }
    //---------------------------------------------------
    //Обработчик контроля прерываний от МПР (должен располагаться по адр. 38000h)
    void KONT_INTERRUPT ()
    {
    ZapisMpr(10,0XFFFF);
    CtenMpr (SL_UPR,&upr_sl);
    switch (upr_sl){
    case 0x0000:sost_sl=0x0001;break;
    case 0x0001:sost_sl=0x0002;break;
    case 0x0002:sost_sl=0x0004;break;
    case 0x0004:sost_sl=0x0008;break;
    case 0x0008:sost_sl=0x0010;break;
    case 0x0010:sost_sl=0x0020;break;
    case 0x0020:sost_sl=0x0040;break;
    case 0x0040:sost_sl=0x0080;break;
    case 0x0080:sost_sl=0x0100;break;
    case 0x0100:sost_sl=0x0200;break;
    case 0x0200:sost_sl=0x0400;break;
    case 0x0400:sost_sl=0x0800;break;
    case 0x0800:sost_sl=0x1000;break;
    case 0x1000:sost_sl=0x2000;break;
    case 0x2000:sost_sl=0x4000;break;
    case 0x4000:sost_sl=0x8000;break;
    default:sost_sl=0xFFFF; //Признак окончания теста
    }
    ZapisMpr(SL_SOST,sost_sl);
    asm DW 0FAAh //Выход из прерывания
    }
    //-------------------------------------------------------
    void KontObm ()
    {
    //Проверяем что будем тестировать ?
    switch (upr_sl & 3) {
    /////////////////////////////////////////////////////
    //семафор
    case 1://получаем номер семафора (4-6 разряды)
    number_sf = (upr_sl & 0x0070) >> 4;
    //ветвимся по коду теста
    switch ((upr_sl & 0x000C) >> 2){
    //чтение МВВ занятого семафора
    case0:if (OpenSf(number_sf)!=0) SetOK();
    else SetError();
    CloseSf (number_sf);
    break;
    //чтение МВВ свободного семафора
    case 1:if (OpenSf(number_sf)==0) SetOK();
    else SetError();
    CloseSf(number_sf);
    break;
    //чтение МПР занятого семафора
    case 2: if (OpenSf(number_sf)==0)
    {
    SetOK();
    while ((sost_sl & 0x0003) != 0)
    CtenMpr (SL_SOST,&sost_sl);
    }
    else SetError();
    CloseSf(number_sf);
    break;
    //чтение МПР свободного семафора
    case 3: if (CloseSf(number_sf)==0) SetOK();
    else SetError();
    break;
    }
    break;
    ////////////////////////////////////////////////////////
    //рабочая область
    case 2:OK_ERROR=0;
    // Направление 0: МПР->МВВ
    if (((upr_sl & 0x0010) >> 4)==0)
    //ветвимся по коду теста
    switch ((upr_sl & 0x000C) >> 2){
    // передача нулевой информации
    case 0:for (mem=0;mem<0x7F00;mem+=2){
    CtenMpr (mem,&tst1);
    if (tst1!=0)OK_ERROR++;
    }
    if (OK_ERROR==0)SetOK();
    else SetError();
    break;
    // передача единичной информации
    case 1:for (mem=0;mem<0x7F00;mem+=2){
    CtenMpr (mem,&tst1);
    if (tst1!=(int)0xFFFF)OK_ERROR++;
    }
    if (OK_ERROR==0)SetOK();
    else SetError();
    break;
    // передача шахматной информации
    case 2:for (mem=0;mem<0x7F00;mem+=4){
    CtenMpr (mem+0,&tst1);CtenMpr (mem+2,&tst2);
    if ((tst1!=0x5555) || (tst2!=(int)0xAAAA))OK_ERROR++;
    }
    if (OK_ERROR==0)SetOK();
    else SetError();
    break;
    // передача обратной шахматной информации
    case 3:for (mem=0;mem<0x7F00;mem+=4){
    CtenMpr (mem+0,&tst1);CtenMpr (mem+2,&tst2);
    if ((tst1!=(int)0xAAAA) || (tst2!=0x5555))OK_ERROR++;
    }
    if (OK_ERROR==0)SetOK();
    else SetError();
    break;
    }
    // Направление 1: МВВ->МПР
    else
    //ветвимся по коду теста
    switch ((upr_sl & 0x000C) >> 2){
    // передача нулевой информации
    case 0:if (OpenSf (0)==1) {
    SetError();break;
    }
    for (mem=0;mem<0x7F00;mem+=2){
    ZapisMpr (mem,0);
    CtenMpr (mem,&tst1);
    if (tst1!=0)OK_ERROR++;
    }
    if (OK_ERROR==0)SetOK();
    else SetError();
    CloseSf(0);
    break;
    // передача единичной информации
    case 1:if (OpenSf (0)==1) {
    SetError();break;
    }
    for (mem=0;mem<0x7F00;mem+=2){
    ZapisMpr (mem,0xFFFF);
    CtenMpr (mem,&tst1);
    if (tst1!=-1)OK_ERROR++;
    }
    if (OK_ERROR==0)SetOK();
    else SetError();
    CloseSf(0);
    break;
    // передача шахматной информации
    case 2:if (OpenSf (0)==1) {
    SetError();break;
    }
    for (mem=0;mem<0x7F00;mem+=4){
    ZapisMpr (mem+0,0x5555);ZapisMpr (mem+2,0xAAAA);
    CtenMpr (mem+0,&tst1);CtenMpr (mem+2,&tst2);
    if ((tst1!=0x5555) || (tst2!=(int)0xAAAA))OK_ERROR++;
    }
    if (OK_ERROR==0)SetOK();
    else SetError();
    CloseSf(0);
    break;
    // передача обратной шахматной информации
    case 3:if (OpenSf (0)==1) {
    SetError();break;
    }
    for (mem=0;mem<0x7F00;mem+=4){
    ZapisMpr (mem+0,0xAAAA);ZapisMpr (mem+2,0x5555);
    CtenMpr (mem+0,&tst1);CtenMpr (mem+2,&tst2);
    if ((tst1!=(int)0xAAAA) || (tst2!=0x5555))OK_ERROR++;
    }
    if (OK_ERROR==0)SetOK();
    else SetError();
    CloseSf(0);
    break;
    }
    break;
    //////////////////////////////////////////////////////
    //прерывания
    case 3:OK_ERROR=0; //Пока ошибок нет !!!
    Ptr = &KONT_INTERRUPT;
    _EBX = (ulong) Ptr;
    asm {
    PUSH ES
    MOV AX,3800H //утанавливаем сегмент
    MOV ES,AX
    MOV SI,0 //адрес 0
    MOV AL,0B8H //код MOV AX,xxxxh
    MOV BYTE PTR ES:SI,AL //заносим
    PUSH EBX //получаем сегмент
    SHR EBX,16 //нашего обработчика
    MOV AX,BX
    POP EBX
    MOV WORD PTR ES:SI+1,AX //заносим
    MOV EAX,8EC0FF26H//код MOV ES,AX и JMP ES:xxxx
    MOV DWORD PTR ES:SI+3,EAX//заносим
    MOV AX,26H
    MOV BYTE PTR ES:SI+7,AX //заносим
    MOV WORD PTR ES:SI+8,BX //заносим
    POP ES
    }
    //Запоминаем слово состояния
    CtenMpr (SL_SOST,&sost_sl);
    old_sost_sl=sost_sl;
    //Обнуляем слово состояния
    sost_sl=0;
    ZapisMpr(SL_SOST,sost_sl);
    //Ждать окончания теста
    while (sost_sl!=0xFF00) CtenMpr (SL_SOST,&sost_sl);
    sost_sl=old_sost_sl;
    ZapisMpr(SL_SOST,sost_sl);
    SetOK();
    break;
    /////////////////////////////////////////////////////////
    default:SetError();
    }
    }
    //-------------------------------------------------------
    uint RezimKontObm ()
    {
    //Делать пока режим не смениться
    do
    {
    CtenMpr (SL_UPR,&upr_sl);
    if (upr_sl!=old_upr_sl) {
    old_upr_sl=upr_sl;
    //Вызываем контроль обмена
    KontObm ();
    }
    } while ((upr_sl & SS_REZIM) == SS_KONTOBM );
    return 0;
    }

    Приложение 2: МПР – «Контроль аппаратуры обмена»

    /*-------------------------------------------------------
    автор Кулагин А.Г.
    КПП МФПУ
    КИВШ.00223-01
    Программа контроля аппаратуры обмена
    файл kontmww.cpp
    разработка 2000 года
    ------------------------------------------------------*/
    #include "demo.h"
    #include "mww.h"
    #include
    #include
    #define INT_MWW 0x72 //Номер прерываний от МВВ
    uint upr_sl;
    uint sost_sl;
    //Подпрограмма формирования управляющего слова
    void Set_UPR_SL (int DOP, int CODE_TEST, int CODE_USTR)
    {
    CtenExt(BASADR+SL_SOST,&sost_sl); //взяли слово состояния
    sost_sl &= 0xFFFC; //обнуляем флаги результата
    ZapisExt (BASADR+SL_SOST,sost_sl);
    CtenExt (BASADR+SL_UPR,&upr_sl);//взяли управляющее слово
    upr_sl &= 0xFF00;
    upr_sl |= CODE_USTR | (CODE_TEST << 2) | (DOP << 4);
    ZapisExt (BASADR+SL_UPR,upr_sl);
    }
    //Подпрограмма получения кода выхода из тестов МВВ
    uint ExitCod (void)
    {
    uint ExitCodeMvv;
    CtenExt (BASADR+SL_SOST,&ExitCodeMvv);
    ExitCodeMvv &= 0x0003;
    return ExitCodeMvv;
    }
    //Подпрограмма ожидания ответа от МВВ
    uint WaitOtvetMww ()
    {
    uint OK_ERROR_MWW;
    uint cnt=0;
    while((OK_ERROR_MWW=ExitCod())==0&&cnt++<0x100)delay (5);
    if (OK_ERROR_MWW == 0) return 4;
    return OK_ERROR_MWW;
    }
    void interrupt (*OLD_INT_MWW)(...);//Старый обработчик прерывания от МВВ
    //Обработчик прерываний от МВВ (тест контроля прерываний)
    void interrupt KONT_INTERRUPT (...)
    {
    CtenMwwInt (7,SL_SOST,&sost_sl);
    ZapisMwwInt (7,SL_UPR,sost_sl);
    //Сбрасываем ведущий и ведомый каскад
    asm mov al,20h
    asm out 20h,al
    asm out 0A0h,al
    }
    //****************************************************//
    uint KontMww (void)
    {
    uint OK_ERROR_MWW;
    uint OK_ERROR_MPR;
    uint i,j;
    uint tst1;
    uint tst2;
    uint mem;
    ///////////////// семафоры ///////////////
    printf ("\nКонтроль семафоров.\n");
    for (i=0;i<8;i++){ //номера семафоров
    for (j=0;j<4;j++){ //код теста
    //CloseSf(i);
    switch (j){
    //Чтение МВВ занятого семафора
    case 0:if (OpenSf(i)==0)
    {
    OK_ERROR_MPR=1;
    Set_UPR_SL (i,j,1); //формируем слово управления
    OK_ERROR_MWW = WaitOtvetMww ();
    }
    else OK_ERROR_MPR=2;
    CloseSf(i);
    break;
    //Чтение МВВ свободного семафора
    case 1:if (CloseSf(i)==0) OK_ERROR_MPR=1;
    else OK_ERROR_MPR=2;
    Set_UPR_SL (i,j,1); //формируем слово управления
    OK_ERROR_MWW = WaitOtvetMww ();
    break;
    //Чтение МПР занятого семафора
    case 2:Set_UPR_SL (i,j,1); //формируем слово управления
    OK_ERROR_MWW = WaitOtvetMww ();
    if (OpenSf(i)!=0) OK_ERROR_MPR=1;
    else OK_ERROR_MPR=2;
    if (OK_ERROR_MWW==1){
    CtenMwwInt (7,SL_SOST,&mem);
    mem &= 0xFFFC;
    ZapisMwwInt (7,SL_SOST,mem);
    }
    CloseSf(i);
    break;
    //Чтение МПР свободного семафора
    case 3:Set_UPR_SL (i,j,1); //формируем слово управления
    OK_ERROR_MWW = WaitOtvetMww ();
    if (OpenSf(i)==0) OK_ERROR_MPR=1;
    else OK_ERROR_MPR=2;
    CloseSf(i);
    break;
    }
    if (OK_ERROR_MPR==1 && OK_ERROR_MWW==1)printf ("Семафор %u - OK. ¦ ",i);
    else {
    switch (OK_ERROR_MPR){
    case 1:printf ("МПР - OK.(%u) ",OK_ERROR_MPR);break;
    case 2:printf ("МПР - ERROR.(%u) ",OK_ERROR_MPR);break;
    }
    switch (OK_ERROR_MWW){
    case 1: printf ("МВВ - OK.(%u)\n",OK_ERROR_MWW);break;
    case 2:printf("МВВ - ERROR(%u)\n",OK_ERROR_MWW);return 0;
    case 4: printf ("МВВ - Нет ответа\n");return 0;
    default:printf ("МВВ - Не правильный ответ\n");return 0;
    }
    }
    }
    printf ("\n");
    }
    //////////// рабочая область //////////////
    printf ("\nКонтроль рабочей области.\n");
    for (j=0;j<4;j++){ //код теста
    //Направление 0, МПР->МВВ
    switch (j){ //код теста
    //Передача нулевой информации
    case 0:for (mem=0;mem<0x7F00;mem+=2)
    ZapisMwwInt (7,mem,0x0000);break;
    //Передача единичной информации
    case 1:for (mem=0;mem<0x7F00;mem+=2)
    ZapisMwwInt (7,mem,0xFFFF);break;
    //Передача шахматной информации
    case 2:for (mem=0;mem<0x7F00;mem+=4){
    ZapisMwwInt (7,mem+0,0x5555);
    ZapisMwwInt (7,mem+2,0xAAAA);
    }
    break;
    //Передача обратной шахматной информации
    case 3:for (uint mem=0;mem<0x7F00;mem+=4){
    ZapisMwwInt (7,mem+0,0xAAAA);
    ZapisMwwInt (7,mem+2,0x5555);
    }
    break;
    }
    Set_UPR_SL (0,j,2); //формируем слово управления
    OK_ERROR_MWW = WaitOtvetMww ();
    switch (OK_ERROR_MWW){
    case 1: printf ("Тест %u, напр.0 - OK.\n",j);break;
    case 2: printf ("Тест %u, напр.0 - ERROR.)\n",j);break;
    case 4: printf ("МВВ - Нет ответа\n");break;
    default:printf ("МВВ - Не правильный ответ\n");break;
    }
    //Направление 1, МВВ->МПР
    Set_UPR_SL (1,j,2); //формируем слово управления
    OK_ERROR_MWW = WaitOtvetMww ();
    switch (OK_ERROR_MWW){
    case 1:
    switch (j){ //код теста
    case 0:for (uint mem=0;mem<0x7F00;mem+=2){
    CtenMwwInt (7,mem,&tst1);
    if(tst1!=0)printf ("Тест %u-ERROR, Адрес - %XH\n",j,mem);
    }
    printf ("Тест %u, напр.1 - OK.\n",j);
    break;
    case 1:for (mem=0;mem<0x7F00;mem+=2){
    CtenMwwInt (7,mem,&tst1);
    if(tst1!=0xFFFF)printf("Тест%u-ERROR,Адрес-%XH\n",j,mem);
    }
    printf ("Тест %u, напр.1 - OK.\n",j);
    break;
    case 2:for (mem=0;mem<0x7F00;mem+=4){
    CtenMwwInt (7,mem+0,&tst1);
    CtenMwwInt (7,mem+2,&tst2);
    if ((tst1!=0x5555) || (tst2!=0xAAAA))
    printf("Тест%u-ERROR,Адреса - %XH, %XH\n",j,mem+0,mem+2);
    }
    printf ("Тест %u, напр.1 - OK.\n",j);
    break;
    case 3:for (mem=0;mem<0x7F00;mem+=4){
    CtenMwwInt (7,mem+0,&tst1);
    CtenMwwInt (7,mem+2,&tst2);
    if ((tst1!=0xAAAA) || (tst2!=0x5555))
    printf("Тест%u-ERROR,Адреса - %XH, %XH\n",j,mem+0,mem+2);
    }
    printf ("Тест %u, напр.1 - OK.\n",j);
    break;
    }//switch (j)
    break;
    case 2:printf("Тест %u, напр.1 МВВ - ERROR.)\n",j);
    return 0;
    case 4: printf ("МВВ - Нет ответа\n");return 0;
    default:printf ("МВВ - Не правильный ответ\n");return 0;
    }//switch (OK_ERROR_MWW)
    }//for*/
    ///////////////// прерывания ////////////////
    // !! инициализация прерываний на КОНТРОЛЬ !!!!
    asm CLI
    OLD_INT_MWW=getvect(INT_MWW);/сохраняем старый обработчик
    setvect (INT_MWW,KONT_INTERRUPT);//устанавливаем новый
    //накладываем маску на ведущий каскад
    asm IN AL,21H
    asm AND AL,0FBH
    asm OUT 021H,AL // разрешение прерываний МПР
    //накладываем маску на ведомый каскад
    asm IN AL,0A1H
    asm AND AL,0FBH // 2-бит, IRQ-10, 0x72-вектор
    asm OUT 0A1h,AL // разрешение прерываний МПР
    asm STI
    //!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    Set_UPR_SL (0,0,3); //формируем слово управления
    ZapisExt ( 7, 0xa14000, 0 ); //разрешение прерываний МВВ
    //!!!!!! Забиваем время пока работают прерывания !!!!!
    uint cnt=0;
    //Ждать пока тест прерываний не закончится
    while (sost_sl!=0xFFFF && cnt++<10){
    CtenMwwInt (7,SL_SOST,&sost_sl);
    printf ("Сл.сост - %X\n",sost_sl);
    delay (100);
    uint lll;
    CtenMwwInt (7,10,&lll);
    printf ("10 - %X\n",lll);
    }
    //!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    asm CLI
    setvect (INT_MWW,OLD_INT_MWW); //восстанавливаем старый обработчик
    //Посылаем МВВ признак отработки
    sost_sl=0xFF00;//младшие 2 бита обязательно сброшены !!!
    ZapisMwwInt(7,SL_SOST,sost_sl);//в них передается результат из МВВ
    //Ждать приход результата теста
    while ((OK_ERROR_MWW=ExitCod())==0);
    switch (OK_ERROR_MWW){
    case 1: printf ("Прерывания - OK.\n");break;
    case 2: printf ("Прерывания - ERROR.)\n");break;
    default:printf ("МВВ - Не правильный ответ\n");break;
    }
    return 0;
    }

    Приложение 3: МВВ – «Расширенный контроль»

    /*-------------------------------------------------
    автор Кулагин А.Г.
    СПО МВВ-34 МФПУ
    КИВШ.00225-01
    Программа расширенного контроля МВВ
    файл RasKont.cpp
    разработка 2000 года
    -------------------------------------------------*/
    #include "SpoMww.h"
    #include
    uint seg,addr;
    uint error;
    uint ret;
    uint kon_summa; //Контрольная сумма (должна быть 0)
    uint reg_smkont;//Для хранения инф. регистра самоконтроля
    #define REG_KONTR 0xFF00 //адрес регистра контроля в 2-х портовом ОЗУ
    #define REG_SAM_KONTR 0x0C86 //адрес регистра самоконтроля в ОЗУ контр. КЛС
    #define ALL_SEG 0xFFFF //Адрес последнего байта в сегменте
    #define NO_ERR 0
    #define CHIP 1
    #define FLASH 20
    #define STAT_RAM 30
    #define OTK_MVV 40
    #define KON_KLS 50
    #define ALL_SBOI 90
    //------------------------------------------------------
    //Чтение ОЗУ
    int ReadRam ( uint seg, uint addr )
    {
    _ES = seg;
    _SI = addr;
    asm MOV AX, word ptr ES:SI
    return _AX;
    }
    //Запись в ОЗУ
    void WriteRam ( uint seg, uint addr, int znc )
    {
    _ES = seg;
    _SI = addr;
    _AX = znc;
    asm MOV word ptr ES:SI, AX
    }
    //------------------------------------------------------
    //Тест ППЗУ
    uint Flash_Test ()
    {
    //Сумма всех 32-раз. слов должна быть равна 0
    error=0;
    kon_summa=0;
    for (addr=0;addr
    kon_summa += ReadRam (0x6000,addr);
    if (kon_summa!=0) return FLASH;
    else return NO_ERR;
    }
    //-------------------------------------------------------
    //Быстрый тест ОЗУ
    //Чтение-запись шахматной и обратной шахматной информации
    uint Ram_Test()
    {
    error=0;
    //Передача шахматной информации
    for (seg=3;seg<4;seg++)
    for (addr=0;addr
    WriteRam (seg*0x100,addr+0,0x5555);
    WriteRam (seg*0x100,addr+2,0xAAAA);
    for (seg=2;seg<4;seg++)
    for (addr=0;addr
    if (ReadRam (seg*0x1000,addr+0)!=0x5555 &&
    ReadRam (seg*0x1000,addr+2)!=(int)0xAAAA) error++;
    //Передача обратной шахматной информации
    for (seg=2;seg<4;seg++)
    for (addr=0;addr
    WriteRam (seg*0x1000,addr+0,0xAAAA);
    WriteRam (seg*0x1000,addr+2,0x5555);
    for (seg=2;seg<4;seg++)
    for (addr=0;addr
    if (ReadRam (seg*0x1000,addr+0)!=(int)0xAAAA &&
    ReadRam (seg*0x1000,addr+2)!=0x5555) error++;
    if (error!=0) return STAT_RAM;
    else return NO_ERR;
    }
    //------------------------------------------------------
    //Расширенный тест ОЗУ
    //Чтение-запись шахматной, обратной шахматной, нулевой и единичной информации
    uint Ext_Ram_Test()
    {
    if (Ram_Test()!=0) return STAT_RAM;
    else error=0;
    //Передача нулевой информации
    for (seg=0x1000;seg<0x4000;seg+=0x1000)
    for (addr=0;addr
    WriteRam (seg,addr,0);
    for (seg=0x1000;seg<0x4000;seg+=0x1000)
    for (addr=0;addr
    if (ReadRam (seg,addr)!=0) error++;
    //Передача единичной информации
    for (seg=0x1000;seg<0x4000;seg+=0x1000)
    for (addr=0;addr
    WriteRam (seg,addr,0xFFFF);
    for (seg=0x1000;seg<0x4000;seg+=0x1000)
    for (addr=0;addr
    if (ReadRam (seg,addr)!=(int)0xFFFF) error++;
    if (error!=0) return STAT_RAM;
    else return NO_ERR;
    }
    //------------------------------------------------------
    //Тест сигнала "Отказ МВВ"
    uint Signal_Otkaz_Mww_Test()
    {
    return 0;
    }
    //------------------------------------------------------
    //Тест контроллера КЛС
    uint Kontrol_Kls_Test()
    {
    //Встроенный тест
    reg_smkont = RegKls (REG_SAM_KONTR);
    reg_smkont &= 0xFFDF; //5 бит = 0-частота CLK-SYS = 10Mhz
    reg_smkont |= 0x00C0; //6,7 бит=1 - проверка передатчиков и памяти приемников
    ZapisRegKls (REG_SAM_KONTR,reg_smkont);
    //Ждать конца теста
    while ( (RegKls(REG_SAM_KONTR) & 0x4700) != 0x4700);
    //Проверяем результат
    reg_smkont = RegKls (REG_SAM_KONTR) & 0xB800;
    if (reg_smkont!=0) return KON_KLS;
    else return NO_ERR;
    //Программно-управляемый тест
    //Отключаем выходы всех передатчиков (TFE=0)
    //outport (REG_KONTR, inport (REG_KONTR) & 0xF7FF);
    //return 0;
    }
    //-------------------------------------------------------
    uint RasKont ()
    {
    ret=0;
    ret = Chip_Test(); //микропроцессор
    if (ret==0) ret = Flash_Test(); //FLASH-память
    if (ret==0) ret = Ram_Test(); //быстрый тест стат.ОЗУ
    if(ret==0)ret = Ext_Ram_Test();//расширеный тест стат.ОЗУ
    if(ret==0)ret=Signal_Otkaz_Mww_Test();//сигнал"Отказ МВВ"
    if(ret==0) ret = Kontrol_Kls_Test(); //контроллер КЛС
    //Запись результата теста для МПР
    ZapisMpr (SL_ISPR_TIP,ret);
    ZapisMpr (SL_SOST,SS_OZIDANIE);
    return 0;}

    Приложение 4: МПР – «Расширенный контроль»

    /*-------------------------------------------------------
    автор Кулагин А.Г.
    КПП МФПУ
    КИВШ.00223-01
    Программа расширенного контроля
    файл kontmww.cpp
    разработка 2000 года
    -----------------------------------------------------*/
    #include "demo.h"
    #include "mww.h"
    #include
    #define NO_ERR 0
    #define CHIP 1
    #define FLASH 20
    #define STAT_RAM 30
    #define OTK_MVV 40
    #define KON_KLS 50
    #define ALL_SBOI 90
    char* AnalysError ( uint error )
    {
    switch ( error )
    {
    case NO_ERR : return "OK";
    case CHIP : return "микропроцессор - ERROR";
    case FLASH : return "контрольная сумма ППЗУ - ERROR";
    case STAT_RAM : return "статическое ОЗУ - ERROR";
    case OTK_MVV : return "сигнал 'Отказ МВВ' - ERROR";
    case KON_KLS : return "контроллер КЛС - ERROR";
    case ALL_SBOI : return "общий сбой";
    }
    return "неизвестная ошибка !!!";
    }
    //******************************************************
    uint RasKont ()
    {
    uint sost_sl=0,
    slIspMww;
    printf ("Расширенный контроль - ");
    //Записываем ошибку, если тест пройдет нормально - то ошибки не будет
    ZapisMwwInt (7,SL_ISPR_TIP,ALL_SBOI);
    //Ожидаем прихода результата
    uint cnt=0;
    do {
    CtenMwwInt (7,SL_SOST, &sost_sl);
    printf ("Слово состояния - %Xh\n",sost_sl);
    }
    while ( (sost_sl == SS_RASKON) && (cnt++<0x100) );
    // while (sost_sl & SS_REZIM == SS_RASKON);
    //Считываем результат
    CtenMwwInt (7,SL_ISPR_TIP,&slIspMww);
    //Выводим его на экран ТК
    printf ("%s\n",AnalysError (slIspMww));
    //return slIspMww;
    return 0;
    }

    МП ВШ и ТП РФ Приказ МВ и ССО СССР

    МП ВШ и ТП РФ Приказ МВ и ССО СССР

    от 06.06.56г. N 470

    Ульяновский государственный

    технический университет

    Кафедра Вычислительная Техника

    Дипломный проект

    на тему:

    «Разработка контрольно-

    проверочной программы модуля ввода-

    вывода МФПУ-1»

    Студент:

    Кулагин А.Г.

    Группа:

    ЭВМду – 52

    Ульяновск,2000.

    Развитие производства в настоящее время невозможно представить без широкого спректра



    Отзыв на диплом

    Отзыв руководителя от предприятия о практике студента

    В ходе производственной практики студента А.Г. Кулагина рассмотрен комплекс вопросов, связанный с разработкой контрольно-проверочной программы модуля ввода-вывода МВВ-34 в составе многофункционального пульта управления МФПУ-1.

    В ходе работы выполнен анализ аппаратной части пульта МФПУ и модуля МВВ, а также существующих инструментальных средств. По результатам анализа А.Г. Кулагиным разработан ряд технологических программ и командных файлов, облегчающих процесс разработки, загрузки и отладки специального программного обеспечения.

    Разработанное программное обеспечение включает в себя:

    • программу управления контролем, исполняемую центральным процессором МФПУ,

    • программу контролю аппаратуры обмену, состоящую из двух частей, исполняемых одновременно во взаимодействии друг с другом центральным процессором и модулем МВВ,

    • программу расширенного контроля МВВ, исполняемую МВВ,

    • технологические программы и командные файлы.

    Работа выполнена на достаточно высоком техническом уровне, подробно и достаточно полно рассмотрены проблемы функционирования программ процессора 386EX без операционной системы, а также отладки таких программ.

    Комплекс программ работоспособен и может быть использован при дальнейшей разработке специального и технологического программного обеспечения систем на базе процессора 386EX.

    Производственная практика студента Кулагина А.Г. заслуживает оценки отлично.

    Руководитель _________ “___”___________2000г.

    Маврин Дмитрий Юрьевич

    Занимаемая должность Ведущий программист НИО-14 УКБП

    Министерство общего и профессионального образования Российской Федерации

    Рецензент ______________________________

    « ___ » _____________________ 199 ___ г.

    Фамилия, имя, отечество

    рецензента (полностью)

    Занимаемая должность




  • Загрузить файл

    Похожие страницы:

    1. Разработка модели обучения школьному курсу стереометрии на модульной основе

      Тесты >> Педагогика
      ... КОНСТАТИРУЮЩЕГО И КОНТРОЛЬНОГО СРЕЗОВ ВЫВОДЫ ПО ... Использование системного подхода в разработке модульного обучения (Андреева М.В., ... самоуправления. Модульные программы и модули строятся с ... , последовательно вводить все более ... тесты, т.е. проверочные работы, ...
    2. Разработка интерактивных моделей микромира и методика их использования при изучении школьного курса

      Курсовая работа >> Химия
      ... , кроме контрольного; В ... должны предоставлять возможность ввода ответа в ... информационно – моделирующие модули соответствующих объектов ... для проверки выводов, сделанных ... средне». Пример такого проверочного задания следующий: ... разработку такого рода программ, ...
    3. Ввод и вывод информации

      Реферат >> Информатика
      ... контрольно-курсовой работе представлена тема “Устройства Ввода/вывода информации”. Устройства вывода ... виде одного модуля (аналогичное ... с разработкой фирмой ... организациях для вывода проверочных копий. ... , корректировку и отладку программ; - ввод данных и команд в ...
    4. Сети связи и системы коммутации

      Шпаргалка >> Информатика, программирование
      ... В пределах каждой зоны (области) вводится единая 7-значная нумерация, причем каждой ... . больше 2 - СЕ значащая. 4. Проверочные разряды, формируются на передающем конце ... /Imej(φu-φi)=|zВ|ejφв. zВ=Um/Im- модуль zВ; характеризующий соотношение амплитуд U и I ...
    5. Основная образовательная программа начального общего образования ГБОУ ЦО

      Реферат >> Банковское дело
      ... Программы рабочих учебных программ, курсов, модулей и метапрограмм 4.3. Программа ... программы Необходимость разработки образовательной программы ... продуктов: всех контрольно-проверочных и диагностических работ ... ввода информации в компьютер: ввод ... делать выводы, ...

    Хочу больше похожих работ...

    Generated in 0.0021569728851318