- 1、本文档共6页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
深 圳 大 学 实 验 报 告
课程名称: DSP系统设计
实验项目名称: 定时器实验
学院: 信息工程
专业: 通信
指导教师: 严新民
报告人:丁诗伦
学号:2010130164
班级: 10通2
教务处制
实验目的
了解定时器原理;
学习定时器的使用以及通过定时器引发中断的方法
实验内容
使用系统提供的硬件定时器来控制LED灯的闪烁频率。
预备知识
VisualDSP++集成开发环境的使用,程序的编写和调试;
ADSP-BF533中断实现的原理。
ADSP-BF533定时器的使用
实验设备及工具
硬件:EBF-LAB533实验平台、仿真器、PC机。
软件:操作系统Win2000或Win XP、VisualDSP++集成开发环境。
实验原理
实验框图
图 定时器实验示意图
ADSP-BF533定时器介绍
ADSP-BF533有5个可编程定时器,包括3个通用定时器、1个内核定时器和1个看门狗定时器。定时器能够向处理器中断管理单元发出中断,为同步、处理器时钟、或外部信号的计数值提供周期性事件。除3个通用可编程定时器外,还提供了内核定时器和看门狗定时器。内核定时器由内部处理器时钟(CCLK)驱动,一般用作系统标记时钟,用以产生操作系统的周期性中断。看门狗定时器用来实现软件看门狗功能。
3个通用可编程定时器。每个通用定时器连有外部引脚,可以用作脉冲宽度调制器(PWM)或定时器输出,也可以用作定时器的输入锁定定时器或测量外部事件的脉冲宽度。定时器单元可以与UART联合使用,进行串行通道数据流的脉冲宽度的测量,提供自动的波特率检测功能。
通用定时器包括5个寄存器,而且可以设置为以下任何一种工作模式:
脉宽调制模式;
脉宽计数以及捕获模式;
外部时间计数器模式
3个通用定时器分别有一个专用的双向管脚:TMRx。该管脚在PWM_OUT模式下作为输出管脚,而在WDTH_CAP和EXT_CLK模式下为输入管脚。当使用内部时钟时,时钟源是BLACKFIN的系统时钟SCLK。
每个通用定时器都使用以下寄存器:定时状态寄存器、定时器设置寄存器、定时器计数寄存器、定时器周期寄存器以及定时器宽度寄存器。
定时器相关的寄存器见下图。
图 定时器使能寄存器定义
在使用通用定时器时,要通过对TIMER_ENABLE寄存器的设置来选择使用哪个定时器。
状态寄存器表明定时器是否发生了溢出,是否定时到期。
图 定时状态寄存器定义
图 定时配置寄存器定义
配置寄存器设定了定时器的工作模式,是否产生中断等。
计数寄存器描述了定时器的当期值,可通过轮巡次寄存器的方式进行精确定时。
图 定时器计数寄存器定义
图 定时器周期寄存器定义
图 定时器宽度寄存器定义
周期寄存器和宽度寄存器设置了定时器的周期和占空比,下图表示的周期为4个系统时钟周期,宽度为1个系统时钟周期的定时器的输出。
图 周期寄存器和宽度寄存器使用
实验设计
流程分析
为了实现控制LED的闪烁的频率,可以通过控制定时器的周期,来调整定时器中断的频率,从而达到改变LED闪烁频率的目的。参考程序的流程如下:
图 定时器实验流程图
关键代码分析
定时器初始化
void Init_Timer0(void)
void Init_Timer0(void)
{
unsigned int nPeriod;
*pTIMER0_CONFIG=0x0019; //配置Timer0成PWM模式,不对外输出,每个周期完成产生一次中断
nPeriod=CaculatePeriod(0.3);
*pTIMER0_PERIOD = nPeriod;
*pTIMER0_WIDTH = nPeriod1;
}
定时器中断处理
EX_INTERRUPT_HANDLER(Timer0_ISR)
EX_INTERRUPT_HANDLER(Timer0_ISR)
{
*pTIMER_STATUS = (10);//清定时器中断
led=1; //调整LED状态
if(led=(18))
{
led = (10);
}
SetLED(led);
}
实验步骤
搭建实验环境。
将仿真器的一端与PC相连,另一端与EBF-LAB533实验平台的JTAG口连接,然后按先后顺序分别给实验平台和仿真器上电。
打开VisualDSP++集成开发环境,导入工程。
打开File菜单,选择Open-Project ...,导入Timer目录下的“Timer.dpj”工程。
编译(F7)并加载工程;
打开Project菜单,选择Build Project。
运行程序(F5);
观察LED灯的状态,可以看见LED6、LED7、LED8、LED9、LED5、LED4、L
您可能关注的文档
最近下载
- 误差理论与数据处理第六版答案.docx VIP
- 优秀小学生成长档案手册成长简历模板(A4打印版本) .pdf VIP
- 构美-空间形态设计智慧树知到期末考试答案2024年.docx
- 重大危险源(储罐区、库区和生产场所)安全监控通用技术规范(征求意见稿).doc
- 三科2009-2016期末试卷1213审计学期末考试卷.pdf VIP
- 老有“所”舞——广州市逸景翠园居住区广场舞空间现状调研报告(终).pdf VIP
- 超声清洗_教程.ppt VIP
- 五年级上册人音版音乐:第4课《外婆的澎湖湾》示范课PPT.pptx
- 3三甲医院评审追踪检查流程-药事管理.pdf VIP
- 劳动教育课程-电子教案.docx VIP
文档评论(0)