ЗАКЛЮЧЕНИЕ
Проведен курсовой проект по разработке микропроцессорной системы на базе ADSP приемника двух сигнальных частот многочастотной сигнализации. В процессе работы был изучен теоретический материал по таким вопросам: многочастотная система сигнализации связи, построение микропроцессорных устройств, разработка программного обеспечения на языке Ассемблер. Также проведены практические расчеты по определению параметров элементов функциональных блоков МПС.
Результатом работы является принципиальная схема МПС и разработанная к ней программное обеспечение, реализующая протокол многочастотной системы сигнализации.
ПРИЛОЖЕНИЕ А
Листинг программы на языке Ассемблер
/* ADSP-21msp58 Main
Основная программа приемника двух сигнальных частот многочастотной сигнализации
*/
.EXTERN on; // Внешняя подпрограмма с меткой on
.EXTERN sport; // Внешняя подпрограмма с меткой sport
.EXTERN adc; // Внешняя подпрограмма с меткой adc
.EXTERN dac; // Внешняя подпрограмма с меткой dac;
.EXTERN r_adc; // Внешняя подпрограмма с меткой r_adc;
.section/pm interrupts; // ----Таблица векторов прерываний---_reset: JUMP start; NOP; NOP; NOP; // 0x0800: Reset
JUMP on; NOP; NOP; NOP; // 0x0804: IRQ2
RTI; NOP; NOP; NOP;
RTI; NOP; NOP; NOP;
RTI; NOP; NOP; NOP;
JUMP sport; NOP; NOP; NOP; // 0x0814: SPORT0 Receive
RTI; NOP; NOP; NOP;
JUMP adc; NOP; NOP; NOP; // 0x081C: Analog Interface Receive
RTI; NOP; NOP; NOP;
RTI; NOP; NOP; NOP;
JUMP timer; NOP; NOP; NOP; // 0x0828: Timer
RTI; NOP; NOP; NOP;
.section/pm program;
start:
AX0=0x2807; // Настройка SPORT0
DM(0x3FF6)=AX0;
AX0=DM(0x3FFF); // Активизация SPORT0 и блокировка SPORT1
AY0=0x0400;
AR=AX0 OR AY0;
DM(0x3FFF)=AR;
ICNTL=0x07; // разрешена реакция на фронт прерывания
AX0=0x0068; // Настройка аналогового интерфейса
DM(0x3FEE )=AX0;
IMASK=0x229; // Разрешение прерывания от аналогового интерфейса,
// от IRQ2, от приема по SPORT0. Запрещены
// от таймера
IDLE; //ожидание включения приемника по IRQ2
loop: IDLE; //ожидание ответа
AY0=0x000B; // проверка AR=B, если да, то программа
AR=AR XOR AY0; // стартует сначала, если нет, то переходит
IF EQ JUMP start; // на ожидание ответа
JUMP loop;
/* ADSP-21msp58 on
Подпрограмма осуществляющет вызов подпрограммы dac с параметром B = 1
*/
.GLOBAL on; // Описание метки on как внешней
.section/pm program;
on: // Метка входа в подпрограмму
AX0=0x0001; // параметр = 1
CALL dac; // вызов процедуры dac
RTI; // возрат в main
/* ADSP-21msp58 adc
Подпрограмма осуществляющет анализ принятой информации с АЦП и в зависимости от результата производит необходимые действия
*/
.GLOBAL adc; // Описание метки adc как внешней
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.