代码用keil5写的,仿真使用的是proteus8.11
以下为代码:
#include <REGX52.H>
#include "intrins.h"
sbit tr=P2^1;
sbit ec=P2^2;
unsigned int t;
unsigned int s;
void Delay20us() //@12.000MHz
{
unsigned char i;
_nop_();
i = 7;
while (--i);
}
void Timer0Init(void)
{
TMOD &= 0xF0;
TL0 = 0x00;
TH0 = 0x00;
TF0 = 0;
// TR0 = 1;
EA=1;
}
void main()
{
Timer0Init();
while(1)
{
tr=1;
Delay20us();
tr=0;
while(!ec);
TR0=1;
while(ec);
TR0=0;
t=TH0*256+TL0;
s=t*0.017;
TH0=0;
TL0=0;
if(s>=15){P3_1=0;}
}
}
回答不易,求求您采纳点赞哦
请先检查以下几点: