Реферат по предмету "Коммуникации и связь"


Разработка многофункциональных астрономических часов

СОДЕРЖАНИЕ
ПЕРЕЧЕНЬУСЛОВНЫХ ОБОЗНАЧЕНИЙ, СИМВОЛОВ, ЕДИНИЦ, СОКРАЩЕНИЙ И ТЕРМИНОВ
ВВЕДЕНИЕ
РАЗДЕЛ 1ТЕОРЕТИЧЕСКИЕ ОСНОВЫ РАЗРАБОТКИ
1.1Разработка микропроцессорной системы на основе микроконтроллера
1.1.1Основные этапы разработки
1.1.2Разработка и отладка аппаратных средств
1.1.3Разработка и отладка программного обеспечения
1.2Астрономические часы
РАЗДЕЛ 2РАЗРАБОТКА МНОГОФУНКЦИОНАЛЬНЫХ АСТРОНОМИЧЕСКИХ ЧАСОВ
2.1Постановка задачи
2.2Разработка структурной схемы устройства и функциональной спецификации
2.3Аппаратные средства микроконтроллеров серии PIC16F877A
2.4Разработка функциональной схемы устройства
2.5Разработка алгоритма управления
2.6Разработка программного обеспечения микроконтроллера
2.7 Выбор,описание и расчет элементной базы
2.8Разработка схемы электрической принципиальной
РАЗДЕЛ 3ЭКОНОМИЧЕСКАЯ ЧАСТЬ
РАЗДЕЛ 4ОХРАНА ТРУДА
4.1Требования к производственным помещениям
4.1.1Окраска и коэффициенты отражения
4.1.2Освещение
4.1.3Параметры микроклимата
4.1.4 Шум ивибрация
4.1.5Электромагнитное и ионизирующее излучения
4.2 Эргономическиетребования к рабочему месту
4.3 Режимтруда
4.4 Расчетосвещенности
4.5 Расчетвентиляции
4.6 Расчетуровня шума
ВЫВОДЫ
ПЕРЕЧЕНЬССЫЛОК
ПРИЛОЖЕНИЯ

ПЕРЕЧЕНЬ УСЛОВНЫХ ОБОЗНАЧЕНИЙ,СИМВОЛОВ, ЕДИНИЦ, СОКРАЩЕНИЙ И ТЕРМИНОВ
АЛУ – арифметическо-логическое устройство
АЦП – аналого-цифровой преобразователь
КМОП – комплементарная логика на транзисторах металл-оксид-полупроводник
МПС – микропроцессорная система
ЦПУ – центральное процессорное устройство
ШИМ – широтно импульсная модуляция

ВВЕДЕНИЕ
Как известно, при разработке большинства измерительных системвозникает задача преобразования аналоговых сигналов от различных датчиков вцифровую форму и их последующей обработки. В некоторых случаях вся обработкаданных возлагается на компьютер. Однако, если потребность рынка в измерительнойсистеме велика, то удобнее использовать системы со встроенныммикроконтроллером. Контроллер берет на себя многие задачи, связанные как социфровкой, так и с последующей обработкой данных. При этом за счет серийногопроизводства стоимость системы значительно снижается. В результате получаетсязаконченное устройство, решающее задачу эффективно и с минимальными затратами.
Однокристальные (однокорпусные) микроконтроллеры представляютсобой приборы, конструктивно выполненные в виде БИС и включающие в себяследующие составные части: микропроцессор, память программ и память данных, атакже программируемые интерфейсные схемы для связи с внешней средой.
Мировая промышленность выпускает огромную номенклатуру микроконтроллеров.По области применения их можно разделить на два класса: специализированные,предназначенные для применения в какой-либо одной конкретной области(контроллер для телевизора, контроллер для модема) и универсальные, которые неимеют конкретной специализации и могут применяться в самых различных областяхмикроэлектроники, с помощью которых можно создать как любое из перечисленныхвыше устройств, так и принципиально новое устройство.
Астрономические часы не отличаются ни по своему назначению,ни по устройству от обыкновенных часов. От них только требуется чрезвычайно правильныйход, для достижения которого астрономические часы снабжаются приспособлениями,слишком дорогими для применения их к обыкновенным часам.
Одно из главных приспособлений состоит в компенсации влиянийтемпературы. Обыкновенные часы, карманные или стенные, спешат при понижениитемпературы и отстают при повышении её.
В электронных часах для повышения точности во-первыхприменяют стабильный источник питания, во-вторых – используют термостат длякварцевого резонатора.
Тема дипломной работы – «Разработка многофункциональныхастрономических часов», которая и является предметом исследования.
Актуальность данной темы велика, т.к. всю жизнь человечествопыталось «идти в ногу со временем».
Цель работы – разработать особо точные электронные часы набазе микроконтроллера с разнообразными функциями.
За основу для разработки астрономических часов мы взяли микроконтроллерсерии PIC16F877A.

РАЗДЕЛ 1. ТЕОРЕТИЧЕСКИЕ ОСНОВЫРАЗРАБОТКИ
1.1 Разработка микропроцессорнойсистемы на основе микроконтроллера
1.1.1 Основные этапы разработки
Микропроцессорная система (МПС) на основе микроконтроллера(МК) используются чаще всего в качестве встроенных систем для решения задачуправления некоторым объектом. Важной особенностью данного применения являетсяработа в реальном времени, т.е. обеспечение реакции на внешние события втечение определенного временного интервала. Такие устройства получили названиеконтроллеров.
Перед разработчиком МПС стоит задача реализации полного циклапроектирования, начиная от разработки алгоритма функционирования и заканчиваякомплексными испытаниями в составе изделия. Методология проектированияконтроллеров может быть представлена так, как показано на рис. 1.1.
В техническом задании формулируются требования к контроллерус точки зрения реализации определенной функции управления. Техническое заданиевключает в себя набор требований, который определяет, что пользователь хочет отконтроллера и что разрабатываемый прибор должен делать. Техническое заданиеможет иметь вид текстового описания.
На основании требований пользователя составляетсяфункциональная спецификация, которая определяет функции, выполняемыеконтроллером для пользователя после завершения проектирования, уточняя темсамым, насколько устройство соответствует предъявляемым требованиям. Она включаетв себя описания форматов данных, как на входе, так и на выходе, а также внешниеусловия, управляющие действиями контроллера.

/>
Рисунок 1.1- Основные этапы разработки контроллера
Этап разработки алгоритма управления является наиболее ответственным,поскольку ошибки данного этапа обычно обнаруживаются только при испытанияхзаконченного изделия и приводят к необходимости дорогостоящей переработки всегоустройства. Разработка алгоритма обычно сводится к выбору одного из несколькихвозможных вариантов алгоритмов, отличающихся соотношением объема программногообеспечения и аппаратных средств.
При этом необходимо исходить из того, что максимальное использованиеаппаратных средств упрощает разработку и обеспечивает высокое быстродействиеконтроллера в целом, но сопровождается, как правило, увеличением стоимости ипотребляемой мощности. При выборе типа МК учитываются следующие основныехарактеристики:
— разрядность;
— быстродействие;
— набор команд и способов адресации;
— требования к источнику питания и потребляемая мощность в различныхрежимах;
— объем ПЗУ программ и ОЗУ данных;
— возможности расширения памяти программ и данных;
— наличие и возможности периферийных устройств, включаясредства поддержки работы в реальном времени (таймеры, процессоры событий ит.п.);
— возможность перепрограммирования в составе устройства;
— наличие и надежность средств защиты внутренней информации;
— возможность поставки в различных вариантах конструктивногоисполнения;
— стоимость в различных вариантах исполнения;
— наличие полной документации;
— наличие и доступность эффективных средств программированияи отладки МК;
— количество и доступность каналов поставки, возможностьзамены изделиями других фирм.
Список этот не является исчерпывающим.
Номенклатура выпускаемых в настоящее время МК исчисляетсятысячами типов изделий различных фирм. Современная стратегия модульного проектированияобеспечивает потребителя разнообразием моделей МК с одним и тем же процессорнымядром. Такое структурное разнообразие открывает перед разработчиком возможностьвыбора оптимального МК, не имеющего функциональной избыточности, чтоминимизирует стоимость комплектующих элементов.
1.1.2 Разработка и отладка аппаратныхсредств
После разработки структуры аппаратных и программных средствдальнейшая работа над контроллером может быть распараллелена. Разработкааппаратных средств включает в себя разработку общей принципиальной схемы,разводку топологии плат, монтаж макета и его автономную отладку. На этапе вводапринципиальной схемы и разработки топологии используются, как правило,распространенные системы проектирования типа «ACCEL EDA» или«OrCad».
1.1.3 Разработка и отладкапрограммного обеспечения
Содержание этапов разработки программного обеспечения, еготрансляции и отладки на моделях существенно зависит от используемых системныхсредств. В настоящее время ресурсы 8-разрядных МК достаточны для поддержкипрограммирования на языках высокого уровня. Это позволяет использовать всепреимущества структурного программирования, разрабатывать программноеобеспечение с использованием раздельно транслируемых модулей. Одновременнопродолжают широко использоваться языки низкого уровня типа ассемблера, особеннопри необходимости обеспечения контролируемых интервалов времени. Задачипредварительной обработки данных часто требуют использования вычислений сплавающей точкой, трансцендентных функций.
В настоящее время самым мощным средством разработкипрограммного обеспечения для МК являются интегрированные среды разработки,имеющие в своем составе менеджер проектов, текстовый редактор и симулятор, атакже допускающие подключение компиляторов языков высокого уровня типа Паскальили Си. При этом необходимо иметь в виду, что архитектура многих 8-разрядных МКвследствие малого количества ресурсов, страничного распределения памяти,неудобной индексной адресации и некоторых других архитектурных ограничений необеспечивает компилятору возможности генерировать эффективный код.

1.2 Астрономические часы
Астрономические часы не отличаются ни по своему назначению,ни по устройству от обыкновенных часов. От них только требуется чрезвычайно правильныйход, для достижения которого астрономические часы снабжаются приспособлениями,слишком дорогими для применения их к обыкновенным часам.
Одно из главных приспособлений состоит в компенсации влиянийтемпературы. Обыкновенные часы, карманные или стенные, спешат при понижениитемпературы и отстают при повышении её. В часах с маятником устраивается такназываемый компенсационный маятник, в часах с пружиной или хронометрах такназываемые chappement.
Иногда под названием астрономических часов понимают такжесложные инструменты, которые, указывая час дня, кроме того, дают течение планети луны, приливы и отливы, подвижные праздники, различные явления неба, вособенности затмения солнца и луны, високосные года и т. п., посредством особыхмеханических приспособлений. Построение таких часов требует большогомеханического искусства и немало астрономических познаний; наиболеезамечательные часы такого рода изготовил Дасиподий в XV-м веке для Страсбургскогособора. Мастер Швильге в Страсбурге переделал их заново, и в этом новом видеони до сих пор находятся в соборе. Другие, несколько более простые часыподобного рода находятся в Майнце.
Однако практическая польза подобных сложных инструментоввесьма ограничена и не окупает затраченного на изготовление их громадноготруда: для астронома удобнее справиться относительно небесных явлений вэфемеридах.
Астрономические часы Федченко (АЧФ) — Высокоточныеэлектронно-механические вычисления часы, завершившие эволюцию маятниковых прибороввремени. Погрешность составляет 0,0002-0,0003 секунды в сутки, что на порядокниже, чем у часов английского ученого В.Шорта, сделанных в 20-х г. 19 в.,которыми долгое время оснащались обсерватории мира. Точность достигнута за счетподвеса маятника на специальном трехпружинном подвесе (изобретениеФ.М.Федченко), который обеспечивает изохронные (не зависящие от амплитуды)колебания маятника. Часы Федченко вплоть до 1970-80 гг. выполняли функциихранителей времени — работали в обсерваториях, на космодромах, аэропортах,телецентрах страны.
Была попытка разработать высокоточные электронныеастрономические часы, но в связи с высокой стоимостью и рядом непотребныхфункций они не нашли широкого применения.

РАЗДЕЛ 2. РАЗРАБОТКАМНОГОФУНКЦИОНАЛЬНЫХ АСТРОНОМИЧЕСКИХ ЧАСОВ
2.1 Постановка задачи
Требуется разработать схему многофункциональныастрономических часов.
Разработка устройства велась с учётом следующих требований:
— простота схемы (минимальное количество компонентов);
— функциональная насыщенность, многообразие регулируемыхпараметров;
— устойчивость к изменениям напряжения и температуры,долговечность;
— отсутствие нагрева компонентов;
— низкое энергопотребление.
2.2 Разработка структурной схемыустройства и функциональной спецификации
Рассмотрим структуру разрабатываемогоустройства (Рис. 2.1).
Функциональная спецификация:
1. Входы:
а. 16 кнопок управления и регулировки часами;
b. Источник бесперебойного стабильного электропитания часов.

/>

Рисунок 2.1 – Структурная схемамногофункциональных астрономических часов
2. Выходы:
а. Двухрядный шестнадцатиразрядный ЖК индикатор;
b. Звуковой излучатель.
3. Функции:
а. 16 таймеров;
b. Таймеры могут показывать Земное, Марсианское, Юпитерское, сидерическоевремя, Лунных фаз, времени перемещения большого красного пятна Юпитера и т.д. Одновременноеотображение 24 часового и Юлианского времен на десятичном дисплее.
с. Выполнение функций будильника;
d. Осуществление бесперебойного электропитания дляосуществления стабильности хода часов (должен иметь встроенный источникпитания).

2.3Аппаратные средства микроконтроллеров серии PIC16F877A
Общее описание:
PIC16F877A 8-разрядные КМОП микроконтроллеры с Flash памятью.
Основные характеристики:
Высокопроизводительный RISC-процессор:
Всего 35 простых для изучения инструкции
Все инструкции исполняются за один такт (200 нс), кромеинструкций перехода, выполняемых за два такта; минимальная длительность такта200 нс
14 битовые команды
8 — битовые данные
Вход внешних прерываний
8-уровневый аппаратный стек
Прямой, косвенный и относительный режимы адресации для данныхи инструкций
Периферия:
22 линий ввода/вывода с индивидуальным контролем направления
Сильноточные схемы портов ввода/вывода:
25 мА макс. вытек. ток
25 мА макс. втек. ток
Timer0: 8-разрядный таймер/счетчик
Timer1: 16-разрядный таймер/счетчик
Timer2: 8-разрядный таймер/счетчик
2 ШИМ модуля
Последовательные интерфейсы
3-проводный SPI
I2C Master и Slave режимы
USART (с поддержкой адреса)
5 каналов 10-битного АЦП
2 аналоговых компаратора
Интегрированный программируемый источник опорного напряжения
Особенности микроконтроллера:
Сброс при включении питания (POR)
Таймер включения питания (PWRT) и таймер запуска генератора(OST)
Сброс по снижению напряжения питания (BOR)
Сторожевой таймер (WDT) с собственным встроеннымRC-генератором для повышения надежности работы
Режим экономии энергии (SLEEP)
Выбор источника тактового сигнала
Программирование на плате через последовательный порт (ICSPT)(с использованием двух выводов)
Отладка на плате через последовательный порт (ICD) (сиспользованием двух выводов)
Возможность самопрограммирования
Программируемая защита кода
1000 циклов записи/стирания FLASH памяти программы
100 000 циклов записи/стирания памяти данных ЭСППЗУ
Период хранения данных ЭСППЗУ > 40 лет
Технология КМОП:
Экономичная, высокоскоростная технология КМОП
Полностью статическая архитектура
Широкий рабочий диапазон напряжений питания — от 2,0В до 5,5В
Промышленный и расширенный температурный диапазоны
Низкое потребление энергии
Совместимость:
Полная совместимость по выводам с семействамимикроконтроллеров (только 28-выводными): PIC16CXXX; PIC16FXXX

