Разработка системы управления светофором

Содержание

Слайд 2

Вопросы лекции Постановка задачи. Разработка аппаратной части. Разработка программной части.

Вопросы лекции

Постановка задачи.
Разработка аппаратной части.
Разработка программной части.

Слайд 3

Постановка задачи Имеется: макет светофора. В качестве излучателей света в светофоре

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

Имеется: макет светофора.
В качестве излучателей света в светофоре используются маломощные

светодиоды.
Требуется: разработать систему программного управления этим светофором.
Слайд 4

1 Вопрос Разработка аппаратной части

1 Вопрос
Разработка аппаратной части

Слайд 5

Макет светофора

Макет светофора

Слайд 6

Микроконтроллер ATtiny2313

Микроконтроллер ATtiny2313

Слайд 7

Микроконтроллер ATmega32

Микроконтроллер ATmega32

Слайд 8

Электрическая схема светофора

Электрическая схема светофора

Слайд 9

Схема подключения светофора

Схема подключения светофора

Слайд 10

Схема подключения микроконтроллера

Схема подключения микроконтроллера

Слайд 11

Схема системы управления

Схема системы управления

Слайд 12

3 Вопрос Разработка программной части

3 Вопрос


Разработка программной части

Слайд 13

Таблица состояний светофора

Таблица состояний светофора

Слайд 14

Разработка программы Заголовок в виде комментария Инициализация микроконтроллера Подключение библиотек(и) Настройка

Разработка программы

Заголовок в виде комментария
Инициализация микроконтроллера
Подключение библиотек(и)
Настройка портов на ввод

или вывод
Настройка стека
3. Главный цикл программы
Метка начала
Тело цикла
Переход в начало
Слайд 15

Заголовок в виде комментария ; SVETOFOR_342_2011

Заголовок в виде комментария

; SVETOFOR_342_2011

Слайд 16

Подключение библиотеки имен ;для микроконтроллера ATmega32 ;используем директиву .include .include “m32def.inc”

Подключение библиотеки имен

;для микроконтроллера ATmega32
;используем директиву .include
.include “m32def.inc”

Слайд 17

Подключение библиотеки имен ; для микроконтроллера ATtiny2313 ;используем директиву .include .include “tn2313def.inc”

Подключение библиотеки имен

; для микроконтроллера ATtiny2313
;используем директиву .include
.include “tn2313def.inc”

Слайд 18

Настройка порта «В» на вывод LDI R16, $FF; загрузить константу в

Настройка порта «В» на вывод

LDI R16, $FF; загрузить константу в регистр


OUT DDRB, R16; загрузка регистра направления
Слайд 19

Настройка стека ;для микроконтроллера ATmega32 ldi r16, low (RAMEND) out SPL,

Настройка стека

;для микроконтроллера ATmega32
ldi r16, low (RAMEND)
out SPL, r16

ldi r16, high (RAMEND)
out SPH, r16
Слайд 20

Настройка стека ; для микроконтроллера ATtiny2313 ;ldi r16, (RAMEND) ;out SPL,R16 ;nop

Настройка стека

; для микроконтроллера ATtiny2313
;ldi r16, (RAMEND)
;out SPL,R16
;nop


Слайд 21

Метка начала главного цикла START: wdr

Метка начала главного цикла

START: wdr

Слайд 22

Формирование состояния светофора LDI R16, $BE; загрузить константу в регистр OUT

Формирование состояния светофора

LDI R16, $BE; загрузить константу в регистр
OUT PORTB,

R16; вывод в порт из регистра
Слайд 23

Переход в начало ;длинный прыжок для микроконтроллеров mega JMP START ;короткий

Переход в начало

;длинный прыжок для микроконтроллеров mega
JMP START
;короткий прыжок для всех

микроконтроллеров
RJMP START