Разработка цифрового фильтра

D7 D6 D5 D4 D3 D2 D1 D0

PA и PB – задают направление передачи данных через порты PA и PB соответственно.

“0” - ввод, “1” – вывод ; следовательно записываем “0” в D1 и D1.Биты PC2 и PC1 - варианты использования порта С, т.к. порт С нами не используется, то записываем в D4 и D3 - “0”. Биты IEA и IEB разрешают (IE=1) или запрещают выработку сигналов прерывания INTR портов А и В, данный тип п

рерывания нам нет нужен, поэтому записываем в D5 и D4 - “0”. TM2, TM1 - биты которые содержат команды управления таймером, для запуска таймера в эти биты записываем единицы.

Управляющее слово будет иметь вид:

11000000(2)=С0h

При настройке режимов прерываний необходимо разрешить прерывание МП типа RST 5.5. Используется команда SIM устанавливающая маску прерываний.

Формат маски:

SOD SDEN - R 7.5 MSEN M 7.5 M 6.5 M 5.5

A7 A6 A5 A4 A3 A2 A1 A0

M 7.5, M 6.5, M 5.5 - маски запрещающие соответствующие прерывания.

R 7.5 - бит сбрасывающий триггер, где фиксируется запрос внешнего прерывания по входу RST 5.5.

MSEN - разрешение установки маски прерываний.

SDEN -разрешение вывода данных находящихся в разряде A7.

SOD - данные предназначенные для вывода через линию SOD.

Маска прерываний будет иметь вид:

00011110(2)=1Dh

Распределение памяти ПЗУ:

0000h…001Dh – программа инициализации;

002Ch…0096h – программа реакции на прерывание типа RST 5.5;

Распределение памяти ОЗУ:

5000h, 5001h,5002h– хранение отсчетов ,,;

5003h, 5004h,5005h – хранение отсчётов ,,;

5006h, 5007h,5008h– хранение произведений ,,;

50FFh - начальный адрес стека.

Текст программы:

* Курсовой проект *

* на тему : Цифровой полосовой фильтр *

* выполнил: ст.гр.215 *

* Агарков Дмитрий Николаевич *

* Дата :18.04.05 г. *

* Задание на курсовой проект: *

* линейное разностное уравнение : Y(n)=X(n)-0,091X(n-1)-0.13Х(n-2)- *

*-0,98Y(n-2) *

* частота дискретизации : Fд=5.5кГц *

* входной код - дополнительный *

* выходной сигнал - аналоговый, диапазон измерения (-1 +1) *

* ЦАП-К572ПА1 *

* микропроцессор-КР1821ВМ85 *

PA RF.EQU 0800h ;порт РА(РФ55)

RGA RF.EQU 0802h ;регистр направления передачи

; порта РА(РФ55)

PA RU.EQU 7001h ; порт РА(РУ55)

RG RU.EQU 7000h ;регистр управляющего слова (РУ55)

TL.EQU 7004h ;младший байт таймера

TH.EQU 7005h ;старший байт таймера

STL.EQU 21h ;младшее слово для загрузки в таймер

STH.EQU C2h ;старшее слово для загрузки в таймер

SRF.EQU FFh ;управляющее слово для настройки порта

;РА(РФ55)

SRU.EQU C0h ;управляющее слово для настройки

;портов и пуска таймера (РУ55)

SPR.EQU 1Dh ;управляющее слово для настройки

;прерываний

AX.EQU 5000h ;адрес отсчета

AX1.EQU 5001h ;адрес отсчета

AX2.EQU 5002h ;адрес отсчета

AY.EQU 5003h ;адрес отсчета

AY1.EQU 5004h ;адрес отсчета

AY2.EQU 5005h ;адрес отсчета

AP1.EQU 5006h ;адрес произведения

AP2.EQU 5007h ;адрес произведения

AP3.EQU 5008h ;адрес произведения

;Инициализация по сигналу «Сброс»

.ORG 0000 ;начальный адрес программного

;модуля инициализации

DI ;запрет прерываний

LXI SP,50FFh ;организация стека

MVI A,SRF ;настройка порта РА(Рф55) на вывод

STA RGA RF ;

MVI A,STL ;настройка таймера на частоту

STA TL ;переполнения Т=Тд в режиме 3

MVI A,STH ;

STA TH ;

MVI A,SRU ;настройка порта РА(РУ55) на ввод

STA RG RU ;и пуск таймера

MVI A,SPR ;настройка режима прерываний

SIM ;

EI ;разрешение прерываний

M1: HLT ;останов, ожидание прерывания

JMP M1 ;переход на команду останова

;процессора по окончании подпрог-

;раммы обслуживания прерывания

.ORG 2Сh ;начальный адрес программной

;реакции на прерывание типа RST 5.5

LDA PA RU ;ввод текущего кода АЦП в аккумулятор

;программный модуль масштабирования

;вычисления произведения

;xn:=0.0111010*xn=(2-2+2-3+2-4+2-6)*xn

;входной отсчет хранится в аккумуляторе

;масштабированный отсчет записать в ячейку

;ОЗУ с адресом AX

MOV H,A ;Xn à A

ARHL ;арифметические сдвиги в право

ARHL ;отсчета и накопление суммы

MOV A,H ;частичных произведений

ARHL ;в аккумуляторе

ADD H ;

ARHL ;

ADD H ;

ARHL ;

ARHL ;

ADD H ;

STA AX ;запоминание отсчёта в памяти

;программный модуль вычисления

;произведения

;p1n:=0.091*xn-1≈0.0001011*xn-1=(2-4+2-6+2-7)*xn-1

;xn-1 хранится в ячейке ОЗУ с адресом AX1

;записать в ячейку ОЗУ с адресом AP1

LDA AX1 ;Xn-1 à A

MOV H,A ;A à H

ARHL ;арифметические сдвиги в право

ARHL ;отсчета и накопление суммы

ARHL ;частичных произведений

ARHL ;в аккумуляторе

MOV A,H ;

ARHL ;

ARHL ;

ADD H ;

ARHL ;

ADD H ;

STA AP1 ;запоминание в памяти

;программный модуль вычисления произведения

;p2n:=0.13*xn-2≈0.0010000*xn-2=(2-3)*xn-2

;xn-2 хранится в ячейке ОЗУ с адресом Y2

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


Другие рефераты на тему «Коммуникации, связь и радиоэлектроника»:

Поиск рефератов

Последние рефераты раздела

Copyright © 2010-2024 - www.refsru.com - рефераты, курсовые и дипломные работы