实验四 DSP 的定时器
一、实验目的:
1、掌握 DSP 硬件中断编程方法及中断向量表的编写规则
2、掌握定时中断的编程方法
3、了解数码管的显示原理
二、实验内容:
在了解如何处理 DSP 硬件中断的基础上,编写 DSP 的工作频率设定程序,并完成定时器初始化后,
再启动定时器并允许中断,最终在数码管上的最右边一位显示 0-9 秒的数字
三、实验步骤:
(1) 在计算机启动后,直接在桌面中点击“CCS 1.20 ('C5000)”图标,以硬件仿真方式启动 CCS。
(2) 在[Project]-[new]新建工程 ex3.mak;在[File]-[new]-[source file]新建文件,保存为*.ASM 文件;
再在[File]-[new]-[source file]新建文件,保存为*.CMD 文件;再在[Project]-[Add file to project…]将*.ASM
和*.CMD 文件添加到工程中。
(3) 在左边树状列表框内双击[Project]展开目录树,双击[ex3.asm]打开源程序文件,开始编写汇编程
序。
(4) 在[Project]-[Build]菜单中编译项目文件,编译成功后在下端的状态窗口中显示 Build Complete,0
Errors,0 Warnings。
(5) 在[File]-[Load Programm]中加载输出执行代码文件 ex3.out,此时,反汇编窗口将显示在前端,
当前 PC 指针为 0000:0080(黄色高亮显示),指令代码将以汇编语言方式显示,可以在反汇编窗口中
点击鼠标右键,在弹出菜单中选择[Properties]-[Dis-Assembly Options]打开反汇编选项对话框。
(6) 运行所编写的程序,[Debug]-[run],看看能否在数码管上的最右边一位显示 0-9 秒的数字。
四、实验参考程序
CMD 链接命令文件:
MEMORY
{ PAGE 0: VECS: origin = 0x6000, length = 0x80
PROG: origin = 0x1000, length = 0x2000
PAGE 1: DATA: origin = 0x2000, length = 0x1000
STACK: origin = 0x3000, length = 0x1000
}
SECTIONS
{ .vectors: {} > VECS PAGE 0
.text: {} > PROG PAGE 0
.data: {} > DATA PAGE 1
.stack: {} > STACK PAGE 1
}
ASM 文件:
.global _c_int00
.mmregs
D_LED .set 0b000h ;数码管的显示端口
PERSEC .set 60h ;内存单元
SEC .set 61h ;内存单元
评论0