已阅读5页,还剩3页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
DSP原理与应用定时器姓 名 班 级 0120808 专 业 电子信息工程 2011 年 12 月DSP的定时器实验报告一、 实验目的1. 通过实验熟悉VC5509A的定时器; 2. 掌握VC5509A定时器的控制方法; 3. 掌握 VC5509A 的中断结构和对中断的处理流程; 4. 学会 C 语言中断程序设计,以及运用中断程序控制程序流程。二、 实验设备 计算机,ICETEK-VC5509-A 实验箱(或 ICETEK 仿真器+ICETEKVC5509-A 系统板+相关连线及电源)。三、实验原理1. 通用定时器介绍及其控制方法 TMS320VC5509A 内部有两个 20 位通用定时器(GP): *每个通用定时器包括: - 一个 16 位的减计数的计数器 TIM; - 一个 16 位的定时器周期寄存器 PRD; - 一个 16 位的定时器控制寄存器 TCR; - 一个 16 位的定时器预定标寄存器 PSCR;2.中断响应过程 外设事件要引起 CPU 中断,必须保证:IER 中相应使能位被使能,IFR 相应中断也被使能。在软件中,当设置好相应中断标志后,开中断,进入等待中断发生的状态;外设(如定时器)中断发生时,首先跳转到相应中断高级的服务程序中(如:定时器 1 会引起 TINT中断) ,程序在进行服务操作之后,应将本外设的中断标志位清除以便能继续中断,然后返回。3. 中断程序设计 - 程序中应包含中断向量表,VC5509A默认向量表从程序区 0 地址开始存放,根据 IPVD 和IPVH 的值确定向量表的实际地址。 - 注意观察程序中 INTR_init()函数的定义部分,其中 IPVD 和 IPVH 的值都为0x0d0;同时观察配置文件 ICETEKVC5509-AE.cmd 中的 VECT 段描述中 o=0x0d000。 - 向量表中每项为 8 个字, 存放一个跳转指令, 跳转指令中的地址为相应服务程序入口地址。第一个向量表的首项为复位向量,即 CPU复位操作完成后自动进入执行的程序入口。 - 服务程序在服务操作完成后,清除相应中断标志,返回,完成一次中断服务。4. 定时器中断实验程序流程图5.1 定时器结构框图T=clockin*(PRD+1)*(TDDR+1)5.2 时钟部分 定时器的工作时钟可以来自DSP内部的CPU时钟,也可以来自从TIN/OUT管脚输入的外部时钟。具体时钟源的选择和TIN/TOUT脚的功能由控制寄存器TCR中的FUNC字段确定,如下图所示由表可见,C5509的定时器有4种工作模式: 当FUNC=00时,TIN/TOUT为高阻态,时钟源为CUP时钟。该模式为复位后的缺省模式。 当FUNC=01时,TIN/TOUT为定时器输出,时钟源为CPU时钟。此时,TIN/TOUT作为三个定时器事件中的一个,可以输出时钟信号或脉冲信号。 当FUNC=10时,TIN/TOUT为通用输出,时钟源为CPU时钟。此时,TIN/TOUT作为通用输出(General Output),其电平有控制寄存器TCR中的DATOUT字段确定。 当FUNC=11时,TIN/TOUT为时钟源输入,定时计数器将在其上升沿递减。5.3 计数器部分 C5509定时器的计数器分为两类,一类用于定时器工作,一类用于CUP设置定时长度。它的定时长度为20bit:4bit的预定标器和16bit的主计数器。其中,4bit的预定标值由预定寄存器PRSC中的TDDR定义;16bit主计数器的值由定时周期寄存器PRD定义。相关寄存器的格式如下表所示。 假定定时器的工作时钟周期为clockin,则定时长度T可用下式计算: T=clockin*(PRD+1)*(TDDR+1)定时器主计数寄存器TIM预定标寄存器PRSC定时器周期寄存器PRD定时控制寄存器TCR定时器配置C程序流程:四、实验流程1. 实验准备连接实验设备;关闭实验箱上扩展模块和信号电源开关。2. 设置Code Composer Studio v3.3在硬件仿真(emulator)方式下运行。3. 启动Code Composer Studio v3.3。选择菜单 DebugReset CPU。4. 编译、下载程序。5. 运行程序,观察结果。6. 退出CCS。五、实验代码及结果#include myapp.h/ 定义指示灯寄存器地址和寄存器类型#define LBDS (*(unsigned int *)0x400001)void INTR_init( void );void TIMER_init(void);int nCount;int flag_time;main()nCount=0;PLL_Init(40);SDRAM_init();LBDS=0;INTR_init();TIMER_init();while ( 1 )void interrupt Timer()nCount+;nCount%=16;if ( nCount=0 )LBDS=1;void INTR_init( void )IVPD=0xd0; /cpu将16bite的中断矢量指针与5bite的矢量序号级联一起1011 0000 00000 000 /然后左移3bite形成中断适量地址IVPH=0xd0;IER0=0x10;DBIER0=0x10;IFR0=0xffff;asm( BCLR INTM);void TIMER_init(void) ioport unsigned int *tim0; ioport unsigned int *prd0; ioport unsigned int *tcr0; ioport unsigned int *prsc0; tim0 = (unsigned int *)0x1000;prd0 = (unsigned int *)0x1001;tcr0 = (unsigned int *)0x1002;prsc0 = (unsigned int *)0x1003; / *tcr0 = 0x04f0; /定时器0控制寄存器,关闭定时器,自动重载打开,定时器拷贝打开 *tcr0 = 0x0Cf0; /定时器0控制寄存器,关闭定时器,自动重载打开,定时器拷贝打开 *tim0 = 0; /定时器0主计数器 *prd0 = 0x0ffff; /定时器0周期寄存器 *prsc0 = 2; /定时器0周期及计数寄存器 *tcr0 = 0x00e0; /定时器0控制寄存器,定时器启动 / *tcr0 = 0x08e0; /定时器0控制寄存器,定时器启动六 实验心得 通过这次实验,我更加熟悉了CC
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 耐蚀砖板衬里工测试验证强化考核试卷含答案
- 无极绳牵引车司机岗前进度管理考核试卷含答案
- 机械设备点检员成果转化模拟考核试卷含答案
- 缝制机械装配工风险评估知识考核试卷含答案
- 炭素成型工安全生产能力评优考核试卷含答案
- 水生植物病害防治员8S考核试卷含答案
- 殡葬礼仪师安全行为竞赛考核试卷含答案
- 经济昆虫养殖员冲突管理能力考核试卷含答案
- 锅炉清洗工岗前安全知识竞赛考核试卷含答案
- 纯三氧化钨、仲钨酸铵、兰钨制取工岗位岗中实操考核试卷含答案
- 消防工程竣工验收评估报告
- 2026年部编版新教材道德与法治五年级上册第一单元检测题(含答案)
- 口腔诊所诊疗服务规范
- Unit 2 My feelings(单元自测基础卷)A4版英语人教PEP版五年级上册2026秋
- 第9课《谈骨气》课件
- 2025年行政检察业务竞赛真题及答案
- 荷马史诗《奥德赛》:英雄的归乡与人性的光辉
- 广东省医师变更执业注册申请审核表
- 直播间话术顺口溜词语大全
- 科技项目申报服务合同范本
- 防治包虫病学校教育
评论
0/150
提交评论