堆栈的使用方法

上传人:xy****7 文档编号:45401685 上传时间:2018-06-16 格式:DOC 页数:8 大小:140KB
返回 下载 相关 举报
堆栈的使用方法_第1页
第1页 / 共8页
堆栈的使用方法_第2页
第2页 / 共8页
堆栈的使用方法_第3页
第3页 / 共8页
堆栈的使用方法_第4页
第4页 / 共8页
堆栈的使用方法_第5页
第5页 / 共8页
点击查看更多>>
资源描述

《堆栈的使用方法》由会员分享,可在线阅读,更多相关《堆栈的使用方法(8页珍藏版)》请在金锄头文库上搜索。

1、 堆栈的使用方法堆栈的使用方法学院:学院: 教育信息与技术学院教育信息与技术学院 专业:专业: 信息工程信息工程 班级:班级: 0802 姓名:姓名: 江伟江伟 学号:学号: 2008116020220 一:实验任务一:实验任务 掌握堆栈的使用方法 二:实验工具二:实验工具 计算机、DSP 实验箱。 三:实验内容三:实验内容 1、用仿真器将计算机与DSP 实验箱连接好,并依次打开实验箱电源、仿真器电源,然后运 行CCS 软件。 2、新建一个项目:点击ProjectNew,将项目命名为example3,并将项目保存在自己定义 的文件夹下,注意文件夹一定要用英文名,不要将文件夹取名为中文名,因为C

2、CS 软件不 能识别以中文命名的文件夹。 3、新建一个源文件:点击FileNewSource File 可以打开一个文本编辑窗口,点击保 存按键,保存在和项目相同的一个文件夹下面(example3),保存类型选择*.ASM(如果源文 件是C 语言编写的,保存类型选择*.C,本实验中的例程是使用汇编语言编写的,所以选择 *.ASM 为保存类型),我们在这里将保存名字命名为example3.asm 。 4、在项目中添加源文件:在新建了一个源文件以后,要想使用CCS 编译器对该源文件进行 编译还需要将源文件添加到项目中去。添加方法是在工程管理器中右键单击 example3.pjt,在弹出的菜单中选择

3、Add Files,然后将刚才建立的example3.asm 文件添 加到该项目中去。 5、编写源程序: 在工程管理器中双击example3.asm ,将出现文本编辑窗口,在该文本编辑窗口中输入如下 内容: .title “example3.asm“ .mmregs size .set 100 stack .usect “STK“,size ;堆栈的设置 .bss length,10H .def _c_int00;start .text _c_int00: B start; start: STM #0,SWWSR ;插入0 个等待状态 STM #stack+size,SP ;设置堆栈的指针 L

4、D #-8531,A STM #size,AR1 MVMM SP,AR7 loop: STL A,*AR7- BANZ loop,*AR1- .end 6、编写链接配置文件: 参照实验一,需要更改的地方如下:7、编写中断向量表文件 参照实验一,可不作修改。 8、对项目进行编译和链接: 把 example3.asm、vectors.asm、example3.cmd 依次添加到项目后,点击 ProjectCompileFile,在项目编译成功之后点击ProjectBuild 选项对该项目进行链接, 生成*.out 文件。 9、装载可执行文件: 要让程序代码在 DSP 内部运行必需将生成的*.OUT

5、 文件装载到DSP 内部,装载方法是点击:FileLoad Programe 再选择生成的example3.out 文件就可以将程 序装载到DSP 的内部存储器中。 10、运行程序并查看结果: a)首先打开欲查看的数据空间:点击 ViewMemory,弹出“Memory Window Options”对 话框,把欲查看的地址改为0x0090b)点击OK 按钮,然后点击DebugRun 让程序在DSP内部运行,最后点击DebugHalt, 再观察“Memory ”四:实验现象四:实验现象五:总结五:总结 实验步骤比较复杂,按照步骤,完成的比较好 定时器中断实验定时器中断实验学院:学院: 教育信息

6、与技术学院教育信息与技术学院 专业:专业: 信息工程信息工程 班级:班级: 0802 姓名:姓名: 江伟江伟 学号:学号: 2008116020220 一:实验任务一:实验任务 1、掌握DSP 中断技术,学会对DSP 中断的处理方法。 2、掌握中断对于程序流程的控制,理解DSP 对于中断的响应时序。 3、掌握汇编语言编写中断的基本方法。 二:实验工具二:实验工具 计算机、DSP实验箱。 三:实验内容三:实验内容 利用定时器中断制作方波发生器,通过XF 引脚控制LED 发光来检测方波的周期。 五、实验步骤 1、新建一个项目:testxf.pjt; 2、在项目中编辑以下汇编语言文件: 有时定时的长

7、度不能满足需要,比如F=50Mhz时,定时最大是: 20ns*24*216=20ms。如果需要更长的定时,就要在定时器中断子程序中再加 一个计数器,直到产生一定次数的定时中断后再执行相应的操作。如下程序可 以产生1Hz 的方波: ;= ; fangbo.asm ; 利用定时器Timer0 在XF 脚产生周期1s 的的方波 ;= .title “fangbo.asm“ .mmregs .def _c_int00 ;程序入口 .def TINT0_ISR ;Timer0中断服务程序 STACK .usect “STACK“,10H ;分配堆栈空间 ;设定定时器0 控制寄存器的内容 K_TCR_SO

8、FT .set 0BEPROM PAGE 0 /*将.text 段映射到PAGE0 的EPROM 区*/ .data :EPROM PAGE 0 /*将.data 段映射到PAGE0 的EPROM 区*/ .vectors: VECT PAGE 0/*将中断向量表定位到PAGE0 的VECS 区*/.bss: IDATA PAGE 1 /*将.bss 段映射到PAGE1 的IDATA 区*/STACK IDATA PAGE 1 /*将.stack 段映射到PAGE1 的IDATA 区*/ 4、 编写中断向量表文件(vectors.asm) 中断向量表是DSP 程序的重要组成部分,下面是5410

9、 中断向量表的一个示例, 可以作为模板: * *vectors.asm *完整的5410 中断向量表示例 *5410 共有30 个中断向量,每个向量占4 个字的空间。 *使用的向量一般加一条跳转指令转到相应中断服务子程序,其余空位用NOP 填 充 *未使用的向量直接用RETE 返回,是为了防止意外进入未用中断。 * .sect “.vectors“ ;开始命名段.vecotrs.global _c_int00 ;引用程序入口的全局符号定义 ;引用其它中断程序入口的全局符号定义 .align 0x80 ; 中断向量必须对齐页边界 .global TINT0_ISR RESET: B _c_int

10、00 ; Reset 中断向量,跳转到程序入口STM #200,SP ; stack size of 200 nmi: RETE ; enable interrupts and return from oneNOPNOPNOP ;NMI; software interrupts sint17 .space 4*16 sint18 .space 4*16 sint19 .space 4*16 sint20 .space 4*16 sint21 .space 4*16 sint22 .space 4*16 sint23 .space 4*16 sint24 .space 4*16 sint25 .

11、space 4*16 sint26 .space 4*16 sint27 .space 4*16 sint28 .space 4*16 sint29 .space 4*16 sint30 .space 4*16int0: RETE ;External user interrupt #0 NOPNOPNOP int1: RETE ;External user interrupt #1NOP NOPNOP int2: RETE ;External user interrupt #2NOPNOPNOP tint: BD TINT0_ISR ;Timer0 中断 NOP NOP rint0: RETE

12、 ;McBSP #0 receive interrupt (default)NOPNOPNOP xint0: RETE ;McBSP #0 transmit interrupt (default)NOPNOPNOP rint2: RETE ;McBSP #2 receive interrupt (default)NOPNOPNOP xint2: RETE ;McBSP #2 transmit interrupt (default)NOPNOPNOP int3: RETE ;External user interrupt #3NOPNOPNOP hint: RETE ;HPI interrupt

13、NOPNOPNOP rint1: RETE ;McBSP #1 receive interrupt (default)NOPNOPNOP xint1: RETE ;McBSP #1 transmit interrupt (default)NOPNOPNOP.space 16*16 .end 5、在testxf.pjt 文件中添加fangbo.asm、vector.asm、fangbo.cmd 文件,进行编译和链 接,注意该项目是由汇编语言编写的,应该注意实验一的步骤9 的选项是否正确。 6、装载fangbo.out 文件到DSP 芯片并运行程序,观测XF 的变化。也可以观察CLKOUT管脚 电平的变化。四:总结四:总结实验按照步骤做的,完成的比较顺利

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号