5. Выводы
В данной курсовой работе производилась разработка системы цифровой фильтрация аналоговых сигналов.
Разработана
программа, реализующая цифровой
эквивалент непрерывной передаточной
функции
;
принципиальная электрическая схема
цифровой системы, обрабатывающей сигналы
с датчиков по разработанной программе.
Спроектированная система удовлетворяет всем заданным требованиям.
Список используемых источников:
Конспект лекций по курсу “Микропроцессорные устройства”, В.А. Можаев
Лабораторный практикум по курсу “Микропроцессорные устройства”, В.А. Можаев
- Шамриков Б.М. «Основы теории цифровых систем» М.: Машиностроение, 1985. 296с.
Исходный код программы.
.PROGRAM KURS_MPU
;#include C:\LabMKP\Mb90V590.h
#include C:\LabMKP\Mb90V590.h
.EXPORT _main
.SECTION CONST_MAIN, DATA, ALIGN=2
ACP .DATA.B 10
.SECTION DATA_MAIN, DATA, ALIGN=2
; резервируем память для х(к), х(к-1), у(к-1)
XK .RES.B 1
SIGNY .RES.B 1
.SECTION CODE_MAIN, CODE, ALIGN=2
_main: MOV R0, #160
MOVW RW0, #250
MOVW RW3, #3
MOV R3, #0 ;X(к-1)=0
MOVW RW2, #0 ;Y(к-1)=0
; инициализация порта P8 и разрядов Р77, Р76 на вывод
MOV DDR8, #H'FF
; инициализация АЦП
MOV ADCS0, #H'00
MOV ADCS1, #H'00
MOV ADCR1, #H'E8
MOV ADER, #H'FF
; инициализация таймера для задержки 1мс
MOVW TMRLR0, #2000
MOVW TMCSR0, #H'0013
MOV SIGNY, #0
M1: MOVW RW1, #751
SETB ADCS1:1 ; старт на АЦП, считывание х(к)
WBTC ADCS1:7 ; окончание преобразование
MOV A, ADCR0
;MOV A, ACP ;
MOV XK, A ; сохраняем результат
SUB A, R3 ; DELTA(X)=х(к)-х(к-1)
CMP A, #0
BGE LOOP1
NEG A
MULU A, R0
NEGW A
JMP LOOP2
LOOP1: MULU A, R0 ; 160*DELTA(X)
LOOP2: MOVW RW7, A ; RW7=160*DELTA(X)
MOVW A, RW2 ; A=Y(K-1)
MULUW A, RW3 ;3*Y(K-1)
ADDW A, RW7 ; 3*Y(K-1)+160*DX
CMPW A, #0
BGE LOOP3
MOV SIGNY, #1
NEGW A
JMP LOOP4
LOOP3: MOV SIGNY, #0
LOOP4: MULUW A, RW0 ; 250*(3*Y(K-1)+160*DX)
DIVUW A, RW1 ; 250*(3*Y(K-1)+160*DX)/751
MOVW RW2, A ; Y(K-1)=Y(K)
MOV R3, XK ; X(K-1)=X(K)
MOV R1, #10
DIVU A, R1
MOV R2, A ;В R2 ЦЕЛАЯ ЧАСТЬ, В R1 остаток (ДРОБЬ)
MOV A, R1 ; ОКРУГЛЕНИЕ
CMP A, #5
BLO LOOP5
INC R2
LOOP5: MOV A, SIGNY
CMP A, #0
BEQ LOOP6
NEGW RW2
NEG R2
LOOP6: MOV A, #127
ADD R2, A
; организуем задержку
;WBTS TMCSR0:2
;CLRB TMCSR0:2
; выдача на ЦAП
MOV PDR8, R2
JMP M1
RET
