打印

c8051f340定时器2怎么无法控制,贴代码

[复制链接]
3003|12
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
xbyu520|  楼主 | 2013-8-16 10:24 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
#include<c8051f340.h>


// Peripheral specific initialization functions,
// Called from the Init_Device() function
void PCA_Init()
{
    PCA0MD    &= ~0x40;
    PCA0MD    = 0x00;
}

void Timer_Init()
{
    TMR2RLL   = 0xffff;
    TMR2L     = 0xffff;
}

void Port_IO_Init()
{
    // P0.0  -  Unassigned,  Open-Drain, Digital
    // P0.1  -  Unassigned,  Open-Drain, Digital
    // P0.2  -  Unassigned,  Open-Drain, Digital
    // P0.3  -  Unassigned,  Open-Drain, Digital
    // P0.4  -  Unassigned,  Open-Drain, Digital
    // P0.5  -  Unassigned,  Open-Drain, Digital
    // P0.6  -  Unassigned,  Open-Drain, Digital
    // P0.7  -  Unassigned,  Open-Drain, Digital

    // P1.0  -  Unassigned,  Open-Drain, Digital
    // P1.1  -  Unassigned,  Open-Drain, Digital
    // P1.2  -  Unassigned,  Open-Drain, Digital
    // P1.3  -  Unassigned,  Open-Drain, Digital
    // P1.4  -  Unassigned,  Open-Drain, Digital
    // P1.5  -  Unassigned,  Open-Drain, Digital
    // P1.6  -  Unassigned,  Open-Drain, Digital
    // P1.7  -  Unassigned,  Open-Drain, Digital

    // P2.0  -  Unassigned,  Open-Drain, Digital
    // P2.1  -  Unassigned,  Open-Drain, Digital
    // P2.2  -  Unassigned,  Open-Drain, Digital
    // P2.3  -  Unassigned,  Open-Drain, Digital
    // P2.4  -  Unassigned,  Push-Pull,  Digital
    // P2.5  -  Unassigned,  Open-Drain, Digital
    // P2.6  -  Unassigned,  Open-Drain, Digital
    // P2.7  -  Unassigned,  Open-Drain, Digital

    // P3.0  -  Unassigned,  Open-Drain, Digital
    // P3.1  -  Unassigned,  Open-Drain, Digital
    // P3.2  -  Unassigned,  Open-Drain, Digital
    // P3.3  -  Unassigned,  Open-Drain, Digital
    // P3.4  -  Unassigned,  Open-Drain, Digital
    // P3.5  -  Unassigned,  Open-Drain, Digital
    // P3.6  -  Unassigned,  Open-Drain, Digital
    // P3.7  -  Unassigned,  Open-Drain, Digital

    P2MDOUT   = 0x10;
    XBR1      = 0x40;
}

void Oscillator_Init()
{
    OSCICN    = 0x83;
}

// Initialization function for device,
// Call Init_Device() from your main program
void Init_Device(void)
{
    PCA_Init();
    Timer_Init();
    Port_IO_Init();
    Oscillator_Init();
}

sbit D3=P2^4;
void main()
{

          Init_Device();
          TR2=1;
          while(1)
                  {
                          while(TF2H==0);
                          TF2H=0;
                       
                          D3=~D3;
                }
}

相关帖子

沙发
xbyu520|  楼主 | 2013-8-16 10:26 | 只看该作者
修改TMR2RLL=0x0000 TMR2L =0x0000  后。为什么波形基本没变化???????按理说变化应该很大啊
        

使用特权

评论回复
板凳
ayb_ice| | 2013-8-16 10:27 | 只看该作者
本帖最后由 ayb_ice 于 2013-8-16 10:29 编辑

什么叫无法控制

是你不会控制吧

另外可能狗咬人了吧

使用特权

评论回复
地板
xbyu520|  楼主 | 2013-8-16 10:28 | 只看该作者
感谢指教,我哪里乱控制了??

使用特权

评论回复
5
xbyu520|  楼主 | 2013-8-16 10:31 | 只看该作者
狗咬人??我已经关闭看门狗啦啊?在pca初始化设置那里关狗了

使用特权

评论回复
6
xbyu520|  楼主 | 2013-8-16 10:35 | 只看该作者
准确的说,应该是我哪里设置问题。就是不知道哪里出了问题。论坛的大神出来看看

使用特权

评论回复
7
xbyu520|  楼主 | 2013-8-16 10:41 | 只看该作者

准确的说,应该是我哪里设置问题。就是不知道哪里出了问题。论坛的大神出来看看

使用特权

评论回复
8
xbyu520|  楼主 | 2013-8-16 10:43 | 只看该作者
ayb_ice 发表于 2013-8-16 10:27
什么叫无法控制

是你不会控制吧

你好,你能发现这代码哪里有问题吗?

使用特权

评论回复
9
xbyu520|  楼主 | 2013-8-16 10:53 | 只看该作者
求高人指点

使用特权

评论回复
10
xbyu520|  楼主 | 2013-8-16 11:10 | 只看该作者
我找到原因了。谢谢大家

使用特权

评论回复
11
xbyu520|  楼主 | 2013-8-16 11:11 | 只看该作者
#include<c8051f340.h>
sfr16 TMR2RL = 0xCA;                   // Timer2 Reload Register
sfr16 TMR2 = 0xCC;                     // Timer2 Register

// Peripheral specific initialization functions,
// Called from the Init_Device() function
void PCA_Init()
{
    PCA0MD    &= ~0x40;
    PCA0MD    = 0x00;
}

void Timer_Init()
{
    TMR2RL   = 0xffff;
    TMR2    = 0xffff;
}

void Port_IO_Init()
{
    // P0.0  -  Unassigned,  Open-Drain, Digital
    // P0.1  -  Unassigned,  Open-Drain, Digital
    // P0.2  -  Unassigned,  Open-Drain, Digital
    // P0.3  -  Unassigned,  Open-Drain, Digital
    // P0.4  -  Unassigned,  Open-Drain, Digital
    // P0.5  -  Unassigned,  Open-Drain, Digital
    // P0.6  -  Unassigned,  Open-Drain, Digital
    // P0.7  -  Unassigned,  Open-Drain, Digital

    // P1.0  -  Unassigned,  Open-Drain, Digital
    // P1.1  -  Unassigned,  Open-Drain, Digital
    // P1.2  -  Unassigned,  Open-Drain, Digital
    // P1.3  -  Unassigned,  Open-Drain, Digital
    // P1.4  -  Unassigned,  Open-Drain, Digital
    // P1.5  -  Unassigned,  Open-Drain, Digital
    // P1.6  -  Unassigned,  Open-Drain, Digital
    // P1.7  -  Unassigned,  Open-Drain, Digital

    // P2.0  -  Unassigned,  Open-Drain, Digital
    // P2.1  -  Unassigned,  Open-Drain, Digital
    // P2.2  -  Unassigned,  Open-Drain, Digital
    // P2.3  -  Unassigned,  Open-Drain, Digital
    // P2.4  -  Unassigned,  Push-Pull,  Digital
    // P2.5  -  Unassigned,  Open-Drain, Digital
    // P2.6  -  Unassigned,  Open-Drain, Digital
    // P2.7  -  Unassigned,  Open-Drain, Digital

    // P3.0  -  Unassigned,  Open-Drain, Digital
    // P3.1  -  Unassigned,  Open-Drain, Digital
    // P3.2  -  Unassigned,  Open-Drain, Digital
    // P3.3  -  Unassigned,  Open-Drain, Digital
    // P3.4  -  Unassigned,  Open-Drain, Digital
    // P3.5  -  Unassigned,  Open-Drain, Digital
    // P3.6  -  Unassigned,  Open-Drain, Digital
    // P3.7  -  Unassigned,  Open-Drain, Digital

    P2MDOUT   = 0x10;
    XBR1      = 0x40;
}

void Oscillator_Init()
{
    OSCICN    = 0x83;
}

// Initialization function for device,
// Call Init_Device() from your main program
void Init_Device(void)
{
    PCA_Init();
    Timer_Init();
    Port_IO_Init();
    Oscillator_Init();
}

sbit D3=P2^4;
void main()
{

          Init_Device();
          TR2=1;
          while(1)
                  {
                          while(TF2H==0);
                          TF2H=0;
                       
                          D3=~D3;
                }
}

使用特权

评论回复
12
xbyu520|  楼主 | 2013-8-16 11:12 | 只看该作者
上面代码是正确的。改初值,控制时间

使用特权

评论回复
13
Harvard| | 2013-8-16 11:34 | 只看该作者
哈哈

使用特权

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

本版积分规则

43

主题

853

帖子

5

粉丝