Реферат: Устройство управления электроплитой

Содержание

 

Введение. Постановказадачи       

1. Анализ задачи.Функциональная спецификация системы

1.1 Список функций,выполняемых системой

1.2 Описание интерфейсамежду системой и пользователем

2. Предварительноепроектирование системы

2.1 Разбиение системы намодули

2.2 Соотношение междуаппаратными и программными средствами

2.3 Построениеструктурной схемы аппаратной части

2.4 Описание структурнойсхемы

3. Проектированиеаппаратных средств системы

3.1 Выбор типамикроконтроллера

3.2 Разработкапринципиальной схемы системы

3.3 Описание работысистемы по принципиальной схеме

4. Проектированиепрограммного обеспечения

4.1 Разработка схемыалгоритма работы системы и программы на ассемблере

4.2 Описание алгоритмаработы системы и программы

Выводы и заключение

Список литературы

Приложение


 

Введение.Постановка задачи

 

В курсовомпроекте необходимо разработать устройство управления двухконфорочнойэлектроплитой на базе микроконтроллера МС68НС11.

Требования,предъявляемые к устройству, определяются требованиями потребителей и пользователей,на которых рассчитывается проектируемое устройство. Требования могут бытьполучены от пользователя с целью выявления его нужд и определения того, чтопользователь хочет от системы.

Необходимополучить информацию, по поводу того, что система должна делать. Для этогонеобходимо ответить на следующие вопросы:

1) Какиережимы работы обеспечивает устройство?

2) Какиеоперации выполняет электроплита?

3) При какихусловиях электроплита будет работать?

4) При какихусловиях электроплита будет прекращать выполнение операции?

Ответив наэти вопросы можно сделать вывод относительно того, что будут представлять собойтребования пользователей.

Исходя иззаданных данных на курсовой проект, можно выделить следующие функциональныедействия которые должно выполнять наше устройство:

1) Обеспечиватьуправление путем установки комбинации уровня мощности нагревателя и времениприготовления пищи из фиксированного набора значений для каждой из конфорок.

2) Обеспечиватьустановку уровней мощности нагревателя и интервалов времени с помощью двухкнопок и семисегментного индикатора.

Таблица 1 –Уровни времени

Режимы времени Время работы в мин. 1 10 2 20 3 30 4 40 5 50

Таблица 2 –Уровни мощности

Режимы мощности % от max мощности 1 20 2 40 3 60 4 80 5 100

3) Устройстводолжно быть несложным в управлении.

4) Устройстводолжно обеспечивать максимальное удобство пользователю (световая и звуковаясигнализация).


 

1. Анализзадачи. Функциональная спецификация системы

1.1 Списокфункций, выполняемых системой

Функциональнаяспецификация должна определять, какие функции должны выполняться дляудовлетворения пользователей и обеспечения интерфейса между системой иокружением. Таким образом, функциональная спецификация включает два основныхкомпонента:

1) Списокфункций, выполняемых системой.

2) Описаниеинтерфейса между системой и пользователем

Так каксистема проектируется на основе информации, содержащейся как в требованияхпользователя, так и в функциональной спецификации, важно, чтобы функции,которые должны отображать требуемое поведение системы, были описаны достаточноподробно.

По отношениюк требованиям пользователей системы управления электроплитой, функциональнаяспецификация должна давать ответы на следующие вопросы:

1) Какиесредства необходимо предусмотреть для включения работы конфорки?

2) Какиесредства необходимо предусмотреть для прекращения работы конфорки по желаниюпользователя?

3) Какиесредства необходимо предусмотреть для задания режима времени?

4) Какиесредства необходимо предусмотреть для задания режима мощности?

5) Какиесредства необходимо предусмотреть для оповещения пользователя об окончанииработы?

6) Какиесредства необходимо предусмотреть для оповещения пользователя о работеконфорки?

7) Какиесредства необходимо предусмотреть для одновременного включения конфорок?

Ответив наэти вопросы можно перейти к составлению функциональной спецификации устройства.В рассматриваемой системе:

1) Включениеконфорки будет производиться нажатием на кнопку “Старт”.

2) Для того,чтобы пользователю по желанию выключить конфорку, ему необходимо нажать накнопку выбор конфорки “1” либо “2”, а затем на кнопку “Стоп”.

3) Установкавремени работы для каждой конфорки будет осуществляться увеличением илиуменьшением режима времени на единицу (режимы времени описаны в пункте«Введение. Постановка задачи» в таблице 1)

4) Установкауровня мощности для каждой конфорки будет осуществляться увеличением илиуменьшением режима мощности на единицу (режимы мощности описаны в пункте«Введение. Постановка задачи» в таблице 2)

5) Поокончанию работы или при нажатии кнопки “Стоп” будет срабатывать зуммер.

6) При работеконфорки будет гореть соответствующий ей световой индикатор.

7) Еслипользователю необходимо включить обе конфорки, может поочередно установитьрежим работы и включить каждую из них.

Эти ответысодержат информацию, необходимую для определения функциональной спецификации.Представим эту спецификацию в форме, удобной для последующих ссылок и дляиспользования на последующих этапах проектирования. Если распределитьспецификацию по категориям входы, выходы, функции, то можно представитьфункциональную спецификацию в виде:

Функциональнаяспецификация устройство управления электроплитой:

1) Входы

а) Кнопка “Старт”.

б) Кнопка “Стоп”.

в) Кнопка “Время”.

г) Кнопка “Мощность”.

д) Кнопка “+”.

е) Кнопка “–”.

ж) Кнопкавыбор конфорки “1”

з) Кнопкавыбор конфорки “2”

2) Выходы

а) Две световыхсигнализации (конфорка включена).

б) Звуковойсигнал (окончание работы).

в) Цифровойиндикатор (индикация мощности и времени).

г) Уровеньмощности.

д) Включение/выключениеуровня мощности.

3) Функции.

а) Выборконфорки. Проверка кнопки “1”, “2”, в соответствии с этим будет работать выходуровень мощности 1 либо 2.

б) Установкавремени. Считывается состояния с кнопок “Установка времени”, “+”, “–” и всоответствии с этим высвечивается на световом индикаторе.

в) Установкамощности. Считывается состояния с кнопок “Установка мощности”, “+”, “–” и тоже высвечиваетсяна световом индикаторе.

г) Пускконфорки. Считывается состояние с кнопки “Старт” и в соответствии с этимпроисходит включение конфорки, а также соответствующего ей световогоиндикатора.

д) Окончаниеработы. Когда заканчивается установленное время работы конфорки, происходитвключение зуммера (в течение 2 с) и выключение соответствующего световогоиндикатора.

е) Принудительнаяостановка. Считывается состояния с кнопок “1” либо “2” и с кнопки “Стоп” в соответствии с этим происходит выключение выбранной конфорки, световой сигнализациии включение зуммера на 2 с.

1.2Описание интерфейса между системой и пользователем

Вразрабатываемом устройстве взаимодействие между системой и пользователем осуществляетсяс помощью кнопок, светодиодных индикаторов, звуковой сигнализации (рисунок 1.2).

