DSP实验报告.doc
文本预览下载声明
实验一 数字IO应用实验
—、实验目的
1. 了解DSP开发系统的组成和结构
2. 在实验设备上完成I/O硬件连接,编写I/O实验程序并运行验证。
3. 内存观察工具的使用
二、实验设备
计算机,CCS3.1版本软件,DSP仿真器,教学实验箱
三、实验原理
本实验程序由二部分组成:1.由外部中断1产生中断信号
2.键值读取程序:该部分有两种方法进行键值的判断。
方法1:利用内存观察工具进行观察
方法2:利用LED1-LED8的亮灭对应显示键值。
外部中断1的应用参照实验五;
内存观察键值:程序中定义了三个变量“W”“row”和“col”。“W”代表是CPLD中键盘的扫描数值,“row”和“col”分别代表键盘的行和列,由行和列可以判定按键的位置。上述三个变量可以在观察窗口中观察的。
利用LED灯显示键值原理,参看实验一。具体的LED灯显示值以查表的形式读出,请参看“e300_codec.h”库文件。
本实验的CPLD地址译码说明:
基地址:0x0000,当底板片选CS0为低时,分配有效。
CPU的IO空间: 基地址+0x0200 LED灯 output 8位
外部中断用XINT1:由CPLD分配,中断信号由键盘按键产生。
中断下降沿触发。
KEY_DAT_REG(R):基地址+0x0004;
四、实验步骤和内容
1.2407CPU板JUMP1的1和2脚短接,拨码开关S1的第一位置ON,其余置OFF;
2.E300板上的开关SW4的第一位置ON,其余OFF;SW3的第四位置ON其余的SW置OFF
3.运行Code Composer Studio (CCS)(ccs3.1需要“DEBUG→Connect” ) normal \ 05_key interface \ E300_keyled.pjt;
5.编译全部文件并装载“\Debug\ keyled.out”文件
6.单击“Debug\Go Main”跳到主程序的开始;
7.指定位置设置断点;
8.View--〉Watch Window打开变量观察窗口;
9. 将变量“w”“ row”和“ col”添加到观察窗口中,改变变量观察窗口的显示方式为HEX显示。
10.点击“Debug--〉Animate”全速运行,然后点击E300板上键盘按键,观察窗口中变量变化,同时LED1-LED8灯也相应变化,指示键值。(注意程序中KEY_E和KEY_F分别代表键盘上的“*”和“#”键值。
十六进制数代表的意义为:高4位为按键的行值,低4位为按键的列值。
注意:“w”中的低八位表示
11.关闭所有窗口,本实验完毕.
五、实验程序框图
六、实验建议
本实验程序采用外部中断的方法来判断键盘是否被按下,除了这种方法外,还可以根据键盘按下标志位“KEY_FLAG”,利用查询方式来编写程序.“KEY_FLAG”是CPLD内部状态寄存器中的一个只读位.如下表:CPLD内部状态寄存器(只读):
D7 D6 D5 D4 D3 D2 D1 D0 KEY_FLAG LCD_ndef LCD_OUT CPLD_ST_REG(R): 基地址+0x002
七、实验心得
通过这次实验我了解了DSP开发系统的组成和结构,并且对I/O硬件连接,I/O实验程序的编写有了更进一步的认识。
实验二 定时器应用实验
一、实验目的
1、熟悉LF2407的定时器;
2、掌握LF2407的定时器的控制方法;
3、学会使用CPU定时器中断方式控制程序流程。
二、实验设备
计算机,CCS 3.1版软件,DSP教学实验箱,F2407CPU板。
实验原理说明
本实验是采用CPU定时器来定时使LED亮灭的。LF2407的通用定时器功能强大,除了做通用定时使用外,还可以配合事件管理器模块产生PWM波形。可以被特定的状态位实现停止、重新启动、重设置或禁止,可以使用该定时器产生周期性的CPU中断。
在本系统中,时钟频率为40MHz,设置相应寄存器,使得到每1/1000秒中断一次,通过累计1000次中断,就能产生1秒钟的定时。
样例实验的程序框图如下:
实验步骤和内容
F2407CPU板的JUMP1的1和2脚短接,拨码开关S1的第一位置ON;其余置OFF。
E300底板的开关SW4的第1位置ON,其余位置OFF。其余开关设置为OFF。
运行CC
显示全部