|
#include <reg51.h>
sbit P3_2=P3^2;
void main()
{
unsigned char *P, i;
int a;
P=0x40; //指针指向片内40H单元
TMOD=0x09; //GATE=1,工作方式为计数器T0
TL0=0x00; TH0=0x00; //装入初值
do { } while (P3_2==1); //等待INT0变低
TR0=1; //启动计数器
while(P3_2==0); //等待INT0变高,即脉冲上升沿
while(P3_2==1); //等待INT0变低,即脉冲下降沿
TR0=0; //停止计数
i=TH0; //读入TH0值
a=i*256+TL0; //计数结果转换为10进制
for (a;a!=0; ) //a不等于0时循环,转换为BCD码
{
*P=a%10; //个位存放在40单元
a=a/10;
P++;
}
} |
|