?? 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 + -