DSP实验报告定时器2

DSP实验报告定时器2

ID:43090972

大小:140.67 KB

页数:6页

时间:2019-09-25

DSP实验报告定时器2_第1页
DSP实验报告定时器2_第2页
DSP实验报告定时器2_第3页
DSP实验报告定时器2_第4页
DSP实验报告定时器2_第5页
资源描述:

《DSP实验报告定时器2》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、实验二DSP系统定时器的使用一、实验目的:1、掌握5402DSP片上定时器的初始化设置及应用;2、掌握DSP系统中实现定时的原理及方法;3、了解5402DSP屮断寄存器IMR、IFR的结构和使用;4、常握5402DSP系统屮断的初始化设置过程和方法;5、掌握在C语言中嵌入汇编语句实现数字I/O的方法。二、实验原理:1、定时器及其初始化在5402内部包括两个完全相同的定时器:定时器()和定时器lo每个定时器分别包括3个寄存器:定时器周期寄存器PRD、定时器寄存器TIM、定时器控制寄存器TCR,其中TCR寄存器中包括定吋器分频系数TDDR、定吋器预分频计数器PSC两个功能寄存器。通过PRD和TDD

2、R可以设置定时器的初始值,TIM(16bits)和PSC(4bits)是用于定时的减法计数器。CLKOUT是定时器的输入时钟,最大频率为lOOMhZo定时器相当于20bit的减法计数器。定时器的结构如图1所示。定时器的定时周期为:CLKOUTX(TDDR+1)X(PRD+1)其中,CLKOUT为时钟周期,TDDR和PRD分别为定时器的分频系数和时间常数。在正常工作情况下,当TIM减到0后,PRD中的吋间常数自动地加载到TIMo当系统复位或者定时器单独复位时,PRD中的时间常数重新加载到TIM。同样地,每当复位或PSC减到0后,定时器分频系数TDDR自动地加载到PSC。PSC在CLKOUT作用下

3、,作减1计数。当PSC减到()时,产生一个借位信号,令TIM作减1计数。TIM减到()后,产生定时中断信号TINT,传送至CPU和定时器输出引脚TOUTo例如:欲设置定吋器0的定吋周期为1ms,当DSP工作频率为lOOMhz吋,通过上式计算可得出:TDDR=15,PRD=6520o2、定时器的使用下面是一段定吋器应用程序,每检测到一次中断,ms+1,利用查询方式每计500个数就令XF引脚的电平翻转一次,在XF引脚输出一矩形波信号,因定吋器1ms中断一次,故500ms就使LED翻转一次,这样LED指示灯就不停地闪烁。定时器中断服务程序的编程方法interruptvoidtimerO()屮断函数{

4、ms++;}while⑴循坏函数{while(ms<500);//长时间定时500msms=0;asm(”RSBXXF“);〃使用内嵌的汇编指令asm()将XF引脚清零while(ms<500);//长时间定时500msms=0;asm(”SSBXXF”);〃使用内嵌的汇编指令asm()将XF引脚置位}三、实验内容:1、验证程序观察LED闪烁状态;2、编写定时程序,从5分钟倒计时,计到0又从5分钟开始循环,用交通灯LED模拟数码管显示计数效果。Is程序代码如下:#include"cpii_reg.h"intj;intms;ioportunsignedporlfOOO;intmotor;void

5、main()asm(HSTM#0000h,CLKMD”);while(*CLKMD&0x01);asm(HSTM#97FFh,CLKMD,r);〃设置CPU运行频率=1OOM/*40C7h:5*clkin30c7h:4*clkin20c7h:3*clkin10C7h:2*clkinasm("stm=100M=80M=60M=40M#4240h,SWWSR”);//2waitexceptforon-chipprogram1asm(”stm#OOaOh,PMST”);//MP/MC=0,IPTR=001,ovly=0asm(”stm#0802h,BSCR”);asm(HSTM#0h,lMRJ;〃中

6、断屏蔽寄存器IMRasm(HSTM#0010h,TCR”);〃关定吋器,定吋控制寄存器TCR(地址0026H)。asm(”STM#O186ah,PRD“);//Ims,定吋周期寄存器PRD(地址0025H)。asm(”STM#0C2fh,TCR”);//TCR=最后四位asm(”STM#0008h,IFR”);asm(”ORM#0()08h,*(IMR)“);严开时间屮断*〃/屮断屏蔽寄存器IMRasm(”RSBXINTM”);/*开中断*///状态控制寄存器ST1中的中断标志位INTM位清零,开放全部中断ms=O;while(l){while(ms<100);//LED_flashms=O;

7、asm(”RSBXXF“);〃位复位motor=0x8;for(j=0;j<6;j++){portfOOO=motor;/*senddriveplusetomotor*/motor=motor»1;if(motor==0x0)motor=0x8;/*只有低4位有效*/}while(ms<100);ms二0;asm(”SSBXXF”);〃位置位motor=0x8;for(j=0;j<6;j++){p

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。