Учётчеловеческих факторов при проектировании должен приводить к простоте системы илегкости ее использования. Эти цели достигаются посредством проектированиянадлежащего системного интерфейса.

Внешний видпанели управления представлен на рисунке 1.1

/>

Рисунок 1.1 –Внешний вид панели управления

На панелиизображены: семисегментный индикатор, который располагается в верхней частипанели, также кнопки выбора конфорки, под ними – световые индикаторы конфорок,в нижней части панели располагаются все остальные кнопки, необходимые дляуправления электроплитой: старт, стоп, время, мощность, +, -.

Алгоритмуправления электроплитой: в первую очередь пользователь выбирает конфорку, накоторой будет готовить, (с помощью кнопки выбор конфорки “1” либо “2”), затем устанавливает время и мощность подогрева (помощью кнопок “Время”, “Мощность”,“+”, “–”), которые будут отображаться на цифровом индикаторе, после этого пользовательнажимает кнопку “Старт”, загорается соответствующий световой индикатор, насемисегментном индикаторе отображаются выбранные режимы времени и мощности,начнется процесс приготовления. Пользователь в любой момент может выключитьэлектроплиту нажатием кнопок “1” либо “2”, а затем “Стоп”. По окончании работы выключаются светодиоды, семисегментный индикатор, включается зуммер. Еслипользователю необходимо включить обе конфорки, он устанавливает режим работыконфорки и включает каждую из них поочередно.

/>

/>Рисунок 1.2 – Интерфейсмежду системой и пользователе

 


 

2. Предварительноепроектирование системы

2.1Разбиение системы на модули

На основефункциональной спецификации определяем набор модулей, реализующих выполняемые всистеме функции. Этот набор составляет первый уровень проектирования системы.После разбиения системы на модули отделяем аппаратные модули от программных. Врезультате этого строим модульную структуру аппаратных средств устройства,которую оформляем в виде электрической структурной схемы.

Общаямодульная структура аппаратных средств устройства управления двухконфорочной электроплитойпредставлена на рисунке 2.1.

/>

Рисунок 2.1 –Общая модульная структура аппаратных средств микропроцессорной системы

Основуаппаратных средств устройства составляет управляющая микро ЭВМ, котораявключает:

1)Процессорный модуль предназначен для обработки информации и управленияэлектроплитой.

2) Модуль ГТИ(генератор тактовых импульсов) предназначен для формирования в системепериодических тактовых импульсов, по которым происходит общая синхронизацияработы системы.

3) Модульпамяти предназначен для хранения информации.

4) Модульинтерфейса ввода и модуль интерфейса вывода содержит компоненты, необходимыедля связи процессорного модуля с другими модулями устройства.

5) Модульпреобразования входного сигнала и модуль преобразования выходного сигнала предназначендля обмена входными и выходными сигналами с внешним окружением (кнопки,устройства световой и звуковой сигнализации).

6) Модультаймера предназначен для управления таймером/>.

Рассмотримразбиение устройства управления электроплитой на функциональные модули. Израссмотрения функциональной спецификации следует, что система состоит из трехчастей: вход, выход и функции.

1) Входноймодуль выполняет считывание состояния со всех кнопок.

2) Выходноймодуль выполняет включение/выключение светового и звукового сигнала.

Для части функциональнойспецификации функции можно выделить следующие модули:

1) Модульожидания. Выполняет проверку состояний всех кнопок и ожидание изменения этихсостояний, чтобы предпринять соответствующие действия.

2) Модультаймера. Выполняет управление таймером: запускает и останавливает таймера, атакже считывает его состояние.

3) Модульпроверки. Выполняет проверку состояния всех кнопок.

4) Модульвосстановления. Выполняет инициализацию устройства при начальном включениипитания.

5) Модульуправления конфорками. Выделяет коды уровней мощности и выполняет включение/выключениеконфорок.

После разбиенияна функциональные модули строится функционально-модульная структура устройствауправления электроплитой, которая представляет собой иерархию модулей. Навысшем уровне модульной структуры находится исполнительный модуль, которыйсодержит средства, необходимые для реализации управляющей функции. На следующемуровне находятся модуль проверки и модуль ожидания. Затем располагаются модульуправления конфорками и модуль восстановления. Входной модуль, выходной модульи модуль таймера находятся на самом нижнем уровне иерархии. Полученнаямодульная структура устройства управления электроплитой представлена на рисунке2.2.

/>

Рисунок 2.2 — Функционально-модульная структура устройства управления электроплитой

/>Распределение функций по модулямустройства управления электроплитой:

1)Исполнительныймодуль выполняет:

а) управлениесистемой

2)Входноймодуль выполняет следующие действия:

а) считываниесостояния кнопки “Старт”

б) считываниесостояния кнопки “Стоп”

в) считываниесостояния кнопки “Время”

г) считываниесостояния кнопки “Мощность”

д) считываниесостояния кнопки “+”

е) считываниесостояния кнопки “–”

ж) считываниесостояния кнопки “1”

з) считываниесостояния кнопки “2”

3) Выходноймодуль выполняет следующие действия:

а)включение/выключение светового индикатора

б)включение/выключение звукового сигнала

в) включение/выключениесемисегментных индикаторов

г) подачауровня мощности на соответствующую конфорку

е) включение/выключениенагревателей

4) Модульожидания выполняет следующие действия:

а) ожиданиевключения кнопки “Старт”

б) ожиданиевключения кнопки “Стоп”

в) ожиданиевключения кнопки “ Время ”

г) ожиданиевключения кнопки “Мощность”

д) ожиданиевключения кнопки “+”

е) ожиданиевключения кнопки “–”

ж) ожиданиевключения кнопки “1”

з) ожиданиевключения кнопки “2”

5) Модультаймера выполняет следующие действия:

а) запусктаймера

б) остановтаймера

в) считываниесостояния таймера

6) Модульпроверки выполняет:

а) проверкусостояния кнопки “Старт”

б) проверкусостояния кнопки “Стоп”

в) проверкусостояния кнопки “Время”

г) проверкусостояния кнопки “ Мощность”

д) проверкусостояния кнопки “+”

е) проверкусостояния кнопки “–”

ж) проверкусостояния кнопки “1”

з) проверкусостояния кнопки “2”

7) Модуль восстановлениявыполняет:

а)инициализацию системы (аппаратных и программных средств) при начальномвключении (включение питания).

8) Модульуправления конфорками выполняет следующие действия:

а) выделяеткод уровня мощности

б)включение/выключение конфорки

Полнаяфункционально-модульная структура устройства управления электроплитой,включающая функции для каждого модуля, показана на рисунке 2.3.

/>

Рисунок 2.3 –Функционально-модульная структура устройства управления электроплитой,включающая функции для каждого модуля


 

2.2 Соотношениямежду аппаратными и программными средствами

Функцияуправления системы реализуется управляющей микро ЭВМ в результате выполненияосновной (управляющей) программы путем последовательного вызова функцийсоответствующих программных модулей системы.

Связь междупрограммными и аппаратными средствами устройства управления электроплитой представленана рисунке 2.4. Из данного рисунка видно, что функции таймера переданыаппаратным средствам.

/> 

Рисунок 2.4 –Связь между аппаратными и программными средствами устройства управления электроплитой


 

2.3Построение структурной схемы аппаратной части

 

На основефункций выполняемых системой построим структурную схему аппаратной части.

Электрическаяструктурная схема проектируемой системы приведена на чертеже БГУИ.ХХХХХХ.001 Э1в приложении Б.

2.4 Описаниеструктурной схемы

 

Центральныммодулем структурной схемы является процессорный модуль. Он выполняет функцииуправления процессом обмена данными с периферийными устройствами, обработкиинформации. В модуле памяти хранятся коды, константы и переменные программ иподпрограмм процессорного модуля. А также в отдельный блок можно выделитьмодуль ГТИ. Для отсчета требуемых промежутков времени и организации задержекиспользуется модуль таймера.

Входной ивыходной модули необходимы для координирования операций ввода-вывода.Предположительно они будут представлены последовательными и параллельнымипортами микропроцессорного устройства. Для подключения внешних устройств умикроконтроллера предусмотрено пять восьмиразрядных портов. В нашем случаепериферийными устройствами будут служить: кнопки, световые индикаторы,семисегментные индикаторы, средства звуковой сигнализации. Они и будутподключены к входному и выходному модулям.


 

3.Проектирование аппаратных средств системы

 

3.1 Выбортипа микроконтроллера

Управление иконтроль устройством управления электроплитой будет производитьсямикроконтроллером МС68НС11А8. Он является основой аппаратной части.

В данномпроекте микроконтроллер будет работать в однокристальном режиме. Поэтому навходы MODA, MODB нужно подать логические сигналы ‘0’ и ‘1’ соответственно.

Микроконтроллерадресует до 64 Кбайт памяти (адреса $0000-$FFFF), которые делятся на 16 страницпо 4 Кбайта. Полный объем памяти доступен в расширенном режиме, когда к выводампортов B, C подключается внешняя память. В нашем случае используется однокристальныйрежим работы. Поэтому доступна только внутренняя память микроконтроллера: ПЗУ,РПЗУ, ОЗУ, а порты В, С служат для обмена данными с внешними устройствами. Двепоследние страницы адресного пространства (адреса $E000-$FFFF) занимаетвнутреннее масочное ПЗУ, содержимое которого программируется в процессеизготовления микроконтроллера по заказу пользователя. В ПЗУ будет содержатьсянаша программа. РПЗУ размещается по адресам $B600-$B7FF и в данном курсовомпроекте не используется. ОЗУ при начальной установке микроконтроллера(процедура RESET) занимает адресное пространство $0000-$00FF.

 

3.2Разработка принципиальной схемы системы

Дляпроектируемого устройства управления электроплитой нам понадобятся кнопки, светодиоды,зуммер и семисегментные индикаторы.


 

3.2.1Устройства управления светодиодами

Светодиодыприменяются для сигнализации и индикации различных состояний электронныхустройств. Для проектирования данного устройства понадобится стандартный светодиод.В схеме последовательно со светодиодом используется резистор, сопротивлениекоторого выбирается в зависимости от напряжения питания (таблица 3.1). Схемауправления светодиодом изображена на рисунке 3.1.

Таблица 3.1 –Таблица зависимости сопротивления от напряжения питания.

Vcc R(Ом) 3…4 4…5 100 5…8 220 8…12 470 12…15 820

/>

Рисунок 3.1 –Схема управления светодиодом

3.2.2Управление звуковыми устройствами

Дляпроектирования устройства управления электроплитой будем использоватьполупроводниковый зуммер на транзисторе ZTX300. Для генерации звука на базуZTX300 необходимо подать высокий уровень напряжения. На рисунке 3.2представлена схема управления полупроводниковым зуммером на транзисторе ZTX300.


/>

Рисунок 3.2 –Схема управления полупроводниковым зуммером на базе транзистора ZTX300

3.2.3Многоразрядные светодиодные дисплеи со встроенными схемами управления

МикросхемаTSM6234T представляет собой четырехразрядный зеленый светодиодный дисплей совстроенным последовательным входом. Потребляемый каждым сегментом ток равен2,0мА. Ток необходимый светодиодам, определяется внешним резистором и обычно в25 раз превышает ток, протекающий через вывод управления яркостью.

Структурасхемы TSM6234T представлена на рисунке 3.3 между выводом управления яркостью иобщим выводом должен быть включен конденсатор емкостью 0,1мкФ. Для работыдисплея необходимо два напряжения питания: Vdd и Vled. Напряжение Vdd предназначено для питания внутренней схемыуправления и может меняться от 4,75 до 12 В. Потребляемый ток равен 7 мА длянапряжения 12 В. Напряжение Vled обычно составляет 5 В и служит для питания светодиодов дисплея.


/>

Рисунок 3.3 –Структура микросхемы TSM6234T

Последовательнаяпередача данных осуществляется по трем ТТЛ — совместимым линиям: «Последовательныеданные», /> иCLOC. На рисунке 3.4 изображены временные диаграмма загрузки данных в дисплей.

/>

Рисунок 3.4 –Временные диаграммы светодиодного дисплея TSM6234T


Форматпередачи данных состоит из стартовой единицы и 35 бит данных. По каждомуположительному фронту тактового импульса биты данных последовательнозаписываются во входной сдвиговый регистр. Чтобы открыть вход, надо подать навход /> сигналнизкого уровня. При прохождении 36-го фронта тактового импульса генерируетсясигнал загрузки, который перезаписывает 35бит данных из регистра сдвига вбуфер-защелку. Во время прохождения следующего фронта формируется сигнал«Сброс», который очищает регистр сдвига. При включении питания генерируетсясигнал «Сброс или включение», который очищает все регистры сдвига ибуфер-защелку. Стартовый бит и тактовый импульс возвращают микросхему в режимзагрузки данных. Для очистки дисплея необходимо подать стартовый бит и 35нулей. Эта процедура также сбрасывает микросхему. Бит 1, следующий сразу застартом, определяет состояние сегмента А первой цифры, бит 2 – состояниесегмента В первой цифры и т.д.

Функции 35бит последовательных данных можно определить так:

биты 1…8 –сегменты A…DP первой цифры;

биты 9…16 –сегменты A…DP второй цифры;

биты 17…24 –сегменты A…DP третьей цифры;

биты 25…32 –сегменты A…DP четвертой цифры;

3.3 Описаниеработы системы по принципиальной схеме

 

В данномкурсовом проекте микроконтроллер будет работать в однокристальном режиме.Поэтому на входы MODA, MODB нужно подать сигналы логических ‘0’ и ‘1’соответственно.

Кнопка “1” подключена к РС0, “ 2” – к РС1, “Время” – к РС2, “Мощность” – к РС3, “+” – к РС4, “–” – к РС5, “Старт”– к РС6, “Стоп” – к РС7. При нажатии на кнопку на соответствующий порт подаетсялогический ‘0’.

Светодиодыподключены к порту В (РВ2 – PВ3). Включение и выключение светодиода происходитпри подаче логической ‘1’ и ‘0’ соответственно на РВ2, РВ3.

К порту В (РВ4)подключен зуммер, включение и выключение которого происходит при подачелогической ‘1’ и ‘0’ соответственно на РВ4.

Отображениеинформации о времени и мощности осуществляется на семисегментный индикатор,шина данных которого подключены к порту РВ0, а к РВ1 – тактирующий вход.Цифровой индикатор работает в соответствии с описанием, которое приведено впункте 3.2.3.

Уровнимощности конфорок подключены к порту D (PD0 – PD2). К PD3 – включение/выключениеконфорки 1, к PD4 – включение/выключение конфорки 2. При подаче логической ‘1’на PD3 происходит включение конфорки 1 на установленную мощность(PD0 – PD2).При подаче логической ‘1’ на PD4 происходит включение конфорки 2 наустановленную мощность(PD0 – PD2).

Переченьэлементов схемыэлектрической принципиальной приведён на чертеже БГУИ. XXXXXX.002 ПЭ3.

Схемаэлектрическая принципиальная устройства управления электроплитой приведена начертеже БГУИ. ХХХХХХ.003 Э3.


 

4.Проектирование программного обеспечения

 

4.1Разработка схемы алгоритма работы системы и программы на ассемблере

С точкизрения программирования разработанное устройство управления электроплитойсостоит из программно доступных регистров микроконтроллера и трех портов: В, Си D. Работа системы заключается в определении состояния входных портов,выполнения определённых вычислений и выводе данных из микроконтроллера.

Подробнаяблок-схема алгоритма программного обеспечения устройства, включающая в себя всеаспекты работы периферийных устройств и микроконтроллера приведена в БГУИ.XXXXXX.004 Э8.

Листингпрограммы с комментариями приведен в приложении А.

4.2Описание алгоритмаработы системы и программы

Служебныерегистры определяют конфигурацию и режимы работы микроконтроллера.

Содержимоерегистра INIT (рисунок 4.1) определяет старшие четыре разряда адреса (номерстраницы) размещения ОЗУ (биты RAM3-RAM0) и блока внутренних регистров (битыREG3-REG0). При начальной установке микроконтроллера биты данного регистрапринимают значения RAM3-RAM0 = 0000 (обращение к странице 0), REG3-REG0 = 0001(обращение к странице 1). В нашем курсовом проекте принимаются значения,установленные после начальной установки.

7 6 5 4 3 2 1 RAM3 RAM2 RAM1 RAM0 REG3 REG2 REG1 REG0

Рисунок 4.1 –Служебный регистр INIT (адрес $103D)


Длительностьтакта микроконтроллера TC = 1/Ft определяется генераторомтактовых импульсов (ГТИ). Частота следования тактовых импульсов Ft задаетсякварцевым резонатором, подключаемым к выводам EXTAL и XTAL, или внешним генератором,подключаемым к выводу XTAL. В нашем случае выбран кварцевый резонатор счастотой 8MHz. При этом частота Ft в 4 раза меньше частоты внешнегорезонатора или генератора Ft = Fg/4. Импульсы с частотойFt поступают на выход E микроконтроллера и используются длясинхронизации работы других устройств системы.

Так как микроконтроллерработает в рабочем однокристальном режиме, то в процессе начальной установкипри включении питания или поступлении сигнала RESET# = 0 в программный счетчикPC загружаются два байта: старший байт PCH из ячейки памяти с адресом $FFFE,младший байт PCL – $FFFF. Эти байты являются адресом первой команды,выполняемой микроконтроллером после начальной установки. Так какмикроконтроллер работает в однокристальном режиме, данные байты выбираются извнутреннего ПЗУ. При включении питания требуется время 4064ТC длязапуска ГТИ и установки начального состояния регистров, после чего начинаетсянормальная работа микроконтроллера. Для начальной установки по сигналу RESET#его длительность должна быть не меньше 4ТC.

В курсовомпроекте для обмена данными с внешними устройствами используются параллельныепорты В, С и D. Порты А и E не используются.

При работепортов В, С и D используется блок квитированного обмена (БКО), которыйобеспечивает прием и выдачу сигналов квитирования STRA, STRB. Функционированиепортов B и C определяется регистром управления PIOC (рисунок 4.2), входящим всостав БКО. При значении разряда HNDS = 0 в этом регистре порт В работает врежиме стробированного вывода, порт С – в режиме стробированного ввода. Призначении HNDS = 1 порт В работает в режиме нестробированного вывода, а порт Сиспользуется для двунаправленного обмена с квитированием.


7 6 5 4 3 2 1 STAF STAI CWOM HNDS OIN PLS EGA INVB

Рисунок 3.3 –Регистр управления PIOC (адрес $1002)

Порт В(регистр PORTB, адрес $1004) используется как 8-разрядный порт вывода данных.Если в регистре управления PIOC установлено значение разряда HNDS = 0, то портВ работает в режиме стробированного вывода. В этом режиме запись данных врегистр PORTB сопровождается формированием импульса на выходе STRBдлительностью 2TC, который служит для внешних устройств запросом наприем данных с выводов порта PB7-PB0. Активный уровень этого импульсаопределяется значением разряда INVB в регистре PIOC: при INVB = 0 формируетсяимпульс низкого уровня, при INVB = 1 – высокого уровня. Если значение разрядаHNDS = 1, то порт В работает в режиме нестробированного вывода, при котором непроисходит формирование стробирующего сигнала на выходе STRB.

Порт Cиспользуется как 8-разрядный двунаправленный порт. Направление передачи данныхопределяется для каждого вывода порта путем установки значения соответствующегоразряда в регистре направления DDRC (адрес $1007).

При установкев этом регистре значения i-го разряда в 0 i-й вывод порта используется каквход, при установке в 1 – как выход. В курсовом проекте порт С работает всегдана ввод данных.

Порт C имеетдва регистра данных: PORTC (адрес $1003) и PORTCL (адрес $1005). Запись данныхв регистр PORTCL с выводов порта PC7-PC0 стробируется сигналом на входе STRA,запись или чтение регистра PORTC не сопровождается сигналами квитирования. Причтении регистра PORTC в микроконтроллер вводятся данные, соответствующиетекущему состоянию выводов PC7-PC0, при чтении регистра PORTCL вводятся данные,записанные в этот регистр при подаче стробирующего сигнала на вход STRA. Призаписи в регистры PORTC и PORTCL данные поступают также на выводы порта С,используемые в качестве выходов. При этом запись в PORTCL сопровождаетсяформированием соответствующих сигналов квитирования на выводах STRA и STRB. Таккак в данном курсовом порт С служит для стробированного ввода, то обращение кнему происходит через регистр PORTCL.

В программебудем использовать ячейку с меткой MY_CONFIG.Биты в ней показаны на рисунке3.4.

7 6 5 4 3 2 1 RAB_KON2 RAB_KON1 Время/мощн. № конф.

Рисунок 3.4 –Ячейка с меткой MY_CONFIG

ЕслиRAB_KON2=1, то конфорка 2 работает. Если 0 – то нет.

ЕслиRAB_KON1=1, то конфорка 1 работает. Если 0 – то нет.

ЕслиВремя/мощн.=1, то работает режим установки мощности. Если 0 – работает режимустановки времени.

Если №конф.=1, то работает режим установки конфорки 2. Если 0 – работает режимустановки конфорки 1.

В курсовомпроекте порт С и D работает на вывод управляющих сигналов к простымисполнительным устройствам. Порт В служит как для приёма сигналов с кнопок. Дляэтого необходимо установить флаги в регистре HPRIO в 00000110, PIOC – 00011011,DDRC – 00000000, DDRC – 00000000.

В контроллереимеется встроенный таймер. Он реализован на базе 16-разрядного счетчика TCNT(адрес старшего байта $100E, адрес младшего байта $100F). Этот счетчикзапускается при начальной установке микроконтроллера, и после запуска егосостояние может быть только считано, например командами LDD, LDX, LDY. Частотасчета зависит от значения разрядов PR1-PR0 в регистре TMSK2 и составляет FCNT =Ft/Kd, где значение Kd определяется по таблице3.1. Таким образом, при тактовой частоте Ft = 2 МГц временноеразрешение таймера равно TCNT=500 нс, а максимальное время счета при Kd= 16 составляет 524 мс. При разработке таймера точность определения времениопределяется десятыми секунды, поэтому используется максимальное время счета,но отсчитывается определённое кол-во импульсов (30d4h) и осуществляетсяпрерывание. При переключении счетчика из состояния $FFFF в состояние $0000устанавливается признак переполнения TOF=1 в регистре TFLG2. При этомформируется запрос прерывания, если в регистре TMSK2 установлен разрядразрешения данного запроса TOI = 1.

В нашемкурсовом проекте устанавливаем максимальное время счета таймера равное 524 мс.

Таблица 3.1 –Коэффициенты Kd и Kt таймера

PR1 PR0 Коэффициент деления частоты таймера Kd  RTR  RTR Коэффициент Kt 1 1 1 4 1 2 1 8 1 4 1 1 16 1 1 8

 

Выводы изаключение

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

Спроектированноеустройство управления двухконфорочной электроплитой полностью соответствуеттребованиям пользователя.


 

Приложение

 

0001 0000 DataAddr    EQU $0000

0002 e000 CodeAddr    EQU $E000

0003 0070 STACK       EQU $0070

0004

0005 *******************

0006 1004 PORTB       EQU $1004

0007 1003 PORTC       EQU $1003

0008 1008 PORTD       EQU $1008

0009 1002 PIOC EQU $1002

0010 1007 DDRC         EQU $1007

0011 1009 DDRD         EQU $1009

0012 *******************

0013 100e TCNT EQU $100E

0014 1025 TFLG2        EQU $1025

0015 1022 TMSK1       EQU $1022

0016 1024 TMSK2       EQU $1024

0017 *******************

0018 0000 ORG DataAddr

0019 0000 00 MY_CONFIG FCB  0      

0020 0001 00 VREMYA1     FCB  0       *времяотображения для конфорки 1

0021 0002 00 VREMYA2     FCB  0       *времяотображения для конфорки 2

0022 0003 00 VR1       FCB  0       *времяв минутах для конфорки 1

0023 0004 00 VR2       FCB  0       *времяв минутах для конфорки 2

0024 0005 00 VR_SK1          FCB  0       *времяотображения для конфорки 1 в семисигм. коде

0025 0006 00 VR_SK2          FCB  0       *времяотображения для конфорки 2 в семисигм. коде

0026 0007 00 POWER1        FCB  0       *мощностьотображения для конфорки 1

0027 0008 00 POWER2        FCB  0       *мощностьотображения для конфорки 2

0028 0009 00 POWER_SK1 FCB  0       *мощностьотображения для конфорки 1 в семисигм. коде

0029 000a 00 POWER_SK2  FCB  0       *мощностьотображения для конфорки 1 в семисигм. коде

0030 000b 00 TIME1   FCB  0       *ячейкапамяти для таймера конфорки 1

0031 000c 00 TIME2    FCB  0       *ячейкапамяти для таймера конфорки 2

0032 000d 00 PORTBB         FCB  0

0033 000e 00 PORTDD         FCB  0

0034 000f 00 X1 FCB  0

0035 *******************

0036

0037 e000 ORG CodeAddr

0038 e000 8e00 70       start LDS  #STACK

0039 e003 bde0 0b      JSR INICIALIZ   *инициализация системы

0040 e006 bde2 34      JSR VYVOD_VRiPOW         *вывод на индикаторы

0041 e009 202e BRA KNOPKI

0042

0043 e00b 861b INICIALIZ  LDAA        #%00011011       * В – нестробированый вывод

0044 e00d b710 02      STAA         PIOC

0045 e010 8603 LDAA        #%00000011       * Коэф.деления таймера =16

0046 e012 b710 24      STAA         TMSK2

0047 e015 86ff   LDAA        #$FF *инициализац.

0048 e017 b710 07      STAA         DDRC        *порта С на ввод

0049 e01a 8600 LDAA        #$00 *инициализац.

0050 e01c b710 09      STAA         DDRD        *порта D на вывод

0051 e01f b710 22       STAA         TMSK1      *запрещение прерываний таймера

0052 e022 b710 04      STAA PORTB    *гашение индикаторов

0053 e025 9700 STAA         MY_CONFIG      *установка начального режима

0054 e027 9601 LDAA        1

0055 e029 9701 STAA         VREMYA1

0056 e02b 9702 STAA         VREMYA2

0057 e02d 9707 STAA         POWER1

0058 e02f 9708 STAA         POWER2

0059 e031 39       RTS

0060

0061 e032 b610 25 PROV_TOF    LDAA        TFLG2       *равен ли TOF единице

0062 e035 8480 ANDA        #%10000000       *если да то сброс

0063 e037 2646 BNE  SBROS_TOF

0064 e039 b610 03 KNOPKI         LDAA        PORTC

0065 e03c 8401 ANDA        #%00000001       *проверка нажатия кнопки «1»

0066 e03e 2646 BNE  KNOPKA_1

0067 e040 b610 03      LDAA        PORTC

0068 e043 8402 ANDA        #%00000010       *проверка нажатия кнопки «2»     

0069 e045 26 3f BNE  KNOPKA_1

0070 e047 b610 03      LDAA        PORTC

0071 e04a 8404 ANDA        #%00000100       *проверка нажатия кнопки «Время»        

0072 e04c 264e BNE  KNOPKA_VREMYA

0073 e04e b610 03      LDAA        PORTC

0074 e051 8408 ANDA        #%00001000       *проверка нажатия кнопки «Мощность»       

0075 e053 26 4f BNE  KNOPKA_POWER

0076 e055 b610 03      LDAA        PORTC

0077 e058 8410 ANDA        #%00010000       *проверка нажатия кнопки "+"     