/>
Рисунок 2.2 – Структурная схема микроконтроллера PIC16F877A
/>
Рисунок 2.3 – Расположение выводов микроконтроллераPIC16F877A
/>
Рисунок 2.4 – Общий вид микроконтроллера PIC16F877A

Основные технические характеристики микроконтроллераPIC16F877A приведены в Приложении А.
2.4 Разработка функциональной схемыустройства
После выбора микроконтроллера мы можем приступить кразработке функциональной схемы (Рис. 2.5).
/>                                                       + 12 В
/>С/> /> /> /> /> /> /> /> /> /> /> /> /> />

/>/>/>/>/>/>/>/>/>/>/>/>/>/>/>/>/>/>
Рисунок 2.5 – Функциональная схемамногофункциональных астрономических часов
2.5Разработка алгоритма управления
Основной алгоритм работымикроконтроллера представлен на рис. 2.6.

/>
Рисунок 2.6 — Алгоритм работы многофункциональныхастрономических часов
2.6Разработка программного обеспечения микроконтроллера
Программа для микроконтроллера написана на языке ассемблера.Сделать ее можно более гибкой, даже ценой увеличения размера кода. Эту программуможно улучшать и улучшать, но, она работает и не слишком беспорядочна. Можнообновлять программу время от времени – удаляя ошибки и добавляя новыевозможности.
Программа содержится в Приложении Б.
2.7 Выбор,описание и расчет элементной базы
Стабилизированный блок питания напряжением 5В состоит изстабилизатора напряжения и фильтрующих конденсаторов.
Блок усилителя динамика это усилитель основанный намикросхеме LM386. Динамик любой (например, модема).
Порт PIC программатора предназначенный дляперепрограммирования микроконтроллера без разборки часов. Адаптер DB25 в 6контактный разъем.
Клавиатура от микрокалькулятора или кнопочного телефона.
Использован 16-ти символьный 2-х строчный LCD модуль фирмыTechstar с подсветкой. Эти модули довольно таки стандартны, так что почти любой16x2 LCD модуль будет работать.
Схема не содержит токовых элементов, кроме стабилизаторанапряжения, поэтому поэлементный расчет элементов не производится.
Спецификация элементов устройстваприведена в Приложении В.
Следует немного разобраться, как управляются астрономическиечасы.
Дисплей часов это 2х16 LCD модуль. Первая строка всегдапоказывает текущий выбранный таймер. Вторая строка используется для показа либоюлианского времени, либо выбора текущего меню.
/>
Рисунок 2.7 – Общий вид дисплея
Шестнадцать таймеров имеют имена TmA, TmB и т.д. вплоть доTmP. Здесь TmA это имя таймера, следующего за текущим временем. Вторая строкапоказывает то же самое время в юлианском формате (используется в астрономии идругих науках). Клавиатура выглядит так (Рисунок 2.8).
/>
Рисунок 2.8 – Клавиатура астрономических часов

Пользовательский интерфейс часов организован в виде различныхменю. Нажатие кнопок [DEL] и [TKO] позволит просмотреть пункты меню. При нажатиина [ENT] будет выбран пункт (и произойдет связанное с пунктом действие –откроется другое меню, установка значения и т.д.). выход из меню делаетсянажатием кнопки [DEL]. Это вызовет открытие предыдущего меню. Ниже приведенадиаграмма различных меню часов, с последующим детальным описанием каждого меню(Рисунок 2.9).
/>
Рисунок 2.9 — Главное Меню – Выбор Таймера
Сразу после включения питания часов, мы попадем в меню «ВыборТаймера». В этом режиме можно просмотреть все 16 таймеров, от TmA до TmP (как ис любым меню, используйте кнопки [TKO] и [DEL] для выбора таймеров). Если вы неуверены, в каком меню вы находитесь, нажмите кнопку [ABT] несколько раз, этоприведет вас в главное меню.
Установка времени [select timer, ENT]
Если вы хотите изменить что-нибудь в таймере – установитьвремя, установить будильник и т.д., выберете данный таймер и нажмите кнопку[ENT]. Это приведет вас к следующему меню с двумя опциями (Рисунок 2.10).
/>/>
Рисунок 2.10 — Меню с двумя опциями
Когда опция Adjust Timer видна, вы можете использовать кнопку[0] чтобы поставить таймер на паузу или перезапустить таймер и кнопку [4], длятого, чтобы переключить направление таймера (вперед или назад). Это будетвоздействовать только на текущий выбранный таймер.
Когда опция Adjust Clock видна, вы можете делать установкидля часов, которые влияют на все таймеры. Нажмите кнопку [0] чтобы поставить напаузу или перезапустить часы. Нажатие кнопки [4] вызовет скачок часов вперед на1 секунду. Таким образом вы можете задать правильное время не перезапускаякаждый таймер отдельно.
Установки таймера [select timer, ENT]
Выберите таймер и нажмите кнопку [ENT] дважды (один раз чтобыполучить Adjust меню и второй раз, чтобы выбрать опцию Adjust Timer). Появитсяменю со следующими опциями (Рисунок 2.11).
/>/>
/>
Рисунок 2.11 – Опции таймера

Если вы выберите опцию Set Timer и нажмете кнопку [ENT], вамбудет показан экран, где вы можете ввести новое время. Введите время используя цифровойклавиши. Новое время будет установлено когда вы введете все шесть цифр(HH:MM:SS) или когда вы нажмете кнопку [ENT]. Нажатие кнопки [ABT] в любой моментотменит операцию и время не будет установлено.
Если вы выберите опцию Set Alarm, это позволит вам установитьвремя будильника, звук и действие.
Чтобы настроить таймер на какой ни будь другой, отличный отстандартного земного (24 часа), временной цикл, выберите опцию Set Cycle Lengt.Более детальная информация и примеры длин циклов (например, как заставить таймерсчитать марсианское время), находятся в разделе How-To, пункт «Установка длинныцикла таймера». Подтвердите установку новой длинны цикла кнопкой [ENT] илиотмените операцию нажав кнопку [ABT] в любой момент.
Каждый таймер имеет будильник, связанный с ним. Это менюпозволяет вам выбрать между следующими опциями.
Чтобы установить время будильника выберите опцию Alarm Time инажмите кнопку [ENT]. Как обычно, кнопка [ENT] подтверждает, а кнопка [ABT]отменяет операцию в любой момент.
2.8Разработка схемы электрической принципиальной
Принципиальная схема многофункциональных астрономическихчасов в Accel EDA приведена на Рисунке 2.12.

/>
Рисунок 2.12 — Принципиальная схема многофункциональных астрономическихчасов в Accel EDA
Принципиальная схема приведена в Приложении Д.

РАЗДЕЛ 3. ТЕХНИКО-ЭКОНОМИЧЕСКОЕОБОСНОВАНИЕ ОБЪЕКТА РАЗРАБОТКИ
В данном разделепроводится технико-экономический расчет стоимости астрономических часов.
Стоимость устройствабудет состоять из стоимости разработки ПО для микроконтроллера, стоимостиразработки конструкторской документации и сборки устройства.
3.1 Расчетрасходов ПО для микроконтроллера, которое разрабатывается
Исходные данные длярасчета стоимости разработки ПО, которое разрабатывается приведены в таблице3.1.
Таблица 3.1 –Данные на 1.01.2010 г.№п/п Статьи затрат Усл. обозн. Ед. изм. Значения
 
  Проектирование и разработка ПЗ
  1 Часовая тарифная ставка программиста Зпр грн. 8,00
  2 Коэффициент сложности программы с коэф. 1,40
  3 Коэффициент коррекции программы Р коэф. 0,05
  4 Коэффициент увеличения расходов труда Z коэф. 1,3
  5 Коэффициент квалификации программиста k коэф. 1,0
  6 Амортизационные отчисления Амт % 10,0
  7 Мощность компьютера, принтера WМ Квт/ч 0,40
  8 Стоимость ПЕОМ IBM Sempron LE1150(AM2)/1GB/TFT Втз грн. 3200,00 9 Тариф на электроэнергию Це/е грн. 0,56 10 Норма дополнительной зарплаты Нд % 10,0 11 Отчисление на социальные расходы Нсоц % 37,2 12 Транспортно-заготовительные расходы Нтр % 4,0 Эксплуатация П0
  13 Численность обслуживающего персонала Чо чел 1
  14 Часовая тарифная ставка обслуживающего персонала Зперс грн. 6,00 15 Время обслуживания систем То час/г 150 16 Стоимость ПЕОМ Втз грн. 3200,00 17 Норма амортизационных отчислений на ПЕОМ На % 10,0 18 Норма амортизационных отчислений на ПЗ НаП % 10,0 19 Накладные расходы Рнак % 25,0 20 Отчисление на содержание и ремонт ПЕОМ и ПО Нр % 10,0 21 Стоимость работы одного часа ПЕОМ Вг грн. 6,5
 
Первичными исходнымиданными для определения себестоимости ПО является количество исходных команд(операторов) конечного программного продукта. Условное количество операторов Qв программе задания может быть оценено по формуле:
/>, (3.1)
где  у – расчетное количествооператоров в программе, что разрабатывается (единиц);
с – коэффициент сложности программы;
р – коэффициент коррекции программы в ходе ее разработки.
Рассчитанноеколичество операторов в разработанной программе – 500.
Коэффициент с – относительная сложность задания относительно отношения ктипичной задаче, сложность которой принята более 1, лежит в границах от 1,25 до2,0 и выбирается равным 1,30.
Коэффициент коррекции программы р – увеличение объема работ за счет внесения изменений впрограмму лежит в границах от 0,05 до 0,1 и выбирается равным 0,05.
Подставим выбранные значения в формулу (3.1) и определимвеличину Q:
Q = 200∙1,3 (1 + 0,05) = 273.

3.2 Расчетрасходов на создание ПО
Расчет расходов на ПОпроводится методом калькуляции расходов, в основу которого положенатрудоемкость и заработная плата разработчиков. Трудоемкость разработки ПЗ рассчитываетсяпо формуле:
/> (3.2)
где То – расходы труда на описание задания;
Ти – расходы труда на изучение описания задания;
Та – расходы труда на разработку алгоритма решения задания;
Тп– расходы труда на составлениепрограммы по готовой блок-схеме;
Тотл – расходы труда на отладку программы на ЭВМ;
Тд– расходы труда на подготовку документации.
Составные расходы труда, в своюочередь, можно определить по числу операторов Q для ПО, что разрабатывается.При оценке составных расходов труда используются:
— коэффициентыквалификации разработчика алгоритмов и программ – к;
– увеличениерасходов труда в результате недостаточного описания задания – Z.
Коэффициент квалификацииразработчика характеризует меру подготовленности исполнителя к порученной емуработе (он задается в зависимости от стажа работы), к = 1,0.
Коэффициентувеличения расходов труда в результате недостаточного описания заданияхарактеризует качество постановки задания, выданной для разработки программы, всвязи с тем, что задание требовало уточнения и некоторой доработки. Этоткоэффициент принимается равным 1,3.
Все исходные данные приведенные в таблице 3.1.
а) Трудоемкостьразработки П0 составляет:
Расходы трудана подготовку описания задания То принимаются равными 5 чел/час,исходя из опыта работы.
Расходы трудана изучение описания задания Те с учетом уточнения описания иквалификации программиста могут быть определены по формуле:
/>; (3.3)
Ти = 273∙1,3/80∙1 =5(чел/час)
Расходы трудана разработку алгоритма решения задачи рассчитываются по формуле:
/>; (3.4)
Та=273/25∙1 = 11 (чел/час)
Расходытруда на составление программы по готовой блок-схеме Тп рассчитываются по формуле:
/>; (3.5)
/> (чел/час)
Расходы труда на отладку программы на ПЕОМ Тотл рассчитываютсяпо формуле:
- при автономной отладке одного задания:
/>; (3.6)
/> (чел/час)
- при комплекснойотладке задания:

/>; (3.7)
/> (чел/час)
Расходытруда на подготовку документации по заданию Тд определяются по формуле:
/>, (3.8)
где Тдр – расходы труда на подготовку материалов врукописи:
/>; (3.9)
/>(чел/час)
Тдо –расходы труда на редактирование, печать и оформление документация:
/>.(3.10)
/>(чел/час)
Подставляя приобретенных значений вформулу (3.8), получим:
/> (чел/час)
Определим трудоемкостьразработки ПО, подставив полученные значения составляющих в формулу (3.2):
/>
Расчеттрудоемкости и зарплаты приведен в таблице 3.2.
б) Расчетматериальных расходов на разработку ПЗ
Материальныерасходы Мз, которые необходимы для создания ПО приведенные в таблице3.3.

Таблица 3.2 –Трудоемкость и зарплата разработчиков ПО
Наименование этапов
разработки
Трудоемкость
чел/часов Почасовая тарифная ставка программиста, грн. Сумма зарплаты, грн. Описание задания 5 8,00 40,00 Изучение задания 5 8,00 40,00 Составление алгоритма решения задачи 11 8,00 88,00 Программирование 12 8,00 96,00 Отладка программы 83 8,00 664,00 Оформление документации 25 8,00 200,00 ВСЕГО: 141 8,00 1128,00
Таблица 3.3 – Расчет материальныхрасходов на разработку ПОМатериал Фактическое количество Цена за единицу, грн. Сумма, грн. 1. DVD 1 3,00 6,00 2. Бумага 500 0,10 50,00 ВМЕСТЕ: 56,00 ТЗР (4%) 2,24
ВМЕСТЕ:
  57,24
в) Расходы наиспользование ЭВМ при разработке ПО
Расходы наиспользование ЭВМ при разработке ПО рассчитываются, исходя из расходов одногочаса, по формуле:
/>, (3.12)
где Вг – стоимость работы одного часа ЭВМ, грн.;
Тотл – расходы труда на наладку программы на ЭВМ, чел./час.;
Тд–расходы труда на подготовку документации, чел./час.;
Тп–расходы труда на составление программы по готовой блок-схеме, чел./час.
/> (грн.)
г) Расчеттехнологической себестоимости создания программы
Расчеттехнологической себестоимости создания программы (ПО) проводится методомкалькуляции расходов (таблица 3.4).
Таблица 3.4 – Калькуляциятехнологических расходов на создание ПО Наименование Расходы, грн. 1 Материальные расходы 57,24 2 Основная зарплата 1128,00 3 Дополнительная зарплата (15,0 %) 169,20 4 Отчисление на социальные мероприятия (37,2 %) 482,56 5 Накладные расходы (25,0 %) 282,00 6
Расходы на использование ЭВМ
составлении программного обеспечения ПО 780,00 7 Себестоимость ПО микроконтроллера 2899,00
Втаблице 3.4 величина материальных расходов Мз рассчитана в таблице 3.3,основная зарплата С берется из таблицы 3.2, дополнительная зарплата составляет15% от основной зарплаты, отчисление на социальные потребности – 37,2% отосновной и дополнительной зарплат (вместе), накладные расходы – 25% от основнойзарплаты. Себестоимость разработанной программы СПО рассчитываетсякак сумма пунктов 1 – 6.
СтоимостьПО для микроконтроллера составляет 2899,00 грн.на единицу продукции. Если организовать массовый выпуск продукции эта стоимостьразделится на количество выпущенных изделий.
3.2 Расчет стоимости разработкиконструкторской документации и сборки устройства
а) Трудоемкость разработки КД изделия (Т) рассчитывается по формуле:

/>, (3.13)
где Татз – расходы труда на анализ технического задания (ТЗ),чел./час;
Трес –расходы труда на разработку электрических схем, чел./час;
Трк –расходы труда на разработку конструкции, чел./час;
Трт – расходытруда на разработку технологии, чел./час;
Токд –расходы труда на оформление КД, чел./час;
Твидз– расходы труда на изготовление и испытание опытного образца.
Данные расчета заносятся в таблицу 3.5.
Таблица 3.5 — Расчет заработной платы на разработку КДизделияВиды работ Условные обозначения
Почасовая тарифная ставка — Сст, грн.
Факт.расходы времени
чел./час; Зарплата, грн. 1. Анализ ТЗ Татз 6,00 2 12,00 2. Разработка электрических схем Трес 6,00 4 24,00 3. Разработка конструкции Трк 6,00 4 24,00 4. Разработка технологии Трт 6,00 2 12,00 5. Оформление КД Токд 6,00 2 12,00 6. Изготовление и испытание опытного образца Твидз 6,00 8 48,00 Всего: å 6,00 22 132,00
Заработная плата на разработку КД изделия С определяется поформуле:
/>, (3.14)
где /> - почасоваятарифная ставка разработчика, грн.;
/> - трудоемкость разработки КД изделия.
б) Расчет материальных расходов на разработку КД
Материальные расходы Мв, которые необходимы для разработки(создании) КД, приведены в таблице 3.6.

Таблица 3.6 — Расчет материальных расходов на разработку КДМатериал Обозначение пометь.
Факт. кол.
чество
Цена за ед. грн.
цу, грн.
Сумма,
грн. 1. CD DVD 1 2,00 2,00 2. Бумага 500 0,07 35,00 ВСЕГО: å 37,00 ТЗР (4%) 1,48 Итого: Мв 38,48
 
в) Расходы на использование ЭВМ при разработке КД
Расходы, на использование ЭВМ при разработке КД,рассчитываются исходя из расходов работы одного часа ЭВМ по формуле, грн.:
/>, (3.15)
где Вг – стоимость работы одного часа ЭВМ, грн.
Трес –расходы труда на разработку электрических схем, чел./час;
Трк –расходы труда на разработку конструкции, чел./час;
Трт –расходы труда на разработку технологии, чел./час;
Токд –расходы труда на оформление КД, чел./час;
При этом, стоимость работы одного часа ЭВМ (другихтехнических средств — ТС) Вг определяется по формуле, грн.:
/>, (3.16)
где Те/е – расходы на электроэнергию, грн.;
Ваморт – величина 1-ого часа амортизации ЭВМ (ТС), грн.;
Зперс–почасовая зарплата обслуживающего персонала, грн.;
Трем – расходы на ремонт, покупку деталей, грн.;
Стоимость одного часа амортизации Ваморт определяетсяпо формуле, грн.:
при 40 часовой рабочей неделе:

/>, (3.17)
где Втз — стоимость технических средств, грн.
На — норма годовой амортизации (%).
Кт — количество недель на год (52 недели/год).
Гт — количество рабочих часов в неделю (40 час/неделя)
Почасовая оплата обслуживающего персонала Зперс рассчитывается по формуле, грн.:
/>, (3.18)
где Окл — месячный оклад обслуживающего персонала,грн.
Крг — количество рабочих часов в месяц (160 часов/месяц);
Нрем-расходы на оплату труда ремонта ЭВМ (6 % Окл).
Расходы на ремонт, покупку деталей для ЭВМ Трем определяютсяпо формуле, грн.:
/>, (3.19)
где Втз — стоимость технических средств, грн.
Нрем — процент расходов на ремонт, покупку деталей (%);
Кт — количество недель на год (52 недели/год).
Гт — количество рабочих часов в неделю (36 ¸ 168 час./неделя)
Расходы на использование электроэнергии ЭВМ и техническимисредствами Те/е определяются по формуле, грн.:
/>, (3.20)
где Ве/е – стоимость одного кВт/часэлектроэнергии, грн.;
Wпот – мощность компьютера, принтера и сканера (за 1 час), (кВт/час.).
Таким образом, стоимость одного часа работы ЭВМ приразработке КД будет составлять (см. формулу 3.16), грн.:
/>.
Расходы на использование ЭВМ при разработке, грн. (см.формулу 3.15):
/>
г) Расчет технологической себестоимости создания КД
Расчет технологической себестоимости создания КД изделияпроводится методом калькуляции расходов (таблица 3.7).
Таблица 3.7 — Калькуляция технологических расходов на создание КД изделия

п/п Наименование статей
Условны
обозначения Расходы (грн.) 1 2 3 4 1. Материальные расходы
Мв 38,48 2. Основная зарплата
Зо 132,00 3. Дополнительная зарплата
Зд 19,80 4. Отчисление на социальные мероприятия
37,2%(Зо+Зд) 56,47 5. Общепроизводственные (накладные) расходы предприятия
Ннакл 33,00 6. Расходы на использование ЭВМ при составлении программного обеспечения КД
ВЕОМ 18,60 7. Себестоимость КД изделия
Скд= å (1¸6) 298,35
В таблице 3.7 величина материальных расходов Мв рассчитана в таблице 3.6,основная зарплата С берется из таблицы 3.5, дополнительная зарплата 15 % отосновной зарплаты, отчисление на социальные мероприятия –37,2% — от основной идополнительной зарплаты (вместе). Общезаводские (накладные) расходы 25% отосновной зарплаты. Себестоимость разработанной конструкторской документации Скдрассчитывается как сумма пунктов 1–6.3.3 Расчет расходов на стадии производстваизделия
Себестоимость изделия которое разрабатывается рассчитываетсяна основе норм материальных и трудовых расходов. Среди исходных данных, которыеиспользуются для расчета себестоимости изделия, выделяют нормы расходов сырья иосновных материалов на одно изделие.
Таблица 3.8 -Расчет расходов на сырье и основные материалы наодно изделиеМатериалы
Норма расходов
(единиц) Оптовая цена грн./ед. Фактические расходы (единиц)
Сумма
грн. 1 2 3 4 5
Стеклотекстолит СФ-2-35
(лист 1,0 ГОСТ 10316 — 78), кг 0,5 24,00 0,4 9,60 Припой ПОС — 61 (ГОСТ 21930 — 76), кг 0,05 18.00 0,05 0,90 Всего: 10,50 Транспортно-заготовительные расходы (4%) 0,42 Итого: 10,92
В ходе расчета себестоимости изделия, как исходные данные,используют спецификации материалов, покупных комплектующих изделии и полуфабрикатов,которые используются сборке одного изделия (Приложение Ж).
Расчет зарплаты основных производственных рабочих проводим наоснове норм трудоемкости по видам работ и почасовым ставкам рабочих (таблица3.9).
 

Таблица 3.9 — Расчет основной зарплатыНаименование операции Почасовая тарифная ставка, грн.
Норма времени
чел./час. Сдельная зарплата, грн. 1 2 3 4 Заготовительная 5,67 0,5 2,84 Фрезерная 6,08 0,8 4,86 Слесарная 6,08 1,0 6,08 Гравировка 5,67 0,5 2,84 Фотохимпечать 5,67 1,2 6,80 Гальваническая 6,08 2,0 12,16 Маркировочная 5,67 0,1 0,57 Сборка 5,67 1,2 6,80 Монтаж 5,67 0,5 2,84 Настройка 6,08 0,7 4,26 Другие - - - Всего: 50,05
Калькуляция себестоимости и определения цены выполняется втаблице 3.10.
Таблица 3.10— Калькуляция себестоимости и определенияцены изделияНаименование статей расходов Расходы грн. Прямые расходы Сырье и материалы 10,92 Покупные комплектующие изделия 69,54 Основная зарплата рабочих 50,05 Дополнительная зарплата (15%) 7,50 Отчисление на социальные мероприятия (37,2%) 21,41 Накладные расходы (25% по данным предприятия) 12,51 Производственная себестоимость 298,35 Общая стоимость базового блока 470,28
Общая стоимость изделия будет составлять:
Собщ. = С прог. + С баз. Бл.(3.21)

где С прог. – себестоимость составления программыдля микроконтроллера;
С баз. Бл – себестоимостьподготовки КД и сборки устройства.
При единичном изготовлении
Собщ. = 2899,00+ 470,28 = 3369,28 (грн.).
Если жепоступит заказ на изготовление 1000 астрономических часов, себестоимостьустройства будет:
Собщ.1000 = 2899,00/1000 + 298,35/1000 + 171,93 =175,21 (грн.)
Вывод: чем больше производитсяустройств, тем меньше их стоимость (не учитывалась стоимость оптовой закупкикомплектующих).
Данное устройство может быть предложено для повторениярадиолюбителями, потому что оно не найдет массового применения, ввиду того, чтопромышленностью массово выпускаются электронные часы, которые намного дешевлеастрономических часов и выполняют множество полезных «земных» функций.

РАЗДЕЛ 4 ОХРАНА ТРУДА
Научно-технический прогресс внес серьезные изменения вусловия производственной деятельности работников умственного труда. Их трудстал более интенсивным, напряженным, требующим значительных затрат умственной, эмоциональнойи физической энергии. Это потребовало комплексного решения проблем эргономики,гигиены и организации труда, регламентации режимов труда и отдыха.
В настоящее время компьютерная техника широко применяется вовсех областях деятельности человека. При работе с компьютером человек подвергаетсявоздействию ряда опасных и вредных производственных факторов: электромагнитныхполей (диапазон радиочастот: ВЧ, УВЧ и СВЧ), инфракрасного и ионизирующегоизлучений, шума и вибрации, статического электричества и др..
Работа с компьютером характеризуется значительным умственнымнапряжением и нервно-эмоциональной нагрузкой операторов, высокой напряженностьюзрительной работы и достаточно большой нагрузкой на мышцы рук при работе склавиатурой ЭВМ. Большое значение имеет рациональная конструкция и расположениеэлементов рабочего места, что важно для поддержания оптимальной рабочей позычеловека-оператора.
В процессе работы с компьютером необходимо соблюдатьправильный режим труда и отдыха. В противном случае у персонала отмечаются значительноенапряжение зрительного аппарата с появлением жалоб на неудовлетворенностьработой, головные боли, раздражительность, нарушение сна, усталость иболезненные ощущения в глазах, в пояснице, в области шеи и руках.

4.1 Требования к производственнымпомещениям
4.1.1 Окраска и коэффициентыотражения
Окраска помещений и мебели должна способствовать созданиюблагоприятных условий для зрительного восприятия, хорошего настроения.
Источники света, такие как светильники и окна, которые даютотражение от поверхности экрана, значительно ухудшают точность знаков и влекутза собой помехи физиологического характера, которые могут выразиться в значительномнапряжении, особенно при продолжительной работе. Отражение, включая отраженияот вторичных источников света, должно быть сведено к минимуму.
Для защиты от избыточной яркости окон могут быть примененышторы и экраны.
В зависимости от ориентации окон рекомендуется следующаяокраска стен и пола:
окна ориентированы на юг: — стены зеленовато-голубого илисветло-голубого цвета; пол — зеленый;
окна ориентированы на север: — стены светло-оранжевого илиоранжево-желтого цвета; пол — красновато-оранжевый;
окна ориентированы на восток: — стены желто-зеленого цвета;пол зеленый или красновато-оранжевый;
окна ориентированы на запад: — стены желто-зеленого илиголубовато-зеленого цвета; пол зеленый или красновато-оранжевый.
В помещениях, где находится компьютер, необходимо обеспечитьследующие величины коэффициента отражения: для потолка: 60-70%, для стен: 40-50%,для пола: около 30%. Для других поверхностей и рабочей мебели: 30-40%.

4.1.2 Освещение
Правильно спроектированное и выполненное производственноеосвещение улучшает условия зрительной работы, снижает утомляемость,способствует повышению производительности труда, благотворно влияет напроизводственную среду, оказывая положительное психологическое воздействие наработающего, повышает безопасность труда и снижает травматизм.
Недостаточность освещения приводит к напряжению зрения,ослабляет внимание, приводит к наступлению преждевременной утомленности.Чрезмерно яркое освещение вызывает ослепление, раздражение и резь в глазах.
Неправильное направление света на рабочем месте можетсоздавать резкие тени, блики, дезориентировать работающего. Все эти причины могутпривести к несчастному случаю или профзаболеваниям, поэтому столь важенправильный расчет освещенности.
Существует три вида освещения — естественное, искусственное исовмещенное (естественное и искусственное вместе).
Естественное освещение — освещение помещений дневным светом,проникающим через световые проемы в наружных ограждающих конструкциях помещений.
Естественное освещение характеризуется тем, что меняется вшироких пределах в зависимости от времени дня, времени года, характера областии ряда других факторов.
Искусственное освещение применяется при работе в темное времясуток и днем, когда не удается обеспечить нормированные значения коэффициента естественногоосвещения (пасмурная погода, короткий световой день).
Освещение, при котором недостаточное по нормам естественноеосвещение дополняется искусственным, называется совмещенным освещением.
Искусственное освещение подразделяется на рабочее, аварийное,эвакуационное, охранное. Рабочее освещение, в свою очередь, может быть общимили комбинированным. Общее — освещение, при котором светильники размещаются вверхней зоне помещения равномерно или применительно к расположениюоборудования. Комбинированное — освещение, при котором к общему добавляется местноеосвещение.
Согласно СНиП II-4-79 в помещений вычислительных центровнеобходимо применить систему комбинированного освещения.
При выполнении работ категории высокой зрительной точности(наименьший размер объекта различения 0,3…0,5мм) величина коэффициента естественногоосвещения (КЕО) должна быть не ниже 1,5%, а при зрительной работе среднейточности (наименьший размер объекта различения 0,5…1,0 мм) КЕО должен быть нениже 1,0%. В качестве источников искусственного освещения обычно используютсялюминесцентные лампы типа ЛБ или ДРЛ, которые попарно объединяются всветильники, которые должны располагаться над рабочими поверхностями равномерно.
Требования к освещенности в помещениях, где установленыкомпьютеры, следующие: при выполнении зрительных работ высокой точности общаяосвещенность должна составлять 300лк, а комбинированная — 750лк; аналогичныетребования при выполнении работ средней точности — 200 и 300лк соответственно.
Кроме того все поле зрения должно быть освещено достаточноравномерно – это основное гигиеническое требование. Иными словами, степеньосвещения помещения и яркость экрана компьютера должны быть примерно одинаковыми,т.к. яркий свет в районе периферийного зрения значительно увеличиваетнапряженность глаз и, как следствие, приводит к их быстрой утомляемости.

4.1.3 Параметры микроклимата
Параметры микроклимата могут меняться в широких пределах, вто время как необходимым условием жизнедеятельности человека является поддержаниепостоянства температуры тела благодаря терморегуляции, т.е. способности организмарегулировать отдачу тепла в окружающую среду. Принцип нормирования микроклимата– создание оптимальных условий для теплообмена тела человека с окружающейсредой.
Вычислительная техника является источником существенныхтепловыделений, что может привести к повышению температуры и снижению относительнойвлажности в помещении. В помещениях, где установлены компьютеры, должнысоблюдаться определенные параметры микроклимата. В санитарных нормах СН-245-71установлены величины параметров микроклимата, создающие комфортные условия. Этинормы устанавливаются в зависимости от времени года, характера трудовогопроцесса и характера производственного помещения (см. табл. 4.1)
Объем помещений, в которых размещены работники вычислительныхцентров, не должен быть меньше 19,5м3/человека с учетом максимальногочисла одновременно работающих в смену. Нормы подачи свежего воздуха впомещения, где расположены компьютеры, приведены в табл. 4.2.
Для обеспечения комфортных условий используются какорганизационные методы (рациональная организация проведения работ в зависимостиот времени года и суток, чередование труда и отдыха), так и техническиесредства (вентиляция, кондиционирование воздуха, отопительная система).
Таблица 4.1- Параметры микроклимата для помещений, гдеустановлены компьютерыПериод года Параметр микроклимата Величина Холодный Температура воздуха в помещении 22…24°С Относительная влажность 40…60% Скорость движения воздуха до 0,1м/с Теплый Температура воздуха в помещении 23…25°С Относительная влажность 40…60% Скорость движения воздуха 0,1…0,2м/с
Таблица 4.2 — Нормы подачи свежего воздуха в помещения, гдерасположены компьютерыХарактеристика помещения
Объемный расход подаваемого в помещение свежего воздуха, м3 /на одного человека в час
Объем до 20м3 на человека Не менее 30
20…40м3 на человека Не менее 20
Более 40м3 на человека Естественная вентиляция
4.1.4 Шум и вибрация
Шум ухудшает условия труда оказывая вредное действие наорганизм человека. Работающие в условиях длительного шумового воздействия испытываютраздражительность, головные боли, головокружение, снижение памяти, повышеннуюутомляемость, понижение аппетита, боли в ушах и т. д. Такие нарушения в работеряда органов и систем организма человека могут вызвать негативные изменения вэмоциональном состоянии человека вплоть до стрессовых. Под воздействием шумаснижается концентрация внимания, нарушаются физиологические функции, появляетсяусталость в связи с повышенными энергетическими затратами и нервно-психическимнапряжением, ухудшается речевая коммутация. Все это снижает работоспособностьчеловека и его производительность, качество и безопасность труда. Длительноевоздействие интенсивного шума [выше 80 дБ(А)] на слух человека приводит к егочастичной или полной потере.
В табл. 4.3 указаны предельные уровни звука в зависимости откатегории тяжести и напряженности труда, являющиеся безопасными в отношениисохранения здоровья и работоспособности.

