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


Разработка микропроцессорной системы "Автомобильные часы-термометр-вольтметр" на базе микроконтроллера

РЕФЕРАТ
Пояснительнаязаписка состоит из 38 страниц, 9 рисунков, 4 таблиц, 7 источников.
Микроконтроллер,громкоговоритель, Термодатчик, Жидкокристаллический индикатор, ИК- ЛУЧИ
Цель работы:разработка микропроцессорной системы на базе микроконтроллера, автомобильныхчасов-термометра-вольтметра.
Содержаниеработы: в работе выполнено построение структурной схемы, сформирован алгоритмработы системы, выбор элементной базы, оптимальной для реализации поставленныхзадач по диапазону характеристик, разработана программа, разработана принципиальнаясхема устройства.

СОДЕРЖАНИЕ
Введение
1. Описание объекта и функциональная спецификация
2. Описание структуры системы
3. Описание ресурсов МК AT89C2051
4. Ассемблирование
5. Разработка алгоритмаработы устройства
6. Описаниевыбора элементной базы и работы принципиальной схемы
Заключение
Список литературы
Приложение А. Листинг программыи объектный файл

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

1. Описаниеобъекта и функциональная спецификация
Данноеустройство предназначено для использования в автомобиле.
Основойустройства является микроконтроллер AT89C2051 фирмы «Atmel». Для отображенияинформации используется жидкокристаллический индикатор типа ЖКИ13-8/7-02.Несмотря на то, что в настоящее время доступны ЖКИ с встроенными контроллерами,иногда оказывается целесообразным применение специального ЖКИ. Причин можетбыть несколько. Распространенные ЖКИ со встроенными контроллерами обладаютцелым рядом недостатков: отсутствие десятичных точек, плохой угол обзора,недостаточный в некоторых случаях размер символов. В то же время существуетдоступная и довольно удобная в использовании микросхема драйвера ЖКИ КР1820ВГ1.Она выпускается Минским ПО «Интеграл».
Рассмотренное в этой работе устройство устанавливается вавтомобиле для индикации времени, контроля заряда аккумулятора и регистрациитемпературы. Диапазон контролируемого напряжения можно выбрать любой, однако впрограмме он установлен в пределах от 12,0 В до 15,0 В, а при отклонении отэтих значений напряжения включается зуммер.
Функциональнаяспецификация
1. Входы
a. 4датчика температуры
b. Кнопказапуска (включение питания)
c. Панельуправления с сенсорным переключателем и ИФ приемником
2. Выходы
a. Жидкокристаллическийиндикатор
b. Звуковойдинамик
3. Функции
a. индикациятекущего времени
b. будильник
c. таймер
d. индикациятемпературы в четырех точках
e. звуковаясигнализация при повышении температуры
f. индикациянапряжения в бортовой сети автомобиля
g. звуковаясигнализация при падении напряжения бортовой сети
h. управлениережимами работы устройства с помощью ИК-пульта
2. Описание структуры системы
После определения входов и выходов устройства разработана структурнаясхема устройства. Структурная схема автомобильных вольтметра-термометра-часовприведена на рис. 1.
/> /> /> /> /> /> /> /> /> />

/>/>/>/> Громкоговоритель
/>

Рис. 1.Структурная схема автомобильных часов-термометра-вольтметра
3. Описаниересурсов МК AT89C2051
AT89C2051разработан по технологии КМОП. Микроконтроллер оснащенный Flash программируемыми стираемым ПЗУ, а также совместим по системе команд и по выводам состандартными приборами семейства MCS-51. Объем Flash ПЗУ — 2 Кбайта, ОЗУ — 128байтов. Имеет 15 линий ввода/вывода, один 16-разрядный таймера/счетчикасобытий, полнодуплексный порт (UART) пять векторных двухуровневых прерываний,встроенный прецизионный аналоговый компаратор, встроенные генератор и схемуформирования тактовой последовательности. Напряжение программирования Flashпамяти — 12 В и ее содержимие может быть защищено от несанкционированныхзаписи/считывания. Имеется возможность очистки Flash памяти за одну операцию и возможностьсчитывания встроенного кода идентификации. Ток потребления в активном режиме начастоте 12 МГц не превышает 15 мА при 6 В и 5,5 мА при напряжении питания 3 В.В пассивном режиме (ЦПУ остановленно, но система прерываний, ОЗУ, таймер/счетчиксобытий и последовательный порт остаются активными) потребление не превышает 5мА и 1мА. В стоповом режиме ток потребления не превышает 100 мкА и 20 мкА принапряжении питания 6 В и 3 В, соответственно. Микроконтроллер AT89C2051ориентирован на использование в качестве встроенного управляющего контороллера.
Дляпитания устройства используется интегральный стабилизатор U5 типа 7805.Потребляемый устройством ток очень небольшой, поэтому радиатор для этоймикросхемы не нужен.
Посколькумикросхемы контроллера ЖКИ требуют небольшого количества сигналов для связи смикроконтроллером, индикатор можно выполнить конструктивно в отдельном корпусеминимального размера и расположить его в удобном для обозрения месте. Проводадатчиков температуры могут иметь длину несколько метров. При этом обязательнодолжен присутствовать земляной провод. Использовать в качестве земли кузовавтомобиля нежелательно. Удобно для термометров использовать аудио кабель,который имеет два провода в общем экране, изолированном снаружи.
AT89C2051- 8-разрядный микроконтроллер с Flash ПЗУ

/>
Рис.2.Структурная схема AT89C2051
МикроконтроллерAT89C51 построен по процессорной архитектуре MCS-51, т.е. он умеет выполнятьассемблерные команды описанные этим стандартом. Стандарт был разработан фирмойINTEL и в дальнейшем стал основой для создания современных INTEL процессоров,но проблема создания маленьких устройств (микроконтроллерных систем) осталасьактуальной и по сей день. В результате первые миниатюрные процессорыэксплуатируется до сих пор (например, в телефонах АОН).
Цифры 31 или51 в названии процессора (контроллера) указывают на принадлежность к системекоманд MCS-51 (31 в отличии от 51, не имеет возможности использовать порт P0 иP2 как порты — на 31 кристалле это только адресные линии и линии данных внешнихустройств [ПЗУ, ОЗУ, Регистров...] = 51 же кристалл имеет возможность незадействованныевыводы адресов использовать как выводы портов ввода — вывода). Цифра 80 вначале указывает на то, что исполняемая программа может быть размещена тольково внешней ПЗУ.
Цифра 83,87или 89 указывает, что программа может быть как во внешней ПЗУ, так и в ПЗУкристалла (это более поздние модели 1990-е годы, уже научились ПЗУ делать наодной подложке вместе с самим процессором), 83 — масочная ПЗУ (программируетсяна заводе изготовителе — например контроллер клавиатуры AT-XT), 87 — однократнопрограммируемая ПЗУ на кристалле процессора в корпусе из пластика илимногократно (до 100 раз ) перепрограммируемая ПЗУ на кристалле в керамическомкорпусе и окошком для УФ стирания.
89 — многократно (до 10000 раз) перепрограммируемая ПЗУ на кристалле, электрическистираемая.
AT- названиефирмы изготовителя ATMEL www.atmel.com/ или www.atmel.ru/ (русскоязычный сайт ATMEL).
Кроме тогоэто может быть DS — Dallas, N- Intel, P-Philips...
Так чтоданная микросхема — это микропроцессор (правильнее сказать микроконтроллер) совстроенной ПЗУ, которую (ПЗУ внутри процессора) и надо запрограммировать, чтобымикросхема начала выполнять требуемые функции.
Данныймикроконтроллер программируется стандартным программатором, поддерживающимпрограммирование этого типа микроконтроллеров (например, программатор UNIPRO).
/>
Рис.3. Общийвид выводов AT89C2051
4. Ассемблирование
Дляассемблирования используется макpоассемблеp MPASM, он содеpжит все необходимыенам возможности. MPASM входит в пакет программ Microchip MPLAB фирмы MicrochipTechnology.
В pезультатеpаботы ассемблеpа создаются файлы со следующими pасшиpениями:
* HEX — объектный файл
* LST — файллистинга
* ERR — файлошибок и пpедупpеждений
* COD
Объектныйфайл создается в 16-pичном фоpмате и содеpжит код, котоpый должен быть записанв микpосхему. Файл листинга содеpжит полный листинг пpогpаммы вместе сзагpузочным кодом. В файл ошибок и пpедупpеждений записываются все ошибки ипpедупpеждения, возникающие в пpоцессе ассемблиpования. Они также пpисутствуюти в файле листинга.
Послеобpаботки нашей пpогpаммы ассемблеp должен был выдать сообщение «AssemblySuccessful», означающее, что ошибок обнаpужено не было. Файл ошибок недолжен был создаться.
Листинг программыи объектный файл приведен в Приложении А.

/>5. Разработка алгоритма работы устройства
Алгоритм работы программы показан на рис. 4. После запуска иинициализации микроконтроллера программа переходит к распределителю, в которомкаждую секунду последовательно измеряется напряжение, проверяются кнопки, ивыполняется вывод на индикацию. Прерывание от этой последовательности происходиткаждую секунду для подсчета времени в часах и таймере, если он включен.
После установки флага «Одна секунда» проверяетсябортовое напряжение. Если присутствует его отклонение от установленного, товключается звуковой сигнал. Если отклонения нет, то измеренные значенияперекодируются для индикации в двоично-десятичный код.
Далее программа переходит к проверке кнопок. Поскольку кнопки —многофункциональные, то и их проверка несколько усложнена. Вначале проверяетсяфлаг индикации часов. Если индикация часов отсутствует, то кнопка установкикурсора «Разряд» не проверяется, а сразу проверяется кнопка«Режим». Если индикация часов включена и нажата кнопка«Разряд», то к регистру курсора прибавляется единица.
Если кнопка «Режим» нажата, то на единицу увеличиваетсярегистр режима. По значению регистра режима из таблицы выбирается режим индикации(рис. 5).
При индикации напряжения ранее перекодируемые значения напряженияпереписываются в регистры индикации.
При индикациичасов проверяется, был ли ранее введен курсор в поле индикатора. Если значениерегистра курсора — ненулевое, то выполняется установка часов. Если при этомнажата кнопка «Установка», то к выбранному разряду прибавляетсяединица, а регистры индикации заполняются новыми значениями. Если установкаотсутствует, то регистры индикации заполняются значениями текущего времени.

/>
Рис. 4.Алгоритм работы автомобильных часов (начало)

/>
Рис. 5. Алгоритм работы автомобильных часов (продолжение)
Однако заполненные регистры индикации еще не готовы к выводу на индикацию— в них необходимо записать значение курсора. Если значение курсора — ненулевое(т.е. он находится в поле индикатора), то он вводится в младший разряд регистраиндикации соответствующего знакоместа.
Если курсор в поле индикатора отсутствует, то обнуляется счетчикцикла записи, и первым импульсом выводится значение запятой для N-го разряда. В принципе,запятая в данном устройстве необходима только одна: для выделения десятых долейнапряжения, — однако подпрограмма вывода на индикацию универсальна, и потомунет смысла ее изменять. Значения запятых заранее записываются в позиционномкоде в регистр запятой (т.е. если необходимо высветить запятую в пятом разрядеиндикатора, то записывают единицу в пятый разряд регистра). При этом необходимопомнить, что первыми в импульсной последовательности идут значения крайнего справаразряда.
После вывода запятой последовательно выводится значение N-ro регистра, начиная смладшего разряда. Затем прибавляется единица к счетчику циклов и, если егозначение не равно девяти, цикл вывода данных на индикатор повторяется соследующим регистром. После вывода значения последнего регистра программавозвращается к ожиданию установки флага «Одна секунда» во время прерывания.
Прерывание организовано обычным образом: по переполнению таймера TMR0. При частоте кварцевогорезонатора 32 768 Гц коэффициент деления предделителя составляет 32, что вместес коэффициентом деления таймера, равным 256, и циклом, равным 4, дает однусекунду (4x32x256 = 32 768).
6. Описание выбора элементной базы и работы принципиальной
схемы
МикросхемаКР1820ВГ1 [1] используется для управления 36-сегментным ЖКИ в режиме3-уровневого мультиплексирования. Микросхема изготавливается по КМОП-технологиии выпускается в 20-выводном пластмассовом DIP-корпусе. Микросхема содержитвстроенный тактовый генератор, резистивный делитель напряжения и делителичастоты, с помощью которых формируются сигналы управления строками (общимиэлектродами) и столбцами (сегментными электродами) ЖКИ в режиме 3-уровневогомультиплексирования. Одна микросхема имеет три выхода управления строками и 12выходов управления столбцами. Предусмотрена возможность каскадирования схем,что позволяет использавать их для управления мультиплексным ЖКИ с числомсегментов более 36. Микросхема не требует никаких навесных компонентов иработает в диапазоне напряжения питания от 3 до 6 вольт. Назначение выводовмикросхемы КР1820ВГ1 показано в таблице 1.
Таблица1. Назначениевыводов микросхемы КР1820ВГ1.Вывод Обозначение Тип Назначение 1...3 COB1, COC3, COB3 Выход Управление столбцами В1, С3, В3 4 CS Вход Выбор кристалла 5 Ucc - Напряжение источника питания 6 GND - Общий 7 D Вход Данные 8...13 COA2, COB4, COB2, COA1, COC2, COC4 Выход Управление столбцами A2, B4, B2, A1, C2, C4 14 C Вход Тактовый сигнал С 15 COA/G Выход Управление сторокой А (вход генератора G) 16 COC/G Выход Управление сторокой С (выход генератора G) 17 COB Выход Управление строкой В 18...20 COC1, COA3, COA4 Выход Управление столбцами B1, A3, A4
МикросхемаКР1820ВГ1 имеет четыре режима работы: одиночный, старший, младший и тестовый. Водиночном режиме одна микросхема управляет 36-сегментным ЖКИ, обеспечиваяполную синхронизацию его работы. Старший и младний режимы предназначены дляорганизации управления ЖКИ с числом сегментов более 36, тестовый режим – дляконтроля качества микросхем в процессе изготовления. Данные вводятся вмикросхему в последовательном коде по входу D с синхронизацией записи фронтомтактовых импульсов по входу C (рис. 6).
/>
Рис.6. Загрузка микросхемы КР1820ВГ1 по последовательной шине
Кодзаписываемых данных определяется конкретной схемой подключения шин управления строкамии столбцами к сегментам ЖКИ, а также конфигурацией ЖКИ.
/>
Рис.7.Конфигурация сегментов ЖКИ.
Нарис. 7 показан пример конфигурации ЖКИ, а в таблице 2 показан порядок следованиябитов в кодовой посылке для этого варианта подключения такого ЖКИ.
Таблица 2. Порядок следования битовв кодовой посылкеБит Вывод Сегмент ЖКИ Бит Вывод Сегмент ЖКИ D0 COA1, COC/G H1 D20 COB3, COC/G D3 D1 COB1, COB G1 D21 COA3,COB C3 D2 COC1,COA/G F1 D22 COA3, COA/G B3 D3 COC1, COB E1 D23 COB3, COA/G A3 D4 COB1, COC/G D1 D24 COA4, COC/G H4 D5 COA1,COB C1 D25 COB4, COB G4 D6 COA1, COA/G B1 D26 COC4,COA/G F4 D7 COB1, COA/G A1 D27 COC4, COB E4 D8 COA2, COC/G H2 D28 COB4, COC/G D4 D9 COB2, COB G2 D29 COA4,COB C4 D10 COC2,COA/G F2 D30 COA4, COA/G B4 D11 COC2, COB E2 D31 COB4, COA/G A4 D12 COB2, COC/G D2 D32 COC1, COC/G P1 D13 COA2,COB C2 D33 COC2, COC/G P2 D14 COA2, COA/G B2 D34 COC3, COC/G P3 D15 COB2, COA/G A2 D35 COC4, COC/G P4 D16 COA3, COC/G H3 D36 Не используется - D17 COB3, COB G3 D37 Q6 - D18 COC3,COA/G F3 D38 Q7 - D19 COC3, COB E3 D39 Q8 -
БитыD0..D7 соответствуют сегментам первого разряда, биты D8..D15 – второго и т. д.Биты D32..D35 соответствуют специальным сегментам P1...P4. Бит D36 можетпринимать любое значение. Биты D37 и D38 (Q6 и Q7) управляют режимом работысхемы согласно таблице 3. Бит D39 (Q8) предназначен для синхронизации работыдвух и более микросхем при каскадировании.
Длязагрузки микросхемы в одиночном режиме необходимо выполнить следующую последовательностьдействий:
· установитьна сходе CS уровень логического 0
· записатьвосемь битов данных для каждой цифры первого-четвертого разрядов
· записатьчетыре бита для специальных сегментов и четыре бита управления:0|0|1|1|P4|P3|P2|P1
· установитьна входе CS уровень логической 1

