您好,欢迎来到尚车旅游网。
搜索
您的当前位置:首页DSP技术原理及应用实验报告

DSP技术原理及应用实验报告

来源:尚车旅游网


DSP技术原理及应用

实验报告

课程名称: DSP技术原理及应用实验 学 院: 信息学院 专 业: 电子信息科学与技术 班 级: xxxxxxxxxxxx 学 号: xxxxxxxxxxxxxxx 姓 名:

2013年5月 14 日

xxxxxxx 成 绩:

实验一常用指令实验

实验题目

《一》流水灯实验 《二》LCD显示实验

《三》读取键状态,在LCD上显示/点亮相应LED的实验 实验目的

熟悉CCS集成开发环境、熟悉常用cx指令及软件操作。 实验内容与步骤

熟悉CCS集成开发环境。

进入CCS环境并新建一个工程和三个源文件。 在CCS的编辑器中编写源文件。

参看标准CX指令集。在四大类指令中,各选5条指令,将其写成可使用(可编译)的形式,并加注释,再编译,直至无错误(通过汇编)。 实验环境

CCS集成开发环境 实验过程及数据

实验截图:

代码:

(1)cyzl _zl.asm

.title \"cyzl_zl.asm\" .mmregs

STACK .usect \"STACK\ .def start .data

table: .int 1,2,3,4 ;allocate space for stack

.int 8,6,4,2

.text ;code follow... start:

;STM #1k,MMR MMR=#1k

STM #0,SWWSR ;RPT #k Repeat(#k) RPT #7

;MVPD pmad,Smem Smem=prog(pmad) MVPD table,*AR1+

; ;ADD smem,src src=smem+src ADD *AR3,a

;ADD src[,SHIFT][,dst] Dst=dst+src[<;ADDC Smem,src src=src+Smem+CARRY ADDC *AR3,A

;SQUR A,dst dst=hi(A)*hi(A) SQUR A,A

; ;AND Smem,src src=src&Smem AND *AR3,A

算术指令 逻辑指令

;BITF Smem,#1k TC=bitf(Smem,#1k) BITF *AR3,#1234H ;CMPL src[,dst] Dst=~src CMPL A,A

;OR #1k,16,src[,dst] dst=src|#1k<<16 OR #1234H,16,A

;SFTL src,SHIFT[,dst] dst=src<; ;BC pmad,cond[,cond[,cond]] If(cond[,cond[,cond]]) ;;;;;BC 1234H,1 ;FCALA src Far call src ;FCALA A

;FRET Far return ;FRET

;RPT #1k Repeat #1k RPT #1234H

; ;DST src,Lmem Dbl(Lmem)=src DST A,*AR3

;LD Xmem,SHIFT,dst Dst=Xmen[<;SACCD src,Xmen,cond If(cond) Xmen=hi(src)<;ST #1k,Smen Smen=#1k ST #1234H,*AR3

程序控制指令

装入和存储指令

[d]goto pmad

;STH src,Smem Smen=hi(src) STH A,*AR3 .end (2)cyzl_v.asm

.title \"cyzl_v.asm\" .ref start .sect \".vectors\" rst: B start .end (3)cyzl_ml.cmd cyzl_v.obj cyzl_zl.obj -o cyzl.out -e start MEMORY { PAGE 0:

EPROM: org=0E000H, len=100H VECS: org=0FF80H, len=04H PAGE 1:

DARAM org=0080H, len=120H } SECTIONS {

.text :>EPROM PAGE 0 .data :>EPROM PAGE 0 .bss :>DARAM PAGE 1 .STACK :>DARAM PAGE 1 .vectors :>VECS PAGE 0 }

实验二数据块交换实验

实验题目

数据块交换实验 实验目的

数据块交换 实验内容与步骤

将程序存储器一个区域名为tab1的内容赋值为1,2,3,…..19,20。 将程序存储器另一个区域名为tab2的内容赋值为101,102,……,119,120。 将tab1的内容复制到数据存储区x 将tab2的内容复制到数据存储区y 将x、y内容对调。

计算Z=∑Y*Y (保存计算结果到变量Z)

编写完成该任务的主程序文件、复位向量文件、链接命令文件,并调试至正确。 实验环境

CCS集成开发环境 实验过程及数据

实验截图

x,y中的值交换后,y中的值做乘累加运算:

代码:

(1)cyzl_zl.asm

.title \"cyzl_zl.asm\" .mmregs .def start .bss x,20 .bss y,20 .bss m,20 .bss z,1 .data

tab1: .int 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20 tab2: .int 101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120

.text start: STM #x,AR1 RPT #60

ST #0,*AR1+ ;CLEAR MEMERY STM #x,AR1 RPT #39

MVPD tab1,*AR1+ ;COPY FROM P TO D STM #x,AR2 STM #m,AR3 RPT #19

MVDD *AR2+,*AR3+ ;COPY FROM X TO M STM #y,AR2 STM #x,AR3 RPT #19

MVDD *AR2+,*AR3+ ;COPY FROM Y TO X

STM #m,AR2 STM #y,AR3 RPT #19

MVDD *AR2+,*AR3+ ;COPY FROM M TO Y STM #y,AR2 RPTZ A,#19

MAC *AR2+,*AR2,A ;A=A+(AR2)*(AR2) STM #z,AR2 STH A,*AR2 STL A,*AR2 B start .end (2)cyzl_v.asm

.title \"cyzl_v.asm\" .ref start .sect \".vectors\" rst: B start

.end (3)cyzl_ml.cmd cyzl_v.obj cyzl_zl.obj -o cyzl.out -e start MEMORY {

PAGE 0:

EPROM: org=0E000H, len=100H VECS: org=0FF80H, len=04H PAGE 1:

DARAM org=0080H, len=120H } SECTIONS

{ .text :>EPROM PAGE 0 .data :>EPROM PAGE 0 .bss :>DARAM PAGE 1 .vectors :>VECS PAGE 0 }

实验三 乘累加实验

实验题目

乘累加实验 实验目的

做乘累加实验 实验内容与步骤

(1)十六进制十进制转换

(2)Y=∑ h(i)*x(i) i=1 其中h(i)=1,2,3,4,5,6,7,8,9,10 已保存在程序空间

X(i)=10,9,8,7,6,5,4,3,2,1

1.X(i)也已保存在程序空间,计算结果保存到变量Y。

2.X(i)须从外部I/O端口输入。计算结果也输出到外部I/O端口。 PA0: 输出端口=0(地址) PA1: 输入端口=1(地址) 实验环境

CCS集成开发环境 实验过程及数据

实验3.1

实验结果y=DC(16进制)=220(10进制)

代码:

(1)cyzl_zl.asm

.title \"cyzl_zl.asm\" .mmregs

STACK .usect \"STACK\ .bss x,10 .bss h,10 .bss y,1 .def start .data

table: .word 1,2,3,4,5,6,7,8,9,10 .word 10,9,8,7,6,5,4,3,2,1 .text start:

STM #x,AR1 RPT #20

ST #0,*AR1+ ;CLEAR MEMERY

STM #STACK+10h,SP STM #x,AR1 RPT #19

MVPD table,*AR1+ ;COPY FROM CALL SUM B start SUM: STM #x,AR2 STM #h,AR3 LD #1,DP

RPTZ A,#9

MAC *AR2+,*AR3+,A STL A,@y RET .end (2)cyzl_v.asm

.title \"cyzl_v.asm\" .ref start .sect \".vectors\" rst: B start .end (3)cyzl_ml.cmd cyzl_v.obj cyzl_zl.obj -o cyzl.out -e start MEMORY {

PAGE 0:

EPROM: org=0E000H, len=100H VECS: org=0FF80H, len=04H PAGE 1:

DARAM org=0080H, len=120H } SECTIONS {

.text :>EPROM PAGE 0 .data :>EPROM PAGE 0 .bss :>DARAM PAGE 1 STACK :>DARAM PAGE 1 .vectors :>VECS PAGE 0 } 实验3.2

实验结果y=DC(16进制)=220(10进制)

代码:

(1)cyzl_zl.asm

.title \"cyzl_zl.asm\"

.mmregs

PA0 .set 0 PA1 .set 1

.bss x,10

.bss h,10 .bss y,1 .def start .data

tab: .word 1,2,3,4,5,6,7,8,9,10

.text

start:

STM #x,AR1 RPT #20 ST #0,*AR1+

STM #h,AR2 STM #x,AR3 RPT

#9

MVPD tab,*AR2+

LD #0,A ;CLEAR A LD #x,DP

LOOP: RPT #9

NOP;

PORTR PA1,*AR3

CALL SUM

B start

SUM: STM #h,AR2

STM #x,AR3

LD #1,DP RPTZ A,#9

MAC *AR2+,*AR3+,A

STL A,@y RET

.end

(2)cyzl_v.asm

.title \"cyzl_v.asm\" .ref start .sect \".vectors\" rst: B start .end (3)cyzl_ml.cmd cyzl_v.obj cyzl_zl.obj -o cyzl.out -e start MEMORY {

PAGE 0:

EPROM: org=0E000H, len=100H VECS: org=0FF80H, len=04H PAGE 1:

DARAM org=0080H, len=120H } SECTIONS {

.text :>EPROM PAGE 0 .data :>EPROM PAGE 0

.bss :>DARAM PAGE 1 STACK :>DARAM PAGE 1 .vectors :>VECS PAGE 0 }

Probe Point设置

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- sceh.cn 版权所有 湘ICP备2023017654号-4

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务