DSP硬件实验报告 北邮
- 格式:doc
- 大小:325.50 KB
- 文档页数:24
北京邮电大学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