Таблица 3. Назначение битовуправления микросхемой Бит Режим работы Выход D36 (Q7) D37 (Q6) COC/G COA/G 1 1 Младший Выход управления строкой С Вход генератора 1 Одиночный То же Выход управления строкой А 1 Тестовый - - Старший Выход внутреннего генератора Выход управления строкой А
Послеустановки микросхемы в нужный режим для последующей смены данных необязательнозаписывать все 40 бит информации. Для загрузки микросхемы в старшем и младшемрежимах необходимо выполнить следующую последовательность действий:
· установитьна входе CS обеих схем уровень логического 0
· записать32 бита данных для «младшей» схемы
· записатьчетыре бита для специальных сегментов младшей схемы и четыре бита управления:1|1|1|1|P4|P3|P2|P1 (при подаче последней единицы обе микросхемыустанавливаются в младший режим, выводы COA/G обеих схем работают как входыгенератора. Происходит синхронизация работы микросхем)
· установитьна входах CS обеих схем уровень логической 1
· установитьна входе CS «старшей» схемы уровень логического 0
· записать32 бита данных для старшей схемы
· записатьчетыре бита для специальных сегментов старшей схемы и четыре бита управления:0|0|0|0||P4|P3|P2|P1 (после этого вывод COA/G старшей схемы начитает работатькак выход управления строкой А, а вывод COC/G – как выход встроенногогенератора. Импульсы с выхода генератора старшей схемы поступают на вход генератораCOA/G младшей схемы, и оба кристалла начинают работать синхронно от генераторастаршей схемы)
· установитьна сходе CS установить уровень логической 1
Чтобызаписать во внутренние регистры-защелки новые данные, нет необходимостисбрасывать обе схемы: достаточно записать данные по очереди во внутренниерегистры-защелки каждой схемы. При этом в последний бит D39 должен записыватьсяноль как для старшей, так и для младшей схем.
Нужносказать, что некоторые типы ЖК индикаторов неудовлетворительно работают припитании микросхем драйверов напряжением 5В. Однако картина резко улучшается приснижении напряжения питания до 3.3 – 4.0В. Это сделать совсем несложно, так какпотребляемый драйверами ток очень мал. В цепь питания можно включитьпараметрический стабилизатор напряжения на основе TL431 или даже простойрезистивный делитель. На всех цифровых входах драйверов также понадобятсяделители напряжения.
В качествечасов реального времени применена микросхема DS1302 фирмы Dallas. Этамикросхема имеет раздельные входы для подключения основного и резервногоисточников питания, что избавляет от проектирования довольно хитрых схемперехода на резервный источник. Кроме того, имеется встроенная схема«капельной» зарядки резервного источника питания, которая может быть включенапрограммно. Дополнительно микросхема имеет ОЗУ объемом 31 байт, которое можетбыть использовано для энергонезависимого хранения параметров. Из навесныхэлементов требуется только кварцевый резонатор. Здесь хочется предостеречь отприменения дешевых некачественных резонаторов. Согласно рекомендациям фирмыDallas, требуется резонатор, рассчитанный на емкость нагрузки 6 пФ. В противномслучае точность хода часов будет неудовлетворительной или даже появятсяпроблемы с запуском кварцевого генератора.
Дляобмена с микросхемой DS1302 используются общие с драйверами ЖКИ линии данных итактирования. Разделены только сигналы CS и RST. К сожалению, микросхема DS1302имеет довольно специфический 3-х проводный интерфейс, который в фирменнойдокументации описан весьма неоднозначно. Это довольно редкий пример плохогофирменного описания. Поэтому в новых разработках лучше применять болеесовременные микросхемы, например DS1307 с интерфейсом I2C.
Вкачестве датчиков температуры применены микросхемы цифровых термометров DS1821фирмы Dallas. В цепях данных термометров включены защитные цепочки R11-R14,VD1-VD8, а в цепи питания включен ограничивающий резистор R10 для защиты откороткого замыкания. Несмотря на то, что аппаратно имеется возможностьподключить четыре термометра, данная версия программы работает только с тремя.Это вызвано недостаточным объемом памяти программ. Термометры устанавливаются вразных местах автомобиля. В данном случае они были установлены в салоне, наоткрытом воздухе и в моторном отсеке. Благодаря наличию заданных программнопорогов, кроме индикации температуры осуществляется ещё и контроль ее выхода забезопасные пределы. Ввиду недостаточного объема памяти программ, редактированиепорогов температур не поддерживается. Пороги в виде констант внесены в текстпрограммы. Для первого термометра +55 градусов, а для второго и третьеготермометра +99 градусов.
Дляизмерения напряжения бортовой сети построен простейший 8-разрядный АЦП наоснове встроенного в микроконтроллер компаратора. Для уменьшения влияния помехиспользуется 16-кратное усреднение результатов. Принцип работы АЦП пояснен нарис. 8.

/>
Рисунок8. Принцип работы АЦП
Навходе AIN1 формируется пилообразное напряжение, которое сравнивается с входнымнапряжением, которое через делитель R2, R3 поступает на вход компаратора AIN0.Емкость C8 снижает влияние помех на показания вольтметра. Пилообразноенапряжение формируется на емкости C9 в результате заряда ее стабильным током отгенератора тока, собранного на элементах VT2, VD9, R6. Перед началом измеренияконденсатор C9 разряжен с помощью открытого ключа VT3. Когда начинается циклизмерения, на порту P1.5 устанавливается низкий логический уровень, транзисторVT3 закрывается, и напряжение на конденсаторе C9 начинает линейно нарастать. Вэто время разрешается счет программному счетчику. Счет идет до тех пор, поканапряжение на C9 не станет равным входному (на средней точке делителя R2, R3).При этом переключается встроенный компаратор, и счет запрещается. Значение,накопленное в счетчике, будет пропорционально входному напряжению. Применениегенератора тока (а не резистора) позволило получить линейный закон заряда C9,что исключило необходимость программной линеаризации АЦП, которая потребовалабы дополнительных затрат и так дефицитной памяти программ. Необходимо отметить,что конденсатор C9 должен быть термостабильным, например, с пленочным диэлектрикомтипа К73-17. С помощью резистора R6 подбирают ток генератора таким образом,чтобы показания АЦП совпадали с реальным значением напряжения на входе +B.Кроме индикации напряжения осуществляется контроль его падения ниже порога 10В.В случае такого падения включается звуковая сигнализация.
Дляуправления устройством применяется ИК-пульт дистанционого управления.Конструктивно он выполнен на базе дешевого малогабаритного калькулятора.Использованы только его корпус и клавиатура. В пульту применена микросхемаINA3010D в корпусе SOIC. Для питания используются два элемента СЦ-30.Используемый номер системы кода RC-5 — 1EH. Схема пульта не приводится, так какпрактически повторяет типовую схему включения микросхемы INA3010 (SAA3010) изависит от конфигурации конкретной клавиатуры. Коды, соответствующие кнопкам,также могут отличаться от заданных. Для восстановления соответствия необходимоправильно заполнить перекодировочную таблицу в программе. Сделать это можнодаже не перетранслируя программы с помощью шестнадцатиричного редактора прямо в.bin – файле. Таблица расположена по адресам 7B8H — 7E3H. Соответствие функцийуправления, их внутренних кодов (после перекодировки) и кодов ИК ДУ (доперекодировки) приведено в таблице 4.
Таблица4. Кодыкнопок управленияНомер команды Название команды Внутренний код команды (после перекодировки) Код ИК ДУ (до перекодировки) 1 TIMER  0CH 00H 2 CLOCK 0DH 01H 3 ALARM 0EH 02H 4 LOCK  0FH 03H 5 7 08H 08H 6 8  09H 09H 7 9 0AH 0AH 8 LIST 10H 0BH 9 4 05H 10H 10 5 06H 11H 11 6 07H 12H 12 ESCAPE 11H 13H 13 ALARM DISABLE 14H 18H 14 TIMER CLEAR 13H 1AH 15 01H 20H 16 BACKSPACE 12H 22H 17 1 02H 28H 18 2 03H 29H 19 3 04H 2AH 20 ENTER 0BH 2BH
Воткраткое описание команд управления:
· CLOCK– вход в режим установки текущего времени
· ALARM– вход в режим установки времени будильника
· ALARMDISABLE – выключение будильника
· TIMER– включение индикации значения таймера
· TIMERCLEAR – очистка таймера
· LIST– включение циклической смены параметров
· LOCK– запрещение смены параметров
· 0..9– кнопки для ввода числовых значений параметров
· ENTER– ввод отредактированного параметра
· ESCAPE– отказ от редактирования параметра
· BACKSPACE– возврат на один символ при редактировании
В качестве ИКприемника использована интегральная микросхема SFH-506 фирмы Siemens. Этамикросхема весьма чувствительна к помехам по цепи питания, поэтому применен RCфильтр R15 C7.
Вслучае срабатывания будильника, превышения температурой установленного порогаили понижения напряжения в бортовой сети формируется звуковой сигнал. Для егоформирования использована малогабаритная динамическая головка HA1, котораяподключена через транзисторный ключ VT1. Звуковые сигналы также формируются принажатиях на кнопки управления.
/>
Рис. 9. Принципиальнаясхема в Accel EDA.

ЗАКЛЮЧЕНИЕ
В данномкурсовом проекте разработано устройство — электронные часы-вольтметр-термометр.Разработана схема электрическая принципиальная этого устройства и программа длямикроконтроллера. В результате ассемблирования получена прошивка программы дляпамяти микроконтроллера. Применение микроконтроллера позволило упростить принципиальнуюсхему и расширить функциональные возможности микроконтроллера, так как дляизменения функций устройства достаточно внести изменения в программу микроконтроллера.

СПИСОКЛИТЕРАТУРЫ
1. Белов А.В. Микроконтроллеры АVR в радиолюбительскойпрактике – СП-б, Наука и техника, 2007 – 352с.
2. Проектированиецифровых устройств на однокристальных микроконтроллерах / В.В. Сташин [и др.].– М.: Энергоатомиздат, 1990. – 224 с.
3. Евстифеев А.В.Микроконтроллеры Microchip: практическое руководство/А.В.Евстифеев. – М.:Горячая линия – Телеком, 2002. – 296 с.
4. Кравченко А.В. 10 практических устройств на AVR-микроконтроллерах. Книга1 – М., Додэка –ХХ1, МК-Пресс, 2008 – 224с.
5. Трамперт В. Измерение, управление ирегулирование с помощью АVR-микроконтроллеров: Пер. с нем – К., МК-Пресс,2006 – 208с.
6. Мортон Дж. Микроконтроллеры АVR. Вводный курс /Пер. сангл. – М., Додэка –ХХ1, 2006 – 272с.
7. Техническая документация на микроконтроллерыAT89C2051 фирмы «Atmel». ООО «Микро -Чип», Москва, 2002.-184 с.

ПРИЛОЖЕНИЕА
Листинг программыи объектный файл
;ЧАСЫ-ТЕРМОМЕТР-ВОЛЬТМЕТР ДЛЯ АВТОМОБИЛЯ.
РАЗРАБОТАЛДЕРКАЧ
; ПРОГРАММА =ABTO.ASM
; ВЕРСИЯ:20-01-07.
; АССЕМБЛЕР ИОТЛАДЧИК: MPLAB IDE, ВЕРСИЯ: 5.70.40.
         LIST P=16F676
#INCLUDEP16F676.INC
__CONFIG31D0H
;==============================================
;ИСПОЛЬЗУЕТСЯ КВАРЦ ЧАСТОТОЙ 32768 ГЦ.
; КОЭФФИЦИЕНТДЕЛЕНИЯ ПРЕДДЕЛИТЕЛЯ РАВЕН 32, ЧТО ВМЕСТЕ
; С TMR0(256) И ЦИКЛОМ, РАВНЫМ 4 ТАКТАМ
; ДАЕТ НАВЫХОДЕ 1 СЕКУНДУ (4х32х256=32768).
;==============================================
; RA1 — РЕЖИМ- УСТАНОВКА, RA2 — РАЗРЯД — ПУСК,
; RA3 — ВЫХОДИЗЛУЧАТЕЛЯ,
; RC5 — LOAD,RC3 — DIN,
; RC4 — DCLK
;===========================================
         CBLOCKH'20'
;===========================================
; ОПРЕДЕЛЕНИЕРЕГИСТРОВ ВРЕМЕНИ.
;===========================================
HOU         ; ЧАСЫДВОИЧНЫЕ.
CL             ; ЕДИНИЦЫСЕКУНД ЧАСОВ.
CH            ; ДЕСЯТКИСЕКУНД.
ML            ; ЕДИНИЦЫМИНУТ.
MH            ; ДЕСЯТКИМИНУТ.
HL             ; ЕДИНИЦЫЧАСОВ.
HH            ; ДЕСЯТКИЧАСОВ.
TCL           ; ДЛЯТАЙМЕРА.
TCH           ;
TML           ;
TMH          ;
THL           ;
THH           ;
;===============================================
; РЕГИСТРЫДЛЯ ОРГАНИЗАЦИИ ИНДИКАЦИИ.
;===============================================
ZPT           ; РЕГИСТРЗАПЯТОЙ.
TZPT                  ; ЗАПЯТАЯДЛЯ ВЫВОДА НА ИНДИКАЦИЮ.
COUZ                 ; СЧЕТЧИКВЫВОДА ЗАПЯТЫХ.
COU          ; СЧЕТЧИКВЫВОДА БИТ.
KYPC                 ; ВЫБОРРАЗРЯДА УСТАНОВКИ.
KYPCI                ; ИНДИКАЦИИ.
PEID         ; РЕЖИМАИНДИКАЦИИ.
TEMP                 ; ВРЕМЕННЫЙ.
EDI          ; ДЕСЯТЫЕНАПРЯЖЕНИЯ.
DEI          ; ЕДИНИЦЫВОЛЬТ.
COI          ; ДЕСЯТКИВОЛЬТ.
;================================================
; ВРЕМЕННЫЕ.
;================================================
WTEMP             ; БАЙТСОХРАНЕНИЯ РЕГИСТРА W ПРИ ПРЕРЫВАНИИ.
STEMP               ; БАЙТСОХРАНЕНИЯ РЕГИСТРА STATUS ПРИ ПРЕРЫВАНИИ.
FTEMP               ; ВРЕМЕННЫЙДЛЯ FSR.
TEKH                  ;
EDA           ;
DEA           ;
YCTL                  ;
YCTLI                 ;
;===========================================
; ОПРЕДЕЛЕНИЕБИТОВ СОСТОЯНИЯ ФЛАГОВ.
;===========================================
FLAG        
;
;        0->ВКЛЮЧЕНИЕ СИГНАЛА.
;        1->ТЕКУЩЕЕ ВРЕМЯ.
;        2->ВКЛЮЧЕН РЕЖИМ ТАЙМЕРА.
;        3->ИНДИКАЦИЯ НАПРЯЖЕНИЯ.
;        4->НЕТ КУРСОРА.
;        5->ПУСК-СТОП.
;        6->ПРОЧЕРК В ЧАСАХ.
;        7->УСТАНОВКИ.
;=============================================
FLAG1
;
;        1->1 СЕК ЦИКЛА.
;        2->ПЕРЕДАНА ЗАПЯТАЯ.
;        4->ЗУММЕР ВКЛЮЧЕН.
;        5->СТОРОЖОК НАПОМИНИНИЯ АВАРИИ ЧЕРЕЗ 1 ЧАС.
;===========================================
                   ENDC
;===========================================
; ОПРЕДЕЛЕНИЕРЕГИСТРОВ ИНДИКАЦИИ.
;===========================================
R1     EQU 50H  ; МЛАДШИЙРАЗРЯД.
R2     EQU 51H   ;
R3     EQU 52H   ;
R4     EQU 53H   ;
R5     EQU 54H   ;
R6     EQU 55H   ;
R7     EQU 56H   ;
R8     EQU 57H  ; СТАРШИЙРАЗРЯД.
TEKL         EQU 58H   ;
;===========================================
; ОПРЕДЕЛЕНИЕБИТ ПОРТОВ ВВОДА/ВЫВОДА.
;===========================================
YC    EQU 1      ; РЕЖИМ/УСТАНОВКА.
KY    EQU 2      ; ПУСК/КУРСОР.
LOAD        EQU 5      ; ЗАГРУЗКА.
DIN   EQU 3      ; ДАННЫЕ.
DCLK        EQU 4      ; СИНХРОИМПУЛЬСЫ.
;===========================================
; 1. ПУСК.
;===========================================
         ORG 0
         GOTO        INIT
         ORG 4
         GOTO        PRER
;===========================================
; 2.ИНИЦИАЛИЗАЦИЯ.
;===========================================
INIT
BSF  STATUS,5; ПЕРЕХОДИМВ БАНК 1.
MOVLW    0FFH                   ;
MOVWF    ADCON1^80H; ТАКТ АЦП ОТ ВНУТРЕННЕГО ГЕНЕРАТОРА 500 кГц.
MOVLW    B'00000100'       ; К=32.
MOVWF    OPTION_REG^80H; РЕЗИСТОРЫ ВКЛЮЧЕНЫ.
MOVLW    B'10100000'; РАЗРЕШЕНИЕ ПРЕРЫВАНИЙ ОТ TMR0.
MOVWF    INTCON;
CLRF         PIE1^80H; ЗАПРЕЩЕНЫ ВСЕ ПЕРИФЕРИЙНЫЕ ПРЕРЫВАНИЯ.
MOVLW    B'00001111'; ВСЕ ВЫХОДЫ. 0 — ВХОД АЦП.
MOVWF    TRISA^80H;
CLRF         TRISC^80H; ВСЕ ВЫХОДЫ.
CLRF         VRCON^80H; ИОН ОТКЛЮЧЕН.
CLRF         PCON^80H; ПРЕРЫВАНИЯ ПО ПИТАНИЮ ЗАПРЕЩЕНЫ.
MOVLW    B'00000110';
MOVWF    WPUA^80H; ПОДТЯГИВАЮЩИЕ РЕЗИСТОРЫ ВКЛЮЧЕНЫ.
CLRF         IOCA^80H; ПРЕРЫВАНИЯ ЗАПРЕЩЕНЫ.
MOVLW    .1
MOVWF    ANSEL^80H; ВЫБРАН АНАЛОГОВЫЙ ВХОД RA0/AN0.
BCF  STATUS,5; ПЕРЕХОДИМ В БАНК 0.
CLRF         PORTC; ВЫХОД И СВЕТОДИОД ВЫКЛЮЧЕНЫ.
CLRF         T1CON; ТАЙМЕР 1 ОТКЛЮЧЕН.
MOVLW    .7
MOVWF    CMCON; КОМПАРАТОР ВЫКЛЮЧЕН.
CLRF         FLAG; ВСЕ ОБНУЛЯЕМ И УСТАНАВЛИВАЕМ.
CLRF         FLAG1
CLRF         EDI
CLRF         DEI
CLRF         COI
CLRF         CL
CLRF         CH
CLRF         ML
CLRF         MH
CLRF         HL
CLRF         HH
CLRF         TCL
CLRF         TCH
CLRF         TML
CLRF         TMH
CLRF         THL
CLRF         THH
CLRF         PEID
CLRF         ZPT
CLRF         COUZ
CLRF         COU
CLRF         HOU
MOVLW    96H
MOVWF    YCTL        ; УСТАНОВКАМАКСИМУМА = 15,0 B.
MOVLW    78H
MOVWF    YCTLI       ; УСТАНОВКАМИНИМУМА = 12,0 B.
CLRF         KYPC
BSF  FLAG,4
GOTO        PAC
;==========================================
;3. ТАБЛИЦА СЕГМЕНТОВ.
;==========================================
SEG
                   ;DE G F A B C K
         ADDWF     PCL,1                  ;
         RETLW      B'11011110'        ;0
         RETLW      B'00000110'        ;1
         RETLW      B'11101100'        ;2
         RETLW      B'10101110'        ;3
         RETLW      B'00110110'        ;4
         RETLW      B'10111010'        ;5
         RETLW      B'11111010'        ;6
         RETLW      B'00001110'        ;7
         RETLW      B'11111110'        ;8
         RETLW      B'10111110'        ;9
         RETLW      B'00000000'        ;10->ПУСТО.
         RETLW      B'00100000'        ;11->ПРОЧЕРК.
         RETLW      B'10000000'        ;12->ПРОЧЕРК.
