打印

c8051f410定时器求助

[复制链接]
3142|10
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
利用定时器2产生3MHz脉冲,系统时钟24.5M程序如下,但是用示波器测试频率是600khz,不知什么问题,请高手指教!!

#include<c8051f410.h>
#define uchar unsigned char
#define uint unsigned int

sbit pwm=P0^6;
sbit en1=P0^0;
sbit en2=P0^1;
void sysclock_init()
{
  OSCICN    = 0x87;
}
void gpio_init()
{
    P1MDIN    = 0xB7;
    P0MDOUT   = 0xFF;
    P1SKIP    = 0x48;
    XBR1      = 0x40;

}
//-----------------------------------------------------------------------------
//  定时器2产生3mkhz的方波
//-----------------------------------------------------------------------------
void C8051F410_Timer2_Init (void)
{  
    CKCON     = 0x10;
    TMR2RLL   = 0xC3;
    TMR2RLH   = 0xFF;
    TMR2L     = 0xC3;
    TMR2H     = 0xFF;

}
//-----------------------------------------------------------------------------
//  定时器2中断程序,每次产生方波翻转
//-----------------------------------------------------------------------------
void C8051F410_Timer2_ISR(void) interrupt 5
{  

       pwm=~pwm;    //翻转输出方波200khz        

                    

}
void main()         
{

PCA0MD&=0xBF;//关看门狗
sysclock_init();
gpio_init();
  C8051F410_Timer2_Init ();
EA=1;
TR2=1;//                              //开定时器2
  ET2=1;
while(1);

}

相关帖子

沙发
lyjian| | 2012-7-19 20:55 | 只看该作者
别求了,出不了

使用特权

评论回复
板凳
ningling_21| | 2012-7-19 21:53 | 只看该作者
定时器2的时钟源是哪个?
定时器2最快能有多快?

使用特权

评论回复
地板
yanfengren|  楼主 | 2012-7-19 23:00 | 只看该作者
始终是系统时钟,为什么出不来呢

使用特权

评论回复
5
ayb_ice| | 2012-7-20 08:43 | 只看该作者
用软件模拟是难的,
因为响应是有最小周期限制的,就算可以做到,也基本没有时间干别的事了,用PWM或频率输出方式试试,PWM应该也做不到的

使用特权

评论回复
6
ayb_ice| | 2012-7-20 08:48 | 只看该作者
配置了一下,可以的
但不能产生精准的3M脉冲输出

未命名.JPG (105.15 KB )

未命名.JPG

使用特权

评论回复
7
yanfengren|  楼主 | 2012-7-23 21:24 | 只看该作者
谢谢!

使用特权

评论回复
8
dqyubsh| | 2012-7-24 02:28 | 只看该作者
3M,哪有这么强的单片机,还干不干别的了。

使用特权

评论回复
9
ayb_ice| | 2012-7-24 14:03 | 只看该作者
3M,哪有这么强的单片机,还干不干别的了。
dqyubsh 发表于 2012-7-24 02:28


这个是硬件输出的,不需要软件干预的

使用特权

评论回复
10
yanfengren|  楼主 | 2012-8-2 23:32 | 只看该作者
但是好像不可控制,我想产生固定数量的脉冲,如30个

使用特权

评论回复
11
ayb_ice| | 2012-8-3 09:03 | 只看该作者
但是好像不可控制,我想产生固定数量的脉冲,如30个
yanfengren 发表于 2012-8-2 23:32


硬件不是为你一个人专门设计的,
只能想其它办法,比如对此计数,产生中断,判断输出

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

62

主题

151

帖子

1

粉丝