东北大学DSP实验

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

.title "io" ;title伪指令。双引号括起来的源程序名。伪指令小写。

.global _c_int00 ;global伪指令,将变量_c_int00说明为外部符号。

;外部符号:在一个模块中定义而在另一模块中引用的符号称为外部符号。

.mmregs ;将TMS320各寄存器名定义为全局符号,这样就可以直接引用寄存器(符号)。

;mmregs 定义存储器映射寄存器的符号名称。

FG_ADDR .set 1002H ;set伪指令。将一个值分配给一个符号。1002HI/O口地址定义。

DA TA .set 60h ;double ram data

.sect ".vectors" ;sect定义初始化命名段。段名必须用双引号括起,建立包含代码和数据的自定义断。

;".vectors"定义向量表,紧跟其后的是复位向量和中断向量。

reset: B _c_int00 ; B 无条件跳转指令。将变量_c_int00说明为外部变量,程序入口地址1000。

NOP ;空指令。等待一个机器周期。

NOP

.space 31*4*16 ;space 伪指令。在当前段内保留一个指定数目的位数,并用0填充, 保留31*4个字单元。

DELAY .macro sec_tenth ;macro 宏指令开始。DELAY宏名。sec_tenth形式参数。延时sec_tenth/10 秒

STM sec_tenth-1,AR5 ;STM存储指令。AR0~AR7 寄存器辅助。

loop1? STM #09h,AR6

loop0? STM #19999,AR7 ;STM存储指令。AR0~AR7 辅助寄存器。

BANZ $,*AR7-

BANZ loop0?,*AR6- ;AR6-不为0时转移。

BANZ loop1?,*AR5-

.endm ;Endm 宏指令结束。

.text ;text 段是源程序正文。经汇编后,紧跟.text 后的是可执行程序代码。

_c_int00: ;

LD #0h,DP ;LD装入指令。设置数据页指针,DP=0H,则数据存储器地址为0000H~007FH。

STM #3000h,SP ;STM存储指令。把累加器的低端存放到存储器映射寄存器中。SP设置堆栈指针

RSBX INTM ;RSBX清除指令。INTM中断方式位=0,允许可屏蔽中断。INTM中断方式位=1,禁止可屏蔽中断。

STM #07FFFh,SWWSR ;SWWSR可编程软件等待状态寄存器。作用:高速内存与

慢速外设的协调连接,提供一个方便的接口。

SSBX XF ;SSBX置位指令。XF外部标志输出引脚=1,XF=0,呈高阻状态。

ST #1007h,CLKMD ;ST存储指令。16bit长立即数。工作在20MHz

RPT #0FFh ;RPT循环指令。把循环次数0FFH装入循环计数器(RC)。

NOP

STM #0ffffh,IFR ;IFR中断标志寄存器。把IFR每位写1的用途,就是清除所有被挂起的中断。

ORM #000h,IMR ;IMR中断屏蔽寄存器。把IMR每位置0屏蔽该中断。

RSBX SXM ;RSBX清零指令。SXMS是状态寄存器ST1中第8位,当SXM=0,不扩展符号;当SXM=1,扩展符号。

ST #8100H,DA TA ;ST存储指令。16bit长立即数。8100H=1000 0001 0000 0000b WRDENG: ST #100H,DATA ;0100H=0000 0001 0000 0000b.

PORTW DATA,FG_ADDR

DELAY #10

ST #200H,DATA ; 0200H=0000 0010 0000 0000b

PORTW DATA,FG_ADDR

DELAY #10

ST #400H,DATA ;0400H=0000 0100 0000 0000b.

PORTW DATA,FG_ADDR

DELAY #10

ST #800H,DATA ;0800H=0000 1000 0000 0000b.

PORTW DATA,FG_ADDR

DELAY #10

RPT #10

NOP

ST #1000H,DA TA ;1000H=0001 0000 0000 0000b.

PORTW DATA,FG_ADDR

DELAY #10

RPT #10

NOP

ST #2000H,DA TA ;2000h=0010 0000 0000 0000b.

PORTW DATA,FG_ADDR

DELAY #10

RPT #10

NOP

ST #4000H,DA TA ;4000H=0100 0000 0000 0000b.

PORTW DATA,FG_ADDR

DELAY #10

RPT #10

NOP

STM #8000H,DATA ;8000H=1000 0000 0000 0000b. PORTW DATA,FG_ADDR

DELAY #10

RPT #10

NOP

;;;

ST #8000H,DA TA

PORTW DATA,FG_ADDR

DELAY #10

ST #4000H,DA TA

PORTW DATA,FG_ADDR

DELAY #10

ST #2000H,DA TA

PORTW DATA,FG_ADDR

DELAY #10

ST #1000H,DA TA

PORTW DATA,FG_ADDR

DELAY #10

RPT #10

NOP

ST #800H,DATA

PORTW DATA,FG_ADDR

DELAY #10

RPT #10

NOP

ST #400H,DATA

PORTW DATA,FG_ADDR

DELAY #10

RPT #10

NOP

ST #200H,DATA

PORTW DATA,FG_ADDR

DELAY #10

RPT #10

NOP

STM #100H,DA TA

PORTW DATA,FG_ADDR

DELAY #10

相关文档
最新文档