Разработка цифрового фильтра
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 устанавливающая маску прерываний.
Формат маски:
|
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
Другие рефераты на тему «Коммуникации, связь и радиоэлектроника»:
Поиск рефератов
Последние рефераты раздела
- Микроконтроллер системы управления
- Разработка алгоритмического и программного обеспечения стандарта IEEE 1500 для тестирования гибкой автоматизированной системы в пакете кристаллов
- Разработка базы данных для информатизации деятельности предприятия малого бизнеса Delphi 7.0
- Разработка детектора высокочастотного излучения
- Разработка микропроцессорного устройства для проверки и диагностики двигателя внутреннего сгорания автомобиля
- Разработка микшерного пульта
- Математические основы теории систем