收藏 分销(赏)

DSP2数据存储器和程序存储器实验.doc

上传人:二*** 文档编号:4550656 上传时间:2024-09-28 格式:DOC 页数:5 大小:27.50KB 下载积分:5 金币
下载 相关 举报
DSP2数据存储器和程序存储器实验.doc_第1页
第1页 / 共5页
本文档共5页,全文阅读请下载到手机保存,查看更方便
资源描述
数据存储器和程序存储器实验 电子073 高******27 一、实验目的 了解DSP内部数据存储器和程序存储器的结构。 了解DSP指令的几种寻址方式。 二、实验要求 主要是对外扩数据存储器和程序存储器金星数据的存储和移动。该实验所需要的硬件主要是DSP、CPLD和DRAM。实验过程是:让学生通过CCSC5000的DSP仿真器对DSP进行仿真、向DSP外扩DRAM写入数据、读数据、数据块的移动,其操作结果通过CCSC5000 仿真器界面进行观察或通过发光二极管观察其正确性。 三、实验程序 .title "ex2" .global reset,_main .mmregs .def _main DAT0 .set 00H DAT1 .set 01H DAT2 .set 02H DAT3 .set 03H DDAT0 .set 2004H DDAT1 .set 2005H DDAT2 .set 2006H DDAT3 .set 2007H PDAT0 .set 1f00H PDAT1 .set 1f01H PDAT2 .set 1f02H PDAT3 .set 1f03H .sect ".vectors" ;中断向量表 reset: B _main ;复位向量 NOP NOP .space 4*126 circle .usect "circle", 4 .bss y,8 .data table .word 1,2,3,4 .text DELAY .macro COUNT STM COUNT,BRC RPTB delay? NOP NOP NOP NOP delay?: NOP .endm _main: LD #40h,DP ;置数据页为2000h~207Fh STM #3000h,SP ;置堆栈指针 SSBX INTM ;禁止中断 STM #07FFFh,SWWSR ;置外部等待时间 bk0: SSBX XF ;置XF以实现二极管闪烁D3(EXPIII+) DELAY #0FFFFh RSBX XF DELAY #0FFFFh SSBX XF DELAY #0FFFFh ;B bk0 bk1:ST #1234h,DAT0 ;立即数寻址,D(2000H)=1234H, ST #5678h,*(DDAT1) ; D(2005H)=5678H NOP NOP NOP bk2: MVDK DAT0,DDAT0 ;绝对地址(dmad)寻址 MVKD DDAT1,DAT1 ; D(2004H)= D(2004H)=1234H NOP ; D(2005H)= D(2001H)=5678H NOP NOP bk3: MVDP DAT0,PDAT0 ;绝对地址(pmad)寻址 MVDP DAT1,PDAT1 ; D(1f00H)= D(2000H)=1234H NOP ; D(1f00H)= D(2001H)=5678H NOP NOP bk4: LD #PDAT1,A ;累加器寻址 A=1f01H READA DAT2 ; D(1f01H)= D(2002H)=5678H NOP NOP NOP bk5: ST #3210h,DAT3 ;直接寻址(DP指针) ;D(2003H)= 3210H NOP NOP NOP bk6: SSBX CPL ;置位CPL=1 NOP NOP NOP ST #9876h,DAT3 ;直接寻址(SP指针) NOP NOP NOP RSBX CPL ;复位 CPL=0 NOP NOP NOP bk7: STM #DDAT3,AR0 ;间接寻址 ST #9876h,*AR0 ; AR0=2007H NOP ; D(2007H)= 9876H NOP NOP bk8: STM #8888h,T ;存储器映射寄存器寻址 T=8888H NOP NOP NOP bk9: PSHM T ;堆栈寻址 POPM T NOP NOP NOP bk10: NOP STM 1000h,ar1 ;设置访问数据空间的地址,AR1寄存器间接寻址 RPT #07h ;下面的指令重复执行 0x07h+1次 ST 0aaaah,*ar1+ ;将数据"0AAAAH"存放到以地址1000H~1007H的八个存储单元中 NOP ;--------------------------------------------------------------- STM 7h,ar3 ;AR3=0x07h STM 1000h,ar1 ;设置访问数据空间的地址,AR1寄存器间接寻址 STM 1008h,ar2 ;设置访问数据空间的地址,AR2寄存器间接寻址 loop: ;循环的将1000H~1007H的八个单元中的数据复制到1008H~100F的 ;八个存储单元中,用T寄存器暂存 LD *ar1+,t ;*AR1-->T ,AR1=AR1+1 ST t,*ar2+ ;T-->*AR2 ,AR2=AR2+1 BANZ loop,*ar3- ;AR3=AR3-1 ,AR3=0? NOP bk11: STM #1,AR0 STM #table ,AR4 STM #circle,AR2 STM #4,BK STM #y, AR3 RPT #3 MVDD *AR4+,*AR2+0% ;间接寻址(双操作数寻址、循环寻址) RPT #7 MVDD *AR2+0%,*AR3+ ;间接寻址(双操作数寻址、循环寻址) bk12: STM #8,AR0 ;程序存储器到数据存储器的复制 STM #4000h,AR5 RPT #15 MVPD 1000H,*AR5+0B ;绝对地址(pmad)寻址、间接寻址(位倒序) NOP ;p(1000H)—p(100FH)存到D(3500H)—D(350FH)倒叙排列单元中 bk13: B _main .end 四、实验步骤 (1)以simulator方式启动CCS,打开项目文件,编译程序和加载目标代码文件。 (2)本实验需要打开6个内存窗口:Data页的0x1000起始处、0x2000起始处、Data页的0x3000起始处、0x4000起始处,Program页的0x1f00起始处和0x1000起始处。 (3)按照9.3节“CCS C5000使用及DSP指令”实验的步骤设置断点,观察方法也基本相同。下面仅对各个小段程序进行简要说明: Bk0 通过对XF引脚的置位和复位实现发光二极管的闪烁 Bk1 立即数寻址方式 Bk2 绝对地址寻址方式——数据存储器地址寻址 Bk3 绝对地址寻址方式——程序存储器地址寻址 Bk4 累加器寻址方式 Bk5 直接寻址方式(DP为基准) Bk6 直接寻址方式(SP为基准) Bk7 间接寻址方式 Bk8 存储器映射寄存器寻址方式 Bk9 堆栈寻址方式 Bk10 将程序存储器0x1000为起始处的0x100个字复制到数据存储器的0x4000为骑士地址的空间中 Bk11 间接寻址,循环器首地址0x1000 Bk12 间接寻址,将程序存储器0x1000为起始处的0x010个字复制到数据存储器的0x3500为骑士地址的空间中,位倒叙寻址,步长为8。 五、实验心得
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服