看不懂,。。。求这个秒表程序的每个程序段后的C语言注释,尤其是延时和定时器那几段! 明天要答辩了 ,泪奔。。。。
#include<reg51.h>
sbit L1=P3^0; //定义数码管阳级控制脚(千位)
sbit L2=P3^1; //定义数码管阳级控制脚(百位)
sbit L3=P3^2; //定义数码管阳级控制脚(十位)
sbit L4=P3^3; //定义数码管阳级控制脚(个位)
sbit key1=P1^7; //暂停,开始
sbit key2=P1^6; //清零
unsigned long int ti_10ms=0; //置变量初值为0
unsigned char seg[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};//数码管0-9段
//----------延迟------------
void delay()
{
unsigned int i=100;
while(i--);
}
//-----------定时器-----------
void ds0() interrupt 1
{
TH0=(65536-10000)/256;
TL0=(65536-10000)%256;
ti_10ms++;
if(ti_10ms>=9999)
{ti_10ms=0;}
}
//------------主程序--------
void main()
{
//--------定时器初始化---------
TH0=(65536-10000)/256;
TL0=(65536-10000)%256;
EA=1;
ET0=1;
PT0=1;
TR0=0;
TMOD=0x01;
//------循环-------
while(1)
{
if(key1==0)
{TR0=~TR0;while(key1==0);}
P2=seg[ti_10ms%10000/1000]; L1=0;delay();L1=1;
P2=seg[ti_10ms%1000/100]+0x80; L2=0;delay();L2=1;
P2=seg[ti_10ms%100/10]; L3=0;delay();L3=1;
P2=seg[ti_10ms%10]; L4=0;delay();L4=1;
if(key2==0)
{ti_10ms=0;}
}