DSP实验程序Word格式.docx

上传人:b****1 文档编号:1539960 上传时间:2023-04-30 格式:DOCX 页数:18 大小:17.25KB
下载 相关 举报
DSP实验程序Word格式.docx_第1页
第1页 / 共18页
DSP实验程序Word格式.docx_第2页
第2页 / 共18页
DSP实验程序Word格式.docx_第3页
第3页 / 共18页
DSP实验程序Word格式.docx_第4页
第4页 / 共18页
DSP实验程序Word格式.docx_第5页
第5页 / 共18页
DSP实验程序Word格式.docx_第6页
第6页 / 共18页
DSP实验程序Word格式.docx_第7页
第7页 / 共18页
DSP实验程序Word格式.docx_第8页
第8页 / 共18页
DSP实验程序Word格式.docx_第9页
第9页 / 共18页
DSP实验程序Word格式.docx_第10页
第10页 / 共18页
DSP实验程序Word格式.docx_第11页
第11页 / 共18页
DSP实验程序Word格式.docx_第12页
第12页 / 共18页
DSP实验程序Word格式.docx_第13页
第13页 / 共18页
DSP实验程序Word格式.docx_第14页
第14页 / 共18页
DSP实验程序Word格式.docx_第15页
第15页 / 共18页
DSP实验程序Word格式.docx_第16页
第16页 / 共18页
DSP实验程序Word格式.docx_第17页
第17页 / 共18页
DSP实验程序Word格式.docx_第18页
第18页 / 共18页
亲,该文档总共18页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

DSP实验程序Word格式.docx

《DSP实验程序Word格式.docx》由会员分享,可在线阅读,更多相关《DSP实验程序Word格式.docx(18页珍藏版)》请在冰点文库上搜索。

DSP实验程序Word格式.docx

置堆栈指针

SSBXINTM;

禁止中断

bk0:

ST#0012h,DAT0

LD#0023h,A

ADDDAT0,A;

加法操作:

A=A+DAT0

NOP

bk1:

ST#0054h,DAT0

LD#0002h,A

SUBDAT0,A;

减法操作:

A=A-DAT0

bk2:

ST#0345h,DAT0

STM#0002h,T

MPYDAT0,A;

乘法操作:

A=DAT0*T

bk3:

ST#1000h,DAT0

ST#0041h,DAT1

RSBXSXM;

 无符号除法操作:

DAT0÷

DAT1;

结果:

DAT2:

商;

DAT3:

余数

LDDAT0,A

RPT#15

SUBCDAT1,A

STLA,DAT2

STHA,DAT3

bk4:

ST#0333h,DAT0

SQURDAT0,A;

平方操作:

A=DAT0*DAT0

bk5:

ST#0034h,DAT0

ST#0243h,DAT1

ST#1230h,DAT2

ADD3DAT0,DAT1,DAT2,DAT3;

三数相加操作:

DAT3=DAT0+DAT1+DAT2

bk6:

Bbk0;

循环执行

.end

实验二、寻址实验

ex2.asm*

数据存储器和程序存储器实验*

*Copyright(C)SanZhiElectronic,AuthorZpin*

ex2"

.globalreset,_c_int00

DAT0.set00H

DAT1.set01H

DAT2.set02H

DAT3.set03H

DDAT0.set2004H

DDAT1.set2005H

DDAT2.set2006H

DDAT3.set2007H

PDAT0.set1f00H

PDAT1.set1f01H

PDAT2.set1f02H

PDAT3.set1f03H

.sect"

.vectors"

;

中断向量表

reset:

B_c_int00;

复位向量

.space4*126

DELAY.macroCOUNT

STMCOUNT,BRC

RPTBdelay?

delay?

:

NOP

.endm

 

LD#40h,DP;

置数据页为2000h~207Fh

STM#3000h,SP;

STM#07FFFh,SWWSR;

置外部等待时间

SSBXXF;

置XF以实现二极管闪烁

DELAY#0FFFFh

RSBXXF

SSBXXF

;

bbk0

ST#1234h,DAT0;

立即数寻址

ST#5678h,*(DDAT1)

MVDKDAT0,DDAT0;

绝对地址(dmad)寻址

MVKDDDAT1,DAT1

MVDPDAT0,PDAT0;

绝对地址(pmad)寻址

MVDPDAT1,PDAT1

LD#PDAT1,A;

累加器寻址

READADAT2

ST#3210h,DAT3;

直接寻址(DP指针)

SSBXCPL

ST#9876h,DAT3;

直接寻址(SP指针)

RSBXCPL

bk7:

STM#DDAT3,AR0;

间接寻址

ST#9876h,*AR0

bk8:

STM#8888h,T;