;=================================================
; 4. ТАБЛИЦАПЕРЕКОДИРОВКИ КУРСОРА.
;=================================================
KYPCY
         MOVFW    KYPC                  ;
         ADDWF     PCL,1                  ;
         RETURN                     ; НЕТКУРСОРА.
         RETLW      B'00000100'        ;3
         RETLW      B'00001000'        ;4
         RETLW      B'00010000'        ;5
         RETLW      B'00100000'        ;6
         RETLW      B'01000000'        ;7
;===================================================
; 5. ВЫБОРРЕЖИМА ИНДИКАЦИИ.
;===================================================
VUBOR
         MOVFW    PEID; ИЗМЕНЯЕМРЕЖИМ ИНДИКАЦИИ.
         ADDWF     PCL,1         ;
         GOTO        INDH        ; ИНДИКАЦИЯЧАСОВ.
         GOTO        INDT         ; ТАЙМЕРА.
         GOTO        INDU        ; НАПРЯЖЕНИЯ.
;======================================================
; 6. ВЫБОРРАЗРЯДА УСТАНОВКИ.
;======================================================
YCT
         BTFSC       PORTA,YC; ЕСЛИКНОПКА «РЕЖИМ» НАЖАТА,
         RETURN
         MOVFW    KYPC       ; ТОПО КУРСОРУ
         ADDWF     PCL,1        ; ВЫБИРАЕМРАЗРЯД УСТАНОВКИ.
         RETURN            ; НЕТКУРСОРА.
         GOTO        YC0 ; МИНУТЫ.
         GOTO        YC1 ; ДЕСЯТКИМИНУТ.
         GOTO        YCE ; ОБНУЛЕНИЕ.
         GOTO        YC2 ; ЧАСЫ.
         GOTO        YC3 ; ДЕСЯТКИЧАСОВ.
;======================================================
; 7. ТАБЛИЦЫПЕРЕВОДА ДЕСЯТКОВ В ДВОИЧНОЕ ЧИСЛО.
;======================================================
DEBIN
         ADDWF     PCL,1         ;
         RETLW      .0
         RETLW      .10
         RETLW      .20
         RETLW      .30
         RETLW      .40
         RETLW      .50
         RETLW      .60
         RETLW      .70
         RETLW      .80
         RETLW      .90
;======================================================
; 8. ПРОВЕРКАНАЖАТЫХ КНОПОК УСТАНОВКИ.
;======================================================
KHOP
         BTFSS       FLAG,1     ; ЕСЛИНЕТ РЕЖИМА ЧАСОВ,
         GOTO        $+5  ; ТОКУРСОР НЕ МЕНЯЕТСЯ.
         BTFSS       PORTA,KY; ПРИНАЖАТОЙ КНОПКЕ
         CALL         KYPCOP  ; ИДЕМНА УСТАНОВКУ КУРСОРА.
         BTFSC       FLAG,7     ; ЕСЛИИДЕТ УСТАНОВКА,
         GOTO        VUBOR    ; ТОРЕЖИМ НЕ МЕНЯЕТСЯ.
         BTFSC       PORTA,YC; ЕСЛИКНОПКА «РЕЖИМ» НАЖАТА,
         GOTO        VUBOR    ; ИЛИИДЕМ НА ВЫБОР РЕЖИМА ИНДИКАЦИИ.
         INCF PEID,1      ; ИЗМЕНЕНИЕРЕЖИМА ИНДИКАЦИИ.
         MOVLW    .3      ;3РЕЖИМОВ ИНДИКАЦИИ.
         SUBWF     PEID,0      ; ЕСЛИБОЛЬШЕ,
         BTFSS       STATUS,2; ТОПОЙДЕМ НА СБРОС.
         GOTO        VUBOR    ; НАЗАПИСЬ В РЕГИСТРЫ ИНДИКАЦИИ.
         CLRF         PEID; СБРОСРЕЖИМА.
         GOTO        VUBOR    ; НАВЫБОР РЕЖИМА ИНДИКАЦИИ.
         RETURN
;=================================================
; 9.УСТАНОВКА КУРСОРА (ВЫБОР РАЗРЯДА УСТАНОВКИ).
;=================================================
KYPCOP
         BSF  FLAG,7     ; УСТАНОВКА.
         BCF  FLAG,4     ; СБРОСФЛАГА НЕТ КУРСОРА.
         INCF KYPC,1    ; ПРИБАВИМЕДИНИЦУ В КУРСОР.
         MOVLW    .6     ; НЕБОЛЕЕ 5.
         SUBWF     KYPC,0     ;
         SKPC                 ; ЕСЛИБОЛЬШЕ ИЛИ РАВНО 6,
         RETURN             ;
         CLRF         KYPC       ; ОБНУЛИМ.
         BSF  FLAG,4     ; НЕТКУРСОРА В ПОЛЕ.
         BCF  FLAG,7     ; НЕТУСТАНОВКИ.
         RETURN             ;
;=========================================
; 10. ВВОДКУРСОРА В МЛ. РАЗРЯД РЕГИСТРОВ.
;=========================================
KYPVO
         BTFSC       FLAG,4     ; ЕСЛИНЕТ КУРСОРА,
         RETURN            ; ТОВЕРНЕМСЯ.
         CALL         KYPCY     ; УСТАНОВИМРЕЖИМЫ.
         MOVWF    KYPCI      ; ВКУРСОР ИНДИКАЦИИ.
         RRF  KYPCI,1   ; ЗАПОЛНИМБИТ «С».
         ADDCF      R1,1 ; ПЕРЕНЕСЕМВ РЕГИСТР ИНДИКАЦИИ.
         RRF  KYPCI,1   ; ЗАПОЛНИМБИТ «С».
         ADDCF      R2,1 ; ПЕРЕНЕСЕМВ РЕГИСТР ИНДИКАЦИИ.
         RRF  KYPCI,1   ; ОСТАЛЬНЫЕРЕГИСТРЫ
         ADDCF      R3,1 ; ЗАПОЛНЯЕМАНАЛОГИЧНО.
         RRF  KYPCI,1    ;
         ADDCF      R4,1  ;
         RRF  KYPCI,1    ;
         ADDCF      R5,1  ;
         RRF  KYPCI,1    ;
         ADDCF      R6,1  ;
         RRF  KYPCI,1    ;
         ADDCF      R7,1  ;
         RRF  KYPCI,1    ;
         ADDCF      R8,1  ;
         RETURN             ;
;=============================================
; 11. ВЫВОДНА ИНДИКАЦИЮ.
;=============================================
IND
         CALL         KYPVO    ; ВВЕДЕМКУРСОРЫ В РЕГИСТРЫ ИНДИКАЦИИ.
         MOVFW    ZPT  ; ЗНАЧЕНИЯЗАПЯТЫХ ПЕРЕПИШЕМ
         MOVWF    TZPT         ; ВОВРЕМЕННЫЙ РЕГИСТР.
         BSF  FLAG1,2   ; ЗАПЯТАЯПЕРЕДАНА.
         BCF  PORTC,DIN       ; ДАННЫЕРАВНЫ НУЛЮ.
         BCF  PORTC,LOAD   ; НАЧАЛОПЕРЕДАЧИ (LOAD=0).
         RRF  TZPT,1      ; ВЫТОЛКНЕМОЧЕРЕДНУЮ ЗАПЯТУЮ.
         CALL         VUV0        ;
         BCF  FLAG1,2   ; ЗАПЯТАЯПЕРЕДАНА.
         MOVLW    R1    ; ЗАПИШЕМАДРЕС ПЕРВОГО РЕГИСТРА ИНДИКАЦИИ.
         MOVWF    FSR  ;
         MOVFW    INDF; ЗНАЧЕНИЕПЕРВОГО РЕГИСТРА
         MOVWF    TEMP       ; ПЕРЕПИШЕМВО ВРЕМЕННЫЙ.
         BCF  PORTC,LOAD   ; НАЧАЛОПЕРЕДАЧИ (LOAD=0).
         CALL         VUVOD    ; НАВЫВОД.
POVT
         BSF  FLAG1,2   ; ЗАПЯТАЯПЕРЕДАНА.
         RRF  TZPT,1      ; ВЫТОЛКНЕМОЧЕРЕДНУЮ ЗАПЯТУЮ.
         CALL         VUV0        ;
         BCF  FLAG1,2   ; ЗАПЯТАЯПЕРЕДАНА.
         INCF FSR,1        ; УВЕЛИЧИМАДРЕС РЕГИСТРА ИНДИКАЦИИ.
         MOVFW    INDF; ПЕРЕПИШЕМЕГО ЗНАЧЕНИЕ
         MOVWF    TEMP       ; ВОВРЕМЕННЫЙ.
         CALL         VUVOD    ; НАВЫВОД.
         INCF COUZ,1    ; ПОДСЧИТАЕМЧИСЛО
         MOVLW    .7     ; ПЕРЕДАВАЕМЫХ
         SUBWF     COUZ,0    ; ЗАПЯТЫХ.
         BTFSC       STATUS,2;
         CLRF         COUZ       ; ОБНУЛИМ СЧЕТЧИК.
         BTFSS       STATUS,2;
         GOTO        POVT                 ; ПОВТОРИМ ВЫВОД.
         BSF  PORTC,LOAD   ; КОНЕЦПЕРЕДАЧИ.
         RETURN             ;