Таблица 4.3 — Предельные уровни звука, дБ, на рабочих местахКатегория напряженности труда Категория тяжести труда Легкая Средняя Тяжелая Очень тяжелая I. Мало напряженный 80 80 75 75 II. Умеренно напряженный 70 70 65 65 III. Напряженный 60 60 - - IV. Очень напряженный 50 50 - -
Уровень шума на рабочем месте математиков-программистов иоператоров видеоматериалов не должен превышать 50дБА, а в залах обработки информациина вычислительных машинах — 65дБА. Для снижения уровня шума стены и потолокпомещений, где установлены компьютеры, могут быть облицованы звукопоглощающимиматериалами. Уровень вибрации в помещениях вычислительных центров может бытьснижен путем установки оборудования на специальные виброизоляторы.
4.1.5 Электромагнитное и ионизирующееизлучения
Большинство ученых считают, что как кратковременное, так идлительное воздействие всех видов излучения от экрана монитора не опасно для здоровьяперсонала, обслуживающего компьютеры. Однако исчерпывающих данных относительноопасности воздействия излучения от мониторов на работающих с компьютерами несуществует и исследования в этом направлении продолжаются.
Допустимые значения параметров неионизирующихэлектромагнитных излучений от монитора компьютера представлены в табл. 4.4.
Максимальный уровень рентгеновского излучения на рабочемместе оператора компьютера обычно не превышает 10мкбэр/ч, а интенсивность ультрафиолетовогои инфракрасного излучений от экрана монитора лежит в пределах 10-100мВт/м2.

Таблица 4.4 — Допустимые значения параметров неионизирующих электромагнитныхизлучений (в соответствии с СанПиН 2.2.2.542-96)Наименование параметра Допустимые значения Напряженность электрической составляющей электромагнитного поля на расстоянии 50см от поверхности видеомонитора 10В/м
Напряженность магнитной составляющей электромагнитного
поля на расстоянии 50см от поверхности видеомонитора 0,3А/м
Напряженность электростатического поля не должна превышать:
для взрослых пользователей
для детей дошкольных учреждений и учащихся средних специальных и высших учебных заведений
20кВ/м
15кВ/м
Для снижения воздействия этих видов излучения рекомендуетсяприменять мониторы с пониженным уровнем излучения (MPR-II, TCO-92, TCO-99),устанавливать защитные экраны, а также соблюдать регламентированные режимытруда и отдыха.
4.2 Эргономические требования крабочему месту
Проектирование рабочих мест, снабженных видеотерминалами, относитсяк числу важных проблем эргономического проектирования в области вычислительнойтехники.
Рабочее место и взаимное расположение всех его элементовдолжно соответствовать антропометрическим, физическим и психологическимтребованиям. Большое значение имеет также характер работы. В частности, приорганизации рабочего места программиста должны быть соблюдены следующиеосновные условия: оптимальное размещение оборудования, входящего в составрабочего места и достаточное рабочее пространство, позволяющее осуществлять всенеобходимые движения и перемещения.
Эргономическими аспектами проектирования видеотерминальныхрабочих мест, в частности, являются: высота рабочей поверхности, размерыпространства для ног, требования к расположению документов на рабочем месте(наличие и размеры подставки для документов, возможность различного размещениядокументов, расстояние от глаз пользователя до экрана, документа, клавиатуры ит.д.), характеристики рабочего кресла, требования к поверхности рабочего стола,регулируемость элементов рабочего места.
Главными элементами рабочего места программиста являются столи кресло.
Основным рабочим положением является положение сидя.
Рабочая поза сидя вызывает минимальное утомлениепрограммиста.
Рациональная планировка рабочего места предусматривает четкийпорядок и постоянство размещения предметов, средств труда и документации. То,что требуется для выполнения работ чаще, расположено в зоне легкой досягаемостирабочего пространства.
Моторное поле — пространство рабочего места, в котором могутосуществляться двигательные действия человека.
Максимальная зона досягаемости рук — это часть моторного полярабочего места, ограниченного дугами, описываемыми максимально вытянутыми рукамипри движении их в плечевом суставе.
Оптимальная зона — часть моторного поля рабочего места,ограниченного дугами, описываемыми предплечьями при движении в локтевыхсуставах с опорой в точке локтя и с относительно неподвижным плечом.
На рис. 4.1 показан пример размещения основных и периферийныхсоставляющих ПК на рабочем столе программиста.
Для комфортной работы стол должен удовлетворять следующим условиям:
— высота стола должна быть выбрана с учетом возможностисидеть свободно, в удобной позе, при необходимости опираясь на подлокотники;
— нижняя часть стола должна быть сконструирована так, чтобыпрограммист мог удобно сидеть, не был вынужден поджимать ноги;
— поверхность стола должна обладать свойствами, исключающимипоявление бликов в поле зрения программиста;
— конструкция стола должна предусматривать наличие выдвижныхящиков (не менее 3 для хранения документации, листингов, канцелярских принадлежностей);
— высота рабочей поверхности рекомендуется в пределах680-760мм;
— высота поверхности, на которую устанавливается клавиатура,должна быть около 650мм.
Большое значение придается характеристикам рабочего кресла.Так, рекомендуемая высота сиденья над уровнем пола находится в пределах 420-
550мм. Поверхность сиденья мягкая, передний крайзакругленный, а угол наклона спинки — регулируемый.
/>

Рисунок 4.1- Размещения основных и периферийных составляющихПК на рабочем столе программиста: 1 – сканер, 2 – монитор, 3 – принтер, 4 –поверхность рабочего стола, 5 – клавиатура, 6 – манипулятор типа «мышь».
Необходимо предусматривать при проектировании возможностьразличного размещения документов: сбоку от видеотерминала, между монитором и клавиатуройи т.п. Кроме того, в случаях, когда видеотерминал имеет низкое качествоизображения, например заметны мелькания, расстояние от глаз до экрана делаютбольше (около 700мм), чем расстояние от глаза до документа (300-450мм). Вообщепри высоком качестве изображения на видеотерминале расстояние от глазпользователя до экрана, документа и клавиатуры может быть равным.
Положение экрана определяется:
— расстоянием считывания (0,6 — 0,7м);
— углом считывания, направлением взгляда на 20˚ нижегоризонтали к центру экрана, причем экран перпендикулярен этому направлению.
Должна также предусматриваться возможность регулированияэкрана:
— по высоте +3 см;
— по наклону от -10˚ до +20˚ относительновертикали;
— в левом и правом направлениях.
Большое значение также придается правильной рабочей позепользователя.
При неудобной рабочей позе могут появиться боли в мышцах,суставах и сухожилиях. Требования к рабочей позе пользователя видеотерминала следующие:
— голова не должна быть наклонена более чем на 20˚,
— плечи должны быть расслаблены,
— локти — под углом 80˚-100˚,
— предплечья и кисти рук — в горизонтальном положении.
Причина неправильной позы пользователей обусловленаследующими факторами: нет хорошей подставки для документов, клавиатуранаходится слишком высоко, а документы — низко, некуда положить руки и кисти,недостаточно пространство для ног.
В целях преодоления указанных недостатков даются общиерекомендации: лучше передвижная клавиатура; должны быть предусмотреныспециальные приспособления для регулирования высоты стола, клавиатуры и экрана,а также подставка для рук.
Существенное значение для производительной и качественнойработы на компьютере имеют размеры знаков, плотность их размещения, контраст исоотношение яркостей символов и фона экрана. Если расстояние от глаз операторадо экрана дисплея составляет 60-80 см, то высота знака должна быть не менее3мм, оптимальное соотношение ширины и высоты знака составляет
3:4, а расстояние между знаками – 15-20% их высоты.Соотношение яркости фона экрана и символов — от 1:2 до 1:15.
Во время пользования компьютером медики советуютустанавливать монитор на расстоянии 50-60 см от глаз. Специалисты такжесчитают, что верхняя часть видеодисплея должна быть на уровне глаз или чутьниже. Когда человек смотрит прямо перед собой, его глаза открываются шире, чемкогда он смотрит вниз. За счет этого площадь обзора значительно увеличивается,вызывая обезвоживание глаз. К тому же если экран установлен высоко, а глазашироко открыты, нарушается функция моргания. Это значит, что глаза не закрываютсяполностью, не омываются слезной жидкостью, не получают достаточного увлажнения,что приводит к их быстрой утомляемости.
Создание благоприятных условий труда и правильноеэстетическое оформление рабочих мест на производстве имеет большое значение,как для облегчения труда, так и для повышения его привлекательности, положительновлияющей на производительность труда.
4.3 Режим труда
Как уже было неоднократно отмечено, при работе с персональнымкомпьютером очень важную роль играет соблюдение правильного режима труда иотдыха. В противном случае у персонала отмечаются значительное напряжениезрительного аппарата с появлением жалоб на неудовлетворенность работой,головные боли, раздражительность, нарушение сна, усталость и болезненныеощущения в глазах, в пояснице, в области шеи и руках.
В табл. 4.5 представлены сведения о регламентированныхперерывах, которые необходимо делать при работе на компьютере, в зависимости отпродолжительности рабочей смены, видов и категорий трудовой деятельности с ВДТ(видеодисплейный терминал) и ПЭВМ (в соответствии с САнНиП 2.2.2 542-96«Гигиенические требования к видеодисплейным терминалам, персональнымэлектронно-вычислительным машинам и организации работ»).
Таблица 4.5 — Время регламентированных перерывов при работе накомпьютереКатегория работы с ВДТ или ПЭВМ Уровень нагрузки за рабочую смену при видах работы с ВДТ, количество знаков Суммарное время регламентированных перерывов, мин При 8-часовой смене При 12-часовой смене Группа А до 20000 30 70 Группа Б до 40000 50 90 Группа В до 60000 70 120
Примечание. Время перерывов дано при соблюдении указанныхСанитарных правил и норм. При несоответствии фактических условий труда требованиямСанитарных правил и норм время регламентированных перерывов следует увеличитьна 30%.
В соответствии со САнНиП 2.2.2 546-96 все виды трудовойдеятельности, связанные с использованием компьютера, разделяются на три группы:группа А: работа по считыванию информации с экрана ВДТ или ПЭВМ с предварительнымзапросом; группа Б: работа по вводу информации; группа В: творческая работа врежиме диалога с ЭВМ.
Эффективность перерывов повышается при сочетании спроизводственной гимнастикой или организации специального помещения для отдыхаперсонала с удобной мягкой мебелью, аквариумом, зеленой зоной и т.п.

4.4 Расчет освещенности
Расчет освещенности рабочего места сводится к выбору системыосвещения, определению необходимого числа светильников, их типа и размещения. Исходяиз этого, рассчитаем параметры искусственного освещения.
Обычно искусственное освещение выполняется посредствомэлектрических источников света двух видов: ламп накаливания и люминесцентныхламп. Будем использовать люминесцентные лампы, которые по сравнению с лампаминакаливания имеют ряд существенных преимуществ:
— по спектральному составу света они близки к дневному,естественному свету;
— обладают более высоким КПД (в 1,5-2 раза выше, чем КПД лампнакаливания);
— обладают повышенной светоотдачей (в 3-4 раза выше, чем уламп накаливания);
— более длительный срок службы.
Расчет освещения производится для комнаты площадью 15м2, ширина которой — 5м, высота — 3 м. Воспользуемся методом светового потока.
Для определения количества светильников определим световойпоток, падающий на поверхность по формуле:
F = E∙S∙Z∙К / n, (4.1)
Где F — рассчитываемый световой поток, Лм;
Е — нормированная минимальная освещенность, Лк (определяетсяпо таблице). Работу программиста, в соответствии с этой таблицей, можно отнестик разряду точных работ, следовательно, минимальная освещенность будет Е =300Лк;
S — площадь освещаемого помещения (в нашем случае S = 15м2);
Z — отношение средней освещенности к минимальной (обычнопринимается равным 1,1-1,15, пусть Z = 1,1);
К — коэффициент запаса, учитывающий уменьшение световогопотока лампы в результате загрязнения светильников в процессе эксплуатации (егозначение зависит от типа помещения и характера проводимых в нем работ и в нашемслучае К = 1,5);
n — коэффициент использования, (выражается отношениемсветового потока, падающего на расчетную поверхность, к суммарному потоку всехламп и исчисляется в долях единицы; зависит от характеристик светильника, размеровпомещения, окраски стен и потолка, характеризуемых коэффициентами отражения отстен (РС) и потолка (РП)), значение коэффициентов РС и РП были указаны выше:РС=40%, РП=60%. Значение n определим по таблице коэффициентов использованияразличных светильников.
Для этого вычислим индекс помещения по формуле:
I = A∙B / h (A+B), (4.2)
где h — расчетная высота подвеса, h = 2,92 м;
A — ширина помещения, А = 3 м;
В — длина помещения, В = 5 м.
Подставив значения получим:
I= 0,642.
Зная индекс помещения I, по таблице 7 [23] находим n = 0,22.
Подставим все значения в формулу (4.1) для определениясветового потока F, получаем F = 33750 Лм.
Для освещения выбираем люминесцентные лампы типа ЛБ40-1,световой поток которых Fл = 4320 Лк.
Рассчитаем необходимое количество ламп по формуле:

N = F / Fл, (4.3)
где N — определяемое число ламп;
F — световой поток, F = 33750 Лм;
Fл — световой поток лампы, Fл = 4320 Лм.
N = 8 ламп.
При выборе осветительных приборов используем светильники типаОД. Каждый светильник комплектуется двумя лампами.
Значит требуется для помещения площадью S = 15 м2четыре светильника типа ОД.
Расчет естественного освещенияпомещений
Организация правильного освещениярабочих мест, зон обработки и производственных помещений имеет большоесанитарно-гигиеническое значение, способствует повышению продуктивности работы,снижения травматизма, улучшения качества продукции. И наоборот, недостаточноеосвещение усложняет исполнения технологического процесса и может быть причинойнесчастного случая и заболевания органов зрения.
Освещение должно удовлетворять такиеосновные требования:
— быть равномерным и довольносильным;
— не создавать различных теней наместах работы, контрастов между освещенным рабочем местом и окружающейобстановкой;
— не создавать ненужной яркости иблеска в поле взора работников;
— давать правильное направлениесветового потока;
Все производственные помещениянеобходимо иметь светлопрорезы, которые дают достаточное природное освещение.Без природного освещения могут быть конференц-залы заседаний, выставочные залы,раздевалки, санитарно-бытовые помещения, помещения ожидания медицинскихучреждений, помещений личной гигиены, коридоры и проходы.
Коэфициент естественного освещения всоответствии с ДНБ В 25.28.2006, для нашого III пояса светового климатасоставляет 1,5.
Исходя из этого произведем расчетнеобходимой площади оконных проемов.
Расчет площади окон при боковом освещении определяется, поформуле:
Sо = (Ln*Кз.*N0*Sn*Кзд.)/(100*T0*r1) (4.4)
где:Ln – нормированноезначение КЕО
Кз – коэффициент запаса(равен 1,2)
N0– световая характеристикаокон
Sn – площадь достаточногоестественного освещения
Кзд. – коэффициент,учитывающий затенение окон противостоящими зданиями
r1 – коэффициент, учитывающийповышение КЕО при боковом освещении
T0– общий коэффициентсветопропускания, который рассчитывается по формуле:
T0= T1 * T2 * T3* T4 * T5, (4.5)
где T1 – коэффициент светопропускания материала;
T2 – коэффициент, учитывающий потери света впереплетах светопроема;
T3 – коэффициент, учитывающий потери света внесущих конструкциях;
T4 – коэффициент, учитывающий потери света всолнцезащитный устройствах;
T5 – коэффициент, учитывающий потери света взащитной сетке, устанавливаемой под фонарями, принимается равным 1;
Теперь следует рассчитать боковое освещение для зоны,примыкающей к наружной стене. По разряду зрительной работы нужно определитьзначение КЕО. КЕО = 1,5 нормированное значение КЕО с учетом светового климата необходимовычислить по формуле:
Ln=l*m*c, (4.6)
где l – значение КЕО (l=1.5);
m – коэффициент светового климата (m=1);
c – коэффициент солнечности климата (c=1)
Ln=1,5
Теперь следует определить отношение длины помещения Lnк глубине помещения B:
Ln/B=3/5 =0,6;
Отношение глубины помещения В к высоте от уровня условной рабочейповерхности до верха окна h1 (в данном случае h1=1,8) :
B/h1=5/1,8 = 2,77.
Световая характеристика световых проемов N0=9.
Кзд=1
Значение T0=0,8*0,7*1*1*1=0,56.
Ln для 4 разряда зрительных работ равен 1,5 примытье окон два раза в год.
Определяем r1, r1=1,5.
Кз.=1,2.
Теперь следует определить значение Sп:
Sп=Ln*В=3*10=30 м2.
Кзд.=1.
На данном этапе следует рассчитать необходимую площадьоконных проемов:

(Ln* Кз.*N0*Sn*Кзд.)/ (100*T0*r1)
Sо = (1,5*1,2*9*30*1)/(100*0,56*1,5)=486/84= 5,78м2;
Принимаем количество окон 1 штука:
S1=5,78 м2 площадь одного окна
Высота одного окна составляет – 2,5 м, ширина 2,3 м.
4.5 Расчетвентиляции
В зависимости от способа перемещениявоздуха вентиляция бывает естественная и принудительная.
Параметры воздуха, поступающего вприемные отверстия и проемы местных отсосов технологических и других устройств,которые расположены в рабочей зоне, следует принимать в соответствии с ГОСТ12.1.005-76. При размерах помещения 3 на 5 метров и высоте 3 метра, его объем45 куб.м. Следовательно, вентиляция должна обеспечивать расход воздуха в 90куб.м/час. В летнее время следует предусмотреть установку кондиционера с цельюизбежания превышения температуры в помещении для устойчивой работыоборудования. Необходимо уделить должное внимание количеству пыли в воздухе,так как это непосредственно влияет на надежность и ресурс эксплуатации ЭВМ.
Мощность (точнее мощность охлаждения)кондиционера является главной его характеристикой, от неё зависит на какойобъем помещения он рассчитан. Для ориентировочных расчетов берется 1 кВт на 10 м2 при высоте потолков 2,8 – 3 м (в соответствии со СНиП2.04.05-86 «Отопление, вентиляция и кондиционирование»).
Для расчета теплопритоков данногопомещения использована упрощенная методика:

Q=S·h·q (4.8)
где:Q – Теплопритоки
S – Площадь помещения
h – Высота помещения
q – Коэффициент равный 30-40 вт/м3(в данном случае 35 вт/м3)
Для помещения 15 м2 ивысотой 3 м теплопритоки будут составлять:
Q=15·3·35=1575 вт
Кроме этого следует учитыватьтепловыделение от оргтехники и людей, считается (в соответствии со СНиП 2.04.05-86 «Отопление,вентиляция и кондиционирование») что в спокойном состоянии человеквыделяет 0,1 кВт тепла, компьютер или копировальный аппарат 0,3 кВт, прибавивэти значения к общим теплопритокам можно получить необходимую мощность охлаждения.
Qдоп=(H·Sопер)+(С·Sкомп)+(P·Sпринт)(4.9)
где:Qдоп – Суммадополнительных теплопритоков
C – Тепловыделение компьютера
H – Тепловыделение оператора
D – Тепловыделение принтера
Sкомп – Количество рабочихстанций
Sпринт – Количествопринтеров
Sопер – Количествооператоров
Дополнительные теплопритоки помещениясоставят:
Qдоп1=(0,1·2)+(0,3·2)+(0,3·1)=1,1(кВт)
Итого сумма теплопритоков равна:
Qобщ1=1575+1100=2675 (Вт)
В соответствии с данными расчетами необходимо выбратьцелесообразную мощность и количество кондиционеров.
Для помещения, для которого ведется расчет, следуетиспользовать кондиционеры с номинальной мощностью 3,0 кВт.
4.6 Расчет уровня шума
Одним из неблагоприятных факторов производственной среды вИВЦ является высокий уровень шума, создаваемый печатными устройствами, оборудованиемдля кондиционирования воздуха, вентиляторами систем охлаждения в самих ЭВМ.
Для решения вопросов о необходимости и целесообразностиснижения шума необходимо знать уровни шума на рабочем месте оператора.
Уровень шума, возникающий от нескольких некогерентныхисточников, работающих одновременно, подсчитывается на основании принципаэнергетического суммирования излучений отдельных источников:
∑L = 10·lg (Li∙n), (4.10)
где Li – уровень звукового давления i-го источника шума;
n – количество источников шума.
Полученные результаты расчета сравнивается с допустимымзначением уровня шума для данного рабочего места. Если результаты расчета вышедопустимого значения уровня шума, то необходимы специальные меры по снижениюшума. К ним относятся: облицовка стен и потолка зала звукопоглощающимиматериалами, снижение шума в источнике, правильная планировка оборудования ирациональная организация рабочего места оператора.
Уровни звукового давления источников шума, действующих на операторана его рабочем месте представлены в табл. 4.6.

Таблица 4.6 — Уровни звукового давления различных источниковИсточник шума Уровень шума, дБ Жесткий диск 40 Вентилятор 45 Монитор 17 Клавиатура 10 Принтер 45 Сканер 42
Обычно рабочее место оператора оснащено следующимоборудованием: винчестер в системном блоке, вентилятор(ы) систем охлаждения ПК,монитор, клавиатура, принтер и сканер.
Подставив значения уровня звукового давления для каждого видаоборудования в формулу (4.4), получим:
∑L=10·lg(104+104,5+101,7+101+104,5+104,2)=49,5 дБ
Полученное значение не превышает допустимый уровень шума длярабочего места оператора, равный 65 дБ (ГОСТ 12.1.003-83). И если учесть, чтовряд ли такие периферийные устройства как сканер и принтер будут использоватьсяодновременно, то эта цифра будет еще ниже. Кроме того при работе принтеранепосредственное присутствие оператора необязательно, т.к. принтер снабжен механизмомавтоподачи листов.

ВЫВОДЫ
В данном дипломном проекте рассмотрены вопросы проектированиямногофункциональных астрономических часов, которые еще не выпускаются промышленностью.
В проекте рассмотрены теоретические вопросы созданияустройств на микроконтроллера: этапы выполнения работ, разработка программногообеспечения, внедрения в производство.
В проекте осуществлена практическая разработкамногофункциональных астрономических часов, которые показываю различное время(марсианское, юлианское, лунное и др.), произведен выбор микроконтроллера дляосуществления всех поставленных задач, разработаны структурная и функциональныесхемы, разработана принципиальная схема, которая отличается своеобразнойновизной.
В экономической части проекта произведен расчет себестоимостимногофункциональных астрономических часов. Часы широкого применения не найдут,но могут будут использованы, как сувенирные часы. Правда в этих часах можноиспользовать функцию «Земные часы», использовать функции «Таймер», которыйвыполняет и обратный отсчет времени. Стоимость часов при массовом производствеуменьшиться, т.к. стоимость на разработку устройства и программного обеспеченияраспределится на количество изготовленных устройств.
В разделе охрана труда мы произвели расчет естественного иискусственного освещения, системы кондиционирования, уровня шума на рабочемместе инженера-программиста и сопоставили с нормативными значениями. В процессеразработки устройства были рассмотрены и изучены множество источниковинформации, информация сети Интернет, осуществлен поиск устройств-аналогов,использованы цены на комплектующие Интернет-магазинов.

ПЕРЕЧЕНЬ ССЫЛОК
1.«Dimmable Fluorescent Ballast» – User Guide, 10/07, AtmelCorporation, www.atmel.com/dyn/resources/prod_documents/doc7597.pdf
2. ГОСТ13109-97.Нормы качества электрической энергии в системах электроснабжения общего назначения.
3. G. Howell«Five questions about resistors» // EDN, 9/28/2006,www.edn.com/contents/images/6372835.pdf
4. П.Хоровиц, У. Хилл «Искусство схемотехники» – Изд. 6-е, М.: Мир, 2003.
5. C.Hillman «Common mistakes in electronic design» // EDN, 12/14/2007http://www.edn.com/contents/images/6512156.pdf
6.«Frequentlyasked questions about dimmers» // www
.lutron.com/product_technical/faq.asp
7. Л. Н.Кечиев, Е. Д. Пожидаев «Защита электронных средств от воздействия статическогоэлектричества» – М.: ИД «Технологии», 2005.
8. ЖидецкийВ.Ц., Джигирей В.С., Мельников А.В. Основы охраны труда: Учебник – Львов,Афиша, 2008 – 351с.
9. ДенисенкоГ.Ф. Охрана труда: Учебн.пособие – М., Высшая школа, 1989 – 319с.
10. СамгинЭ.Б. Освещение рабочих мест. – М.: МИРЭА, 1989. – 186с.
11.Справочная книга для проектирования электрического освещения. / Под ред. Г.Б.Кнорринга. – Л.: Энергия, 1976.
12. Борьба сшумом на производстве: Справочник / Е.Я. Юдин, Л.А. Борисов;
Под общ.ред. Е.Я. Юдина – М.: Машиностроение, 1985. – 400с., ил.
13. ЗинченкоВ.П. Основы эргономики. – М.: МГУ, 1979. – 179с.
14.Методичні вказівки до виконання дипломної роботи для учнівспеціальності «Оператор комп’ютерного набору; оператор комп’ютерної верстки»/Упоряд.: Д.О. Дяченко, К.О. Ізмалкова, О.Г. Меркулова. – Сєверодонецьк: СВПУ,2007. – 40 с.
15.Н. Заец. Многофункциональные часы. — Схемотехника, 2006, № 2, с. 41,42.
16.Н. Заец. Термометр — часы с датчиками фирмы Dallas Semiconductor. — Схемотехника,2005, № 5, с. 52 — 55.
17.Н. Заец. Радиолюбительские конструкции на Р1С-микроконтроллерах. Книга 3.— М.: СОЛОН-Пресс, 2005, с. 248.
18.Н. Заец. Отечественные жидкокристаллические индикаторы TIC9162 сдрайверами по технологии COG. — Схемотехника, 2005, №9, с. 9-11.
19. Н. Заец. Таймеры десятичного счета. — Электрик, 2006, №7-8, с. 36 -39.
20.Мощные полевые переключательные транзисторы фирмы International Rectifier.— Радио, 2001, № 5, с. 45.
21.А. Долгий. Разработка и отладка устройств на микроконтроллерах. — Радио,2001 ,№ 5-12, 2002, № 1.
22.А. Долгий. Программаторы и программирование микроконтроллеров. — Радио,2004, № 1-12.
23.Н. Заец. Универсальный таймер. — Схемотехника, 2003, № 1, с. 53.
24.Н. Заец. Электронные самоделки для быта, отдыха и здоровья.— М.: СОЛОН-Пресс,2009, 423 с.

ПРИЛОЖЕНИЯ
Приложение А
Таблица А.1 – Основные параметры микроконтроллера PIC16F877AОсновные параметры Ядро PIC16 F, МГц от 0 до 20 Память: Flash, кБ 8 Память: RAM, кБ 0.365 Память: EEPROM, кБ 0.25 I/O (макс.), шт. 33 Таймеры: 8-бит, шт 2 Таймеры: 16-бит, шт 1 Таймеры: Каналов ШИМ, шт 2 Таймеры: RTC Нет Интерфейсы: UART, шт 1 Интерфейсы: SPI, шт 1 Интерфейсы: I2C, шт 1 Аналоговые входы: Разрядов АЦП, бит 10 Аналоговые входы: Каналов АЦП, шт 8 Аналоговые входы: Аналоговый компаратор, шт 2 VCC, В от 2 до 5.5 ICC, мА 25 TA,°C от -40 до 125 Корпус PLCC-44 DIP-40 QFN-44 TQFP-44

Приложение Б
Программа для микроконтроллера многофункциональных астрономическихчасов
; ВЕРСИЯ 1.3
; V.1.1
; — Исправил сигнальную проблемуустановки
; V.1.2
; — Исправленный дефект с смятениеминогда снова установка или остановка неправильного таймера
; — Приспособление за 1/4 второгоутратят, когда таймер был reset смятением
; V.1.3
; — Некоторые таймеры блокировали,когда установка смятения были скорректированы
#include
__config _HS_OSC & _WDT_OFF &_LVP_OFF & _BODEN_ON & _PWRTE_ON ;& _CP_OFF
#include «LCD.h»
#include «KBD.h»
; Определения байта состояния
#define TMR_ON 7; 0 = от, 1 = на
#define TMR_DIR 6; 0 = inc, 1 = dec
#define TMR_ON_ALARM_RESET 4; 1 = насмятении, снова установленном таймере
#define TMR_ON_ALARM_STOP 3; 1 = насмятении, таймере остановки
; куски 0-1: сигнальный звук
; Корректировки Нормы
#define TMR_STD_LO 0xC5
#define TMR_STD_HI 0x66
#define TMR_XTR_LO 0x18
#define TMR_XTR_HI 0x80
#define PULSES_PER_TICK 0x20
#define F_TICK 0; флаг тикания
#define F_BTNDOWN 1; 1, если кнопкабыла вниз от предыдущей петли, 0 иначе
#define F_TMR_LABEL_DIRTY 2; набор,если этикетке таймера придется обновляться на показе
#define F_VAL_DISPLAY_DIRTY 3;набор, если этикетке значения придется обновляться на показе
#define F_CLOCK_STOPPED 4; набор,если главный отмечает время остановлен
#define F_CURSOR_DIRTY 5; набор,если местоположению курсора нужно обновляться или reset
#define F_VALUE_ENTERED 6; набор,если новое значение только введено
#define MSG_ID_Clear 0xFF
ТОЧНОСТЬ #define 7
#define KBD_SCAN_DELAY 3
#define D_SEL_TIMER 0x01; Местоназначения — отобранный таймер
#define D_SEL_TIMER_LENGTH 0x02;Место назначения — отобранная длина таймера
#define D_SEL_TIMER_ALARM 0x03;Место назначения — отобранное сигнальное время таймера
#define D_SEL_TIMER_COPY 0x04; Местоназначения — отобранный таймер; потребительная стоимость как таймер ID кзначению таймера lookup
#define B_LED 0; RA0
#define B_SPK 1; RA1
#define SND_SILENT 0x00; не нетзвука
#define SND_PIP 0x01; звук:«косточка»
#define SND_PEEP 0x02; звук:«чирикание»
#define SND_WHIP 0x03; звук:«кнут»
; макрокоманда math
Макрокоманда M_StorStatus, ГДЕ
movf STATUS,w
movwf, ГДЕ
endm
Макрокоманда M_RetrStatus, ГДЕ
movf WHERE,w
СТАТУС movwf
endm
; макрокоманда государственногоаппарата
Макрокоманда IfJump BTN,ADDR
movlw BTN
subwf BTN_ID,w
btfsc STATUS,Z
goto ADDR
ENDM
; макрокоманда государственногоаппарата
Макрокоманда AnyBtnJump ADDR
btfss BTN_ID,7
goto ADDR
ENDM
Макрокоманда IfState BTN,STATE
movlw BTN
subwf BTN_ID,w
btfss STATUS,Z
goto $+5
высокий ШТАТ movlw
movwf STATE_HI
низкий ШТАТ movlw
movwf STATE_LO
ENDM; goto здесь
ШТАТ макрокоманды AnyBtnState
btfsc BTN_ID,7
goto $+5
высокий ШТАТ movlw
movwf STATE_HI
низкий ШТАТ movlw
movwf STATE_LO
ENDM; goto здесь
ШТАТ макрокоманды GoToState
высокий ШТАТ movlw
movwf STATE_HI
низкий ШТАТ movlw
movwf STATE_LO
ENDM
Макрокоманда SetMsg NEW_MSG_ID
movlw NEW_MSG_ID
movwf MSG_ID
ENDM
cblock 0x20
; главные записи таймеров
LOOP_TIMER
ФЛАГИ
EE_ADDR
EE_DATA
CTR1
CTR2
TMP
TMP1
TMP2
TMP3
РЕДЖ
; отобранный таймер
SEL_TMR
SEL_TMR_SETTINGS
SEL_TMR_LEN:4
; сигнальные переменные
СМЯТЕНИЕ; 0, если смятение есть,сигнальный ID иначе
ALARM_TIMER; пересчитывает untillтиканий сигнальные переключатели от
; данные кнопочного пресса
BTN_ID
BTN_DOWN
; записи государственного аппарата
STATE_LO
STATE_HI
; записи показа
LCD_CURSOR_POSITION; местоположение(куски 0-6) курсора и статус (кусок 7: 1=on; 0=off)
DISP:6
MSGL
MSGH
MSGDAT
MSG_ID; ID сообщения, которое должнопоказываться на втором ряду
MSG_ID_CURRENT; ID сообщения, внастоящий момент показанного на втором ряду
; записи math
REG_X:PRECISION
REG_Y:PRECISION
REG_Z:PRECISION
REG_COUNTER
REG_STATUS
REG_T1
REG_T2
REG_ROT_COUNTER
; записи ввода значения
VAL_STAT; статус — место назначениязначения, которое введено (позже может использоваться, чтобы запомнить такжеформат в верхнем откусывании)
VAL_IND; индекс — индекс в настоящиймомент введенного существования цифры
VAL_DIGIT; место, чтобы запомнитьединую цифру, пока другие действия выполняются
VAL:6; значение непосредственно(может находиться в десятичном представлении или непосредственно вшестнадцатиричном)
endc
; прерывание отмечается в разделенномпространстве
cblock 0x78
INT_W
INT_STATUS
INT_PCLATH
INT_FSR
INT_PULSECTR
INT_TIMER
endc
cblock 0xA0
ТИМ:16*4
endc
cblock 0x120
LEN:16*4
endc
cblock 0x1A0
ALM:16*4
endc
cblock 0x1E0
TMR_SETTINGS:16*1
endc
org 0x00
Запуск goto
org 0x04
nop; код прерывания следует — избегать потенциальных страниц проблем нумерации
Прерывание
movwf INT_W
swapf STATUS,W
СТАТУС clrf
movwf INT_STATUS
movf PCLATH,w
movwf INT_PCLATH
clrf PCLATH
movf FSR,w
movwf INT_FSR
;banksel T1CON; таймер остановки
bcf T1CON,TMR1ON
banksel TMR1H; установленный TMR1counter
decf INT_PULSECTR,f
btfss STATUS,Z
goto Interrupt_std_len
movlw TMR_XTR_LO
movwf TMR1L
movlw TMR_XTR_H
movwf TMR1H
movlw PULSES_PER_TICK
movwf INT_PULSECTR
incf INT_TIMER,f
goto Interrupt_continue
Interrupt_std_len
movlw TMR_STD_LO
movwf TMR1L
movlw TMR_STD_HI
movwf TMR1H
Interrupt_continue
banksel PIR1; очистите кусок избыткаTMR1
bcf PIR1,TMR1IF
banksel PIE1; разрешите прерываниеTMR1
bsf PIE1,TMR1IE
banksel T1CON; стартовый таймер
bsf T1CON,TMR1ON
banksel PORTC
;movf INT_FSR,w
movwf FSR
movf INT_PCLATH,w
movwf PCLATH
swapf INT_STATUS,w
СТАТУС movwf
swapf INT_W,F
swapf INT_W,W
retfie
TMR_Init
banksel INTCON
bsf INTCON,PEIE
bsf INTCON,GIE
banksel T1CON
movlw b'00000000'
banksel PORTC
movlw PULSES_PER_TICK
movwf INT_PULSECTR
banksel PIR1; очистите кусок избыткаTMR1
bcf PIR1,TMR1IF
banksel PIE1; разрешите прерываниеTMR1
bsf PIE1,TMR1IE
banksel T1CON; стартовый таймер
bsf T1CON,TMR1ON
banksel PORTC
возврат
SM_Init
movlw низкий S00_TimerSelectLoop
movwf STATE_LO
movlw высокий S00_TimerSelectLoop
movwf STATE_HI
возврат
Запуск
ФЛАГИ clrf
clrf INT_TIMER
clrf LOOP_TIMER
clrf LCD_CURSOR_POSITION
вызовите EEPROM_CheckInit
вызовите PORTS_Init
вызовите LCD_Init
вызовите SM_Init
вызовите ReadTimerDataFromEEPROM
clrf SEL_TMR
вызовите LCD_UpdateTimerLabel
вызовите TMR_Init
вызовите SPK_Whip
MainLoop
вызовите IfPlaySound
btfsc FLAGS,F_VALUE_ENTERED
вызовите ProcessEnteredValue
btfsc FLAGS,F_TMR_LABEL_DIRTY
вызовите LCD_UpdateTimerLabel
movf MSG_ID,w
subwf MSG_ID_CURRENT,w
btfss STATUS,Z
вызовите LCD_UpdateSecondRowMessage
btfsc FLAGS,F_VAL_DISPLAY_DIRTY
вызовите LCD_UpdateValDisplay
вызовите IfTick
вызовите KBD_Scan
movf STATE_HI,w
movwf PCLATH
movf STATE_LO,w
movwf PCL; идите к государственномуаппарату
SM_Rtn; возвратная точкагосударственного аппарата
movlw высокий SM_Rtn
movwf PCLATH
movlw 0xFF
movwf BTN_ID
btfsc FLAGS,F_CURSOR_DIRTY
вызовите LCD_UpdateCursor
btfsc FLAGS,F_TICK
goto MainLoop_Tick
clrf TMP
MainLoop_Delay; клавиатура debounce
decf TMP,f
nop
nop
btfss STATUS,Z
goto MainLoop_Delay
goto MainLoop
MainLoop_Tick
movf SEL_TMR,w
movwf CTR1
вызовите LoadSelTmrSettingsAndLen
вызовите MC_Normalize
вызовите MC_NormalizedTo86400
вызовите MC_86400toHMS
вызовите LCD_UpdateTimer
movf MSG_ID,w
sublw MSG_ID_Clear
btfss STATUS,Z
goto MainLoop
movf SEL_TMR,w
movwf CTR1
вызовите LoadSelTmrSettingsAndLen
вызовите MC_Normalize
вызовите MC_NormalizedToJulianNormalized
вызовите MC_NormalizedToDecimal
вызовите LCD_UpdateTimerDecimalPt
bcf FLAGS,F_TICK
goto MainLoop
ProcessEnteredValue
bcf FLAGS,F_VALUE_ENTERED
movf VAL_STAT,w
sublw D_SEL_TIMER_LENGTH
btfsc STATUS,Z
goto ProcessEnteredValue_STLEN
movf VAL_STAT,w
sublw D_SEL_TIMER
btfsc STATUS,Z
goto ProcessEnteredValue_ST
movf VAL_STAT,w
sublw D_SEL_TIMER_ALARM
btfsc STATUS,Z
goto ProcessEnteredValue_STALM
sublw D_SEL_TIMER_COPY
btfsc STATUS,Z
goto ProcessEnteredValue_COPY
возврат
ProcessEnteredValue_STALM
bsf STATUS,IRP; копируйте VAL всмятение
ProcessEnteredValue_ST
movf REG,w; копируйте VAL в таймер (илисмятение, если STATUS,IRP является набором)
movwf FSR
movf VAL,w
movwf INDF
incf FSR,f
movf VAL+1,w
movwf INDF
incf FSR,f
movf VAL+2,w
movwf INDF
incf FSR,f
movf VAL+3,w
movwf INDF
bcf STATUS,IRP
возврат
ProcessEnteredValue_COPY
; НЕ ВЫПОЛНЯЮТ В ЭТОЙ ВЕРСИИ
; — получить таймер ID от данных часа
; — значение таймера груза
; — нормализировать значение
; — de-нормализировать отобранный рядтаймера значения
; — значение таймера копии котобранному таймеру
возврат
ProcessEnteredValue_STLEN; копируйтеVAL в отобранную длину таймера
movf SEL_TMR,w
movwf CTR1
вызовите CalculateEEPROMAddressFromCTR1
incf EE_ADDR,f
вызовите CalculateFileAddressFromCTR1
clrf TMP
ProcessEnteredValue_STLEN_1
movf TMP,w
addlw VAL
movwf FSR
movf INDF,w
movwf VAL_DIGIT
bsf STATUS,IRP
movf REG,w
andlw 0x7F
addwf TMP,w
movwf FSR
movf VAL_DIGIT,w
movwf INDF
bcf STATUS,IRP
movwf EE_DATA
вызовите EEPROM_Write
incf EE_ADDR,f
incf TMP,f
movf TMP,w
sublw 0x04
btfss STATUS,Z
goto ProcessEnteredValue_STLEN_1
вызовите LoadSelTmrSettingsAndLen
возврат
PORTS_Init
banksel PORTA
clrf PORTA
clrf PORTB
clrf PORTC
clrf PORTD
clrf PORTE
banksel TRISA
movlw b'00000110'
movwf ADCON1
movlw b'11111100'; RA0=LED, RA1=SPK
movwf TRISA
movlw b'11110000'; KBD
movwf TRISB
bcf OPTION_REG,7;; разрешите слабыенатяжения PORTB
clrf TRISC; LCD: DB0-DB7
movlw 0xFF
movwf TRISD; не используют — всевходы
movlw b'0000000'; LCD: RE0=RS,RE1=R/W; RE2=E
movwf TRISE
movlw b'11000000'; разрешитепрерывания
movwf INTCON
banksel PORTA
возврат
CalculateEEPROMAddressFromCTR1
; Высчитайте адрес данных таймера вEEPROM
movf CTR1,w
movwf EE_ADDR
bcf STATUS,C
rlf EE_ADDR,f
rlf EE_ADDR,f
rlf EE_ADDR,f
addwf EE_ADDR,f
возврат
CalculateFileAddressFromCTR1
; Адрес offsett таймера в РЕДЖЕ
movf CTR1,w
РЕДЖ movwf
bcf STATUS,C
rlf REG,f
rlf REG,f
ТИМ movlw
addwf REG,f
возврат
ReadTimerDataFromEEPROM
clrf CTR1
ReadTimerDataFromEEPROM_loop
вызовите CalculateEEPROMAddressFromCTR1
вызовите CalculateFileAddressFromCTR1
; Установки таймера груза
movf CTR1,w
addlw низкий TMR_SETTINGS
movwf FSR
bsf STATUS,IRP
вызовите EEPROM_Read
movwf INDF
; Длины груза
incf EE_ADDR,f
movf REG,w
andlw 0x7F
movwf FSR
вызовите EEPROM_Read
movwf INDF
incf EE_ADDR,f
incf FSR,f
вызовите EEPROM_Read
movwf INDF
incf EE_ADDR,f
incf FSR,f
вызовите EEPROM_Read
movwf INDF
incf EE_ADDR,f
incf FSR,f
вызовите EEPROM_Read
movwf INDF
bcf STATUS,IRP
; Offsetts груза (начальные значения)
incf EE_ADDR,f
movf REG,w
movwf FSR
вызовите EEPROM_Read
movwf INDF
incf EE_ADDR,f
incf FSR,f
вызовите EEPROM_Read
movwf INDF
incf EE_ADDR,f
incf FSR,f
вызовите EEPROM_Read
movwf INDF
incf EE_ADDR,f
incf FSR,f
вызовите EEPROM_Read
movwf INDF
incf CTR1,f
movf CTR1,w
sublw 0x10
btfss STATUS,Z
goto ReadTimerDataFromEEPROM_loop
возврат
EEPROM_CheckInit
movlw 0xFE
movwf EE_ADDR
вызовите EEPROM_Read
movlw 0xA5
subwf EE_DATA,w
btfss STATUS,Z
goto InitEEPROM
incf EE_ADDR,f
вызовите EEPROM_Read
movlw 0x5A
subwf EE_DATA,w
btfsc STATUS,Z
возврат
InitEEPROM
clrf EE_ADDR
clrf CTR1
clrf CTR2
InitEEPROM_loop
movf CTR2,w
lcall LOOKUP_StdTmr
movwf EE_DATA
movlw высокий InitEEPROM_loop
movwf PCLATH
вызовите EEPROM_Write
incf EE_ADDR,f
incf CTR2,f
movf CTR2,w
sublw 0x09
btfss STATUS,Z
goto InitEEPROM_loop
clrf CTR2
incf CTR1,f
movf CTR1,w
sublw 0x10
btfss STATUS,Z
goto InitEEPROM_loop
movlw 0xFE
movwf EE_ADDR
movlw 0xA5
movwf EE_DATA
вызовите EEPROM_Write
incf EE_ADDR,f
movlw 0x5A
movwf EE_DATA
вызовите EEPROM_Write
возврат
EEPROM_Read
banksel EE_ADDR
movf EE_ADDR,w
banksel EEADR
movwf EEADR
banksel EECON1
bcf EECON1, EEPGD
bsf EECON1, RD
banksel EEDATA
movf EEDATA,w
banksel EE_DATA
movwf EE_DATA
возврат EEPROM_Write
banksel EE_ADDR
movf EE_ADDR,w
banksel EEADR
movwf EEADR
banksel EE_DATA
movf EE_DATA,w
banksel EEDATA
movwf EEDATA
banksel EECON1
bcf EECON1, EEPGD
bsf EECON1, WREN
bcf INTCON, GIE
movlw 0x55
movwf EECON2
movlw 0xAA
movwf EECON2
bsf EECON1, WR
bsf INTCON, GIE
EEPROM_Write_WaitForConfirmation
btfsc EECON1, WR
goto EEPROM_Write_WaitForConfirmation
bcf EECON1, WREN
banksel EE_ADDR
возврат
IfTick
movf INT_TIMER,w
btfss FLAGS,F_CLOCK_STOPPED
goto IfTick_Continue
movwf LOOP_TIMER
возврат
IfTick_Continue
subwf LOOP_TIMER,w
btfsc STATUS,Z
возврат
Тикание; вызванные 4 раза за вторые
incf LOOP_TIMER,f
movlw 0x01
xorwf PORTA,f
clrf CTR1
Tick_next_ctr
вызовите LoadSelTmrSettingsAndLen
btfss SEL_TMR_SETTINGS,TMR_ON
goto Tick_continue
btfss SEL_TMR_SETTINGS,TMR_DIR
goto Tick_increase
; Tick_decrease
вызовите DecTimer
goto Tick_checkAlarm
Tick_increase
вызовите IncTimer
Tick_checkAlarm
вызовите CheckTimerAlarm
Tick_continue
incf CTR1,f
movlw 0x10
subwf CTR1,w
btfss STATUS,Z
goto Tick_next_ctr
bsf FLAGS,F_TICK
возврат LoadSelTmrSettingsAndLen;грузы выбрали установки таймера и длину к SEL_TMR_SETTINGS и SEL_TMR_LEN
; установки груза
movf CTR1,w
addlw низкий TMR_SETTINGS
movwf FSR
bsf STATUS,IRP
movf INDF,w
movwf SEL_TMR_SETTINGS
; длина груза
вызовите CalculateFileAddressFromCTR1
movf REG,w
andlw 0x7F
movwf FSR
movf INDF,w
movwf SEL_TMR_LEN
incf FSR,f
movf INDF,w
movwf SEL_TMR_LEN+1
incf FSR,f
movf INDF,w
movwf SEL_TMR_LEN+2
incf FSR,f
movf INDF,w
movwf SEL_TMR_LEN+3
bcf STATUS,IRP
возврат
IncTimer; приращение таймер; убедитесь,что LoadSelTmrLen вызван перед movf REG,w
movwf FSR
incf INDF,f
btfss STATUS,Z
goto IncTimer_check
incf FSR,f
incf INDF,f
btfss STATUS,Z
goto IncTimer_check
incf FSR,f
incf INDF,f
btfss STATUS,Z
goto IncTimer_check
incf FSR,f
incf INDF,f
IncTimer_check
movf REG,w
movwf FSR
movf INDF,w
subwf SEL_TMR_LEN,w
btfss STATUS,Z
возврат
incf FSR,f
movf INDF,w
subwf SEL_TMR_LEN+1,w
btfss STATUS,Z
возврат
incf FSR,f
movf INDF,w
subwf SEL_TMR_LEN+2,w
btfss STATUS,Z
возврат
incf FSR,f
movf INDF,w
subwf SEL_TMR_LEN+3,w
btfss STATUS,Z
возврат
clrf INDF
decf FSR,f
clrf INDF
decf FSR,f
clrf INDF
decf FSR,f
clrf INDF
возврат
DecTimer; уменьшение таймер; убедитесь,что LoadSelTmrLen вызван перед
movf REG,w
movwf FSR
movf INDF,f
btfss STATUS,Z
goto DecTimer_continue
incf FSR,f
movf INDF,f
btfss STATUS,Z
goto DecTimer_continue
incf FSR,f
movf INDF,f
btfss STATUS,Z
goto DecTimer_continue
incf FSR,f
movf INDF,f
btfss STATUS,Z
goto DecTimer_continue
movf SEL_TMR_LEN+3,w
movwf INDF
decf FSR,f
movf SEL_TMR_LEN+2,w
movwf INDF
decf FSR,f
movf SEL_TMR_LEN+1,w
movwf INDF
decf FSR,f
movf SEL_TMR_LEN,w
movwf INDF
DecTimer_continue
movf REG,w
movwf FSR
decf INDF,f
movlw 0xFF
subwf INDF,w
btfss STATUS,Z
возврат
incf FSR,f
decf INDF,f
movlw 0xFF
subwf INDF,w
btfss STATUS,Z
возврат
incf FSR,f
decf INDF,f
movlw 0xFF
subwf INDF,w
btfss STATUS,Z
возврат
incf FSR,f
decf INDF,f
возврат
CheckTimerAlarm
movlw 0x04
movwf TMP
movf REG,w
movwf FSR
CheckTimerAlarm_0
bsf STATUS,IRP
movf INDF,w
bcf STATUS,IRP
subwf INDF,w
btfss STATUS,Z
возврат; не нет смятения
incf FSR,f
decf TMP,f
btfss STATUS,Z
goto CheckTimerAlarm_0
movf SEL_TMR_SETTINGS,w
andlw 0x03
СМЯТЕНИЕ movwf
clrf ALARM_TIMER
btfss SEL_TMR_SETTINGS,TMR_ON_ALARM_STOP
goto CheckTimerAlarm_1
; Таймер остановки на смятении
;movlw 0x01
;lcall ToggleTimerSettings
movf CTR1,w
addlw низкий TMR_SETTINGS
movwf FSR
bsf STATUS,IRP
movlw 0x01
xorwf INDF,f
bcf STATUS,IRP
CheckTimerAlarm_1
btfss SEL_TMR_SETTINGS,TMR_ON_ALARM_RESET
возврат
; Снова установленный таймер насмятении
;movf SEL_TMR,w
;movwf CTR1
вызовите CalculateFileAddressFromCTR1
movf REG,w
movwf FSR
movlw 0x01
movwf INDF
incf FSR,f
clrf INDF
incf FSR,f
clrf INDF
incf FSR,f
clrf INDF
возврат
IfPlaySound
movlw SND_PIP
subwf ALARM,w
btfsc STATUS,Z
goto PlayPip
movlw SND_PEEP
subwf ALARM,w
btfsc STATUS,Z
goto PlayPeep
movlw SND_WHIP
subwf ALARM,w
btfsc STATUS,Z
goto PlayWhip
PlayContinue
СМЯТЕНИЕ clrf
возврат
PlayPip
lcall SPK_Pip
goto PlayContinue
PlayPeep
lcall SPK_Peep
goto PlayContinue
PlayWhip
lcall SPK_Whip
goto PlayContinue
ToggleTimerSettings; коленчатый байтустановок таймера
movwf TMP
movf SEL_TMR,w
addlw низкий TMR_SETTINGS
movwf FSR
bsf STATUS,IRP
movf TMP,w
xorwf INDF,f
bcf STATUS,IRP
возврат CopyDispToVal; копируйте внастоящий момент показанное значение таймера в VAL
movf DISP,w
movwf VAL
movf DISP+1,w
movwf VAL+1
movf DISP+2,w
movwf VAL+2
movf DISP+3,w
movwf VAL+3
movf DISP+4,w
movwf VAL+4
movf DISP+5,w
movwf VAL+5
возврат
M_CLR; очистите запись
movwf FSR
ТОЧНОСТЬ movlw
movwf REG_COUNTER
M_CLR_loop
clrf INDF
incf FSR,f
decf REG_COUNTER,f
btfss STATUS,Z
goto M_CLR_loop
возврат
M_ROL; вращайтесь запись влево
movwf FSR
M_StorStatus REG_STATUS
clrf REG_COUNTER
M_ROL_loop
M_RetrStatus REG_STATUS
rlf INDF,f
M_StorStatus REG_STATUS
incf FSR,f
incf REG_COUNTER,f
ТОЧНОСТЬ movlw
subwf REG_COUNTER,w
btfss STATUS,Z
goto M_ROL_loop
возврат
M_ROR; вращается запись вправо
movwf FSR
ТОЧНОСТЬ-1 movlw
addwf FSR,f
M_StorStatus REG_STATUS
clrf REG_COUNTER
M_ROR_loop
M_RetrStatus REG_STATUS
rrf INDF,f
M_StorStatus REG_STATUS
decf FSR,f
incf REG_COUNTER,f
ТОЧНОСТЬ movlw
subwf REG_COUNTER,w
btfss STATUS,Z
goto M_ROR_loop
возврат
M_CMP; Z XСТАТУСА(C,Z)->
; Набор STATUS,C, если Z => X;
; Набор STATUS,Z, если Z == X
clrf REG_COUNTER
M_CMP_loop
movf REG_COUNTER,w
sublw REG_Z+PRECISION-1
movwf FSR
movf INDF,w
movwf REG_T1
movf REG_COUNTER,w
sublw REG_X+PRECISION-1
movwf FSR
movf INDF,w
subwf REG_T1,f
btfss STATUS,Z
возврат
incf REG_COUNTER,f
ТОЧНОСТЬ movlw
subwf REG_COUNTER,w
btfss STATUS,Z
goto M_CMP_loop
возврат
M_INC; приращение запись
movwf FSR
ТОЧНОСТЬ movlw
movwf REG_COUNTER
M_INC_loop
incf INDF,f
btfss STATUS,Z
возврат
incf FSR,f
decf REG_COUNTER,f
btfss STATUS,Z
goto M_INC_loop
возврат
M_ADD; Z + X -> Z
bcf STATUS,C
clrf REG_STATUS
clrf REG_COUNTER
M_ADD_loop
clrf REG_T1
btfsc REG_STATUS,C
incf REG_T1,f
clrf REG_STATUS
movlw REG_X
addwf REG_COUNTER,w
movwf FSR
movf INDF,w
addwf REG_T1,f
btfsc STATUS,C
bsf REG_STATUS,C
movlw REG_Z
addwf REG_COUNTER,w
movwf FSR
movf INDF,w
addwf REG_T1,f
btfsc STATUS,C
bsf REG_STATUS,C
movf REG_T1,w
movwf INDF
incf REG_COUNTER,f
ТОЧНОСТЬ movlw
subwf REG_COUNTER,w
btfss STATUS,Z
goto M_ADD_loop
возврат
M_SUB; Z — X -> Z
clrf REG_COUNTER
bsf REG_STATUS,C
M_SUB_loop
bsf REG_T2,C
movlw REG_Z
addwf REG_COUNTER,w
movwf FSR
movf INDF,w
movwf REG_T1
movlw REG_X
addwf REG_COUNTER,w
movwf FSR
movf INDF,w
subwf REG_T1,f
btfss STATUS,C
bcf REG_T2,C
btfsc REG_STATUS,C
goto M_SUB_no_carry
movlw 0x01
subwf REG_T1,f
btfss STATUS,C
bcf REG_T2,C
M_SUB_no_carry
movlw REG_Z
addwf REG_COUNTER,w
movwf FSR
movf REG_T1,w
movwf INDF
bsf REG_STATUS,C
btfss REG_T2,C
bcf REG_STATUS,C
incf REG_COUNTER,f
ТОЧНОСТЬ movlw
subwf REG_COUNTER,w
btfss STATUS,Z
goto M_SUB_loop
btfss REG_STATUS,C
bcf STATUS,C
возврат
M_MUL; X * Y -> Z
movlw REG_Z
вызовите M_CLR
movlw PRECISION*8+1
movwf REG_ROT_COUNTER
LCD_Init
вызовите LCD_Wait
вызовите LCD_Wait
вызовите LCD_Wait
вызовите LCD_Wait
вызовите LCD_Wait
вызовите LCD_Wait
movlw 0x00
movwf PORTE
movlw b'00110000'
movwf PORTC
вызовите LCD_PulseZ
вызовите LCD_Wait
вызовите LCD_Wait
вызовите LCD_Wait
вызовите LCD_Wait
вызовите LCD_Wait
movlw b'00111000'
movwf PORTC
вызовите LCD_PulseZ
вызовите LCD_Wait
вызовите LCD_Wait
вызовите LCD_Wait
вызовите LCD_Wait
вызовите LCD_Wait
movlw b'00111000'
movwf PORTC
вызовите LCD_PulseZ
вызовите LCD_Wait
вызовите LCD_Wait
вызовите LCD_Wait
вызовите LCD_Wait
вызовите LCD_Wait
movlw b'00111000'
movwf PORTC
вызовите LCD_PulseZ
movlw b'00001000'
movwf PORTC
вызовите LCD_PulseZ
movlw b'00000001'
movwf PORTC
вызовите LCD_PulseZ
movlw b'00000110'
movwf PORTC
вызовите LCD_PulseZ
movlw b'00001000'
movwf PORTC
вызовите LCD_PulseZ
movlw b'00000010'
movwf PORTC
вызовите LCD_PulseZ
;movlw b'10000000'
;movwf PORTC
;call LCD_PulseZ
;movlw b'00010100'
;movwf PORTC
;call LCD_PulseZ
;movlw b'10000000'
;movwf PORTC
;call LCD_PulseZ
bsf PORTE,0
movlw b'00001100'
вызовите LCD_SendCMD
movlw MSG_ID_Clear
movwf MSG_ID
movwf MSG_ID_CURRENT
возврат
LCD_SendDAT
movwf PORTC
bsf PORTE,0
вызовите LCD_PulseZ
возврат
LCD_SendCMD
movwf PORTC
bcf PORTE,0
вызовите LCD_PulseZ
bsf PORTE,0
возврат
MSG_NextChar_second
banksel EEDATA
movf EEDATA,w
banksel MSGDAT
movwf MSGDAT
bcf MSGDAT,7
incf MSGL,f
btfsc STATUS,Z
incf MSGH,f
bcf MSGH,7
movf MSGDAT,w
возврат
SPK_Delay
movlw 0x0F
movwf TMP
decf TMP,f
btfss STATUS,Z
goto $-2
возврат
SPK_Pip
movlw 0xFF
movwf TMP2
SPK_Pip_0
movlw 0x20
movwf TMP1
SPK_Pip_1
lcall SPK_Delay
decf TMP1,f
btfss STATUS,Z
goto SPK_Pip_1
movlw 0x01
xorwf PORTA,f
decf TMP2,f
btfss STATUS,Z
goto SPK_Pip_
bcf PORTA,B_SPK
возврат
SPK_Peep
movlw 0x10
movwf TMP3
SPK_Peep_0
вызовите SPK_Pip
decf TMP3,f
btfss STATUS,Z
goto SPK_Peep_0
возврат
SPK_Whip
clrf TMP2
movlw 0xC0
SPK_Whip_0
movf TMP2,w
addlw 0x38
movwf TMP1
SPK_Whip_1
lcall SPK_Delay
decf TMP1,f
btfss STATUS,Z
goto SPK_Whip_1
movlw 0x01
xorwf PORTA,f
decf TMP2,f
btfss STATUS,Z
goto SPK_Whip_0
возврат
org 0x1000
S00_TimerSelectLoop
clrf LCD_CURSOR_POSITION
SetMsg MSG_ID_Clear
IfJump VK_MENU_NEXT,S00_NextTmr
IfJump VK_MENU_PREV,S00_PrevTmr
IfState VK_MENU_ENTER,S10_AdjustTimer
lgoto SM_Rtn
S00_NextTmr
incf SEL_TMR,f
movlw 0x0F
andwf SEL_TMR,f
bsf FLAGS,F_TMR_LABEL_DIRTY
bsf FLAGS,F_TICK
lgoto SM_Rtn
S00_PrevTmr
decf SEL_TMR,f
movlw 0x0F
andwf SEL_TMR,f
bsf FLAGS,F_TMR_LABEL_DIRTY
bsf FLAGS,F_TICK
lgoto SM_Rtn
S10_AdjustTimer
clrf LCD_CURSOR_POSITION
SetMsg 0x00
IfStateVK_MENU_EXIT,S00_TimerSelectLoop
IfState VK_MENU_NEXT,S20_AdjustClock
IfState VK_MENU_PREV,S20_AdjustClock
;IfStateVK_MENU_PREV,S30_ThermometerSetup
IfState VK_MENU_ENTER,S11_SetTimer
IfJump VK_START_STOP,S10_StartStopTimer
IfJump VK_DIRECTION,S10_ToggleTimerDirection
lgoto SM_Rtn
S10_StartStopTimer
movlw 0x01
lcall ToggleTimerSettings
lgoto SM_Rtn
S10_ToggleTimerDirection
movlw 0x01
lcall ToggleTimerSettings
lgoto SM_Rtn
S11_SetTimer
SetMsg 0x01; MSG_SetTimer
IfState VK_MENU_EXIT,S10_AdjustTimer
IfState VK_MENU_NEXT,S12_SetAlarm
IfState VK_MENU_PREV,S13_SetLength
IfStateVK_MENU_ENTER,S15_SetTimerValue
lgoto SM_Rtn
S12_SetAlarm
SetMsg 0x07
IfState VK_MENU_EXIT,S10_AdjustTimer
IfState VK_MENU_NEXT,S13_SetLength
IfState VK_MENU_PREV,S11_SetTimer
IfStateVK_MENU_ENTER,S21_SetAlarmTime
lgoto SM_Rtn
S13_SetLength
SetMsg 0x04; MSG_SetLength
IfState VK_MENU_EXIT,S10_AdjustTimer
IfState VK_MENU_NEXT,S11_SetTimer
IfState VK_MENU_PREV,S12_SetAlarm
IfStateVK_MENU_ENTER,S16_SetLengthValue
lgoto SM_Rtn
S15_SetTimerValue
SetMsg 0x06; MSG_Set
movlw D_SEL_TIMER
movwf VAL_STAT
GoToState S_EnterValueHMS
lgoto SM_Rtn
S16_SetLengthValue
SetMsg 0x06; MSG_Set
movlw D_SEL_TIMER_LENGTH
movwf VAL_STAT
GoToState S_EnterLongValue
lgoto SM_Rtn
S20_AdjustClock
SetMsg 0x02
IfStateVK_MENU_EXIT,S00_TimerSelectLoop
IfState VK_MENU_NEXT,S10_AdjustTimer
;IfStateVK_MENU_NEXT,S30_ThermometerSetup
IfState VK_MENU_PREV,S10_AdjustTimer
IfJump VK_START_STOP,S20_StartStopClock
IfJump VK_SKIP_FORWARD,S20_StartStopClock
lgoto SM_Rtn
S20_StartStopClock
movlw 0x01
xorwf FLAGS,f
lgoto SM_Rtn
S20_SkipForward
movlw (0x01
andwf FLAGS,f
incf INT_PULSECTR,f
incf INT_PULSECTR,f
incf INT_PULSECTR,f
incf INT_PULSECTR,f
lgoto SM_Rtn
;S30_ThermometerSetup
; SetMsg 0x03
; IfState VK_MENU_EXIT,S00_TimerSelectLoop
; IfStateVK_MENU_NEXT,S10_AdjustTimer
; IfStateVK_MENU_PREV,S20_AdjustClock
; lgoto SM_Rtn
S21_SetAlarmTime
SetMsg 0x08
IfState VK_MENU_EXIT,S12_SetAlarm
IfState VK_MENU_NEXT,S22_SetSound
IfState VK_MENU_PREV,S23_AlarmAction
IfStateVK_MENU_ENTER,S21_EnterAlarmValue
lgoto SM_Rtn
S21_EnterAlarmValue
SetMsg 0x06; MSG_Set
movlw D_SEL_TIMER_ALARM
movwf VAL_STAT
movf SEL_TMR,w
movwf CTR1
lcall LoadSelTmrSettingsAndLen
movlw REG_Z
lcall M_CLR
movlw REG_X
lcall M_CLR
bsf STATUS,IRP; TUK E PROBLEMAT!!!
lcall MC_Normalize_NO_CLR
bcf STATUS,IRP
lcall MC_NormalizedTo86400
lcall MC_86400toHMS
GoToState S_EnterValueHMS
lgoto SM_Rtn
S22_SetSound
SetMsg 0x09
IfState VK_MENU_EXIT,S12_SetAlarm
IfState VK_MENU_NEXT,S23_AlarmAction
IfState VK_MENU_PREV,S21_SetAlarmTime
IfState VK_MENU_ENTER,S40_SoundSelect
lgoto SM_Rtn
S23_AlarmAction
SetMsg 0x0A
IfState VK_MENU_EXIT,S12_SetAlarm
IfState VK_MENU_NEXT,S21_SetAlarmTime
IfState VK_MENU_PREV,S22_SetSound
IfStateVK_MENU_ENTER,S51_SelectAction
lgoto SM_Rtn
S40_SoundSelect
movlw 0x03
andwf SEL_TMR_SETTINGS,w
movwf TMP
btfss STATUS,Z
goto S40_SoundSelect_0
; звук Безмолвен
GoToState S44_SoundSilent
lgoto SM_Rtn
S40_SoundSelect_0
movlw SND_PIP
subwf TMP,w
btfss STATUS,Z
goto S40_SoundSelect_1
; звук — это Косточка
GoToState S41_SoundPip
lgoto SM_Rtn
S40_SoundSelect_1
movlw SND_PEEP
subwf TMP,w
btfss STATUS,Z
goto S40_SoundSelect_2
; звук — это Чирикание
GoToState S42_SoundPeep
lgoto SM_Rtn
S40_SoundSelect_2
; звук — это Кнут
GoToState S43_SoundWhip
lgoto SM_Rtn
lgoto SM_Rtn
S41_SoundPip
SetMsg 0x0B
movlw SND_PIP
вызовите SetSound
IfState VK_MENU_ENTER,S22_SetSound
IfState VK_MENU_EXIT,S22_SetSound
IfState VK_MENU_NEXT,S42_SoundPeep
IfState VK_MENU_PREV,S44_SoundSilent
lgoto SM_Rtn
S42_SoundPeep
SetMsg 0x0C
movlw SND_PEEP
вызовите SetSound
IfState VK_MENU_ENTER,S22_SetSound
IfState VK_MENU_EXIT,S22_SetSound
IfState VK_MENU_NEXT,S43_SoundWhip
IfState VK_MENU_PREV,S41_SoundPip
lgoto SM_Rtn
S43_SoundWhip
SetMsg 0x0D
movlw SND_WHIP
вызовите SetSound
IfState VK_MENU_ENTER,S22_SetSound
IfState VK_MENU_EXIT,S22_SetSound
IfState VK_MENU_NEXT,S44_SoundSilent
IfState VK_MENU_PREV,S42_SoundPeep
lgoto SM_Rtn
S44_SoundSilent
SetMsg 0x0E
movlw SND_SILENT
вызовите SetSound
IfState VK_MENU_ENTER,S22_SetSound
IfState VK_MENU_EXIT,S22_SetSound
IfState VK_MENU_NEXT,S41_SoundPip
IfState VK_MENU_PREV,S43_SoundWhip
lgoto SM_Rtn
Action_SetAddress; ПРЕДУПРЕЖДЕНИЕ:Это наборы STATUS,IRP! Очистите это после сделанного с INDF
movf SEL_TMR,w
addlw низкий TMR_SETTINGS
movwf FSR
bsf STATUS,IRP
bcf INDF,TMR_ON_ALARM_STOP
bcf INDF,TMR_ON_ALARM_RESET
возврат
S51_SelectAction
btfss SEL_TMR_SETTINGS,TMR_ON_ALARM_RESET
goto S51_SelectAction_ResetOff
S51_SelectAction_ResetOn
btfss SEL_TMR_SETTINGS,TMR_ON_ALARM_STOP
goto S51_SelectAction_GoToReset
S51_SelectAction_GoToBoth
GoToState S54_ActionBoth
lgoto SM_Rtn
S51_SelectAction_GoToReset
GoToState S52_ActionReset
lgoto SM_Rtn
S51_SelectAction_ResetOff
btfss SEL_TMR_SETTINGS,TMR_ON_ALARM_STOP
goto S51_SelectAction_GoToNone
S51_SelectAction_GoToStop
GoToState S53_ActionStop
lgoto SM_Rtn
S51_SelectAction_GoToNone
GoToState S51_ActionNone
lgoto SM_Rtn
S51_ActionNone
SetMsg 0x0F
movf SEL_TMR,w
вызовите Action_SetAddress
movf INDF,w
bcf STATUS,IRP
movwf SEL_TMR_SETTINGS
IfState VK_MENU_ENTER,S23_AlarmAction
IfState VK_MENU_EXIT,S23_AlarmAction
IfState VK_MENU_NEXT,S52_ActionReset
IfState VK_MENU_PREV,S54_ActionBoth
lgoto SM_Rtn
S52_ActionReset
SetMsg 0x10
вызовите Action_SetAddress
bsf INDF,TMR_ON_ALARM_RESET
movf INDF,w
bcf STATUS,IRP
movwf SEL_TMR_SETTINGS
IfState VK_MENU_ENTER,S23_AlarmAction
IfState VK_MENU_EXIT,S23_AlarmAction
IfState VK_MENU_NEXT,S53_ActionStop
IfState VK_MENU_PREV,S51_ActionNone
lgoto SM_Rtn
S53_ActionStop
SetMsg 0x11
вызовите Action_SetAddress
bsf INDF,TMR_ON_ALARM_STOP
movf INDF,w
bcf STATUS,IRP
movwf SEL_TMR_SETTINGS
IfState VK_MENU_ENTER,S23_AlarmAction
IfState VK_MENU_EXIT,S23_AlarmAction
IfState VK_MENU_NEXT,S54_ActionBoth
IfState VK_MENU_PREV,S52_ActionReset
lgoto SM_Rtn
S54_ActionBoth
SetMsg 0x12
вызовите Action_SetAddress
bsf INDF,TMR_ON_ALARM_STOP
bsf INDF,TMR_ON_ALARM_RESET
movf INDF,w
bcf STATUS,IRP
movwf SEL_TMR_SETTINGS
IfState VK_MENU_ENTER,S23_AlarmAction
IfState VK_MENU_EXIT,S23_AlarmAction
IfState VK_MENU_NEXT,S51_ActionNone
IfState VK_MENU_PREV,S53_ActionStop
lgoto SM_Rtn
SetSound
movwf TMP
movlw низкий TMR_SETTINGS
movwf FSR
movf SEL_TMR,w
addwf FSR,f
bsf STATUS,IRP
movlw 0xFC
andwf INDF,f
movf TMP,w
iorwf INDF,f
bcf STATUS,IRP
возврат
S_CopyFromTimer
movlw D_SEL_TIMER_COPY
movwf VAL_STAT
GoToState S_EnterLongValue
lgoto SM_Rtn
S_EnterLongValue; введите длинноезначение
movlw REG_Z
lcall M_CLR
lcall M_MOV_Z_TO_VAL
clrf VAL_IND
addlw 0x80 | 0x44
movwf LCD_CURSOR_POSITION
bsf FLAGS,F_CURSOR_DIRTY
bcf FLAGS,F_VAL_DISPLAY_DIRTY; НЕ обновитепоказ VAL — это не используется здесь
GoToState S_EnterLongValue_Digit
lgoto SM_Rtn
S_EnterLongValue_Digit
pagesel $
IfStateVK_MENU_EXIT,S_EnterLongValue_End
IfStateVK_MENU_ENTER,S_EnterLongValue_Accept
pagesel $
btfsc BTN_ID,7
goto S_EnterLongValue_DigitRTN
movf BTN_ID,w
andlw 0x0F
lcall LOOKUP_DigitFromKeyID
movwf VAL_DIGIT
pagesel $
btfss VAL_DIGIT,7
goto S_EnterLongValue_Digit_1
lgoto SM_Rtn
S_EnterLongValue_Digit_1
movlw REG_Y
lcall M_CLR
movlw .10
movwf REG_Y
lcall M_MOV_VAL_TO_X
lcall M_MUL
movlw REG_X
lcall M_CLR
movf VAL_DIGIT,w
movwf REG_X
lcall M_ADD
lcall M_MOV_Z_TO_VAL
movf VAL_IND,w
addlw LCDCMD_SET_DD_RAM | 0x44
lcall LCD_SendCMD
movf VAL_DIGIT,w
addlw LCD_0
lcall LCD_SendDAT
incf VAL_IND,f
movf VAL_IND,w
addlw 0x80 | 0x44
movwf LCD_CURSOR_POSITION
bsf FLAGS,F_CURSOR_DIRTY
pagesel $
movf VAL_IND,w
sublw .10
btfsc STATUS,Z
decf VAL_IND,f
S_EnterLongValue_DigitRTN
lgoto SM_Rtn
S_EnterLongValue_Accept
bsf FLAGS,F_VALUE_ENTERED
S_EnterLongValue_End
clrf LCD_CURSOR_POSITION
bsf FLAGS,F_CURSOR_DIRTY
GoToState S13_SetLength
lgoto SM_Rtn
org 0x1800
da MSG_AdjustTimer; 0x00
da MSG_SetTimer; 0x01
da MSG_AdjustClock; 0x02
da MSG_ThermometerSetup; 0x03 — неиспользуют в этой версии
da MSG_SetLength; 0x04
da MSG_SetFormat; 0x05
da MSG_Set; 0x06
da MSG_SetAlarm; 0x07
da MSG_SetAlarmTime; 0x08
da MSG_SetSound; 0x09
da MSG_AlarmAction; 0x0A
da MSG_SoundPip; 0x0B
da MSG_SoundPeep; 0x0C
da MSG_SoundWhip; 0x0D
da MSG_SoundSilent; 0x0E
da MSG_ActionNone; 0x0F
da MSG_ActionReset; 0x10
da MSG_ActionStop; 0x11
da MSG_ActionBoth; 0x12
MSG_AdjustTimer
da «Приспособить Таймер»,0
MSG_SetTimer
da «Установленный Таймер»,0
MSG_AdjustClock
da «Приспособить Отмечаетвремя»,0
MSG_ThermometerSetup
«Терм da. Setup»,0; неиспользуют в этой версии
MSG_SetLength
da «Установленная ДлинаЦикла»,0
MSG_SetFormat
da «Установленный Формат»,0
MSG_Set
da «Set»,0
MSG_SetAlarm
da «УстановленноеСмятение»,0
MSG_SetAlarmTime
da «Сигнальное Время»,0
MSG_SetSound
da «Сигнальный Звук»,0
MSG_AlarmAction
da «Сигнальное Действие»,0
MSG_SoundPip
da «Установил: Pip»,0
MSG_SoundPeep
da «Установил: Peep»,0
MSG_SoundWhip
da «Установил: Whip»,0
MSG_SoundSilent
da «Установил: Silent»,0
MSG_ActionNone
«Действие da: None»,0
MSG_ActionReset
«Действие da: Reset»,0
MSG_ActionStop
«Действие da: Stop»,0
MSG_ActionBoth
«Действие da: Stop+Rst»,0
org 0x1F80
LOOKUP_StdTmr
movwf TMP
movlw высоко $
movwf PCLATH
movf TMP,w
addwf PCL,f
; установки
retlw b'10000000'
; длина
retlw 0x00
retlw 0x46
retlw 0x05
retlw 0x00
; стартовый offsett
LOOKUP_DigitFromKeyID
movwf TMP
movlw высоко $
movwf PCLATH
LOOKUP_CursorPosHMS
movwf TMP
movlw высоко $
movwf PCLATH
movf TMP,w
addwf PCL,f
retlw 0xC4
retlw 0xC5
retlw 0xC7
retlw 0xC8
retlw 0xCA
retlw 0xCB
retlw 0xCC
КОНЕЦ

Приложение Д
Схема электрическая принципиальная многофункциональных астрономическихчасов
/>

Приложение Ж
КАЛЬКУЛЯЦИЯ КОМПЛЕКТУЮЩИХ АСТРОНОМИЧЕСКИХ ЧАСОВ
/>


Не сдавайте скачаную работу преподавателю!
Данный реферат Вы можете использовать для подготовки курсовых проектов.

Поделись с друзьями, за репост + 100 мильонов к студенческой карме :

Пишем реферат самостоятельно:
! Как писать рефераты
Практические рекомендации по написанию студенческих рефератов.
! План реферата Краткий список разделов, отражающий структура и порядок работы над будующим рефератом.
! Введение реферата Вводная часть работы, в которой отражается цель и обозначается список задач.
! Заключение реферата В заключении подводятся итоги, описывается была ли достигнута поставленная цель, каковы результаты.
! Оформление рефератов Методические рекомендации по грамотному оформлению работы по ГОСТ.

Читайте также:
Виды рефератов Какими бывают рефераты по своему назначению и структуре.

Сейчас смотрят :