存储器映射寄存器寻址

bk9:

PSHMT;

堆栈寻址

POPMT

bk10:

STM#4000h,AR0;

程序存储器到数据存储器的复制

RPT#100h

MVPD1000H,*AR0+

bk11:

B_c_int00

实验三、硬件中断实验

ex6.asm*

硬件中断实验*

ex6"

.global_c_int00

KEY_ADDR.set0a008h

D_LED_ADDR.set0b000h

KEY_CODE1.set60h

KEY_CODE2.set61h

CONVERT.macrorawdata

STM#4000h,AR3

ANDM#001Fh,rawdata

LDrawdata,A

ADDAR3,A

STLA,AR3

nop

LD*AR3,A

STLA,rawdata

.endm

.data

.word00h,3F06h,0605h,5B04h,4f03h,6602h,6d01h,7d06h,0705h,7f04h,6f03h,07702h,07c01h,3906h,5e05h,07904h,07103h,8002h

;

BCDCODE0123456789abcdef.

hight8bitenable,low8bitisaddress

.sect"

rst:

.space17*4*16

int2:

B_onkey

.space13*4*16

LD#0h,DP

STM#3000h,SP

SSBXINTM

ssbxXF

STM#07FFFh,SWWSR

ST#0000h,KEY_CODE2

STM#0ffffh,IFR

ORM#0004h,IMR

RSBXINTM

susp:

PORTWKEY_CODE2,D_LED_ADDR;

显示到数码管

rpt#0ffffh

Bsusp

_onkey:

nop

nop

PORTRKEY_ADDR,KEY_CODE2;

读取按键

CONVERTKEY_CODE2;

将按键码转换成显示码

exitrpt#0ffffh

RETE

实验四、定时器实验

ex7.asm*

定时器实验*

.title"

ex7"

PERSEC.set60h

SEC.set61h

MIN.set62h

STATUS.set63h

TMP0.set64h

TMP1.set65h

TMP.set66h

D_LED.set0b000h

;

D_LED0.set01h

D_LED1.set02h

D_LED2.set03h

D_LED3.set04h

D_LED4.set05h

D_LED5.set06h

D_LED0.set06h

D_LED1.set05h

D_LED2.set04h

D_LED3.set03h

D_LED4.set02h

D_LED5.set01h

LED_DISP.macrohexdata,portaddr

LDhexdata,B

ST#0Ah,TMP0

SUBCTMP0,B

STHB,TMP0;

存放BCD码个位

STLB,TMP1;

存放BCD码十位

ST#2000h,AR0

LDTMP0,B

ADDAR0,B

STLB,AR0

LD*AR0,A

OR#portaddr+1,A;

计算位码

PORTWAL,D_LED

rpt#30000

LDTMP1,B

OR#portaddr,A;

.endm

段码

.word3F00h,0600h,5B00h,4f00h,6600h,6d00h,7d00h,0700h,7f00h,6f00h

.space15*4*16

int0:

Bkeydown

.space2*4*16

tint:

Btimeout

.space12*4*16

_c_int00

RSBXSXM

stm#0001h,2Bh

ST#0h,CLKMD

tst:

BITFCLKMD,#1h

BCtst,TC

ST#1087h,CLKMD

BITFCLKMD,#1h

RPT#0FFh

ORM#0010h,TCR

ST#19999,PRD

ORM#0009h,TCR

ORM#0020h,TCR

ST#0FFFFh,IFR

ORM#0008h,IMR

ST#0,PERSEC

ST#0,SEC

ST#0,MIN

ST#1,STATUS

LED_DISPPERSEC,D_LED1

LED_DISPMIN,D_LED5

LED_DISPSEC,D_LED3

ANDM#0FFEFh,TCR

suspnop

timeoutADDM#1,PERSEC

LD#100,A

SUBPERSEC,A

BCsecout,ALEQ

Bexit

secoutST#0,PERSEC

ADDM#1,SEC

LD#60,A

SUBSEC,A

BCminout,ALEQ

Bexit

minoutST#0,SEC

ADDM#1,MIN

LD#100,A

SUBMIN,A

BCoverflow,ALEQ

overflow

ORM#0030h,TCR;

StopandReloadTimer

ST#0,STATUS;

Setstopfalg

exitLED_DISPMIN,D_LED5

RETE

keydown

ST0ffffh,IFR

ORM#0030h,TCR

BITFSTATUS,#1h

BCrestart,NTC

restartST#0,PERSEC

LED_DISPPERSEC,D_LED1;

刷新1/100秒表

LED_DISPSEC,D_LED3;

刷新秒表

LED_DISPMIN,D_LED5;

刷新分钟

.end

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 幼儿教育 > 幼儿读物

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2