49865 (Устройство управления электроплитой), страница 3

2016-07-30СтудИзба

Описание файла

Документ из архива "Устройство управления электроплитой", который расположен в категории "". Всё это находится в предмете "информатика" из 1 семестр, которые можно найти в файловом архиве . Не смотря на прямую связь этого архива с , его также можно найти и в других разделах. Архив можно найти в разделе "курсовые/домашние работы", в предмете "информатика, программирование" в общих файлах.

Онлайн просмотр документа "49865"

Текст 3 страницы из документа "49865"

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

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

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

7

6

5

4

3

2

1

0

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

0

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

0

0

0

0

0

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

0

0

1

0

0

1

0

1

4

0

1

2

1

0

8

1

0

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 8e 00 70 start LDS #STACK

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

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

0041 e009 20 2e BRA KNOPKI

0042

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

0044 e00d b7 10 02 STAA PIOC

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

0046 e012 b7 10 24 STAA TMSK2

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

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

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

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

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

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

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

0054 e027 96 01 LDAA 1

0055 e029 97 01 STAA VREMYA1

0056 e02b 97 02 STAA VREMYA2

0057 e02d 97 07 STAA POWER1

Свежие статьи
Популярно сейчас
А знаете ли Вы, что из года в год задания практически не меняются? Математика, преподаваемая в учебных заведениях, никак не менялась минимум 30 лет. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Нашёл ошибку?
Или хочешь предложить что-то улучшить на этой странице? Напиши об этом и получи бонус!
Бонус рассчитывается индивидуально в каждом случае и может быть в виде баллов или бесплатной услуги от студизбы.
Предложить исправление
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
5137
Авторов
на СтудИзбе
441
Средний доход
с одного платного файла
Обучение Подробнее