松翰单片机_SN8F570310——TIM

SN8F570310——TIM


 


 


 


 


 


 


 


            TIM2


 


 


 


 

 


 


 


#include "Equ.h"

/*
        硬件:
                    P2.4

*/

void InitT0(void)
{

    P2M |= 0X10;   //输出模式
    P2  |= 0X10;   //输出高平    
    
    TCON0 = 0x40;            //F EXT0 / 8       T0外部8分频
    TMOD  = 0x06 ;            //8位重装        F Timer0 = Fosc / T0RATE;        
// T0 inital value = 256 - (50us*32MHz/8) = 0X38  ====    256 - (定时 / 每位时间(1/(32MHZ/8))) = 装载位数
    TH0 = 0x38;
    TL0 = 0x38;

    TR0 = 1 ;                    //Enable T0
    ET0 = 1 ;                    //Enable T0 INT
    
}

void T0Interrupt(void) interrupt ISRTimer0
{
        if(tim0 == 0){
            P2  &= ~0X10;   //输出低平
            tim0 = 1;
        }else{
            P2  |= 0X10;   //输出高平
            tim0 = 0;
        }                
}

测试:


50ms

笔记:


1.频率与时间:

  Hz —— s

  KHz —— ms

  MHz —— us

2.八位自动装载时间计算:

装载位数 = 256 - (定时 / 每位时间(1/(32MHZ/8))) 
原文地址:https://www.cnblogs.com/panda-w/p/11743071.html