CUNX
         BSF  PORTC,DCLK   ; СИНХРОТМПУЛЬС = 1.
         CALL         PAUS        ; ПАУЗА.
         BCF  PORTC,DCLK   ; СИНХРОИМПУЛЬС = 0.
         RETURN            ; ВОЗВРАТ.
PAUS
MOVLW .5        ; МОЖНОПОДБИРАТЬ ЗНАЧЕНИЕ ПАУЗЫ.
ADDLW -1; ПАУЗА= ЧИСЛО Х 4 МКС.
BTFSSSTATUS,2;
GOTO$-2 ; ПОВТОРИМ.
RETURN            ; ВЕРНЕМСЯ.
VUVOD
         RRF  TEMP,1    ; СДВИНЕМ ВПРАВО.
VUV0
         BTFSS       STATUS,0; ПОНУЛЕВОМУ РАЗРЯДУ
         BCF  PORTC,DIN       ; УСТАНАВЛИВАЕМДАННЫЕ
         BTFSC       STATUS,0; В0 ИЛИ 1.
         BSF  PORTC,DIN        ;
         CALL         CUNX       ; СИНХРОНИЗИРУЕМДАННЫЕ.
         BTFSC       FLAG1,2   ; ЕСЛИЗАПЯТАЯ ПЕРЕДАНА,
         RETURN            ; ТОВЕРНЕМСЯ.
         INCF COU,1       ; ПОДСЧИТАЕМЧИСЛО БИТ.
         MOVLW    .8      ;
         SUBWF     COU,0        ;
         BTFSS       STATUS,2; ЕСЛИНЕ ВСЕ БИТЫ ПЕРЕДАНЫ,
         GOTO        VUVOD    ; ПОВТОРИМВЫВОД.
         CLRF         COU; ОБНУЛИМСЧЕТЧИК.
         RETURN             ;
;======================================================
; 12.СОХРАНЕНИЕ И ВОССТАНОВЛЕНИЕ ЗНАЧЕНИЙ РЕГИСТРОВ ПРИ ПРЕРЫВАНИИ.
;======================================================
PRER
MOVWF    WTEMP    ; СОХРАНЕНИЕЗНАЧЕНИЙ РЕГИСТРОВ W,
MOVFW    STATUS    ;STATUS,
MOVWF    STEMP      ;
MOVFW    FSR  ;FSR.
MOVWF    FTEMP      ;
         BSF  FLAG1,1    ;1СЕК ЦИКЛА.
         CALL         S1    ; ПОДСЧИТАЕМ ВРЕМЯ.
         BTFSC       FLAG,2      ;
         CALL         TAIM         ;
REPER; ВОССТАНОВЛЕНИЕСОХРАНЕННЫХ ЗНАЧЕНИЙ.
         MOVFW    STEMP     ; ВОССТАНОВЛЕНИЕРЕГИСТРОВ:
         MOVWF    STATUS    ;STATUS,
         MOVFW    FTEMP      ;
         MOVWF    FSR  ;FSR,
         MOVFW    WTEMP     ;W.
         BCF  INTCON,2; СБРАСЫВАЕМ ФЛАГ ПРЕРЫВАНИЯ ОТ TMR0.
         RETFIE              ; ВОЗВРАТИЗ ПРЕРЫВАНИЯ.
;=============================================
; 13. ПОДСЧЕТВРЕМЕНИ.
;=============================================
S1
         BTFSC       FLAG1,5    ;
         GOTO        $+8   ;
         BTFSS       FLAG1,4    ;
         GOTO        $+6   ;
         BTFSC       PORTC,0  ; СМЕНАВКЛЮЧЕНИЯ ЗУММЕРА.
         GOTO        $+3   ;
         BSF  PORTC,0  ; ВКЛЮЧИМСИГНАЛ.
         GOTO        $+2   ;
         BCF  PORTC,0   ;
         MOVLW    .9     ; ЕСЛИУЖЕ 9 СЕКУНД,
         SUBWF     CL,0  ;
         BC    SH   ; ИДЕМНА СРАВНЕНИЕ ДЕСЯТКОВ СЕКУНД.
         INCF CL,1 ; ИНАЧЕПРИБАВИМ ЕДИНИЦУ.
         RETURN
SH
         CLRF         CL    ; ОБНУЛИМСЕКУНДЫ.
         MOVFW    CH   ; ЕСЛИДЕСЯТКИ СЕКУНД
         ADDLW     -5H  ; РАВНЫ5,
         BZ     MIL  ; ИДЕМСРАВНИВАТЬ МИНУТЫ.
         INCF CH,1; ИНАЧЕУВЕЛИЧИМ ДЕСЯТКИ СЕКУНД.
         RETURN
MIL
         CLRF         CH   ; ОБНУЛИМДЕСЯТКИ СЕКУНД.
         MOVFW    ML   ; ЕСЛИЕДИНИЦЫ МИНУТ
         ADDLW     -9H  ; РАВНЫ9,
         BZ     MIH ; ИДЕМСРАВНИВАТЬ ДЕСЯТКИ.
         INCF ML,1; ИНАЧЕУВЕЛИЧИМ МИНУТЫ.
         RETURN
MIH
         BSF  FLAG1,4   ; ПРОШЛО10 МИНУТ КУРСОР ВЫКЛЮЧАЕТСЯ.
         BCF  FLAG,7     ; НЕТУСТАНОВКИ.
         CLRF         KYPC       ; НЕТКУРСОРА.
         CLRF         ML   ; ОБНУЛИМЕДИНИЦЫ МИНУТ.
         MOVFW    MH  ; ЕСЛИДЕСЯТКИ МИНУТ
         ADDLW     -5H  ; РАВНЫ5,
         BZ     HOL ; ИДЕМСРАВНИВАТЬ ЧАСЫ.
         INCF MH,1         ; ИЛИУВЕЛИЧИМ ДЕСЯТКИ МИНУТ.
         RETURN
HOL
         BCF  FLAG1,5   ; НАПОМИНАНИЕОБ АВАРИИ НАПРЯЖЕНИЯ.
         CLRF         MH  ; ОБНУЛИМДЕСЯТКИ МИНУТ.
         MOVFW    HH   ; ЕСЛИДЕСЯТКИ ЧАСОВ
         ADDLW     -2H  ; РАВНЫ2,
         BZ     HL4 ; ПРОВЕРИМЕДИНИЦЫ ЧАСОВ.
         MOVFW    HL   ; ЕСЛИЕДИНИЦЫ ЧАСОВ РАВНЫ 9,
         ADDLW     -9H   ;
         BZ     $+3  ; УВЕЛИЧИМДЕСЯТКИ ЧАСОВ.
         INCF HL,1; ИЛИУВЕЛИЧИМ ЕДИНИЦЫ ЧАСОВ.
         RETURN
         CLRF         HL    ;
         INCF HH,1 ;
         RETURN
HL4
         MOVFW    HL   ; ЕСЛИЕДИНИЦЫ ЧАСОВ
         ADDLW     -3H  ; РАВНЫ3,
         BZ     HOH; ИДЕМОБНУЛЯТЬ.
         INCF HL,1; ИЛИПРИБАВИМ ЕДИНИЦУ.
         RETURN
HOH
         CLRF         HL    ;
         CLRFHH  ; ОБНУЛИМ ДЕСЯТКИ ЧАСОВ.
         RETURN             ;
