0
问答首页 最新问题 热门问题 等待回答标签广场
我要提问

单片机

单片机定时器问题

利用定时器2产生3MHz脉冲,程序如下,但是用示波器测试频率是600khz,不知什么问题,请高手指教!!

#include

#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);

}

提问者:wyywerw2 地点:- 浏览次数:9556 提问时间:10-24 16:37
我有更好的答案
提 交
8条回答
四哥201311 06-20 15:12
去单片机版块吧。
60user150 06-21 10:50
你这个3M是怎么算的?
最快也只有24.5M/(256-0XC3)=400K
ht_liu 06-26 04:56
用中断产生3MHz的脉冲?闲着没事做了吧?
放着PCA不用,自找麻烦
cauzhxj 06-28 19:00
pca 的端口不能随意指定,定时器是16位自动重载的,应该可以产生啊
ncmza 06-26 02:16
void C8051F410_Timer2_Init (void)
{  
    CKCON     = 0x10;
    TMR2RLL   = 0xC3;
    TMR2RLH   = 0xFF;
    TMR2L     = 0xC3;
    TMR2H     = 0xFF;
*****************
你这设置值不是出200K吗,何来出3M?
ruobi168 06-28 06:09
谢谢,关于pca 好像只能按照优先级来分配端口,比如说p0.0端口被其他功能占用,那么pca的CEX0才会分配到p0.1端口,这样按顺序进行,假如想直接分配给p0.6这样能实现吗?
yunhanuser 06-20 13:34
3M,周期0.33us,机器周期0.0408us,中断从产生到LCALL至少10个完整机器周期,那么这时就是是0.408us了,还不算中断ISR执行,所以呀,楼主你的这个愿望不能实现!
jingshan8366 06-26 09:27
跳到0.6,期间的引脚还有其他的功能,只好改板了,谢谢大家!
撰写答案
提 交
1 / 3
1 / 3
相关单片机
具有音调控制的单片机立体声前置放大器
用于单片机与电子装置中的开关电源
单片机软硬件复位的条件都有啥
电动机的单片机控制
单片机应用系统开发实例导航