Чтение онлайн

на главную - закладки

Жанры

Встраиваемые системы. Проектирование приложений на микроконтроллерах семейства 68HC12/HCS12 с применением языка С

Пак Дэниэл Дж.

Шрифт:

//PT4 реле магнитофон # 1 выход на реле магнитофон # 1 высокий уро-

//вень - импульс 5 мс

//PT4 реле магнитофон # 2 выход на реле магнитофон # 2 высокий уро-

//вень - импульс 5 мс

//PT6 реле ДК выход на реле ДК высокий уровень //- импульс 5 мс

//PT7 высокий уровень - импульс 10 мс для подачи питания на оптроны

//светодиодов и усилитель

//Подача питания (от
сети или от источника 5 В):

//Конфигурация портов:

//1. Порт A: конфигурирован как входной, отжатый переключатель - запрет

//2. Порт B: конфигурирован как входной, отжатый переключатель - разрешение

//3. Порт P: конфигурирован как выходной, все линии в 1

//4. Порт T: конфигурирован как выходной, все линии в 0

//5. Установка "RELAY-RESET" (PTO) импульсом высокого состояния 5 мс

//6. Установка "RELAY-CD" (PT2) импульсом высокого состояния 5 мс

//7. Установка "WHICH-INPUT" позиция сохранения = "CD"

//8. Цикл PP1-РР6 (устанавливаются в низкое состояние) светодиоды

// показывают , что контроллер работает

//9. Переход к последовательности "PREAMP ON"

//

//Логика работы :

//Последовательность "PREAMP ON"

//1. Ожидание установки "S-PREAMP-PWR" (PB0) или "R-PREAMP-PWR" (РАО)

//2. Установка "LED-MUTE-RELAY" (PP7)

//3. Установка "LED-PWR-RELAY" (PP0)

//4. Считывание позиции в "WHICH-INPUT"

//5. Установка "LED-xxxxx" = позиция "WHICH-INPUT"

//6. Установка PT7(1) импульсом 10 мс

//7. DE-Assert "LED-MUTE-RELAY" (PP7) через ~3 с.

//8. переход к режиму "SCAN"

//

//Последовательность "SCAN"

//1.Ожидание входного сигнала от (PB0-PB7) или от (PA0-PA7)

//2. IF = "x-PREAMP-PWR" - переход к последовательности "PREAMP OFF"

//3. IF = "x-MUTE" GOTO - переход к последовательности "MUTE"

//4. IF = любой входной сигнал от (PB1-PB6) или (PA1-PA6)- переход к

"CHANGE"

// последовательность "INPUT"

//

// последовательность "CHANGE INPUT":

//1. Включить "LED-MUTE-RELAY" (PP7)

//2. Включить "RELAY-RESET" (PT0) импульсом высокого уровня 5 мс

//3. Включить "RELAY-xxxxx" (PT1-PT6) (в соответствии с выбором

// "WHICH-INPUT" импульсом высокого уровня 5 мс)

//4.
Включить "LED-xxxxx" (PP1-PP6) (в соответствии с выбором

// "WHICH-INPUT")

//5. Очистить Old/Input сохранить новое значение "WHICH-INPUT"

//6. DE-переключение "MUTE-RELAY" (PP7) примерно через 3 с.

//7. Перейти к последовательности "SCAN"

//

// последовательность "MUTE":

//1. Переключить "LED-MUTE-RELAY" (PP7)

//2. Перейти к последовательности "SCAN"

//

//Последовательность "PREAMP OFF":

//1. Включить "LED-MUTE-RELAY" (PP7)

//2. DE-переключение "LED-PWR-RELAY" (PP0)

//3. DE-переключение всех светодиодов (PP1-РР6)

//4. Включить PT7(1) импульсом 10 мс

//5. DE-переключение "LED-MUTE-RELAY" (PP7) примерно через 3 с.

//6. Перейти к последовательности "PREAMP ON"

//

//авторы: Steven Barrett и Daniel Pack

//Дата разработки: 19 июня 2004

//Последняя редакция: 20 июня 2004

//*******************************************************************

//*******************************************************************

//включенные файлы

#include <912b32.h> //B32 EVB header file

#include "func_def.h" //функции-прототипы, глобальные переменные

//main program*******************************************************

// глобальные переменные

int which_input; //вход усилителя

int keep_going; //ввод переменных

int mute; //флаг управления выключением звука

unsigned char old_PORTB = 0xff; //текущие значения PORTB

unsigned char old_PORTA = 0x00; //текущие значения PORTA

unsigned char new_PORTB, new_PORTA; //новые значения PORTA, PORTB

void main(void) {

 asm(" .area vectors(abs)\n"

" .org 0xFFF8\n" //инициализация вектора сброса для 68HC12 B32

" .word 0x8000, 0x8000, 0x8000, 0x8000\n"

" .text");

 initialize_task;

 //главный цикл

 while(1) { //ожидается сигнал на включение питания

Поделиться:
Популярные книги

Сердце Дракона. Том 20. Часть 1

Клеванский Кирилл Сергеевич
20. Сердце дракона
Фантастика:
фэнтези
боевая фантастика
городское фэнтези
5.00
рейтинг книги
Сердце Дракона. Том 20. Часть 1

Холодный ветер перемен

Иванов Дмитрий
7. Девяностые
Фантастика:
попаданцы
альтернативная история
6.80
рейтинг книги
Холодный ветер перемен

Последнее желание

Сапковский Анджей
1. Ведьмак
Фантастика:
фэнтези
9.43
рейтинг книги
Последнее желание

Отмороженный 7.0

Гарцевич Евгений Александрович
7. Отмороженный
Фантастика:
рпг
аниме
5.00
рейтинг книги
Отмороженный 7.0

Наследник

Кулаков Алексей Иванович
1. Рюрикова кровь
Фантастика:
научная фантастика
попаданцы
альтернативная история
8.69
рейтинг книги
Наследник

Магия чистых душ 2

Шах Ольга
Любовные романы:
любовно-фантастические романы
5.56
рейтинг книги
Магия чистых душ 2

Наследие Маозари 5

Панежин Евгений
5. Наследие Маозари
Фантастика:
фэнтези
юмористическое фэнтези
5.00
рейтинг книги
Наследие Маозари 5

Локки 4 Потомок бога

Решетов Евгений Валерьевич
4. Локки
Фантастика:
аниме
фэнтези
5.00
рейтинг книги
Локки 4 Потомок бога

Граф

Ланцов Михаил Алексеевич
6. Помещик
Фантастика:
альтернативная история
5.00
рейтинг книги
Граф

Миф об идеальном мужчине

Устинова Татьяна Витальевна
Детективы:
прочие детективы
9.23
рейтинг книги
Миф об идеальном мужчине

Мастер Разума V

Кронос Александр
5. Мастер Разума
Фантастика:
городское фэнтези
попаданцы
5.00
рейтинг книги
Мастер Разума V

Здравствуй, 1984-й

Иванов Дмитрий
1. Девяностые
Фантастика:
альтернативная история
6.42
рейтинг книги
Здравствуй, 1984-й

Безумный Макс. Поручик Империи

Ланцов Михаил Алексеевич
1. Безумный Макс
Фантастика:
героическая фантастика
альтернативная история
7.64
рейтинг книги
Безумный Макс. Поручик Империи

Барон не играет по правилам

Ренгач Евгений
1. Закон сильного
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Барон не играет по правилам