на тему рефераты Информационно-образоательный портал
Рефераты, курсовые, дипломы, научные работы,
на тему рефераты
на тему рефераты
МЕНЮ|
на тему рефераты
поиск
Устройство управления электроплитой
p align="left">

С точки зрения программирования разработанное устройство управления электроплитой состоит из программно доступных регистров микроконтроллера и трех портов: В, С и 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

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 на вывод

Страницы: 1, 2, 3, 4



© 2003-2013
Рефераты бесплатно, курсовые, рефераты биология, большая бибилиотека рефератов, дипломы, научные работы, рефераты право, рефераты, рефераты скачать, рефераты литература, курсовые работы, реферат, доклады, рефераты медицина, рефераты на тему, сочинения, реферат бесплатно, рефераты авиация, рефераты психология, рефераты математика, рефераты кулинария, рефераты логистика, рефераты анатомия, рефераты маркетинг, рефераты релиния, рефераты социология, рефераты менеджемент.