Weight_Bed/Timer_Init.c

73 lines
1.6 KiB
C
Raw Normal View History

2024-05-17 15:11:04 +08:00
#include "H/Function_Init.H"
void Timer_Init(void);
uint Time_Key0_Press;//<2F><><EFBFBD><EFBFBD>0<EFBFBD><30><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>
uint Time_Key1_Press;//<2F><><EFBFBD><EFBFBD>1<EFBFBD><31><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>
/*****************************************************
*<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƣ<EFBFBD>void Timer_Test(void);
*<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܣ<EFBFBD>T0/T1/T2<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
*<EFBFBD><EFBFBD><EFBFBD>ڲ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>void
*<EFBFBD><EFBFBD><EFBFBD>ڲ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>void
*****************************************************/
void Timer_Test(void)
{
Timer_Init();
Time_Key0_Press = 0;
Time_Key1_Press = 0;
}
/*****************************************************
*<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƣ<EFBFBD>void Timer_Init(void)
*<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܣ<EFBFBD>T0/T1/T2<EFBFBD><EFBFBD>ʼ<EFBFBD><EFBFBD>
*<EFBFBD><EFBFBD><EFBFBD>ڲ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>void
*<EFBFBD><EFBFBD><EFBFBD>ڲ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>void
*****************************************************/
void Timer_Init(void)
{
TMCON = 0X01; //------111 ;Timer0<72><30>Tiemr1<72><31>Tiemr2ѡ<32><D1A1>ʱ<EFBFBD><CAB1>Fsys
//T0<54><30><EFBFBD>ã<EFBFBD><C3A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>P02<30><32><EFBFBD><EFBFBD>Ƶ<EFBFBD><C6B5>Ϊ1K<31>ķ<EFBFBD><C4B7><EFBFBD>(<28><>Ƶ<EFBFBD><C6B5>32M)
TMOD |= 0x01; //0000 0001;Timer0<72><30><EFBFBD>ù<EFBFBD><C3B9><EFBFBD><EFBFBD><EFBFBD>ʽ1
TL0 = (65536 - 32000)%256; //ʱ<><CAB1>ΪFsys<79><73><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>=16000*<2A><>1/Fsys<79><73>;
TH0 = (65536 - 32000)/256;
TR0 = 0;
ET0 = 1;//<2F><>ʱ<EFBFBD><CAB1>0<EFBFBD><30><EFBFBD><EFBFBD>
TR0 = 1;//<2F>򿪶<EFBFBD>ʱ<EFBFBD><CAB1>0
}
/**************************************************
*<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƣ<EFBFBD>void timer0/1/2/3/4() interrupt 1/3/5/13/14
*<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܣ<EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD>жϲ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
*<EFBFBD><EFBFBD><EFBFBD>ڲ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>void
*<EFBFBD><EFBFBD><EFBFBD>ڲ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>void
**************************************************/
void timer0() interrupt 1
{
TL0 = (65536 - 32000)%256; //<2F>ֶ<EFBFBD><D6B6><EFBFBD>װ<EFBFBD><D7B0>ֵ<EFBFBD><D6B5>
TH0 = (65536 - 32000)/256; //<2F>ֶ<EFBFBD><D6B6><EFBFBD>װ<EFBFBD><D7B0>ֵ<EFBFBD><D6B5>
if(!Key0)
Time_Key0_Press++;
else
Time_Key0_Press=0;
if(Time_Key0_Press>=3000)//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>£
{
Time_Key0_Press = 0;
Key0_flag = 1;
}
if(!Key1)
Time_Key1_Press++;
else
Time_Key1_Press=0;
if(Time_Key1_Press>=3000)
{
Time_Key1_Press = 0;
Key1_flag = 1;
}
}