📄 timer_ini.c
字号:
//////////T法测频调试程序/////////////
/////////t3 频率方波输出//////////////
/////////t4 脉冲计数/////////////////////
/////////t2 计时////////////////////////////
/////////t2t3t4.c//////////////////////////
#include "common.h"
#include "timer.h"
#define T3RUN temppage=SFRPAGE;SFRPAGE=0x01;TR3=1;SFRPAGE=temppage
#define T4RUN temppage=SFRPAGE;SFRPAGE=0x02;TR4=1;SFRPAGE=temppage
#define T4STOP temppage=SFRPAGE;SFRPAGE=0x02;TR4=0;SFRPAGE=temppage
#define T3STOP temppage=SFRPAGE;SFRPAGE=0x01;TR3=0;SFRPAGE=temppage
uint t2count; //计录
sfr16 RCAP2=0xca;
sfr16 RCAP3=0xca;
sfr16 RCAP4=0xca;
sfr16 TMR4=0xcc;
sfr16 TMR3=0xcc;
sfr16 TMR2=0xcc;
//uchar temppage;
//uchar tf2num;
//uint t2count; //t2 90s定时次数标志
//bit isnewdata;
//ulong freTime;
//void t4ISR();
//void t2ISR();
void t0_ini() //TO定时器450ms
{
temppage=SFRPAGE;
SFRPAGE=0x00;
TCON = 0x10; //启动定时器
TMOD = 0x01; //16位定时器
CKCON = 0x02; //系统时钟的48分频
IE |= 0x02; //T0中断使能
TH0 = 0x90; //定时器赋初值
TL0 = 0x0a;
SFRPAGE=temppage;
}
void t1_count_ini()
{//T1为16位计数器,用于记寻车行驶的距离
temppage=SFRPAGE;
SFRPAGE=0x00;
TMOD=0x50;
TCON=0x00;
TR1=1; //开启计数器
SFRPAGE=temppage;
}
void t2_time90s_ini()
{//t2为定时器模式,采用系统时钟12分频
temppage=SFRPAGE;
SFRPAGE=0x00;
TMR2CN=0X00;//定时器模式,自动重载
TMR2CF=0x00;//DCEN=0,向下计数禁止,采用系统时钟
RCAP2=0x0000;
TMR2=0x0000;
SFRPAGE=0X00;
ET2=1;//T2中断使能
SFRPAGE=temppage;
t2count=0;
}
void t2_time90s_start()
{
temppage=SFRPAGE;
SFRPAGE=0x00;
TMR2=0x0000;
TF2=0;
TR2=1;
SFRPAGE=temppage;
}
void t4_count_ini()
{//T4为计数模式,路程计数
temppage=SFRPAGE;
SFRPAGE=0x02;
TMR4CF=0X00; //计数模式下,对T4M1-T4M0设置无效,DCEN=0,向下计数禁止
TMR4CN=0X02; // CT4=1 T4为计数器模式
RCAP4=0X00;
TMR4=RCAP4;
TR4=1; //开始计数
SFRPAGE=0X00;
//EIE2|=0X04;//T4中断禁止
SFRPAGE=temppage;
}
/****T3产生40K方波*/
void t3_fre_set(uint val){//T3频率设置,计算公式为:(T3时钟频率/(2*val))
temppage=SFRPAGE;
SFRPAGE=0x01;
RCAP3=~val+1;
TMR3=RCAP3;
SFRPAGE=temppage;
}
void t3_fre_set40k(void)
{
t3_fre_set(100);
}
void t3_ini()
{//t3为频率输出模式
temppage=SFRPAGE;
SFRPAGE=0x01;
TMR3CN=0x00; //TR3=0,T3尚未启动
TMR3CF=0x02; //T3采用系统时钟,TOG3=0,T3不计数时输出为0,DCEN=0
SFRPAGE=temppage;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -