📄 main.asm
字号:
******************************************************************************
* (C) COPYRIGHT TEXAS INSTRUMENTS, INC. 1996 *
******************************************************************************
* FILE NAME: main.asm *
* *
* HISTORY: This program is written in TMS320C54x assembly *
* language by Philip M. Jones II and Kamal Swamidoss *
* *
* *
* *
* DESCRIPTION: This is an implementation of a five band *
* graphic equalizer. Each bandpass filter *
* was designed in matlab. The five filters *
* are 51 taps each. *
* *
* Last Modified: This program was last modified 8-22-96 *
******************************************************************************
******************************************************************************
;
; Each band of the equalizer has a seperate gain
;
; Y(n)=G1y1(n)+G2y2(n)+G3y3(n)+G4y4(n)+G5y5(n)
;
;-----------------------------------------------------------------------------
; First Multiply the gains by their respective coeffs (51)
;
; Y(n)=g1SUM h1(i)X(n-i)+g2SUM h2(i)X(n-i)+g3SUM h3(i)X(n-i)+.......
;
;-----------------------------------------------------------------------------
; Next Sum the elements of each section.
;
; SUM [ g1h1(i)X(n-i)+g2h1(i)X(n-i)+.......... ]
;
;-----------------------------------------------------------------------------
; Finally, multiply the sum of elements by the input.
;
; SUM [ g1h1(i)+g2h2(i)+g3h3(i)+g4h4(i)+......... ]X(n-i)
;c:\dskplus\demos\equalzr\dsp\main.asm -l
******************************************************************************
.setsect ".text", 0x1800, 0
.setsect "vectors", 0x0180, 0
.setsect "kamal", 0x0060, 1
.setsect ".data", 0x0200, 1
.setsect "coeffs", 0x1400, 1
.setsect "Numbrs", 0x10ff, 1
.setsect "stack", 0x2700, 1
.include "aic_cfg.inc"
.copy "init_54x.inc"
.include "init_ser.inc"
.include "interrpt.inc"
START_GAIN_VAL .set 18000 ; Start gain values of
NEW .usect "coeffs",255 ; Variables
my_stack .usect "stack",0x100
.sect "kamal"
gain_chg .word 0 ; increment/decrement value
ACK .word 0xA000 ; acknowledgement to host
; the five bands
.sect "vectors"
.include "vectors.asm"
.sect "Numbrs"
t_data: .word 0
;Filter Coefficient Generator lopass @ fcut=1K
G1 .word START_GAIN_VAL ; These are the respective gains
G2 .word START_GAIN_VAL
G3 .word START_GAIN_VAL
G4 .word START_GAIN_VAL
G5 .word START_GAIN_VAL
************************** Peak filter section 1 *************************
; (200Hz cut off) lowest
A1 .WORD 48
A2 .WORD 51
A3 .WORD 57
A4 .WORD 68
A5 .WORD 83
A6 .WORD 102
A7 .WORD 124
A8 .WORD 149
A9 .WORD 178
A10 .WORD 208
A11 .WORD 241
A12 .WORD 275
A13 .WORD 309
A14 .WORD 344
A15 .WORD 379
A16 .WORD 413
A17 .WORD 445
A18 .WORD 476
A19 .WORD 504
A20 .WORD 530
A21 .WORD 552
A22 .WORD 571
A23 .WORD 585
A24 .WORD 596
A25 .WORD 603
A26 .WORD 605
A27 .WORD 603
A28 .WORD 596
A29 .WORD 585
A30 .WORD 571
A31 .WORD 552
A32 .WORD 530
A33 .WORD 504
A34 .WORD 476
A35 .WORD 445
A36 .WORD 413
A37 .WORD 379
A38 .WORD 344
A39 .WORD 309
A40 .WORD 275
A41 .WORD 241
A42 .WORD 208
A43 .WORD 178
A44 .WORD 149
A45 .WORD 124
A46 .WORD 102
A47 .WORD 83
A48 .WORD 68
A49 .WORD 57
A50 .WORD 51
A51 .WORD 48
************************** Peak filter section 2 *************************
; (528Hz-1008Hz) lower
B1 .WORD -51
B2 .WORD -40
B3 .WORD -22
B4 .WORD -2
B5 .WORD 10
B6 .WORD 0
B7 .WORD -37
B8 .WORD -88
B9 .WORD -112
B10 .WORD -53
B11 .WORD 130
B12 .WORD 428
B13 .WORD 759
B14 .WORD 977
B15 .WORD 917
B16 .WORD 472
B17 .WORD -338
B18 .WORD -1333
B19 .WORD -2206
B20 .WORD -2619
B21 .WORD -2334
B22 .WORD -1320
B23 .WORD 206
B24 .WORD 1825
B25 .WORD 3055
B26 .WORD 3514
B27 .WORD 3055
B28 .WORD 1825
B29 .WORD 206
B30 .WORD -1320
B31 .WORD -2334
B32 .WORD -2619
B33 .WORD -2206
B34 .WORD -1333
B35 .WORD -338
B36 .WORD 472
B37 .WORD 917
B38 .WORD 977
B39 .WORD 759
B40 .WORD 428
B41 .WORD 130
B42 .WORD -53
B43 .WORD -112
B44 .WORD -88
B45 .WORD -37
B46 .WORD 0
B47 .WORD 10
B48 .WORD -2
B49 .WORD -22
B50 .WORD -40
B51 .WORD -51
************************** Peak filter section 3 *************************
; (1200Hz-1728Hz) Mid
C1 .WORD -25
C2 .WORD 34
C3 .WORD 66
C4 .WORD 42
C5 .WORD -19
C6 .WORD -53
C7 .WORD -26
C8 .WORD 0
C9 .WORD -63
C10 .WORD -160
C11 .WORD -70
C12 .WORD 307
C13 .WORD 661
C14 .WORD 434
C15 .WORD -514
C16 .WORD -1442
C17 .WORD -1233
C18 .WORD 392
C19 .WORD 2199
C20 .WORD 2343
C21 .WORD 236
C22 .WORD -2510
C23 .WORD -3341
C24 .WORD -1225
C25 .WORD 2135
C26 .WORD 3745
C27 .WORD 2135
C28 .WORD -1225
C29 .WORD -3341
C30 .WORD -2510
C31 .WORD 236
C32 .WORD 2343
C33 .WORD 2199
C34 .WORD 392
C35 .WORD -1233
C36 .WORD -1442
C37 .WORD -514
C38 .WORD 434
C39 .WORD 661
C40 .WORD 307
C41 .WORD -70
C42 .WORD -160
C43 .WORD -63
C44 .WORD 0
C45 .WORD -26
C46 .WORD -53
C47 .WORD -19
C48 .WORD 42
C49 .WORD 66
C50 .WORD 34
C51 .WORD -25
************************** Peak filter section 4 *************************
; (1920Hz-2544Hz) High
D1 .WORD -24
D2 .WORD 63
D3 .WORD 50
D4 .WORD -78
D5 .WORD -92
D6 .WORD 84
D7 .WORD 132
D8 .WORD -58
D9 .WORD -112
D10 .WORD 11
D11 .WORD -44
D12 .WORD -6
D13 .WORD 383
D14 .WORD 158
D15 .WORD -873
D16 .WORD -580
D17 .WORD 1384
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -