# include & ltREGX51。H & gt
#定義uchar無符號字符
#define V_TH1 0XFE
#定義V_TL1 0X0C
#定義V_TMOD 0X11
void init _ sys(void);/*系統初始化功能*/
未簽名char ZH ZL;
無效總管(無效)
{
init _ sys();
while(1)
{
無符號Int temp
int 16 zkb = 50;
臨時=2^16-5*zkb;
ZH = temp/256;
ZL = temp % 256;
k();
}
}
Void init_sys(void) /*系統初始化函數*/
{
TMOD = TMOD;/*定時器初始化*/
TH0 = ZH;
TL0 = ZL;
th 1 = V _ th 1;
TL 1 = V _ TL 1;
tr 1 = 1;
et 1 = 1;
ET0 = 1;/*允許T0中斷
EA = 1;/*CPU中斷
}
Void k(int16 vk,ik)
{ static int 16 prek;
pk = vk * ik
prek = 0;
vk = 0;
if(prvpk==pk)
{
返回;
}
其他
{
if(PK & gt;預備)
{ prek = pk
if(vk & gt;prevk)
{
ZK b++;
prevk = vk
prepk = pk
}
其他
{
ZK B-;
prevk = vk
prepk = pk
}
}
其他
{
if(vk & gt;prevk)
{
ZK b++;
prevk = vk
prepk = pk
}
其他
{
ZK B-;
prevk = vk
prepk = pk
}
}
}
/*中斷功能*/
無效定時器0(無效)中斷1
{
P2_2=!P2 _ 2;
TR0 = 0;
}
無效定時器1(無效)中斷2
{
th 1 = V _ th 1;/*恢復定時器T0的初始值*/
TL 1 = V _ TL 1;
P2_2=!P2 _ 2;
TH0 = ZH;/*恢復定時器T0的初始值*/
TL0 = ZL;
TR0 = 1;
}