3.实验程序流程图
四.实验步骤
1.实验准备
连接实验设备。
关闭实验箱上扩展模块和信号源电源开关。
2.设置Code Composer Studio 2.21在硬件仿真(Emulator)方式下运行 3.启动Code Composer Studio 2.21 选择菜单Debug→Reset CPU。
4.新建、打开工程文件
工程文件为:D:\\dsp\\t2\\led\\led.pjt
打开源程序LED.c阅读程序,理解程序内容。 5.编译、下载程序。
6.运行程序,观察结果。 7.退出CCS
五.实验结果
*可知:映射在扩展存储器空间地址上的指示灯寄存器在设置时是低4位有效的,数据的最低位对应指示灯D1,次低位对应D2,...依次类推。
六.问题与思考
F2812-A评估板上的指示灯控制寄存器是可读可写的,请问用什么办法可以回读指示灯状态?
反向顺序送控制字并延时 读取控制字 开始 初始化DSP时钟 — 11 —
(3) 拨码开关控制实验
一.实验目的
1.了解F2812-A评估板在TMS320F2812DSP外部扩展存储空间上的扩展。 2.了解F2812-A评估板上拨码开关扩展原理。 3.熟悉在C语言中使用扩展的控制寄存器的方法。
二.实验设备
计算机,ICETEK-F2812-EDU实验箱(或ICETEK仿真器+ICETEK-F2812-A系统板+相关连线及电源)。
三.实验原理
1.TMS320F2812DSP的存储器扩展接口
存储器扩展接口是DSP扩展片外资源的主要接口,它提供了一组控制信号和地址、数据线,可以扩展各类存储器和存储器、寄存器映射的外设。
-ICETEK-F2812-A评估板在扩展接口上除了扩展了片外SRAM外,还扩展了指示灯、DIP开关和D/A设备。具体扩展地址如下:
C0003-C0007h: D/A转换控制寄存器 C0001h: 板上DIP开关控制寄存器 C0000h: 板上指示灯控制寄存器
详细说明见第2章 表2-4-1
-与ICETEK-F2812-A评估板连接的ICETEK-CTR显示控制模块也使用扩展空间控制主要设备: 108000-108004h: 读-键盘扫描值,写-液晶控制寄存器 108002-108002h: 液晶辅助控制寄存器
108003-108004h: 液晶显示数据寄存器
108005-108005h: 发光二极管显示阵列控制寄存器 2.拨码开关扩展原理
图4.2.4 拨码开关扩展原理
— 12 —
3.实验程序流程图
读取拨码开关控制寄存器并送指示灯控制寄存器 开始 初始化DSP时钟 四.实验步骤
1.实验准备
连接实验设备,关闭实验箱上扩展模块和信号源电源开关。 2.设置Code Composer Studio 2.21在硬件仿真(Emulator)方式下运行 3.启动Code Composer Studio 2.21 选择菜单Debug→Reset CPU。 4.新建、打开工程文件
工程文件为:D:\\dsp\\t2\\dip\\dip.pjt
打开源程序dip.c阅读程序,理解程序内容。 5.编译、下载程序。
6.运行程序,观察结果。
7.拨动拨码开关的各位,观察指示灯DS1-DS4的显示。 8.退出CCS
五.实验结果
*可知:映射在扩展存储器空间地址上的拨码开关控制寄存器在回读时是低4位有效的,数据的最低位对应拨码开关1,次低位对应2,...依次类推。
六.问题与思考
— 13 —
(4) DSP的定时器
一.实验目的
1.通过实验熟悉F2812A的定时器; 2.掌握F2812A定时器的控制方法;
3.掌握F2812A的中断结构和对中断的处理流程;
4.学会C语言中断程序设计,以及运用中断程序控制程序流程。
二.实验设备
计算机,ICETEK-F2812-EDU实验箱(或ICETEK仿真器+ICETEK-F2812-A系统板+相关连线及电源)。
三.实验原理
1.通用定时器介绍及其控制方法(详见光盘spru078a.pdf)
TMS320F2812A内部有三个32位通用定时器(TIMER0/1/2),定时器1和2被保留给实时操作系统(DSPBIOS)用,只有定时器0可以提供给用户使用。 2.中断响应过程(详见光盘spru078a.pdf)
a.接受中断请求。必须由软件中断(从程序代码)或硬件中断(从一个引脚或一个基于芯片的
设备)提出请求去暂停当前主程序的执行。
b.响应中断。必须能够响应中断请求。如果中断是可屏蔽的,则必须满足一定的条件,按照一
定的顺序去执行。而对于非可屏蔽中断和软件中断,会立即作出响应。
c.准备执行中断服务程序并保存寄存器的值。
d.执行中断服务子程序。调用相应得中断服务程序ISR,进入预先规定的向量地址,并且执行
已写好的ISR。 3.中断类别
可屏蔽中断:这些中断可以用软件加以屏蔽或解除屏蔽。
不可屏蔽中断:这些中断不能够被屏蔽,将立即响应该类中断并转入相应的子程序去执 行。所有软件调用的中断都属于该类中断。 4.中断的优先级
如果多个中断被同时激发,将按照他们的中断优先级来提供服务。中断优先级是芯片内部已定义好的,不可修改。
— 14 —
4.实验程序流程图
5.实验程序分析
本实验设计的程序是在上指示灯实验(2)基础上修改得来,由于实验(2)控制指示灯闪烁的延时控制是用循环计算方法得到的,延时不精确也不均匀,采用中断方式可以实现指示灯的定时闪烁,时间更加准确。
初始化定时器 初始化中断向量 中断服务结束 初始化DSP时钟 改变指示灯状态 开始 中断服务开始 等待中断产生 四.实验步骤
1.实验准备
连接实验设备,关闭实验箱上扩展模块和信号源电源开关。 2.设置Code Composer Studio 2.21在硬件仿真(Emulator)方式下运行 3.启动Code Composer Studio 2.21 选择菜单Debug→Reset CPU。 4.新建、打开工程文件
打开菜单“Project”的“Open”项;选择
D:\\dsp\\t2\\timer目录中的“timer.pjt”。
在项目浏览器中,双击time.c,激活time.c文件,浏览该文件的内容,理解各语句作用。 5.编译、下载程序。
6.运行程序,观察结果。
7.改变“CpuTimer0Regs.PRD.all = 0xffff;”函数里的值; 重复步骤5,6观察实验现象。 8.退出CCS
五.实验结果
-指示灯在定时器的定时中断中按照设计定时闪烁。
-使用定时器和中断服务程序可以完成许多需要定时完成的任务,比如DSP定时启动A/D转换,日常生活中的计时器计数、空调的定时启动和关闭等。
-在调试程序时,有时需要指示程序工作的状态,可以利用指示灯的闪烁来达到,指示灯灵活的闪
— 15 —
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库DSP2812实验指导书第三部分(3)在线全文阅读。
相关推荐: