DSP硬件实验报告 北邮

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

北京邮电大学DSP硬件实验报告

学院: 电子工程学院

专业:

姓名:

学号:

班级:

实验一常用指令实验

一、实验目的

熟悉DSP开发系统的连接

了解DSP开发系统的组成和结构和应用系统构成

熟悉常用C54X系列指令的用法(程序寻址,寄存器,I/O口,定时器,中断控制)。

二、实验步骤与内容

(一)简单指令程序运行实验

源程序:

;File Name:exp01.asm

;the program is compiled at no autoinitialization mode --程序在非自动初始化模式下编译

.mmregs --(enter memory-mapped registers into the symbol table) --进入记忆映射注册进入符号表

.global _main --(identify one or more global(external)symbols)--定义一个或多个全局变量

_main:

stm(累加器的低端存放到存储器映射寄存器中) #3000h,sp(堆栈指针寄存器);堆栈指针的首地址设为#3000h

ssbx(状态寄存器位置位)xf ;状态寄存器位置位,灯亮

call (非条件调用,可选择延迟)delay(存储器延时) ;调用delay函数延时

rsbx(状态寄存器复位)xf ;状态寄存器位复位,灯灭

call delay ;调用delay函数延时

b (累加器)_main ;可选择延迟的无条件转移,循环执行

nop(无操作)

nop

;delay .5 second

delay: ;延迟0.5秒

stm 270fh,ar3 (辅助寄存器3) ;把地址存放到存储器映射寄存器中

loop1:

stm 0f9h,ar4 (辅助寄存器4);把地址存放到存储器映射寄存器中

loop2:

banz loop2,*ar4- ;AR4不为0时转移,指针地址减一

banz loop1,*ar3- ; 若不为0,ar3减1,共进行10000*250次跳转

ret (可选择延迟的返回 pc=sp++) ;return,返回

nop

nop

;stm 2 cycles

;banz when TRUE 4 cycles

; FALSE 2 cycles

;0f9h=>249d

;270fh=>9999d

.end

实验现象

XF灯以一定频率闪烁;单击“Halt”暂停程序运行,则XF灯停止闪烁,如再单击“Run”,则“XF”灯又开始闪烁;

(二)资料存储实验

源程序:

*File Name:exp02.asm

;get some knowledge of the cmd file

;the program is compiled at no autoinitialization mode

.mmregs

.global _main

_main:

;store data

stm 1000h,ar1 ;ar1映射到内存1000h位

; stm 5000h,ar1 ;address of exterior memory

rpt(循环执行下一条指令,计数为短立即数) #07h ;循环执行下一条指令8次

st(存储T寄存器的值) 0aaaah,*ar1+ ;data 存储寄存器的值

;read data then re-store

stm 7h,ar3 ;设置ar3

; stm 5000h,ar1 ;address of exterior memory

; stm 5008h,ar2 ;address of exterior memory

stm 1000h,ar1 ;设置ar1为1000h

stm 1008h,ar2 ;设置ar2为1008h

loop:

ld *ar1+,t ;把单数据存储操作数装入T寄存器中

st t,*ar2+ ;存储T寄存器的值

banz loop,*ar3- ;循环7次

here:

b here ;可选择延迟的无条件转移,循环执行

.end

实验目的:

;本实验程序将对0x1000开始的8个地址空间,填写入0xAAAA的数值,然后读出,并存储到0X1008开始的8个地址空间。在CCS 中可以观察DATA内存空间地址0X1000~0X100F值的变化。

实验现象:

在CCS的“View”下拉菜单中的Memory窗口中查找C5410各个区段的数据存储器地址,在可以改变的存储器内容的地方,选定地址随意改变其中内容并观察结果;本实验要查看0x1000H~0x100FH单元的数值变化,输入地址0x1000H;查看0x1000H~0x100FH单元的初始值,单击“Run”运行程序,也可以“单步”运行程序;单击“Halt”暂停程序运行。

(三):I/O实验

源程序:

;File Name :exp03.asm

;learn how to operate the I/O ports

;get some knowledge of the rts.lib file

;in the I/O space 0x0000=>8 switches

; 0x0001=>8 LEDs

.mmregs

.global _main

.text

_main:

stm 3100h,sp ;堆栈指针的首地址设为#3100h

stm 1000h,ar1 ;define the address,定义ar1的地址

;define the address

相关文档
最新文档