- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
实验四定时器中断实验
实验四:定时器中断实验
一、实验目的
1. 学习定时器中断的设计方法
2. 熟悉在汇编和C语言条件下如何编写中断服务程序;
3. 掌握长时间间隔的定时器的处理。
二、实验内容
控制核心板上的指示灯闪烁,频率为1Hz。使用DSP芯片的定时器0,定时周期为10ms,中断100次后,对指示灯的状态改变一次。
三、实验原理
中断指的是当某个事件发生时,暂停当前的操作,转向中断服务程序,执行完后再返回继续原来的操作。这使得DSP能够处理多个任务。DSP有许多中断源,可以设置中断控制寄存器来确定响应哪些中断而不理会哪些中断。本实验介绍最常用的定时器中断的使用方法,并介绍中断向量表和中断向量指针。Vc5416片上有一个可编程的定时器,总共包含有三个可由用户设置的寄存器,并可以申请主机的中断。这3个寄存器分别为TIM、PRD、TCR。
时间寄存器(TIM)是一个16的存储器映像寄存器,它的值由周期寄存器来进行装载,并且做减一操作。
周期寄存器(PRD)是一个16的存储器映像寄存器,它是用来重装时间寄存器(TIM)的值的。
定时器控制寄存器(TCR)是一个16的存储器映像寄存器,包含了定时器的控制和状态信息。
定时中断周期=CLKOUT×(TDDR+1)×(PRD+1)
四、实验步骤
(1)使用定时器首先要对它初始化,基本步骤如下:
1、#include vc5416.h
#include usr.h //载入头文件
unsigned int count=0,temp=0;
main()
{
system_init(); //系统初始化
timer0_init(); //定时器0初始化,使定时器每10ms中断一次
while(1)
{
if(count==0x0064)
{
ST1=sbit_reverse(ST1,b13_msk); //改变XF引脚的状态,使指示灯闪烁
count=0x0000; //对计数值清0
}
}
}
/*interrupt serve program*/
void interrupt tint0() //中断服务程序,每次中断到来时对计数值加一
{
count++;
}
/*定时器0初始化*/
void timer0_init()
{
TCR=sbit1(TCR,b4_msk);
PRD=0x2710;
TCR=0x003f;
TCR=sbit0(TCR,b4_msk); /*定时器0提供系统时钟,10ms per tick */
}
/*系统初始化*/
void system_init()
{
PMST=0x00e0; /*中断向量指向0080单元*/
asm ( ssbx INTM );
IFR=0xffff;
IMR=0x0089; //使能定时器0中断
asm ( rsbx INTM );
BSCR=0x6002;
}
(2)中断向量表
中断向量表是DSP程序的重要组成部分,当有中断发生并且处于允许状态时,程序指针跳转到中断向量表中对应的中断地址。由于中断服务程序一般较长,通常中断向量表存放的是一个跳转指令,指向实际的中断服务程序。下面是5416中断向量表的一个范例,可以作为模板,使用时稍作修改就行:
.sect .vectors
.ref _c_int00
.ref _tint0
.align 0x80 ; must be aligned on page boundary
RESET: ; reset vector
BD _c_int00 ; branch to C entry point
STM #200,SP ; stack size of 200
nmi: RETE ; enable interrupts and return from one nmi
NOP
NOP
NOP
; software interrupts
sint17 .space 4*16 ;软件中断使用较少,简单起见用0填充
sint18 .space 4*16
sint19
您可能关注的文档
最近下载
- 人工智能教学课件.ppt VIP
- 公司与员工签订车辆使用协议(2024两篇) .pdf VIP
- 小森LS-40印刷机保养操作指导07.pdf VIP
- 2024-2025学年深圳市育才三中小升初入学分班考试语文试卷附答案解析.pdf VIP
- 咖啡瑞幸咖啡美国上市招股说明书中文全译版本.pdf
- 2023年深圳市南山区育才三中小升初分班考试数学模拟试卷及答案解析.pdf VIP
- 涵管埋设施工技术方案.docx VIP
- 2018-2019、2021-2022年重庆邮电大学《808数字电路与逻辑设计》历年硕士真题汇总.pdf VIP
- 初中化学装置气密性的检验.pptx VIP
- 原理1-经济学概述.ppt VIP
文档评论(0)