打印

pic12f675的定时器问题

[复制链接]
2326|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
lovezichao|  楼主 | 2013-7-10 14:10 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 lovezichao 于 2013-7-10 14:19 编辑


#use delay(clock=4000000,restart_wdt)

#define INTS_PER_SECOND2 24                //timer1 1.6s
U16 time2;
U16 int_count2;

#INT_TIMER1
void clock_isr()
{
    if(--int_count2==0)                 // 1.6s.
        {           
     ++time2;
            int_count2=INTS_PER_SECOND2;
    }
}
void main()
{
        while(1){
                SW1_H();
                setup_wdt(WDT_72MS);
                setup_timer_1(T1_INTERNAL|T1_DIV_BY_1);
                enable_interrupts(INT_TIMER1);
                enable_interrupts(GLOBAL);
                if(time2>jishu2)
                {
                        SW1_L();
                        delay_ms(1000);
                        time2=0;               
                }
        }
}
CCS编译,以上是摘出了部分代码。定时器不工作。
沙发
lovezichao|  楼主 | 2013-7-10 14:11 | 只看该作者
有没有人给讲讲CCS里定时的用法。。。谢谢

使用特权

评论回复
板凳
lovezichao|  楼主 | 2013-7-10 15:14 | 只看该作者
setup_timer_1(T1_INTERNAL|T1_DIV_BY_8);
//sets the internal clock as source


//and prescale as 8. At 20Mhz timer1 will increment


//every 1.6us in this setup and overflows every


//104.896ms

这是CCS HELP文档里的信息,有没有人知道这个是怎么算的?

使用特权

评论回复
地板
yklstudent| | 2013-7-10 18:32 | 只看该作者
#include <12f675.h>

#DEVICE ADC=10

#use delay(clock=4000000)

#fuses INTRC_IO,NOWDT,NOPUT,NOMCLR

#byte GPIO=0x05
#byte TRISO=0x85
#byte WPU=0x95
#byte ANSEL=0x9F
#byte CMCON=0x19

void Port_Init(void)
{
        set_tris_a(0x00);
}

void Timer1_Init(void)
{
        setup_timer_1(T1_INTERNAL | T1_DIV_BY_4);
        set_timer1(100);
        enable_interrupts(INT_TIMER1);
        enable_interrupts(GLOBAL);
}

#INT_TIMER1
void Timer1_ISR(void)
{
        disable_interrupts(GLOBAL);
        set_timer1(100);
        GPIO ^= 0x01;
        enable_interrupts(GLOBAL);
}

void main(void)
{
        Port_Init();
        Timer1_Init();
        for(;;)
        {
                //output_a(0x55);
                delay_ms(200);
                //output_a(0xaa);
                delay_ms(200);
        }
}

你的寄存器设置需要一直去设置????

使用特权

评论回复
评分
参与人数 1威望 +1 收起 理由
lovezichao + 1 非常谢谢
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

31

主题

225

帖子

4

粉丝