0078 e05a 2650 BNE  KNOPKA_PLYUS

0079 e05c b610 03      LDAA        PORTC

0080 e05f 8420 ANDA        #%00100000       *проверка нажатия кнопки "-"      

0081 e061 26fe   BNE  KNOPKA_MINUS

0082 e063 b610 03      LDAA        PORTC

0083 e066 8440 ANDA        #%01000000       *проверка нажатия кнопки «Старт»        

0084 e068 26fe   BNE  KNOPKA_PUSK

0085 e06a b610 03      LDAA        PORTC

0086 e06d 8480 ANDA        #%10000000       *проверка нажатия кнопки «Стоп»

0087 e06f 26fe    BNE  KNOPKA_STOP

0088 e071 9600 LDAA        MY_CONFIG

0089 e073 8404 ANDA        #%00000100       *проверка работы конфорки 1     

0090 e075 26fe   BNE  RAB_KON1

0091 e077 9600 PROV_KON2      LDAA        MY_CONFIG

0092 e079 8408 ANDA        #%00001000       *проверка работы конфорки 2     

0093 e07b 26fe   BNE  RAB_KON2

0094 e07d 20b3 BRA PROV_TOF

0095

0096

0097 e07f b610 25 SBROS_TOF   LDAA        TFLG2       *сброс TOF в 0

0098 e082 8a80 ORAA        #%10000000      

0099 e084 20b3 BRA KNOPKI

0100

0101

0102

0103

0104 e086 9600 KNOPKA_1         LDAA        MY_CONFIG      *режим установка          конфорки1

0105 e088 84fe   ANDA        #%11111110

0106 e08a 9700 STAA         MY_CONFIG

0107 e08c bde2 34       JSR   VYVOD_VRiPOW       *вывод на индикаторы

0108 e08f 20a8   BRA KNOPKI

0109

0110 e091 9600 KNOPKA_2         LDAA        MY_CONFIG      *режим установка          конфорки2

0111 e093 8a01 ORAA        #%00000001

0112 e095 9700 STAA         MY_CONFIG

0113 e097 bde2 34      JSR   VYVOD_VRiPOW       *вывод на индикаторы

0114 e09a 209d BRA KNOPKI

0115

0116 e09c 9600 KNOPKA_VREMYA    LDAA        MY_CONFIG *режим установка          времени

0117 e09e 84fd   ANDA        #%11111101

0118 e0a0 9700 STAA         MY_CONFIG

0119 e0a2 2095 BRA KNOPKI

0120

0121 e0a4 9600 KNOPKA_POWER       LDAA        MY_CONFIG *режим установка          мощности

0122 e0a6 8a02 ORAA        #%00000010

0123 e0a8 9700 STAA         MY_CONFIG

0124 e0aa 208d BRA KNOPKI

0125

0126 e0ac 9600 KNOPKA_PLYUS        LDAA MY_CONFIG

0127 e0ae 8401 ANDA        #%00000001       *проверка режима установки конфорки

0128 e0b0 2626 BNE  KON22

0129

0130 e0b2 9600 KON11       LDAA MY_CONFIG

0131 e0b4 8402 ANDA        #%00000010       *режим установка конфорки 1

0132 e0b6 2610 BNE  POWER_KON1  *проверка режима установки времени

0133

0134 e0b8 9601 LDAA        VREMYA1         *режим установка времени

0135 e0ba 8b01 ADDA        #1     *VREMYA1+1

0136 e0bc 9701 STAA         VREMYA1

0137 e0be 8006 SUBA        #6     *если VREMYA1>5,    то устанавливаем          VREMYA1=5

0138 e0c0 263a BNE  END_PLYUS

0139 e0c2 8605 LDAA        #5

0140 e0c4 9701 STAA         VREMYA1

0141 e0c6 2034 BRA END_PLYUS

0142

0143 e0c8 9607 POWER_KON1  LDAA        POWER1   *режим установка          мощности

0144 e0ca 8b01 ADDA        #1     *POWER1+1

0145 e0cc 9707 STAA         POWER1   *если POWER1>5, то

0146 e0ce 8006 SUBA        #6     *устанавливаем POWER1=5

0147 e0d0 262a BNE  END_PLYUS

0148 e0d2 8605 LDAA        #5

0149 e0d4 9707 STAA         POWER1

0150 e0d6 2024 BRA END_PLYUS     

0151

0152 e0d8 9600 KON22       LDAA MY_CONFIG   *режим установка конфорки 2

0153 e0da 8402 ANDA        #%00000010

0154 e0dc 2610 BNE  POWER_KON2  *проверка режима установки времени

0155

0156 e0de 9602 LDAA        VREMYA2         *режим установка времени

0157 e0e0 8b01 ADDA        #1     *VREMYA2+1

0158 e0e2 9702 STAA         VREMYA2

0159 e0e4 8006 SUBA        #6     *если VREMYA2>5,    то устанавливаем          VREMYA2=5

0160 e0e6 2614 BNE  END_PLYUS

0161 e0e8 8605 LDAA        #5

0162 e0ea 9702 STAA         VREMYA2

0163 e0ec 200e   BRA END_PLYUS

0164

0165 e0ee 9608 POWER_KON2    LDAA        POWER2   *режим установка          мощности

0166 e0f0 8b01 ADDA        #1     *POWER2+1

0167 e0f2 9708 STAA         POWER2  

0168 e0f4 8006 SUBA        #6     *если POWER2>5, то

0169 e0f6 2604 BNE  END_PLYUS      *устанавливаем POWER2=5

0170 e0f8 8605 LDAA        #5

0171 e0fa 9708   STAA         POWER2

0172

0173 e0fc bde2 34 END_PLYUS   JSR VYVOD_VRiPOW         *вывод на индикаторы

0174 e0ff 20fe    BRA KNOPKI

0175

0176 e101 9600 KNOPKA_MINUS        LDAA MY_CONFIG

0177 e103 8401 ANDA        #%00000001       *проверка режима установки конфорки

0178 e105 2622 BNE KON222

0179

0180 e107 9600 KON111     LDAA MY_CONFIG   *режим установка конфорки 1

0181 e109 8402 ANDA        #%00000010

0182 e10b 260e BNE  POWER_KON11          *проверка режима установки времени

0183

0184 e10d 9601 LDAA        VREMYA1         *режим установка времени

0185 e10f 8001 SUBA        #1     *VREMYA1-1

0186 e111 9701 STAA         VREMYA1

0187 e113 2634 BNE  END_MINUS

0188 e115 8601 LDAA        #1     *если VREMYA1<1,    то устанавливаем          VREMYA1=1

0189 e117 9701 STAA         VREMYA1

0190 e119 202e BRA END_MINUS

0191

0192 e11b 9607 POWER_KON11 LDAA        POWER1   *режим установка

мощности

0193 e11d 8001 SUBA        #1     *POWER1-1

0194 e11f 9707 STAA         POWER1

0195 e121 2626 BNE  END_MINUS      *если POWER1<1, то

0196 e123 8601 LDAA        #1     *устанавливаем POWER1=1

0197 e125 9707 STAA         POWER1

0198 e127 2020 BRA END_MINUS     

0199

0200 e129 9600 KON222     LDAA MY_CONFIG   *режим установка конфорки 2

0201 e12b 8402 ANDA        #%00000010

0202 e12d 260e BNE  POWER_KON22          *проверка режима установки времени

0203

0204 e12f 9602 LDAA        VREMYA2         *режим установка времени

0205 e131 8001 SUBA        #1     *VREMYA2-1

0206 e133 9702 STAA         VREMYA2

0207 e135 2612 BNE  END_MINUS

0208 e137 8601 LDAA        #1     *если VREMYA2<1,    то устанавливаем          VREMYA2=1

0209 e139 9702 STAA         VREMYA2

0210 e13b 200c BRA END_MINUS

0211

0212 e13d 9608 POWER_KON22 LDAA        POWER2   *режим установка мощности

0213 e13f 8001 SUBA        #1     *POWER2-1

0214 e141 9708 STAA         POWER2  

0215 e143 2604 BNE  END_MINUS      *если POWER2<1, то

0216 e145 8601 LDAA        #1     * устанавливаем           POWER2=1

0217 e147 9708 STAA         POWER2

0218

0219 e149 bde2 34 END_MINUS  JSR VYVOD_VRiPOW         *вывод на индикаторы

0220 e14c 20fe   BRA KNOPKI

0221

0222

0223 e14e 9600 KNOPKA_PUSK LDAA MY_CONFIG   *проверка режима          установки конфорки

0224 e150 8401 ANDA        #%00000001

0225 e152 2629 BNE  VKL_KON2

0226

0227 e154 8673 VKL_KON1         LDAA        #115 *режим установка конфорки 1

0228 e156 970b STAA         TIME1       *записываем в TIME1 115(115*0,524=60с)

0229 e158 960e LDAA        PORTDD   *включаем конфорку 1 на заданную          мощность

0230 e15a 8410 ANDA        #%00010000

0231 e15c 9b07 ADDA        POWER1

0232 e15e 8b08 ADDA        #%00001000

0233 e160 b710 08      STAA         PORTD

0234 e163 970e STAA         PORTDD

0235 e165 960d LDAA        PORTBB

0236 e167 8a04 ORAA        #%00000100

0237 e169 b710 04      STAA         PORTB              *включаем светодиод1

0238 e16c 970d STAA         PORTBB

0239 e16e 9601 LDAA        VREMYA1         *переводим время из

0240 e170 c60a LDAB        #10   *режима в минуты

0241 e172 3d       MUL

0242 e173 9703 STAA         VR1

0243 e175 9600 LDAA        MY_CONFIG      *устанавливаем, что конфорка 1 работает

0244 e177 8a04 ORAA        #%00000100

0245 e179 9700 STAA         MY_CONFIG

0246 e17b 20fe   BRA KNOPKI

0247

0248 e17d 8673 VKL_KON2         LDAA        #115 *режим установка конфорки 2

0249 e17f 970c   STAA         TIME2       *записываем в TIME1 115(115*0,524=60с)

0250 e181 960e LDAA        PORTDD   *включаем конфорку 2 на заданную          мощность

0251 e183 8408 ANDA        #%00001000

0252 e185 9b08 ADDA        POWER2

0253 e187 8b10 ADDA        #%00010000

0254 e189 b710 08      STAA         PORTD

0255 e18c 970e STAA         PORTDD

0256 e18e 960d LDAA        PORTBB            *включаем светодиод2

0257 e190 8a08 ORAA        #%00001000

0258 e192 b710 04      STAA         PORTB

0259 e195 b710 04      STAA         PORTB

0260 e198 9602 LDAA        VREMYA2         *переводим время из

0261 e19a c60a LDAB        #10   *режима в минуты

0262 e19c 3d       MUL

0263 e19d 9704 STAA         VR2

0264 e19f 9600 LDAA        MY_CONFIG      *устанавливаем, что конфорка 2 работает

0265 e1a1 8a08 ORAA        #%00001000

0266 e1a3 9700 STAA         MY_CONFIG

0267 e1a5 bde2 34       JSR VYVOD_VRiPOW         *вывод на индикаторы

0268 e1a8 20fe   BRA KNOPKI

0269

0270

0271 e1aa 9600 KNOPKA_STOP LDAA MY_CONFIG   *проверка режима          установки конфорки   

0272 e1ac 8401 ANDA        #%00000001

0273 e1ae 2629 BNE  VYKL_KON2

0274

0275 e1b0 960d VYKL_KON1      LDAA        PORTBB    *режим установка          конфорки 1

0276 e1b2 8a10 ORAA        #%00010000       *включаем зуммер

0277 e1b4 b710 04      STAA         PORTB

0278 e1b7 970d STAA         PORTBB   

0279 e1b9 8601 LDAA        #1

0280 e1bb 9701 STAA         VREMYA1         *сброс VREMYA1

0281 e1bd 9707 STAA         POWER1   *сброс POWER1

0282 e1bf 960e   LDAA        PORTDD   *выключаем        конфорку 1

0283 e1c1 8410 ANDA        #%00010000

0284 e1c3 b710 08      STAA         PORTD

0285 e1c6 970e STAA         PORTDD

0286 e1c8 9600 LDAA        MY_CONFIG      *устанавливаем, что конфорка 1

0287 e1ca 84fb   ANDA        #%11111011       *не работает

0288 e1cc 9700 STAA         MY_CONFIG

0289 e1ce 960d LDAA        PORTBB    *выключаем зуммер и

светодиод 1

0290 e1d0 84eb ANDA        #%11101011

0291 e1d2 b710 04      STAA         PORTB

0292 e1d5 970d STAA         PORTBB

0293 e1d7 20fe   BRA KNOPKI

0294

0295 e1d9 960d VYKL_KON2      LDAA        PORTBB    *режим установка          конфорки 2

0296 e1db 8a10 ORAA        #%00010000       *включаем зуммер

0297 e1dd b710 04      STAA         PORTB

0298 e1e0 970d STAA         PORTBB   

0299 e1e2 8601 LDAA        #1

0300 e1e4 9702 STAA         VREMYA2         *сброс VREMYA2

0301 e1e6 9708 STAA         POWER2   *сброс POWER2

0302 e1e8 960e LDAA        PORTDD   *выключаем        конфорку 2

0303 e1ea 8408 ANDA        #%00001000

0304 e1ec b710 08       STAA         PORTD

0305 e1ef 970e   STAA         PORTDD

0306 e1f1 9600 LDAA        MY_CONFIG      *устанавливаем, что конфорка 2

0307 e1f3 84f7   ANDA        #%11110111       *не работает

0308 e1f5 9700 STAA         MY_CONFIG

0309 e1f7 960d LDAA        PORTBB    *выключаем зуммер    и светодиод 2

0310 e1f9 84eb   ANDA        #%11101011

0311 e1fb b710 04       STAA         PORTB

0312 e1fe 970d   STAA         PORTBB

0313 e200 20fe   BRA KNOPKI

0314

0315

0316 e202 b610 25       RAB_KON1       LDAA        TFLG2 *конфорка 1 работает

0317 e205 8480 ANDA        #%10000000       *проверяем прошло ли 0,5с(TOF=1)

0318 e207 27fe   BEQ  PROV_KON2     *если да, то

0319 e209 960b LDAA        TIME1

0320 e20b 8001 SUBA        #1

0321 e20d 970b STAA         TIME1       *TIME1=TIME1-1

0322 e20f 26fe    BNE  PROV_KON2     *если TIME1=0, то

0323 e211 9603 LDAA        VR1  *VR1=VR1-1

0324 e213 8001 SUBA        #1

0325 e215 9703 STAA         VR1  *если время вышло,    то переходим к          выключению       конфорки1

0326 e217 26fe   BNE  PROV_KON2     *если нет, то – к проверки RAB_KON2

0327 e219 2095 BRA VYKL_KON1

0328

0329 e21b b610 25      RAB_KON2        LDAA        TFLG2 *конфорка 2 работает

0330 e21e 8480 ANDA        #%10000000       *проверяем прошло ли 0,5с(TOF=1)

0331 e220 27fe   BEQ  PROV_TOF        *если да, то

0332 e222 960c LDAA        TIME2

0333 e224 8001 SUBA        #1

0334 e226 970c STAA         TIME2       *TIME2=TIME2-1

0335 e228 26fe   BNE  PROV_TOF        *если TIME2=0, то

0336 e22a 9604 LDAA        VR2  *VR2=VR2-1

0337 e22c 8001 SUBA        #1

0338 e22e 9704 STAA         VR2  *если время вышло,    то переходим к          выключению       конфорки2

0339 e230 26fe   BNE  PROV_TOF        *если нет, то – к проверки PROV_TOF

0340 e232 20fe   BRA VYKL_KON2

0341

0342 e234 9600 VYVOD_VRiPOW       LDAA MY_CONFIG   *проверка режима          установкиконфорки

0343 e236 8401 ANDA        #%00000001

0344 e238 2630 BNE  KON2

0345

0346 e23a 9601 KON1         LDAA        VREMYA1         *режим установка конфорки 1

0347 e23c bde2 a1       JSR   PEREVOD *переводим         VREMYA1 и      POWER1 в        семисегментныйкод

0348 e23f d705 STAB         VR_SK1   

0349 e241 9607 LDAA        POWER1

0350 e243 bde2 a1       JSR   PEREVOD

0351 e246 d709 STAB         POWER_SK1

0352

0353 e248 960d LDAA        PORTBB    *подаем стартовую еденицу

0354 e24a 8a02 ORAA        #%00000010

0355 e24c b710 04      STAA         PORTB

0356 e24f 970d STAA         PORTBB

0357 e251 84fd ANDA        #%11111101

0358 e253 b710 04      STAA         PORTB

0359 e256 970d STAA         PORTBB

0360

0361 e258 9605 LDAA        VR_SK1    *выводим на       индикатор время

0362 e25a ce00 08       LDX  #8

0363 e25d bde2 c5       JSR   VVOD

0364 e260 9609 LDAA        POWER_SK1      *и мощность

0365 e262 ce00 08       LDX  #8

0366 e265 bde2 c5       JSR   VVOD

0367 e268 202e BRA END_VYVOD   

0368

0369 e26a 9602 KON2         LDAA        VREMYA2         *режим установка конфорки 2

0370 e26c bde2 a1       JSR   PEREVOD *переводим         VREMYA2 и      POWER2 в        семисегментныйкод

0371 e26f d706 STAB         VR_SK2

0372 e271 9608 LDAA        POWER2

0373 e273 bde2 a1       JSR   PEREVOD

0374 e276 d70a STAB         POWER_SK2

0375

0376 e278 960d LDAA        PORTBB    *подаем стартовую единицу

0377 e27a 8a02 ORAA        #%00000010

0378 e27c b710 04      STAA         PORTB

0379 e27f 970d STAA         PORTBB

0380 e281 84fd ANDA        #%11111101

0381 e283 b710 04      STAA         PORTB

0382 e286 970d STAA         PORTBB

0383

0384 e288 9606 LDAA        VR_SK2    *выводим на       индикатор время

0385 e28a ce00 08       LDX  #8

0386 e28d bde2 c5       JSR   VVOD

0387 e290 960a LDAA        POWER_SK2      *и мощность

0388 e292 ce00 08       LDX  #8

0389 e295 bde2 c5       JSR   VVOD

0390

0391 e298 8600 END_VYVOD     LDAA        #0     *на остальные индикаторы ничего        невыводим

0392 e29a ce00 13       LDX  #19  

0393 e29d bde2 c5       JSR   VVOD

0394 e2a0 39       RTS

0395

0396 e2a1 4a PEREVOD       DECA        *проверяемчисло и

0397 e2a2 270c BEQ  N1     *в соответствии с его

0398 e2a4 4a       DECA        *значением        сохраняем

0399 e2a5 270d BEQ  N2     *семисегментный код

0400 e2a7 4a       DECA

0401 e2a8 270e BEQ  N3

0402 e2aa 4a       DECA

0403 e2ab 27 0f   BEQ  N4

0404 e2ad 4a       DECA

0405 e2ae 2710 BEQ  N5

0406 e2b0 c606 N1      LDAB        #%00000110

0407 e2b2 2010 BRA END_PEREV

0408 e2b4 c65b N2      LDAB        #%01011011

0409 e2b6 200c BRA END_PEREV

0410 e2b8 c6 4f N3      LDAB        #%01001111

0411 e2ba 2008 BRA END_PEREV

0412 e2bc c666 N4      LDAB        #%01100110

0413 e2be 2004 BRA END_PEREV

0414 e2c0 c66d N5      LDAB        #%01101101

0415 e2c2 2000 BRA END_PEREV

0416 e2c4 39 END_PEREV  RTS

0417

0418 e2c5 16 VVOD    TAB  *выводимзаданную    цифру на индикатор

0419 e2c6 c401 ANDB        #%00000001

0420 e2c8 d7 0f   STAB         X1

0421 e2ca d60d LDAB        PORTBB

0422 e2cc c4fe    ANDB        #%11111110

0423 e2ce d70d STAB         PORTBB

0424 e2d0 db 0f ADDB        X1

0425 e2d2 f710 04       STAB         PORTB

0426 e2d5 d70d STAB         PORTBB   

0427 e2d7 ca02 ORAB        #%00000010

0428 e2d9 f710 04       STAB         PORTB

0429 e2dc d70d STAB         PORTBB

0430 e2de c4fd   ANDB        #%11111101

0431 e2e0 f710 04       STAB         PORTB

0432 e2e3 d70d STAB         PORTBB

0433 e2e5 44       LSRA

0434 e2e6 09       DEX

0435 e2e7 26dc BNE  VVOD       

0436 e2e9 39       RTS 

0437

0438 fffe     ORG $FFFE

0439 fffe e000    FDB  start

еще рефераты
Еще работы по информатике, программированию