您的位置: OpenADSP社区论坛 -> Blackfin专区 -> 新手上路 -> BF592技术支持专区 -> BF592处理器应用设计6.7-定时器0外部事件计... 
本帖共有435个阅读者
发表帖子 发表投票 回复主题
BF592处理器应用设计6.7-定时器0外部事件计数器(EXT_CLK模式)
尊贵身份标志
OpenADSP(管理员)
OpenADSP
头衔:社区公民
帮派:无帮无派
帖数:5187
金钱:34761
积分:6369
注册时间:2011/6/7
楼主信息 | 留言 | Email | 主页 | 编辑 | 管理 | 离线
BF592处理器应用设计6.7-定时器0外部事件计数器(EXT_CLK模式)

程序功能

这个例子程序主要是学习,如何初始化BF592的timer0成EXT_CLK模式,如何配置timer0中断,如何将BF592管脚配置成TMR0管脚。在这个程序中,我们把J43(TMR0)管脚连接到了独立按键的S1上,用按键模拟脉冲输入,也可以直接输入一个方波:比如信号发生器产生的。



杜邦线连接( BF592 GPIO         功能模块 )

BF592 GPIO

功能模块

杜邦线数量

功能

PG0~PG7

J16

8

数码管数据端

PG8

J17(A)

1

段锁存

PG9

J17(B)

1

位锁存

J43(TMR0)

J15(S1)

1

计数器


我是OP...
等级:管理员 参考IP地址:*.*.*.*
2012/8/12 13:47:07
尊贵身份标志
OpenADSP(管理员)
OpenADSP
头衔:社区公民
帮派:无帮无派
帖数:5187
金钱:34761
积分:6369
注册时间:2011/6/7
1信息 | 留言 | Email | 主页 | 编辑 | 管理 | 离线


上传的图片
  201281213492981.jpg [ 116.55 KB 482×380 ] (缩略时请点击查看原图)

 




我是OP...
等级:管理员 参考IP地址:*.*.*.*
2012/8/12 13:49:41
尊贵身份标志
OpenADSP(管理员)
OpenADSP
头衔:社区公民
帮派:无帮无派
帖数:5187
金钱:34761
积分:6369
注册时间:2011/6/7
2信息 | 留言 | Email | 主页 | 编辑 | 管理 | 离线

程序说明:

上传的图片
  2012812142881.jpg [ 78.04 KB 514×367 ] (缩略时请点击查看原图)

 

上传的图片
  20128121423381.jpg [ 32.82 KB 444×145 ] (缩略时请点击查看原图)

 


我是OP...
等级:管理员 参考IP地址:*.*.*.*
2012/8/12 14:03:21
尊贵身份标志
OpenADSP(管理员)
OpenADSP
头衔:社区公民
帮派:无帮无派
帖数:5187
金钱:34761
积分:6369
注册时间:2011/6/7
3信息 | 留言 | Email | 主页 | 编辑 | 管理 | 离线

实验结果:

下载程序后,数码管前面三位显示的是计数器到的次数,后4位是表示当前的技术值,按下独立按键的S1,计数器会加1,并显示在数码管上,也可以输入一个固定的信号来测量。

知识要点及提问:

1. *pTIMER0_CONFIG = 0x001b;      //配置成EXT_CLK模式,使能TMR0

   脉冲宽度寄存器在这里不需要配置

2.*pTIMER0_PERIOD = num; 表示的最大计数值,它的范围是(1~0xffffffff)

3.计时器使能后,它将等待J43(TMR0)脚的第一个上升沿,该上升沿将迫使定时器计数寄存器被加载一个值(0xffffffff - *pTIMER0_PERIOD),随后每个上升沿都将使计数寄存器加1,达到0xfffffffe,产生中断,下一个上升沿重新加载初值(0xffffffff - *pTIMER0_PERIOD)。

4.从数码管上的显示可以计算出当前的脉冲数量,如果前三位是XXX,后5位是YYYYY,则脉冲数量:XXX * (*pTIMER0_PERIOD) +YYYYY.

5.学习者可以修改程序中的最大计数值看看效果。


我是OP...
等级:管理员 参考IP地址:*.*.*.*
2012/8/12 14:03:47
Powered by OpenADSP Copyright © 2010 www.Openadsp.com. All rights reserved.154332 Call, 1 Queries, Processed in 0.015625 second(s),