;=============================================
; 14. ТАЙМЕР.
;=============================================
TAIM
         BSF  FLAG,5     ; СЛЕДУЮЩАЯОСТАНОВКА ТАЙМЕРА.
         MOVLW    .9     ; ЕСЛИУЖЕ 9 СЕКУНД,
         SUBWF     TCL,0         ;
         BC    $+3  ; ИДЕМНА СРАВНЕНИЕ ДЕСЯТКОВ СЕКУНД.
         INCF TCL,1        ; ИНАЧЕПРИБАВИМ ЕДИНИЦУ.
         RETURN
         CLRF         TCL ; ОБНУЛИМ СЕКУНДЫ.
         MOVFW    TCH ; ЕСЛИДЕСЯТКИ СЕКУНД
         ADDLW     -5H  ; РАВНЫ5,
         BZ     $+3  ; ИДЕМСРАВНИВАТЬ МИНУТЫ.
         INCF TCH,1       ; ИНАЧЕУВЕЛИЧИМ ДЕСЯТКИ СЕКУНД.
         RETURN
         CLRF         TCH ; ОБНУЛИМДЕСЯТКИ СЕКУНД.
         MOVFW    TML; ЕСЛИЕДИНИЦЫ МИНУТ
         ADDLW     -9H  ; РАВНЫ9,
         BZ     $+3  ; ИДЕМСРАВНИВАТЬ ДЕСЯТКИ.
         INCF TML,1       ; ИНАЧЕУВЕЛИЧИМ МИНУТЫ.
         RETURN
         CLRF         TML; ОБНУЛИМЕДИНИЦЫ МИНУТ.
         MOVFW    TMH; ЕСЛИДЕСЯТКИ МИНУТ
         ADDLW     -5H  ; РАВНЫ5,
         BZ     $+3  ; УВЕЛИЧИМЧАСЫ.
         INCF TMH,1      ; ИЛИУВЕЛИЧИМ ДЕСЯТКИ МИНУТ.
         RETURN
         CLRF         TMH; ОБНУЛИМДЕСЯТКИ МИНУТ.
         MOVFW    THL ; ЕСЛИЕДИНИЦЫ ЧАСОВ РАВНЫ 9,
         ADDLW     -9H   ;
         BZ     $+3  ; УВЕЛИЧИМДЕСЯТКИ ЧАСОВ.
         INCF THL,1       ; ИЛИУВЕЛИЧИМ ЕДИНИЦЫ ЧАСОВ.
         RETURN
         CLRF         THL ; ОБНУЛИМ ЧАСЫ.
         MOVFW    THH; ЕСЛИДЕСЯТКИ ЧАСОВ РАВНЫ 9,
         ADDLW     -9H   ;
         BZ     $+3  ; ОБНУЛИМ.
         INCF THH,1       ; ИЛИУВЕЛИЧИМ ДЕСЯТКИ ЧАСОВ.
         RETURN
         CLRF         THH ;
         RETURN
T00
         BTFSS       FLAG,5      ;
         GOTO        $+4   ;
         BCF  FLAG,2     ; ТАЙМЕР ВЫКЛЮЧЕН.
         BCF  FLAG,5     ; СЛЕДУЮЩЕЕВКЛЮЧЕНИЕ ТАЙМЕРА.
         RETURN             ;
         CLRF         TCL ; ВСЕ ОБНУЛЯЕМ.
         CLRF         TCH  ;
         CLRF         TML ;
         CLRF         TMH ;
         CLRF         THL  ;
         CLRF         THH ;
         BSF  FLAG,2     ; ВКЛЮЧИМ ТАЙМЕР.
         RETURN
;===================================================
; 15. АЦП — ПРЕОБРАЗОВАНИЯ (ИЗМЕРЕНИЕ ВХОДНЫХ ВЕЛИЧИН).
;===================================================
ADP
MOVLW    B'10000001'       ; СИНХРОНИЗАЦИЯОТ RC
MOVWF    ADCON0           ; ГЕНЕРАТОРА,ВХОД 0, ВКЛЮЧЕНИЕ АЦП (YBX).
         CALL         ZAD           ;
BSF  ADCON0,1        ; ВКЛЮЧИМПРЕОБРАЗОВАНИЕ.
BTFSC       ADCON0,1        ; ОЖИДАЕМЗАВЕРШЕНИЯ
GOTO        $-1  ; ПРЕОБРАЗОВАНИЯ.
MOVFW    ADRESH ; ПЕРЕПИШЕМ РЕЗУЛЬТАТ ПРЕОБРАЗОВАНИЯ
MOVWF    TEKH                 ; ВСТАРШИЙ ТЕКУЩИЙ РЕГИСТР.
         BSF  STATUS,5; ПЕРЕХОДИМВ БАНК 1.
         MOVLW    58               ;
         MOVWF    FSR           ; ПОКОСВЕННОЙ АДРЕСАЦИИ
         MOVFW    ADRESL            ; ЗАПИСЬМЛ. РЕГИСТРА АЦП
         MOVWF    INDF         ; ВРЕГИСТР TEKL.
         BCF  STATUS,5; ПЕРЕХОДИМВ БАНК 0.
         CALL         COMPA              ;
         GOTO        BINDEC             ; ПЕРЕКОДИРУЕМ В 2_10 КОД.
ZAD
         MOVLW    .5               ; ЗАДЕРЖКА 20 МКС.
         ADDLW     -1                ;
         BTFSS       STATUS,2 ;
         GOTO        $-2              ;
         RETURN
;===========================
; 16.СРАВНЕНИЕ С УСТАНОВКОЙ.
;===========================
COMPA
         TSTF          TEKL         ;
         BTFSC       STATUS,2;
         GOTO        VUKL        ;
         MOVFW    YCTL        ; УСТАНОВКАМАКСИМУМА.
         SUBWF     TEKL,0     ; ИЗМЕРЕНИЕ,
         BTFSC       STATUS,0; ЕСЛИБОЛЬШЕ ИЛИ РАВНО,
         GOTO        VUKL       ; ТОВКЛЮЧАЕТСЯ ЗУММЕР.
         MOVFW    YCTLI       ; УСТАНОВКАМИНИМУМА.
         SUBWF     TEKL,0     ; ИЗМЕРЕНИЕ,
         BTFSS       STATUS,0; ЕСЛИМЕНЬШЕ,
         GOTO        VUKL       ; ТОВКЛЮЧАЕТСЯ ЗУММЕР.
         BTFSC       STATUS,2; ЕСЛИРАВНО,
         GOTO        VUKL       ; ТОВКЛЮЧАЕТСЯ ЗУММЕР.
         BCF  FLAG1,4   ; ЗУММЕРВЫКЛЮЧЕН.
         BCF  FLAG1,5   ; ЗУММЕРВЫКЛЮЧЕН.
         BCF  PORTC,0  ; ВЫКЛЮЧИМСИГНАЛ.
         RETURN
VUKL
         BTFSC       PORTA,KY;
         GOTO        $+5   ;
         BSF  FLAG1,5   ; ПОСТАВИМСТОРОЖОК НА 1 ЧАС.
         BCF  PORTC,0  ; ВЫКЛЮЧИМСИГНАЛ.
         BTFSC       FLAG1,5   ; ЕСЛИ1 ЧАС ПРОШЕЛ, ТО ВКЛЮЧИМ СИГНАЛ.
         RETURN
         BTFSC       FLAG1,4   ; ЕСЛИВЫХОД УЖЕ ВЫКЛЮЧЕН,
         RETURN            ; СРАВНЕНИЙНЕТ.
         BSF  PORTC,0  ; ВКЛЮЧИМСИГНАЛ.
         BSF  FLAG1,4   ; ЗУММЕРВКЛЮЧЕН.
         RETURN
;======================================================
; 17.ПЕРЕКОДИРОВКА ИЗ 16-И РАЗРЯДНОГО 2-ГО В 5- РАЗРЯДНОЕ 2-10-Е.
; АЛГОРИТМПЕРЕКОДИРОВКИ ОСНОВЫВАЕТСЯ НА ПРИБАВЛЕНИИ 3 В МЛАДШИЙ
; И СТАРШИЙПОЛУБАЙТЫ. ЕСЛИ РЕЗУЛЬТАТ СПЕРЕНОСОМ 1 В 3 РАЗРЯД (10=7+3), ТО ЗАПИСЫВАЕМ
; НОВОЕЗНАЧЕНИЕ В РЕГИСТР. ВЫПОЛНЯЕМ 16 РАЗ СДВИГАЯ БИТЫ РЕГИСТРОВ.
;======================================================
BINDEC
MOVLW .16; ЗАПИШЕМЧИСЛО СДВИГОВ
MOVWF COU; ВСЧЕТЧИК.
BIDE
BCF STATUS,0; ОБНУЛИМБИТ «С».
RLF TEKL,1; СДВИНЕМПЕРЕКОДИРУЕМОЕ
RLF TEKH,1; ЧИСЛОПЕРЕМЕЩАЯ ЕГО СТАРШИЙ БИТ
RLF EDA,1; ВМЛАДШИЙ БИТ РЕГИСТРОВ
RLF DEA,1; РЕЗУЛЬТАТА.
DECFSZ COU,1; ЗАФИКСИРУЕМСДВИГ В СЧЕТЧИКЕ.
GOTO RASDEC; ПРОВЕРИМПОЛУБАЙТЫ НА СЕМЕРКУ.
GOTO MESTO; ЕСЛИСЧЕТЧИК ПУСТ, ЗАПОЛНИМ РЕГИСТРЫ ИНДИКАЦИИ.
RASDEC
MOVLW EDA; ЗАПИШЕМАДРЕС РЕГИСТРА
MOVWF FSR; ВРЕГИСТР КОСВЕННОЙ АДРЕСАЦИИ.
CALL BCD; ПРОВЕРИМЗНАЧЕНИЕ РЕГИСТРА НА 7.
MOVLW DEA; АНАЛОГИЧНЫЕОПЕРАЦИИ ПРОДЕЛАЕМ
MOVWF FSR; СДРУГИМИ РЕГИСТРАМИ.
CALL BCD ;
GOTO BIDE; ПОЙДЕМПОВТОРЯТЬ СДВИГ.
BCD
MOVLW 3 ;00000011
ADDWF 0,0; ПРИБАВИМ3 К РЕГИСТРУ И РЕЗУЛЬТАТ
MOVWF TEMP; ЗАПИШЕМВО ВРЕМЕННЫЙ РЕГИСТР.
BTFSC TEMP,3; ПРОВЕРИМ3 БИТ И ЕСЛИ ОН РАВЕН НУЛЮ,
MOVWF 0; ПРОПУСКАЕМЗАПИСЬ РЕЗУЛЬТАТА В РЕГИСТР.
MOVLW 30 ;48=00110000
ADDWF 0,0; ПРИБАВИМ3 К СТАРШЕМУ ПОЛУБАЙТУ РЕГИСТРА И РЕЗУЛЬТАТ
MOVWF TEMP; ЗАПИШЕМВО ВРЕМЕННЫЙ РЕГИСТР.
BTFSC TEMP,7; ЕСЛИБИТ ЕДИНИЧНЫЙ,
MOVWF 0; ТОЗАПИШЕМ НОВОЕ ЗНАЧЕНИЕ В РЕГИСТР.
RETURN; ВЕРНЕМСЯДЛЯ ЗАГРУЗКИ НОВОГО ЗНАЧЕНИЯ РЕГИСТРА.
;======================================================
; 18.ИЗВЛЕКАЕМ ПОЛУБАЙТЫ ИЗ РЕГИСТРОВ СЧЕТА В РЕГИСТРЫ ИНДИКАЦИИ.
;======================================================
MESTO
         MOVLW    B'00001111'       ; ИЗВЛЕКАЕМПОЛУБАЙТЫ
         ANDWF     DEA,0                ; ВРЕГИСТРЫ ИНДИКАЦИИ.
         MOVWF    COI            ;
         MOVLW    B'11110000'        ;
         ANDWF     EDA,0       ;
         MOVWF    DEI  ;
         SWAPF      DEI,1        ;
         MOVLW    B'00001111'        ;
         ANDWF     EDA,0                 ;
         MOVWF    EDI            ;
         CLRF         EDA           ;
         CLRF         DEA           ;
         RETURN                      ;
;==================================================
; 19. СМЕНАИНДИКАЦИИ ПРИ СМЕНЕ РЕЖИМА.
;==================================================
INDH
         BTFSC       FLAG,7     ; ЕСЛИКУРСОР ЕСТЬ,
         CALL         YCT ; ТОИДЕМ НА УСТАНОВКУ.
         MOVLW    .10   ; ПУСТО.
         CALL         SEG ; ЗАПОЛНИМРЕГИСТРЫ ИНДИКАЦИИ.
         MOVWF    R1     ;
         MOVWF    R2     ;
         MOVWF    R8     ;
         BTFSS       FLAG,6      ;
         GOTO        $+6   ;
         MOVLW    .11   ; ПРОЧЕРК СРЕДНИЙ.
         CALL         SEG  ;
         MOVWF    R5     ;
         BCF  FLAG,6      ;
         GOTO        $+5   ;
         MOVLW    .12   ; ПРОЧЕРК НИЖНИЙ.
         CALL         SEG  ;
         MOVWF    R5     ;
         BSF  FLAG,6      ;
         MOVFW    ML    ;
         CALL         SEG  ;
         MOVWF    R3     ;
         MOVFW    MH   ;
         CALL         SEG  ;
         MOVWF    R4     ;
         MOVFW    HL    ;
         CALL         SEG  ;
         MOVWF    R6     ;
         MOVFW    HH    ;
         CALL         SEG  ;
         MOVWF    R7     ;
         BSF  FLAG,1     ; ВКЛЮЧИМ РЕЖИМ ЧАСОВ.
         CLRF         ZPT   ;
         RETURN             ;
INDT
         BTFSS       PORTA,KY; ЕСЛИ КНОПКА НАЖАТА,
         CALL         T00  ; ТОИДЕМ ОБНУЛЯТЬ ТАЙМЕР.
         MOVFW    TCL ; ЗАПОЛНИМРЕГИСТРЫ ИНДИКАЦИИ
         CALL         SEG ; МИНУТИ СЕКУНД ПРАВЫХ ЧАСОВ.
         MOVWF    R1     ;
         MOVFW    TCH  ;
         CALL         SEG  ;
         MOVWF    R2     ;
         MOVFW    TML ;
         CALL         SEG  ;
         MOVWF    R4     ;
         MOVFW    TMH ;
         CALL         SEG  ;
         MOVWF    R5     ;
         MOVLW    .11   ; ПРОЧЕРК.
         CALL         SEG  ;
         MOVWF    R3     ;
         MOVWF    R6     ;
         MOVFW    THL  ;
         CALL         SEG  ;
         MOVWF    R7     ;
         MOVFW    THH ;
         CALL         SEG  ;
         MOVWF    R8     ;
         BCF  FLAG,1     ; РЕЖИМ ЧАСЫ ВЫКЛЮЧЕН.
         BCF  FLAG,7     ; НЕТУСТАНОВКИ.
         RETURN             ;
INDU
         MOVLW    .10   ; ПУСТО.
         CALL         SEG ; ЗАПОЛНИМРЕГИСТРЫ ИНДИКАЦИИ.
         MOVWF    R1     ;
         MOVWF    R2     ;
         MOVWF    R3     ;
         MOVWF    R7     ;
         MOVWF    R8     ;
MOVFWCOI      ;
         CALL         SEG  ;
         MOVWF    R6     ;
MOVFWDEI      ;
         CALL         SEG  ;
         MOVWF    R5     ;
MOVFWEDI      ;
         CALL         SEG  ;
         MOVWF    R4     ;
         BSF  ZPT,4         ;
         RETURN             ;
;===================================================
; 20.РАСПРЕДЕЛИТЕЛЬ.
;===================================================
PAC
         BTFSS       FLAG1,1   ; ЖДЕМ1 СЕКУНДУ.
         GOTO        $-1    ;
         CALL         ADP  ;
         CALL         KHOP       ; НАПРОВЕРКУ КНОПОК.
         CALL         IND  ; НАИНДИКАЦИЮ.
         BCF  FLAG1,1    ;
         GOTO        PAC ; ПОВТОРИМ.
;=====================================================
; 21.УСТАНОВКА ВРЕМЕНИ.
;=====================================================
YC0
         INCF ML,1         ; УВЕЛИЧИМЕДИНИЦЫ МИНУТ.
         MOVLW    .10             ; НЕБОЛЕЕ 9.
         SUBWF     ML,0          ;
         SKPNC                        ; ЕСЛИБОЛЬШЕ ИЛИ РАВНО 10,
         CLRF         ML            ; ТООБНУЛИМ.
         RETURN
YC1
INCF MH,1                  ; УВЕЛИЧИМДЕСЯТКИ МИНУТ.
MOVLW    .6               ; НЕБОЛЕЕ 5.
SUBWF     MH,0                   ;
SKPNC                        ; ЕСЛИБОЛЬШЕ ИЛИ РАВНО 6,
CLRF         MH            ; ТООБНУЛИМ.
RETURN
YC2
         INCF HL,1          ; УВЕЛИЧИМЕДИНИЦЫ ЧАСОВ.
         MOVLW    .10             ; НЕБОЛЕЕ 9.
         SUBWF     HL,0           ;
         SKPNC                         ;
         CLRF         HL             ; ЕСЛИБОЛЬШЕ, ТО ОБНУЛИМ.
         MOVFW    HH            ; ПЕРЕКОДИРУЕМВ ДВОИЧНЫЙ
         CALL         DEBIN               ; КОДДЕСЯТКИ.
         ADDWF     HL,0          ; ПРИБАВИМЕДИНИЦЫ
         MOVWF    HOU         ; ДВОИЧНОЕЗНАЧЕНИЕ НЕ ДОЛЖНО
ADDLW     -18H          ; ПРЕВЫШАТЬ- 24.
         SKPC                           ; ЕСЛИБОЛЬШЕ ИЛИ РАВНО 24,
         RETURN
         CLRF         HOU         ; ТООБНУЛИМ ЧАСЫ ДВОИЧНЫЕ
         CLRF         HL             ; ИРАЗРЯДЫ СТАРШИЙ
         CLRF         HH            ; ИМЛАДШИЙ.
         RETURN
YC3
INCF HH,1         ; УВЕЛИЧИМДЕСЯТКИ ЧАСОВ.
MOVLW    .3               ; НЕБОЛЕЕ 2.
SUBWF     HH,0          ;
SKPNC                         ;
CLRF         HH            ; ЕСЛИБОЛЬШЕ, ТО ОБНУЛИМ.
         MOVFW    HH            ; ПЕРЕКОДИРУЕМВ ДВОИЧНЫЙ
         CALL         DEBIN               ; КОДДЕСЯТКИ.
         ADDWF     HL,0          ; ПРИБАВИМЕДИНИЦЫ
         MOVWF    HOU         ; ИПОЛУЧИМ ДВОИЧНОЕ ЧИСЛО.
ADDLW     -18H           ;
         SKPC                           ; ЕСЛИБОЛЬШЕ ИЛИ РАВНО 24,
         RETURN
         CLRF         HOU         ; ТООБНУЛИМ ЧАСЫ ДВОИЧНЫЕ
         CLRF         HL             ; ИРАЗРЯДЫ СТАРШИЙ
         CLRF         HH            ; ИМЛАДШИЙ.
RETURN                     ; ВЕРНЕМСЯ.
YCE
         CLRF         CL             ; ОБНУЛЕНИЕ.
         CLRF         CH             ;
         CLRF         ML             ;
         RETURN                      ;
;======================================================
END
;======================================================


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

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

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

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