|
#include "public.h"
char *USER_DEVICEDESC = NULL;
char *USER_PRODUCTDESC = NULL;
char *USER_STCISPCMD = "@STCISP#";
#define KEY2 P32
#define KEY3 P33
void Timer1_Init(void);//计数
void Timer0_Init(void);//定时
u16 time2s=0;
u16 Pulse_num=0;
u16 flag=0;
void main()
{
sys_init();
usb_init();
TMOD = 0x40;
Timer1_Init();
Timer0_Init();
EA = 1;
// P40=0;
P3PU = 0x20;
while(1)
{
if(DeviceState!=DEVSTATE_CONFIGURED)
continue;
if(bUsbOutReady)
{
usb_OUT_done();
}
}
}
//-------------定时器1计数模式--------------
void Timer1_Isr(void) interrupt 3
{
//P27=!P27;
}
void Timer1_Init(void)
{
// TMOD = 0x40;
TL1 = 0x00;
TH1 = 0x00;
TR1 = 1;
ET1 = 1;
}
void Timer0_Isr(void) interrupt 1
{
time2s++;
if(time2s>=2000)
{
Pulse_num=TH1*256+TL1;
printf("Pulse_num=%u\n",Pulse_num);
TL1=0;
TH1=0;
flag=TH1*256+TL1;
printf("flag=%u\n",flag);
time2s=0;
}
}
void Timer0_Init(void) //1毫秒@24.000MHz
{
//// AUXR |= 0x80; //定时器时钟1T模式
//// TMOD |= 0x00; //设置定时器模式
TL0 = 0x40; //设置定时初始值
TH0 = 0xA2; //设置定时初始值
TF0 = 0; //清除TF0标志
TR0 = 1; //定时器0开始计时
ET0 = 1; //使能定时器0中断
}
|
-
计数器赋初值失败
|